音视频pts/dts

现在的视频流有两个非常重要的时间戳,pts和dts,其中pts是显示的时候用,dts在解码的时候用。

pts很好理解,按照pts的顺序以及duration不间断的display就可以了。

dts在解码的时候用,那么这句话怎么理解,解码器需要dts来确认解码顺序吗?

解码器解码顺序有两个:

  • 一个是放入解码器中的顺序
  • 另一个是解码器中解码的顺序

找个图来说明

如上图,我们经常看到,B帧是双向依赖帧,如上图所示,假设2号B帧解码的时候依赖4号P帧,那么请问:

这个依赖关系是谁告诉解码器的?

这是NAL包内部slice的bh数据来告诉解码器的。

所以解码器本身是不感知dts的,解码器解码时候需要的前后依赖关系也是在压缩数据内部保存的。

但是你把压缩数据送到解码器的时候要保证一个顺序,这个顺序是dts决定的。

也许你还不理解,什么是"把压缩数据送到解码器的时候要保证一个顺序"?,假设上面的压缩数据块就像扑克一样,洗牌后,你要排序,然后把它们放入到解码器,那么排序的规则是什么?这就是dts.

特别是网络包UDP的时候,压缩数据包来的前后顺序会乱序,这个时候就要根据dts来决定送入解码器的先后顺序。

相关推荐
美狐美颜sdk5 小时前
跨平台直播美颜SDK集成实录:Android/iOS如何适配贴纸功能
android·人工智能·ios·架构·音视频·美颜sdk·第三方美颜sdk
melonbo8 小时前
使用FFmpeg将H.264码流封装为MP4
ffmpeg·音视频·h.264
aqi0010 小时前
FFmpeg开发笔记(七十七)Android的开源音视频剪辑框架RxFFmpeg
android·ffmpeg·音视频·流媒体
慢行的骑兵12 小时前
Android音视频探索之旅 | CMake基础语法 && 创建支持Ffmpeg的Android项目
ffmpeg·音视频
Just_Paranoid12 小时前
华为云Flexus+DeepSeek征文|基于Dify构建音视频内容转录工作流
华为云·音视频·dify·maas·deepseek·flexusx
go546315846513 小时前
修改Spatial-MLLM项目,使其专注于无人机航拍视频的空间理解
人工智能·算法·机器学习·架构·音视频·无人机
叹一曲当时只道是寻常16 小时前
Softhub软件下载站实战开发(十):实现图片视频上传下载接口
golang·go·音视频
音视频牛哥18 小时前
计算机视觉的新浪潮:扩散模型(Diffusion Models)技术剖析与应用前景
人工智能·计算机视觉·ai·音视频·实时音视频·扩散模型
电子科技圈19 小时前
SmartDV推出先进的H.264和H.265视频编码器和解码器IP
音视频·h.265·h.264
feiyangqingyun21 小时前
Qt音视频开发技巧/推流带旋转角度/rtsprtmp推流/保存文件到MP4/拉流解析旋转角度
qt·音视频·qt旋转角度推流