我正在开发一款可播放RTSP Stream的Android视频播放器。我在jni部分使用ffmpeg来获取和解码RTSP Stream。目前,播放器可以播放然后暂停视频流。下一步是为播放器创建一个缓冲区,以便当用户暂停视频时,播放器仍然可以在接下来的几秒钟内加载视频流。
是否有关于如何以正确方式为视频流创建缓冲区的良好文档?
我的计划是创建一个数据包数组。阵列已满时,播放器调用
av_read_pause();
停止缓冲。当数组有空格时,播放器将调用
av_read_play();
继续缓冲。有一个read_thread用于从缓冲区获取数据包并对数据包进行解码。当用户暂停(恢复)视频时,read_thread将停止(恢复)。
这个计划可以运作吗?