dts,pts

解码过程中,dts由媒体流读入的包推动,dts在前进。pts是在dts前进到某处(截点)而进行动作的标记。

物理时间自然流逝,dts可以被控制同步与物理时间同一脚步节奏,也可以不。

一个节目的各条流(一般就一视频一音频,再加一字幕)共同参照dts。

流的各帧正确在物理世界呈现,pts必须参照物理时间与物理时间同步。

上图是mp4文件的解码,由于P,B要参考I,B可以参考P,所以某一帧被解码呈现的时候,已经被安排读入前前后后的几帧(这里的帧不专指主帧),所以pts会编排成dts之后。

又由于音频各帧独立,所以可以直接读入直接进行解码,pts和dts编排成一致。

上图在dts进行至133时(图中最右一个AVPacket编码帧),对pts=133的视频帧(图中最左一个AVPacket编码帧)解码。

解码出的帧dts打上当前的dts。

时间: 2024-10-25 17:27:11

dts,pts的相关文章

transcode_step()在转码过程中对pts、dts、duration的处理

对pts.dts.duration的处理主要集中在两大函数里面 1.process_input()读入数据并处理,放到滤镜里面 2.reap_filters()从滤镜读出数据,处理后写入文件 process_input()中对时间的处理 获取数据包 ret = get_input_packet(ifile, &pkt);11通过这条语句实际里面调用 return av_read_frame(f->ctx, pkt);11将读取到的帧放到pkt中. 处理获取的pkt中的时间 //如果pkt.d

(转自)视频流中的DTS/PTS到底是什么;

翻译了一下: Q:hi,这可能是一个弱智问题,但是当我使用bbMEG1.24beta17编码时,一直以来总是遇到这个下溢的问题.我从日志文件中得到的唯一启示就是我应该更改mux率...但是帮助文档却说将mux率设置为0可以强制其值由编码器来计算.有谁知道我应该设置什么值么?能有人准确的描述一下什么是PTS/DTS么?我一直使用一款SigmaDesigns NS2000卡来播放,却还没有看到我的视频效果... ###Input informationVideo:width: 720, height

FFmpeg 数据结构解析

最近在做媒体盒子的项目,接触到音视频的编解码,于是开始研究FFmpeg的研究之旅. 记得有大牛说过show me your data ,那么就从数据结构开始吧. 先通过下图对各个结构结构有个总体的认识,再具体的分析: AVCodecContext 这是一个描述编解码器上下文的数据结构,包含了众多编解码器需要的参数信息. 如下列出了部分比较重要的域: ? 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27

FFmpeg基础一

来源:http://blog.csdn.net/chance_yin/article/details/10323441 一.研究数字多媒体,首先要了解几个基本术语(ffmpeg的相关文档几乎都是英文的,不弄懂几个基本术语看文档还是比较吃力的) 1.容器/文件 (Container/file) ,既多媒体源文件 2.媒体流(Stream):与时间相关的一段连续数据.既某一时刻对应某个数据,这样的多个连续数据组在一起就成了媒体流. 3.数据帧/数据包(Frame/Packet):一个媒体流由大量的数

AVFormatContext

libavformat解析封装格式,而libavcodec负责解码. /** * Format I/O context. * New fields can be added to the end with minor version bumps. * Removal, reordering and changes to existing fields require a major * version bump. * sizeof(AVFormatContext) must not be use

ffmpeg转码MPEG2-TS的音视频同步机制分析

http://blog.chinaunix.net/uid-26000296-id-3483782.html 一.FFmpeg忽略了adaptation_field()数据FFmpeg忽略了包含PCR值的adaptation_filed数据; 代码(libavformat/mpegts.c)分析如下: /* 解析TS包 */int handle_packet(MpegTSContext *ts, const uint8_t *packet){  ...   pid = AV_RB16(packe

ffmpeg最全的命令参数

Hyper fast Audio and Video encoderusage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... Getting help: -h -- print basic options -h long -- print more options -h full -- print all options (including all format and code

DVB系统中PCR的生成和PCR校正

http://blog.csdn.net/chenliangming/article/details/3616720 引自<广播电视信息>2008年1月 从数字电视前端系统功能上来讲,传统的DVB数字硬件前端技术包含编码.复用.加扰.调制四个基本环节,而在实际的DVB前端系统中还有直接的TS流转发环节,如下图所示: 上图中编码环节是将模拟视音频或者基带的数字视频和音频信号编码形成标准的TS流,而流转发环节是将卫星或者通过其它信道过来的信号转成符合当地标准的TS流,所有的TS进入复用环节进行复用

查看FFMPEG的全部帮助内容

ffmpeg -h full Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... Getting help: -h -- print basic options -h long -- print more options -h full -- print all options (including all