高清MPEG-4 AVC/H.264格式完全解读
一.MPEG-4 AVC / H.264起源
我们用KMP来播放H.264的时候,总是觉得不知道要用什么分离器,如何调用各种滤镜。但如果调用了Halli Media Splitter分离器以后,好象问题都解决了。那么,为何Haali有这么厉害的功能呢?这个要从H.264的来源说起。
H.264/MPEG-4 AVC(ISO MPEG-4 Part 10)
H.264(ITU-T命名),或称之为MPEG-4 AVC(ISO/IEC命名),是一种由ITU-T与ISO/IEC正在联合进行开发的视频编解码方案,即将成为MPEG-4标准的第10部分(ISO MPEG-4 Part 10)。关于该技术的视频编码方案,现在正式命名为ITU-T H.264或"JVT/AVC草案"。H.264/MPEG-4 AVC作为MPEG-4标准的扩展(MPEG-4 Part 10),充分利用了现有MPEG-4标准中的各个环节。H.264/MPEG-4 AVC就在现有MPEG-4 Advanced Simple Profile的基础之上进行发展的。
H.264/MPEG-4 AVC的编解码方案流程主要包括如下5个部分:精密运动估计与帧内估计(Estimation)、变换(Transform)及逆变换、量化(Quantization)及逆量化、环路滤波器(Loop Filter)、熵编码(Entropy Coding)。
标准选择Advanced Video Coding(进阶视频编码)(AVC)作为“官方”名 - 因为对应视频的音频格式是Advanced Audio Coding(先进音频编码)(AAC)。
尽管H.264/MPEG-4 AVC这项技术虽然还没有得到正式批准,但是其可以降低50%或更多带宽的能力,能以少于1Mbps的数据率传输基于互联网协议(IP)的广播质量级的视频内容,这是目前正式颁布的ISO MPEG-4及MPEG-2编解码方案根本所不能比拟的。因而,H.264/MPEG-4 AVC将对所有要求高压缩率、高质量的应用领域产生深远的影响。
从上面得知,搞了半天,H.264原来就是我们最熟悉的MPEG-4编码的第10部分,只不过换了一个称呼而已。而我们知道Haali就是MP4,mkv,ogg/ogm,avi这四项功能集于一身的分离器。故Halli能分离H.264也就不足为怪了。更奇怪的一个问题是,有人曾建议如果APPLE下载的高清预告片播放不了,就把影片扩展名由MOV改成AVI或MP4就可以播放了,其实这是由于H.264影片的“容器”可以是AVI,MP4,MPG等原因造成的。
二.可用的AVC/H.264编码,解码器
可用于用户的AVC/H.264执行者有x264, Nero, Apple, Sorenson, Elecard, Moonlight, VSS, mpegable, Envivio, Hdot264 (binary), DSPR, JM (参考软件) (binary), ffmpeg, Philips, FastVDO, Skal, Sony等等。
AVC/H.264厂家,编码器,解码器大全。
http://forum.doom9.org/showthread.php?t=95939
我们常用解码器有quicktime,moonlight,ffdshow,coreavc,还有KMP内置的H.264解码器(不知采用的是哪一种)。
三.可用的AVC/H.264播放器
因为开发H.264的公司很多,所以应该说播放器也是相当多的,只是有些我没有接触到,目前我们见到的使用的主要有:
1.quicktime 7
2.tcpmp
3.mpc
4.bsplayer
5.kmplayer
前两种就是直接的播放器,安装好了就可以了。但后面三种却是DIY的播放器,要自己手动设置解码器,但却因其强大的DIY功能而越来越受到大家的追捧。
因为quicktime 7,tcpmp只要安装就可以播放H.264,所以本文不做说明。下面主要就最DIY的KMPLAYER做详细的设置说明。四.KMPLAYER技巧
我们在设置KMP的时候,常常把各种滤镜设置到“滤镜管理器”中并设置为强制使用。但我最近却常常发现有这样那样的问题,有些情况下,一个滤镜我明明指定了,并强制使用了,但往往它就是不听使唤,千呼百唤不出来,急煞人也。
随着KMP的不断完善,我现在的习惯与大家可能不一样了,那就是我“从不在滤镜管理器中设置任何东西”。大家不要觉得奇怪、不可思议,其实本来KMP就有明确的解决办法,只是大家太急燥了,一味的要“超越”,要有“强制使用”,好象手握重器,想要怎样就怎样,豪爽得很。呵呵,离题了。