在Android上播放RTSP流媒体

时间:2013-01-29 02:16:55

标签: android video-streaming android-videoview rtsp

我有一个RTSP源代码,我想在我的Android应用程序上播放它,但它在2或3分钟播放并且播放时间不长:(

我怎样才能玩更长时间?

// there is my code to play, thanks for advice!
// videoview is my VideoView on layout
    videoview.setVideoURI(Uri.parse("rtsp://192.168.0.119/Bolt.ts"));   
    videoview.setMediaController(new MediaController(this));    
    videoview.requestFocus();   
    videoview.start();

感谢您的帮助!

2 个答案:

答案 0 :(得分:1)

可能你的视频编码不完全支持,我建议使用原生播放器是另一个很好的解决方案 用于播放RTSP。

mediaURL = "rtsp://192.168.0.119/Bolt.ts"
Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse(mediaURL));
startActivity(intent); 

<强>更新

好的,如果您不想播放其他应用,那么您的解决方案是正确的

videoview.setVideoURI(Uri.parse("rtsp://192.168.0.119/Bolt.ts"));   
videoview.setMediaController(new MediaController(this));    
videoview.requestFocus();   
videoview.start();

但我非常确定导致视频停止的原因是流中使用的编解码器可能在您的设备上不完全支持。

我建议使用:H.264 for videoAAC for audio

答案 1 :(得分:1)

似乎标准的Android MediaPlayer不会向RTSP流媒体服务器发回保持活动消息。因此,流服务器终止连接。

解决方法是使用不同类型的MediaPlayer:
- ExoPlayer(来自谷歌)
- Vitamino(谨防许可问题,不太清楚)
- LibVlc

就个人而言,我使用了LibVlc,效果很好。你可以在这里找到一些例子: https://bitbucket.org/edwardcw/libvlc-android-sample