Qt基于FFmpeg实现视频转码——时间基的设置原理

一、转码流程图

二、时间基的设置原理

看完流程图我们发现,转码的流程就是把解码和编码的部分内容进行整合,不同的就是转换规则的设置。先理解一下转码中时间基的设置,编码得到的 h264 的文件中有 3 帧: I 帧,P 帧,B 帧。 I 帧是主要帧,P 帧是依赖于 I 帧得到的;B 帧要依赖于前后的两帧得到。 如图所示:

1、根据图上的 6 帧图片,正常的显示的顺序是 1,2,3,4,5,6;

2、因为 2 是 P 帧,P 帧要依赖于 I 帧;3 是 B 帧,B 帧要借助于前后的两帧:2 和 4;4 也是 B 帧,要借助于前后的两帧:3 和 5; 所以解码的顺序应该是 1,2,5,3,4,6。

3、因此就出现了显示时间基 PTS(显示顺序) 和解码时间基 DTS(解码顺序)

4、如果没有 B 帧,那么PTS=DTS(都是1,2,5,6的顺序); 如果有 B 帧,那么就需要更大的缓存来存解码

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

ze言

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值