音视频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来决定送入解码器的先后顺序。

相关推荐
科技小E3 小时前
EasyRTC嵌入式音视频通信SDK打造带屏IPC全场景实时通信解决方案
人工智能·音视频
天上路人9 小时前
AI神经网络降噪算法在语音通话产品中的应用优势与前景分析
深度学习·神经网络·算法·硬件架构·音视频·实时音视频
视频砖家9 小时前
如何设置FFmpeg实现对高分辨率视频进行转码
ffmpeg·音视频·视频编解码·视频转码
yanjiee11 小时前
视频质量分析时,遇到不同分辨率的对照视频和源视频,分辨率对齐的正确顺序。
ffmpeg·音视频
hudawei99611 小时前
flutter缓存网络视频到本地,可离线观看
flutter·缓存·音视频
lqj_本人13 小时前
鸿蒙OS&UniApp实现视频播放与流畅加载:打造完美的移动端视频体验#三方框架 #Uniapp
uni-app·音视频·harmonyos
Panesle17 小时前
基于对抗性后训练的快速文本到音频生成:stable-audio-open-small 模型论文速读
人工智能·机器学习·音视频
红米饭配南瓜汤17 小时前
WebRTC中的几个Channel
网络协议·音视频·webrtc·媒体
EasyDSS18 小时前
嵌入式EasyRTC音视频实时通话SDK在工业制造领域的智能巡检/AR协作等应用
人工智能·音视频
邪恶的贝利亚1 天前
FFplay 音视频同步机制解析:以音频为基准的时间校准与动态帧调整策略
音视频