2013-12-25 3 views
0

У меня очень редкая проблема. У меня есть разделенный экран на моем телефоне, который состоит из 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.

Может ли кто-нибудь помочь мне определить проблему?

ответ

0

Единственная возможность, поскольку она работает с примером потокового видео Wowza (BigBuckBunny), заключается в том, что ваша потоковая передача не имеет видео/аудио кодека, который понимает телефон Android.

Вы проверили, какая кодировка BigBuckBunny кодируется и какой именно вы пытаетесь играть?

Это страница, на которой показаны различные кодировки, которые могут обрабатывать андроид.

http://developer.android.com/guide/appendix/media-formats.html

Другое дело, что было бы весьма полезно, чтобы обеспечить журнал LogCat Андроида и журналы Wowza, а также.

См. Ya