最近做了MPEG-4编码的视频文件的分析,找资料的时候费了好大的劲,在这里分享自己的一些心得体会,也算对自己工作的一个总结吧。必须先推荐一个非常好用的码流分析工具:Elecard Stream Analyzer。分析结果可以在图片中看到。
第一步,先说说如何对获得MPEG-4编码的视频。我的方法是从纯视频格式(.yuv)利用软件ffmpeg经过MPEG-4编码得到.m4v文件,这个文件就是我们所需要分析的文件。
第二步,得到MPEG-4编码的视频后,我们就可以根据图中所示的文件结构再利用ultraedit分析它的码流结构了。MPEG-4编码与MPEG-2编码最大的不同之处就在于它是基于对象的编码,可以合成媒体对象以创建所需的视听场景以及多路传播和同步媒体数据项的位流,以保证它们在传输过程中的服务质量,并能在接收端与视听场景进行交互。先来分析它的层次结构,它可以分为5个层次(对应着图看,非常清楚):
1. 视频对象序列VOS
2. 视频对象VO
3. 视频对象层VOL
4. 视频对象平面组GOV
5. 视频对象平面VOP(也就是所谓的“帧”)