专栏名称: Fun With FFmpeg
生活大爆炸的Sheldon有个节目:Fun With Flags。FFmpeg是音视频开发绕不过去的坎,学习过程往往苦不堪言。被FFmpeg虐过千百遍,终能寻到一些乐趣。Let's have fun With FFmpeg!
今天看啥  ›  专栏  ›  Fun With FFmpeg

视频解码延迟

Fun With FFmpeg  · 公众号  ·  · 2024-05-14 01:10
    

文章预览

1、定义解码延迟 视频解码延迟是个老生常谈的问题: 刚开始接触FFmpeg的同学,会问:为什么avcodec_receive_frame返回AVERROR(EAGAIN)? 有秒开和低延迟需要的同学会问,怎么让解码器更快输出首帧? 首先要定义下描述首帧延迟的方式: 输入第N个视频packet,开始输出第1帧图像,延迟为N - 1 如果输入第1个packet,输出第1个frame,延迟为0。输入第5个packet,才输出第1个frame,延迟为4。 这种定义方式的好处是:对解码性能(解码速度)和延迟做了解耦,是解码的固有延迟。首帧的输出时间问题,耦合了解码固有延迟、解码性能、送数据速度、系统调度等多个维度因素 。 必须注意,这种定义方式对FFmpeg软件解码有效,因为软件解码延迟是确定性的,但对硬件解码不一定有效: 如果软件解码 avcodec_receive_frame返回了AVERROR(EAGAIN),你再循环调用 avcodec_receive_frame 10000 ………………………………

原文地址:访问原文地址
快照地址: 访问文章快照
总结与预览地址:访问总结与预览