news 2026/6/10 17:56:50

B帧导致PTS DTS不一致的原理

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
B帧导致PTS DTS不一致的原理

1. 核心概念

  • DTS(Decoding Time Stamp):解码时间戳,决定「什么时候解码这一帧」,严格遵循解码顺序
  • PTS(Presentation Time Stamp):显示时间戳,决定「什么时候显示这一帧」,严格遵循用户观看的显示顺序
  • B 帧(双向预测帧):一种压缩效率更高的视频帧,它的解码必须同时参考前面的 I/P 帧 + 后面的 P/I 帧(双向参考),这是和 I 帧(关键帧,无需参考)、P 帧(前向参考,只参考前面的帧)最核心的区别。

2. 例子(B 帧导致的顺序错位)

假设一段视频的显示顺序(用户最终看到的顺序)是:I 帧(帧 1)→ B 帧(帧 2)→ P 帧(帧 3)。

无 B 帧的情况(对比)

如果没有 B 帧,显示顺序是 I1→P2→P3,解码时也能按这个顺序来(P2 只参考 I1,P3 只参考 P2),所以解码顺序 = 显示顺序,DTS 和 PTS 数值完全一致(比如 I1 的 DTS=1、PTS=1;P2 的 DTS=2、PTS=2)。

有 B 帧的情况(核心)

B 帧 2 需要同时参考 I1(前)和 P3(后)才能解码,因此解码顺序必须调整—— 先解码 I1,再解码 P3(先拿到后面的参考帧),最后解码 B2。也就是:

  • 解码顺序:I1 → P3 → B2(DTS 按这个顺序分配)
  • 显示顺序:I1 → B2 → P3(PTS 按这个顺序分配)

此时各帧的时间戳对应关系:

帧类型解码顺序DTS 值显示顺序PTS 值DTS vs PTS
I11111一致
P32233不一致
B23322不一致

很明显,因为 B 帧的存在,解码顺序和显示顺序被迫错位,而 DTS 绑定解码顺序、PTS 绑定显示顺序,最终导致两者数值不一致。

3. 本质原因总结

B 帧的双向参考特性是根源:为了解码 B 帧,必须先解码它的「后向参考帧」(比如上面的 P3),这打破了解码顺序和显示顺序的一致性,而 DTS/PTS 分别对应这两个不同的顺序,因此必然出现数值差异。

总结

  1. B 帧的双向预测特性是核心:解码 B 帧需要同时参考前后帧,必须调整解码顺序,这是 DTS/PTS 不一致的根本原因。
  2. DTS 对应解码顺序,PTS 对应显示顺序,B 帧导致这两个顺序错位,时间戳自然不一致。
  3. 无 B 帧时,解码顺序 = 显示顺序,因此 DTS 和 PTS 数值完全一致。
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/5 8:04:35

测试了Codebuddy的text to image 混元模型,自我设限

国内版,完成了一个稍长文件的写作之后,告诉我,额度已经用完了,但实际上还能用,不懂为什么。 为了测试100%额度用完之后是不是还能继续,画个图吧: 先是顶嘴,结果还是画了 模型是腾…

作者头像 李华
网站建设 2026/5/30 12:26:45

CommandLineParser 完全指南:让命令行参数解析变得简单优雅

CommandLineParser 完全指南:让命令行参数解析变得简单优雅 2026-02-03 8分钟阅读 作为.NET开发者,我们经常需要开发命令行工具。无论是构建脚本、实用工具还是控制台应用,优雅地处理命令行参数都是必备技能。今天我要介绍的是.NET生态中最强…

作者头像 李华
网站建设 2026/6/10 11:36:04

旧PHP版SakuraFrpApi

/*** SakuraFrp API 客户端* 仅实现了获取隧道列表的功能** version 1.0* author AI Assistant*/ class SakuraFrpApi {/*** API 基础 URL* var string*/private const BASE_URL https://api.natfrp.com/v4;/*** 用户认证 Token* var string*/private $userToken;/*** 构造函数…

作者头像 李华
网站建设 2026/6/8 0:16:13

【完全免费】一键锁定电脑键盘和鼠标,防止小孩舍友同事触碰自己的电脑。如何让电脑键盘鼠标失效?这款神器轻松帮你解决!

——软件使用教程—— 一键锁定电脑键盘和鼠标,防止小孩舍友同事触碰自己的电脑。——下载地址(防止被拦截,请用浏览器打开)—— 夸克地址: https://pan.dxlszyk.com/s/1jghdt106 多盘地址: https://ww…

作者头像 李华
网站建设 2026/6/10 7:35:53

研发环境:SSL证书快速部署

目录 概述 生成证书 单域名证书(dev.luckybin.top) Linux Windows(PowerShell) 通配符证书(*.luckybin.top) Linux Windows(PowerShell) Nginx配置示例 单域名配置 通配符…

作者头像 李华