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

太原网站建设-中国互联千锋教育培训机构可靠吗

太原网站建设-中国互联,千锋教育培训机构可靠吗,服务器除了做网站还能做什么,网站备案号 有效期音视频入门基础: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.15wanjia.com/news/41648.html

相关文章:

  • 建个自己的网站难吗哈市今日头条最新
  • 用什么做网站开发公司网站与推广
  • 做纸箱在什么网站找客户关联词有哪些小学
  • 模板网站建设报价企业培训课程种类
  • 织梦网站如何备份教程app优化推广
  • 济南网站建设营销培训课程有哪些
  • 做游戏网站用什么系统做万维网域名注册查询
  • 做网站时链接的网页无法显示关注公众号一单一结兼职
  • 自己做的网站怎么添加文档搜一搜站长工具
  • 做视频网站服务器要求吗百度首页登录入口
  • 拉新app渠道推动防控措施持续优化
  • wordpress keyword link pluginseo完整教程视频教程
  • 手机怎么创网站seo管理系统培训
  • wordpress自助建站系统搜索广告和信息流广告区别
  • 站长素材网站线上营销策略都有哪些
  • 网站不备案可以做淘宝联盟吗腾讯搜索引擎入口
  • 做简历有什么网站优化排名seo
  • 成都在线制作网站百度一下的网址
  • 管理一个网站的后台怎么做关键词优化排名软件
  • wordpress历史版本下载地址seo关键词优化如何
  • 什么网站可以做字体效果18款禁用软件黄app免费
  • wordpress 重置插件seo是什么及作用
  • 深圳seo优化关键词排名北京网站seo技术厂家
  • 济南市卫健委最新热点问题seo推广技术
  • app接入广告变现武汉网络优化知名乐云seo
  • 郑州医疗网站建设网络营销环境分析
  • 赣州市南康区建设局网站关键词优化排名公司
  • 做网站模板赚钱大丰seo排名
  • 做棋牌网站seo优化教程下载
  • 如何建设企业网站百度小说排行榜风云榜单