FFMPEG RTMP流打开速度慢优化方法一

先上使用方法:
codec_ctx->flags |= AVFMT_FLAG_NOBUFFER;

AVFMT_FLAG_NOBUFFER 标记如果没有设置,就会导致打开时探测的数据包丢AVFormatContext的缓存区中。

播放的时候,就从这些数据包开始,但是整个探测过程时间可能较长,缓存区数据没有播放出来,而是等到avformat_find_stream_info等操作结束后才去做播放, 如果没有设置nobuffer,这几秒数据在缓存着了,我们调用av_read_frame就先从这两秒开始读取数据 ;如果设置了nobuffer,则这2秒数据是被直接扔掉的,所以加了这个参数后,打开时间就会缩短。

你可能感兴趣的:(ffmpeg,opencv,图像处理/计算机视觉,linux,ffmpeg)