Developer(s) | Ethan Hugg (at Cisco Systems) |
---|---|
Initial release | 9 December 2013(as open-source code) |
Stable release | 2.4.1 [1] / 2 February 2024 |
Repository | |
Written in | C++, Assembly |
Type | Video codec |
License | Simplified BSD license [2] |
Website | www |
OpenH264 is a free software library for real-time encoding and decoding video streams in the H.264/MPEG-4 AVC format. [2] It is released under the terms of the Simplified BSD License. [3]
On October 30, 2013, Rowan Trollope from Cisco Systems announced that Cisco would release both binaries and source code of an H.264 video codec called OpenH264 under the Simplified BSD license, and pay all royalties for its use to MPEG LA themselves for any software projects that use Cisco's precompiled binaries (thus making Cisco's OpenH264 binaries free to use); any software projects that use Cisco's source code instead of its binaries would be legally responsible for paying all royalties to MPEG LA themselves, however.
Current target CPU architectures are x86 and ARM, and current target operating systems are Linux, Windows XP and later, Mac OS X, Android and iOS. [4] [5] [6]
Although the source code for OpenH264 already existed in October 2013 and was used internally by Cisco products, Cisco did not publish its OpenH264 codec immediately. The announced reason was that they needed to separate it from dependencies on other Cisco code that is not intended to be open-sourced, confirm that it does not have any 0-day security vulnerabilities that could jeopardize other Cisco products using the same code, and make sure all necessary legal processes are completed. [7]
Cisco published the source code of OpenH264 on December 9, 2013. [8]
Also on the day of Cisco's free-use announcement, October 30, 2013, Brendan Eich from Mozilla wrote that it would use Cisco's binaries in future versions of Firefox to add support for H.264 to Firefox where platform codecs are not available. [9] In October 2014, Mozilla launched Firefox 33, the first major release to support OpenH264. [10]
OpenH264 is designed to be used in applications that require encoding and decoding video in real time, such as WebRTC. [7]
In addition to its own decoder and the x264 encoder, FFmpeg supports OpenH264 as both an encoder and decoder.
Theora is a free lossy video compression format. It was developed by the Xiph.Org Foundation and distributed without licensing fees alongside their other free and open media projects, including the Vorbis audio format and the Ogg container.
Advanced Video Coding (AVC), also referred to as H.264 or MPEG-4 Part 10, is a video compression standard based on block-oriented, motion-compensated coding. It is by far the most commonly used format for the recording, compression, and distribution of video content, used by 91% of video industry developers as of September 2019. It supports a maximum resolution of 8K UHD.
x264 is a free and open-source software library and a command-line utility developed by VideoLAN for encoding video streams into the H.264/MPEG-4 AVC video coding format. It is released under the terms of the GNU General Public License.
FAAC is a software project which includes the AAC encoder FAAC and decoder FAAD2. It supports MPEG-2 AAC as well as MPEG-4 AAC. It supports several MPEG-4 Audio object types, file formats, multichannel and gapless encoding/decoding and MP4 metadata tags. The encoder and decoder is compatible with standard-compliant audio applications using one or more of these object types and facilities. It also supports Digital Radio Mondiale.
libavcodec is a free and open-source library of codecs for encoding and decoding video and audio data.
Α video codec is software or a device that provides encoding and decoding for digital video, and which may or may not include the use of video compression and/or decompression. Most codecs are typically implementations of video coding formats.
The following is a list of H.264/MPEG-4 AVC products and implementations.
H.264 and VC-1 are popular video compression standards gaining use in the industry as of 2007.
VP8 is an open and royalty-free video compression format released by On2 Technologies in 2008.
HTML video is a subject of the HTML specification as the standard way of playing video via the web. Introduced in HTML5, it is designed to partially replace the object element and the previous de facto standard of using the proprietary Adobe Flash plugin, though early adoption was hampered by lack of agreement as to which video coding formats and audio coding formats should be supported in web browsers. As of 2020, HTML video is the only widely supported video playback technology in modern browsers, with the Flash plugin being phased out.
WebM is an audiovisual media file format. It is primarily intended to offer a royalty-free alternative to use in the HTML video and the HTML audio elements. It has a sister project, WebP, for images. The development of the format is sponsored by Google, and the corresponding software is distributed under a BSD license.
libvpx is a free software video codec library from Google and the Alliance for Open Media (AOMedia). It serves as the reference software implementation for the VP8 and VP9 video coding formats, and for AV1 a special fork named libaom that was stripped of backwards compatibility.
Intel Quick Sync Video is Intel's brand for its dedicated video encoding and decoding hardware core. Quick Sync was introduced with the Sandy Bridge CPU microarchitecture on 9 January 2011 and has been found on the die of Intel CPUs ever since.
A video coding format is a content representation format of digital video content, such as in a data file or bitstream. It typically uses a standardized video compression algorithm, most commonly based on discrete cosine transform (DCT) coding and motion compensation. A specific software, firmware, or hardware implementation capable of compression or decompression in a specific video coding format is called a video codec.
VP9 is an open and royalty-free video coding format developed by Google.
OBS Studio is a free and open-source, cross-platform screencasting and streaming app. It is available for Windows, macOS, Linux distributions, and BSD. The OBS Project raises funds on Open Collective and Patreon.
The Alliance for Open Media (AOMedia) is a non-profit industry consortium headquartered in Wakefield, Massachusetts, and formed to develop open, royalty-free technology for multimedia delivery. It uses the ideas and principles of open web standard development to create video standards that can serve as alternatives to the hitherto dominant standards of the Moving Picture Experts Group (MPEG).
AOMedia Video 1 (AV1) is an open, royalty-free video coding format initially designed for video transmissions over the Internet. It was developed as a successor to VP9 by the Alliance for Open Media (AOMedia), a consortium founded in 2015 that includes semiconductor firms, video on demand providers, video content producers, software development companies and web browser vendors. The AV1 bitstream specification includes a reference video codec. In 2018, Facebook conducted testing that approximated real-world conditions, and the AV1 reference encoder achieved 34%, 46.2%, and 50.3% higher data compression than libvpx-vp9, x264 High profile, and x264 Main profile respectively.
Cisco has taken our H.264 implementation, and open sourced it under BSD license terms.