1

我有一个 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();

感谢您的帮助!

4

2 回答 2

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

于 2013-12-10T16:06:28.937 回答
1

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

一种解决方法是使用不同类型的 MediaPlayer:
- ExoPlayer(来自 Google)
- Vitamino(注意许可问题,这不是很清楚)
- LibVlc

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

于 2016-03-18T22:50:16.347 回答