2012-04-13 1 views
4

Я пытаюсь написать очень простое приложение, которое просто пытается воспроизвести видео, которое транслируется сервером RTSP. Я где-то читал, что компонент VideoView способен обрабатывать потоки RTSP. Итак, я написал код следующим образом.RTSP Stream в VideoView в приложении для Android

vv = (VideoView) findViewById(R.id.videoView1); 
    mc = new MediaController(getApplicationContext()); 
    vv.setVideoURI(Uri.parse(url)); 
    vv.setMediaController(mc); 
    vv.requestFocus(); 

    vv.setOnPreparedListener(new MediaPlayer.OnPreparedListener() { 

     public void onPrepared(MediaPlayer mp) { 
      vv.start(); 

     } 
    }); 

URL-адрес Строка имеет следующий формат RTSP: //192.168.1.136: 8554/mercykilling.mkv

Моя проблема заключается в том, что я получаю сообщение об ошибке, как показано ниже

V/MediaPlayer (16501): полученное сообщение msg = 100, ext 1 = 1, ext2 = -18

Можно ли дать какие-либо указания по этой теме?

ответ

0

мы поддерживают только начиная с версии 4.0 + Take a look

И одна вещи всегда держать в уме, что для поддержки RTSP потоковой передачи, вы должны начать RTSP сервера. В противном случае вы не сможете запустить этот файл.

2

предыдущая FAQ

предыдущая background

Общие комментарии - RTSP/RTP поддерживает включение очень большого набора базовых кодировок и спецификаций для упаковки медиа дорожки внутри пакетов и им не уверены в том, что стандартный Android libStageFright libs фактически поддерживают его во всех своих перестановках.

Я посмотрел на образцы ICS в SDK под API/медиа/видео ...

ApiDemos \ SRC \ COM \ например \ Android \ APIs \ СМИ \ MediaPlayerDemo_Video.java

посмотрите в вашем SDK и в комментариях в приведенном выше примере ...

 case STREAM_VIDEO: 
      /* 
      * TODO: Set path variable to progressive streamable mp4 or 
      * 3gpp format URL. Http protocol should be used. 
      * Mediaplayer can only play "progressive streamable 
      * contents" which basically means: 1. the movie atom has to 
      * precede all the media data atoms. 2. The clip has to be 
      * reasonably interleaved. 
      * 
      */ 

Эти замечания делают НЕ поддержку идея, что Android 4.0 медиаплеер будет играть RTSP потоков.

Если вы хотите протестировать общий поток RTSP, я бы предложил вам захватить канал с Youtube и попытаться воспроизвести URL-адрес для потока format = 1, который будет RTSP-протоколом. Пример here

0

Вы можете использовать библиотеку @http://net7mma.codeplex.com/ (из которых я являюсь автором)

Это может обеспечить простой способ, чтобы разрешить воспроизведение Rtsp или Rtp СМИ в Android.