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

网站收录什么意思电子商务网站建设价格

网站收录什么意思,电子商务网站建设价格,互联网技术应用就业方向,商标图案大全大图 logo音视频入门基础:MPEG2-TS专题系列文章: 音视频入门基础:MPEG2-TS专题(1)——MPEG2-TS官方文档下载 音视频入门基础:MPEG2-TS专题(2)——使用FFmpeg命令生成ts文件 音视频入门基础…

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

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

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

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

音视频入门基础:MPEG2-TS专题(3)——TS Header简介

音视频入门基础:MPEG2-TS专题(4)——使用工具分析MPEG2-TS传输流

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

音视频入门基础:MPEG2-TS专题(6)——FFmpeg源码中,获取MPEG2-TS传输流每个transport packet长度的实现

音视频入门基础:MPEG2-TS专题(7)——FFmpeg源码中,读取出一个transport packet数据的实现

音视频入门基础:MPEG2-TS专题(8)——TS Header中的适配域

音视频入门基础:MPEG2-TS专题(9)——FFmpeg源码中,解码TS Header的实现

音视频入门基础:MPEG2-TS专题(10)——PSI、SI简介

音视频入门基础:MPEG2-TS专题(11)—— TS中的Section

音视频入门基础:MPEG2-TS专题(12)—— FFmpeg源码中,把各个transport packet组合成一个Section的实现

音视频入门基础:MPEG2-TS专题(13)——FFmpeg源码中,解析Section Header的实现

音视频入门基础:MPEG2-TS专题(14)——PAT简介

音视频入门基础:MPEG2-TS专题(15)——FFmpeg源码中,解析Program association section的实现

音视频入门基础:MPEG2-TS专题(16)——PMT简介

音视频入门基础:MPEG2-TS专题(17)——FFmpeg源码中,解析TS program map section的实现

音视频入门基础:MPEG2-TS专题(18)——PES流简介

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

音视频入门基础:MPEG2-TS专题(20)——ES流简介

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

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

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

音视频入门基础:MPEG2-TS专题(24)——FFmpeg源码中,显示TS流每个packet的pts、dts的实现

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

一、引言

从《音视频入门基础:MPEG2-TS专题(23)——通过FFprobe显示TS流每个packet的信息》中可以知道,通过FFprobe命令可以打印TS流每个packet(也称为数据包或多媒体包)的信息,这些信息包含该packet的pts、dts:

本文讲述FFmpeg源码中,上述pts、dts的值是怎样被打印出来的。

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

由《音视频入门基础:MPEG2-TS专题(19)——FFmpeg源码中,解析TS流中的PES流的实现》可以知道,FFmpeg源码中通过mpegts_push_data函数解析TS流中的一个PES packet。而mpegts_push_data函数中,通过下面代码块读取PES packet header中的PTS和DTS,分别赋值给变量pes->pts和pes->dts,即赋值给PESContext的pts和dts:

                if ((flags & 0xc0) == 0x80) {pes->dts = pes->pts = ff_parse_pes_pts(r);r += 5;} else if ((flags & 0xc0) == 0xc0) {pes->pts = ff_parse_pes_pts(r);r += 5;pes->dts = ff_parse_pes_pts(r);r += 5;}

之后当再次进入mpegts_push_data函数时,会调用new_pes_packet函数:

    if (is_start) {if (pes->state == MPEGTS_PAYLOAD && pes->data_index > 0) {ret = new_pes_packet(pes, ts->pkt);if (ret < 0)return ret;ts->stop_parse = 1;} else {reset_pes_packet_state(pes);}pes->state         = MPEGTS_HEADER;pes->ts_packet_pos = pos;}

new_pes_packet函数内部,会把PESContext的pts和dts分别赋值给AVPacket的pts和dts:

static int new_pes_packet(PESContext *pes, AVPacket *pkt)
{
//...pkt->pts = pes->pts;pkt->dts = pes->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);
//...
}

三、总结

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

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

相关文章:

  • 深圳手机网站建设价格低厦门建站网址费用
  • 怎么做网站 白怎样创建个人视频号
  • 网站一般用什么语言做免费开通网站
  • 酒店行业网站建设方案网站开发包括网站设计
  • 济南智能网站建设电话app开发网站建设培训班
  • 广东省建设厅投诉网站网站诊断分析报告模板及优化执行方案.doc
  • 芜湖seo网站优化家教中介网站开发
  • 网站开发注销代码网站建设的费用预算
  • 东莞樟木头网站制作苏州网站建设科技
  • 有效的网站推广方式南京百度网站建设
  • 可以做推广东西的网站支付宝wordpress api接口
  • 网站界面设计规范wordpress图片生成插件
  • 中国建设银行网站的发展如何seo推广
  • 网站架构有哪些网站开发与维护工资
  • 西安专业网站制作在线做头像网站
  • 昆山网站建设昆山免费网站建设加盟
  • 有云服务器怎么做网站昆明网站建设赵
  • 专注南昌网站建设wordpress主题UIGREAT
  • 网站开发的目的 实习报告建设明星网站的目的论文
  • 网站建设中倒计时源码如何获取新注册公司电话
  • 网站app建设图片软件开发流程管理系统
  • 当年的51网站wordpress文章群发工具
  • 网站中的ppt链接怎么做门户网站信息流广告怎么做
  • nodejs同时做网站和后台管理wordpress 静态内容
  • 企业网站欣赏郑州企业形象设计wordpress的编辑器在哪个目录
  • 网站建设实训的报告肥城房产网
  • 哈尔滨网站运营服务商五华县建设局网站
  • 网站建设流程文字稿网站如何制作学校的做
  • 网站seo外链平台兰州手机网站制作公司哪家好
  • 常用的网站类型有哪些类型有哪些php做的网站后台