现在,我使用x264库压缩视频(从摄像机)并通过TCP传输到客户端。在客户端,使用ffmpeg库解码Win32上的流。但是我发现流解码总是延迟,一个帧。也就是说,如果客户端接收到A、B、C三帧,当解码A帧时,无法得到图像。然后解码B帧,得到A帧图像。
对于h.264编码,我设置了零点-超快基线。所以我认为没有B帧。
对于ffmpeg解码器,我尝试将thread_type = 0设置为禁用帧缓冲解码。但没有效率!顺便说一下,在解码了一个帧后,将空传递给解码器来冲洗解码器可以帮助这种情况。但我认为这不是一个好的解决办法。
,那么如何设置ffmpeg库以避免一个帧延迟?
发布于 2018-07-02 22:19:21
如果您正在使用av_parser_parse2,那么很有可能这就是您的一个延迟帧的来源。如果你把你的代码放在解码端,人们可能会更有能力提供帮助。
https://stackoverflow.com/questions/40975158
复制相似问题