思科的H.264编码器-OpenH264
2013-12-30 14:39:02

本站赞助商链接,请多关照。 OpenH264是思科公司发布的一个开源的 H.264 编码和解码器,采用C/C++开发并在BSD协议下授权。


Cisco has taken our H.264 implementation, and open sourced it under BSD license terms. Development and maintenance will be overseen by a board from industry and the open source community. Furthermore, we will provide a binary form suitable for inclusion in applications across a number of different operating systems (Windows, MacOS, Linux x86, Linux ARM and Android ARM), and make this binary module available for download from the Internet. We will not pass on our MPEG-LA licensing costs for this module, and based on the current licensing environment, this will effectively make H.264 free for use on supported platforms.

它是一个实时编码和解码视频流至H.264/MPEG-4 AVC格式的自由软件函数库。其设计面向实时编码和解码视频的应用程序,例如WebRTC


2013年10月30日,思科系统的Rowan Trollope宣布思科将以简化版的BSD许可证发布一个名为OpenH264的H.264视频编解码器的二进制文件和源代码,并为使用思科预编译二进制文件的任何软件项目向MPEG LA支付所有使用费(因此思科的OpenH264的“二进制文件”为免费使用);不过,使用思科提供的源代码而非二进制文件的任何软件项目都有法律责任自行向MPEG LA支付所有著作权费用。

目前其目标CPU架构是x86和ARM,目标操作系统是Linux、Windows XP及以上版本、Mac OS X,以及Android;iOS不在范围内,因为其不允许应用程序从互联网获取和安装二进制模块。尽管OpenH264源代码在2013年10月份就已经存在,并被思科产品内部使用,但思科并没有立即发布其OpenH264编解码器。公告的原因是他们需要将其与其他非开源的思科源代码之依赖关系分离、确认它不含任何已知的零日攻击(可能危及其他使用相同代码的思科产品),以及确保完成所有必要的法律程序。

思科于2013年12月9日发布了OpenH264的源代码。早在2013年10月30日,思科的免费版公布当天,Mozilla的布兰登·艾克的写道,未来版本的Firefox将使用思科的二进制文件,在平台编解码器不可用时为Firefox提供H.264支持。2014年10月,Mozilla发布Firefox 33成为首个支持OpenH264的正式版本。


编码器特性
Constrained Baseline Profile up to Level 5.2 (4096x2304)
Arbitrary resolution, not constrained to multiples of 16x16
Rate control with adaptive quantization, or constant quantization
Slice options: 1 slice per frame, N slices per frame, N macroblocks per slice, or N bytes per slice
Multiple threads automatically used for multiple slices
Temporal scalability up to 4 layers in a dyadic hierarchy
Spatial simulcast up to 4 resolutions from a single input
Long Term Reference (LTR) frames
Memory Management Control Operation (MMCO)
Reference picture list modification
Single reference frame for inter prediction
Multiple reference frames when using LTR and/or 3-4 temporal layers
Periodic and on-demand Instantaneous Decoder Refresh (IDR) frame insertion
Dynamic changes to bit rate, frame rate, and resolution
Annex B byte stream output
YUV 4:2:0 planar input

解码器特性
Constrained Baseline Profile up to Level 5.2 (4096x2304)
Arbitrary resolution, not constrained to multiples of 16x16
Single thread for all slices
Long Term Reference (LTR) frames
Memory Management Control Operation (MMCO)
Reference picture list modification
Multiple reference frames when specified in Sequence Parameter Set (SPS)
Annex B byte stream input
YUV 4:2:0 planar output

支持的操作系统
Windows 64-bit and 32-bit (initial release is only 32-bit, 64-bit will follow soon)
Mac OS X 64-bit (initial release does not include this target, will follow soon)
Linux 64-bit and 32-bit (initial release is only 32-bit, 64-bit will follow soon)
Android 32-bit (initial release does not include this target, will follow soon)
iOS 64-bit and 32-bit (not supported yet, may be added in the future)

支持的处理器
Intel x86 optionally with MMX/SSE (no AVX yet, help is welcome)
ARMv7 optionally with NEON (initial release does not include this target, will follow later)
Any architecture using C/C++ fallback functions

最新版本:


官方主页:http://www.openh264.org/