android - 播放 rtsp-stream 时缓冲在 1 分钟后结束

标签 android video-streaming rtsp

我写了一个小应用程序,它只显示来自 rtsp 流的视频数据(使用 MediaPlayer 类和 SurfaceView 类)。 Rtsp-stream 使用 vlc 2.0.0 创建。

它工作正常,但在 1 分钟后播放结束。

在 logcat 中,我发现了以下几行:

//...

E/Overlay ( 138): Overlay 还没有准备好排队缓冲区

I/MyHandler( 138):在轨道索引 0 上收到 BYE

E/OMX-VDEC-720P( 138):Rxd i/p EOS,通知驱动程序已达到 EOS

E/OMX-VDEC-720P( 138): 已达到输出 EOS

E/OMX-VDEC-720P( 138): Rxd OMX_COMPONENT_GENERATE_EOS_DONE

D/XXX (10485): onCompletion() 已调用

//...

似乎(解码器?)缓冲区已满,因此播放结束。 我可以处理这些缓冲区,以便接收新数据吗?

这次我通过等待 onCompletion-Event 重置/重启解决了这个问题 MediaPlayer,但这并不是真正的方法,对吧?

有人对此有解决方案/想法吗?

Greetzn + thanx 提前 ...

最佳答案

可能已达到 session 超时。您可以检查 PLAY 请求中发回的 header ,看看是否有 timeout= 指令给您!

如果有,您必须按照该 header 的值指示的每隔那么多秒发出一个 GET_PARAMETER 请求,否则服务器将终止您的 session 。

另见 Is there such a RTSP Ping?

如果您还需要什么,请告诉我!

关于android - 播放 rtsp-stream 时缓冲在 1 分钟后结束,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11195038/

相关文章:

android - 如何从发布的 APK 中排除库 JAR 中包含的非类文件?

java - 应用程序强制关闭。短信广播接收器

python-3.x - 使用 Opencv 加速从摄像头读取视频帧

FFmpeg - 从 rtsp 服务器流式传输到 rtmp 服务器 - 丢失包

r - 从网络摄像头流中保存帧

ffmpeg - 在 RTSP 流的末尾使用 FFMPEG 搜索

java - 安卓服务,JavaMail API

android - 在 phonegap 上播放 youtube 视频

streaming - 如何下载 jwplayer 流媒体视频?

flash - 如何复制 Google "Hangouts On Air"流组合功能?