H.264的DTS、PTS、frame_num、poc
DTS与PTS:
先盗一张网图,解释DTS和PTS。
DTS和PTS是解码端或者说播放器的概念,DTS是解码的顺序,PTS是显示的顺序。H264中,如果码流中不包含B帧,码流中所有帧的PTS=DTS。如果有B帧,因为B帧会双向参考,导致播放顺序在B帧后面的帧需要先解码出来,PTS!=DTS。
当然上述不是本文的重点。
DTS、PTS是保存在nalu单元里面的吗?怎么解析出来?
首先nalu是没有DTS,PTS这两个语义的。
DTS:slice_header里面的frame_num等同于DTS。frame_num标识了nalu在码流中的存储顺序,也就是nalu送入解码器的顺序,等于elecard中 Number in stream概念,frame_num意义是当前帧在一个gop里距离I帧的间隔,从0开始,I帧的frame_num=0。
PTS:播放顺序。等同于POC。POC=picture order count,等于elecard中 Number in display概念。但是每帧的POC值并不是能直接从nalu中解析出来的,要根据slice_header里面的pic_order_cnt_type(有0、1、2 三种值)确定POC的计算方式。具体POC的计算方式看参考文章。这张图解释了frame_num和POC。
参考:
POC计算_Dillon2015的博客-CSDN博客
H264---帧间编码---帧间预测编码(2):解码、显示顺序与图像管理_SXM19940913sxm的博客-CSDN博客
H.264的DTS、PTS、frame_num、poc相关推荐
- H.264视频的RTP有效负载格式 (RFC-3984)
RFC文档链接 本备忘录的状态 略 摘要 本备忘录描述了ITU-T建议的H.264视频编解码器和技术上相同的ISO/IEC国际标准14496-10视频编解码器的RTP有效载荷格式.RTP有效载荷格式允 ...
- H.264中POC类型之探讨
有 B 图像的场合.POC 表示的是图像显示顺序.由于POC对于参考序列的初始化,重排序及标记关系重大,所以做了如下的分析,以下讨论情况是针对帧编码. pic_order_cnt_type=0的时候: ...
- 【数据压缩】H.264文件解析和码流分析
一.实验课要求 选择一个.mp4或者.264文件. 在码流分析仪软件中打开该文件,从几个层次进行分析: 分析SPS和PPS里都包含哪些主要的信息,给出参数值.(例如分辨率.帧率.GOP结构等等) 以一 ...
- 编解码标准-H.264
H.264是MPEG-4家族中的一员,即MPEG-4系列文档ISO-14496的第10部分,因此被称作MPEG-4 AVC,MPEG-4重点考虑灵活性和交互性,而H.264着重强调更高的编码压缩率和传 ...
- H.264笔记整理3
H.264整理3 转自:http://www.hellotongtong.com/avcodecbase/avcodecbase-h264-learning120.html 需求 在移动端做音视频开发 ...
- 十一、H.264的Slice Header解析
GitHub代码地址:点击这里 H.264中的条带(Slice) 1. Slice的概念 我们已经知道,整个H.264的码流结构可以分为两层:网络抽象层NAL和视频编码层VCL.在NAL层,H.264 ...
- iOS VideoToolbox硬编H.265(HEVC)H.264(AVC):1 概述
本文档尝试用Video Toolbox进行H.265(HEVC)硬件编码,视频源为iPhone后置摄像头.去年做完硬解H.264,没做编码,技能上感觉有些缺失.正好刚才发现CMFormatDescri ...
- h.264语法结构分析
NAL Unit Stream Network Abstraction Layer,简称NAL. h.264把原始的yuv文件编码成码流文件,生成的码流文件就是NAL单元流(NAL unit Stre ...
- 将h.264裸码流推送到RTMP服务器
h.264裸码流的格式,参考"H.264-AVC-ISO_IEC_14496-10.pdf, page 211.",这个文档的下载地址:https://github.com/win ...
最新文章
- vue-devTools插件安装流程
- buHdoZer‘s Arch
- 【Visual Studio】如何在VS 2012中打印变量值到输出窗口
- PIC模拟从入门到熟练系列之组会PPT20210906《Note of PIC》
- 为什么谐振时电抗为0_220KV/110KVCVT互感器串联谐振试验装置技术方案
- 请求的站点不可用或找不到_80%的500强用企业微信,企业越来越找不到拒绝用它的理由...
- 1个价值80亿美元的iPod
- 自定义滚动条,可解决火狐滚动条默认样式修改不了问题
- ocp最新题库之052新题带答案整理-36题
- 用 ReactJs 创建Mac版的 keep
- zjoi2018day1 游记
- 57. Attribute specified 属性
- 命令端口C++检测本地网络端口占用
- H248协议附加业务--遇忙前转流程
- java mongodb 使用场景_MongoDB 数据库引用
- python 多个excel合并成多个sheet以及多个excel合并成一个sheet
- Flask 上传自定义头像_1 使用Flask Uploads
- JS ShadowDOM组件修改样式,添加事件
- QData QPair的组合使用例子一
- 在计算机中移动硬盘一般用作什么,移动硬盘是什么