Chinaunix首页 | 论坛 | 博客
  • 博客访问: 430745
  • 博文数量: 127
  • 博客积分: 0
  • 博客等级: 民兵
  • 技术积分: 810
  • 用 户 组: 普通用户
  • 注册时间: 2013-07-02 20:51
文章分类

全部博文(127)

文章存档

2018年(6)

2015年(18)

2014年(33)

2013年(70)

分类: 网络与安全

2013-07-19 17:54:08

1、  打开一个PS封装的媒体文件,可以看到有很多以0x000001BA开头的字段,该字段为program pack的开始标志,每一个PS封包都包含一个该字段,同时一个PS封装的媒体文件中还有一个0x000001B9字段,该字段为媒体文件的结束标志,事实证明该字段可以没有,具体有什么影响还不清楚。

2、  一个program pack有一下部分组成:pack_header, system_header, system_map_header,         PES_packets;其中system_header,system_map_header当且仅当第一帧数据为I帧时才存在,当数据帧为P帧时,一个program pack只有pack_headerPES_packets。同时如果一帧数据太大时,可以有多个pes_packets

3、  MPEG4码流关键帧头部有16个字节,非关键帧头部有8个字节(均包含4个字节的ID,由于在GetAvDate获取的mpeg4源码流中没有找到该头部,所以在每次获取一帧码流时都给添加了该头部信息,事实证明该头部信息不是必须的。同时GetAvDate获取的mpeg4源码流也没有      视频对象序列VOS,视频对象VO,视频对象层VOL,视频对象平面组GOV信息,代码中是通过添加的方式实现 。

4、  Mpeg4加头部mepg4_headvol后封装成的PS文件可以通过QQ影音和VLC播放,但是不可以通过暴风影音播放,事实证明Mpeg4在封装成ps文件时vol信息时必须的。而h.264则可以通过任何播放器播放。同时在获取mpeg4源数据时通过打印出现以下问题:每秒获取的数据不为30帧,但是I帧与I帧之间还是包含30帧,会不会是这点导致播放mpeg4源码时出现画面花屏的情况,但为什么经过ps封装之后播放就正常了?

阅读(909) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~