MPEG-4 标准简介
MPEG-4 是一个很热门的技术,得到了很多硬件厂商、机顶盒制造商(如 FHG、Philips、IBM 等)和软件开发商方面的支持,我们平时所熟悉和应用最多的 DivX、XviD 等就都属于 MPEG-4 标准中的 ASP 视频标准,下面我们简单的了解一下 MPEG-4 标准:
ISO 14496-1 (Systems), 定义了 MP4 容器格式, 支持类似 DVD 菜单这样的直观和互动特性等;
ISO 14496-2 (Video #1), 就我们常说的 ASP (Advanced Simple Profile), 包括 3ivx, DivX4/Project Mayo、 DivX 5、Envivio、ffmpeg/ffds、 mpegable、 Nero Digital、 QuickTime、 Sorenson、 XviD 等常见的视频格式, 需要注意的是 Divx 3.11、 MS MPEG-4、 RV9/10、 VP6、 WMV9 并不属于标准的 MPEG-4 标准;
ISO 14496-3 (Audio), 即 AAC 音频标准, 包括 LC AAC、 HE AAC 等, 支持 5.1 声道编码, 可以用更低的码率实现更好的效果 (相对于 MP3, OGG 等);
ISO 14496-10 (Video #2), 即高级视频编码 (AVC), 通常被称为 H.264, 支持比 ASP 更高级的特性, 压缩比更高。 不过目前还没有完全标准化, 一些厂商各自推出自己的编解码器,但是限制很多, 互不兼容, 且对系统要求较高。
风雷影音对 MPEG-4 的支持
对于 MPEG-4 视频格式,采用 XviD 1.1 alpha + FFDShow + QuickTime(用于支持 AMR/3GP 格式) 的组合来应对,支持几乎全部的 ASP 和 AVC 格式,同时对 DivX 3/4、H263 等非 MPEG-4 标准格式也提供了良好的支持;
对于 AAC 音频格式,采用 FFDShow 的 libfaad2 插件 + AAC Parser 来进行完全的实现;
对于 MP4 容器格式,采用 NeroDigital Parser 来进行音频流和视频流的解析分离。
风雷影音中 MPEG-4 视频组件的选用和搭配原则
风雷影音中的视频支持组合,是经过了大量的测试、验证和优选所提取的一种优化组合,基本上是以尽可能少的组件完成了尽可能多的功能,同时严格的顾及了兼容性和性能。
当然,
在各种视频标准没有得到真正完全的规范统一前,兼容性问题是无法 100% 避免的,我们只能通过设置尽量减小您遇到兼容性问题的几率。
FourCC 代码
FourCC 代表四字符代码 (four character code), 是一种独立标示视频数据流格式的四字符代码。视频播放软件通过查询 FourCC 代码并且寻找与 FourCC 代码相关联的视频解码器来播放特定的视频流。比如: DIV3 = DivX Low-Motion, DIV4 = DivX Fast-Motion, DIVX = DivX4, FFDS = FFDShow 等。