【发布时间】:2017-04-19 21:35:14
【问题描述】:
现在我使用 x264 库来压缩视频(来自摄像头)并通过 TCP 传输到客户端。在客户端,使用ffmpeg库对Win32上的流进行解码。但我发现流解码总是延迟一帧。也就是说,如果客户端收到A,B,C三帧,在解码A帧时,无法得到图像。然后解码B帧,得到A帧图像。
对于 h.264 编码,我设置了 zerolatency - 超快 - 基线。所以我认为没有B帧。
对于 ffmpeg 解码器,我尝试将 thread_type = 0 设置为禁用帧缓冲解码。但是没有效率!顺便说一句,解码一帧后,将 NULL 传递给解码器以刷新解码器可以帮助这种情况。但我认为这不是一个好的解决方案。
那么如何设置ffmpeg库来避免一帧延迟呢?
【问题讨论】:
-
“没有效率”是什么意思?你的意思是解码太慢了?还是仍然存在一帧延迟?
-
我想说“还有一帧延迟”。有什么建议吗?谢谢!
-
@rywang 嗨,我也有同样的问题。你解决了这个问题吗?谢谢!
标签: windows video ffmpeg h.264 low-latency