У меня очень редкая проблема. У меня есть разделенный экран на моем телефоне, который состоит из SurfaceView
и VideoView
. SurfaceView
используется для захвата видео с камеры и отправки его на сервер Wowza. VideoView
используется для получения того же потока с сервера Wowza.Android to Wowza streaming issue
Иногда (я не могу понять, как его воспроизвести) потоковая передача работает так, как должна, но в 99% случаев у меня нет видео в потоке. Я проделал простую html-страницу, чтобы определить, где проблема (при отправке или при получении), и я уверен, что что-то не так с получением (поскольку html-страница показывает видео, если нет VideoView
.
Вот код Я использую, чтобы играть поток по телефону:
android.os.Handler h = new android.os.Handler();
h.postDelayed(new Runnable() {
@Override
public void run() {
Uri wowzaUri = Uri.parse("rtsp://192.168.0.100:1935/live/test.stream");//Uri.parse("rtmp://192.168.0.100:1935/live/test");
mVideoView.setVideoURI(wowzaUri);
mVideoView.setMediaController(new MediaController(MainActivity.this));
mVideoView.requestFocus();
mVideoView.setOnErrorListener(new MediaPlayer.OnErrorListener() {
@Override
public boolean onError(MediaPlayer mp, int what, int extra) {
mVideoView.setVideoURI(Uri.parse("rtsp://192.168.0.100:1935/live/test.stream"));
return true;
}
});
mVideoView.setOnPreparedListener(new MediaPlayer.OnPreparedListener() {
@Override
public void onPrepared(MediaPlayer mp) {
mVideoView.bringToFront();
mp.start();
Toast.makeText(mContext, "Started", Toast.LENGTH_LONG).show();
}
});
}
}, 5000);
он завернутые в обработчике, потому что это дозвонились в AsyncTask.onPostExecute()
методом (при потоковой передаче начинается)
PS Все отлично работает при воспроизведении видео RTSP:.. //184.72. 239,149/vod/mp4: BigBuckBunny_175k.mov.
Может ли кто-нибудь помочь мне определить проблему?