当前位置: 首页 > news >正文

网站建设课程设计实训总结上海监理建设协会网站

网站建设课程设计实训总结,上海监理建设协会网站,网站图片alt属性设置,tk网站注册音视频入门基础:MPEG2-PS专题系列文章: 音视频入门基础:MPEG2-PS专题(1)——MPEG2-PS官方文档下载 音视频入门基础:MPEG2-PS专题(2)——使用FFmpeg命令生成ps文件 音视频入门基础…

=================================================================

音视频入门基础:MPEG2-PS专题系列文章:

音视频入门基础:MPEG2-PS专题(1)——MPEG2-PS官方文档下载

音视频入门基础:MPEG2-PS专题(2)——使用FFmpeg命令生成ps文件

音视频入门基础:MPEG2-PS专题(3)——MPEG2-PS格式简介

音视频入门基础:MPEG2-PS专题(4)——FFmpeg源码中,判断某文件是否为PS文件的实现

音视频入门基础:MPEG2-PS专题(5)——FFmpeg源码中,解析PS流中的PES流的实现

音视频入门基础:MPEG2-PS专题(6)——FFmpeg源码中,获取PS流的视频信息的实现

音视频入门基础:MPEG2-PS专题(7)——通过FFprobe显示PS流每个packet的信息

=================================================================

一、引言

通过FFprobe命令:

ffprobe -of json -show_packets XXX.ps

可以显示PS流/PS文件每个packet(也称为数据包或多媒体包)的信息:

 

对于PS流,上述的“packet”(数据包或多媒体包)是指:该PES packet去掉PES packet header、pack_header和system header后的数据,即PES packet负载中的数据(基本码流、ES流数据)。 


 

其中:

codec_type:该数据包对应的这路流是视频还是音频。

stream_index:该数据包对应的这路流的流索引,即这路流是PS流/PS文件中的第几路音视频流。

dts:该数据包的以AVStream的time_base为单位的解码时间戳,来源于该packet的PES packet header中的DTS:

dts_time:该数据包的以秒为单位的解码时间戳。

pts:该数据包的以AVStream的time_base为单位的显示时间戳。来源于该packet的PES packet header中的PTS:

pts_time:该数据包的以秒为单位的显示时间戳。

duration:即AVPacket结构体中的成员变量duration,为该packet占用的以AVStream的time_base为单位的时间值。

duration_time:该packet占用的以秒为单位的时间值。

size:即AVPacket结构体中的成员变量size,为AVPacket的成员变量data指向的缓冲区的大小,也就是该packet的大小(以字节为单位)。该值等于:ES流数据的大小。

二、FFmpeg源码中,显示PS流每个packet的pts、dts的实现

上述信息中比较重要的是pts和dts:

由《音视频入门基础:MPEG2-PS专题(5)——FFmpeg源码中,解析PS流中的PES流的实现》可以知道,FFmpeg源码中通过mpegps_read_pes_header函数解析PS流中的PES packet,从该PES packet的PES packet header中读取出pts和dts,分别赋值给AVPacket的pts和dts:

static int mpegps_read_packet(AVFormatContext *s,AVPacket *pkt)
{
//..len = mpegps_read_pes_header(s, &dummy_pos, &startcode, &pts, &dts);
//..ret = av_get_packet(s->pb, pkt, len);pkt->pts          = pts;pkt->dts          = dts;
//...
}

最后在fftools/ffprobe.c的show_packet函数中将AVPacket的pts和dts的值打印出来:

static void show_packet(WriterContext *w, InputFile *ifile, AVPacket *pkt, int packet_idx)
{
//...print_ts  ("pts",             pkt->pts);
//...print_ts  ("dts",             pkt->dts);
//...
}

所以PS流/PS文件中每个packet的PTS和DTS分别来源于该packet的PES packet header中的PTS和DTS。

http://www.yayakq.cn/news/180603/

相关文章:

  • 张店学校网站建设方案河北建设工程招标网官方网站
  • 找南昌兼职做网站的沈阳招标中心招标公告
  • 网站建站建设费用网站建设的定位
  • 外贸网站推广怎么样wordpress 文学付费
  • 泉州电商网站建设单机游戏
  • 淄博学校网站建设报价门户网站asp源码
  • 合肥网站建设优化网站建设 信科网络
  • 网站开发待遇怎么样广州做响应式网站
  • 广元做网站站排名博物馆装修厂家
  • 网站设计与网页制作教程wordpress 评论不了
  • 爱站网关键词挖掘网站建设国际深圳
  • 博兴做网站wordpress4.8.0
  • 做网站难吗辽宁seo推广
  • flash网站大全网站建设开发人员
  • 教育网站报名中信建设有限责任公司 湖南中筑建设公司
  • 查网站是否正规如何建立网站赚钱
  • 百度上可以做中英文网站吗wordpress p2 theme
  • 不需要验证码的注册网站门户网站建设存在的问题和差距
  • 小语种网站wordpress突然变慢
  • 青岛建设网站制作常熟做网站公司
  • 深圳建网建网站大连建设
  • 视频号的网站链接东莞市seo网络推广企业
  • wordpress网站建设教程视频无锡互联网前十名公司
  • 门户网站建设教程动漫设计与制作主修课程有哪些
  • 北京市建设工程信息网交易网站chinacd.wordpress0
  • 网站管理系统排行榜榆林市工程造价信息网
  • 国内优秀网站赏析辽宁省城乡建设规划院网站
  • 公需科目在哪个网站做商务网站建设的第一步
  • 网站优化标题石家庄做网站最好的公司
  • 怀宁网站建设wordpress中文博客