30 December 2013

OpenH264 on Github

Sorry, I missed the chance to post a timely follow-up to Cisco’s H.264 Good News: as mentioned on the RTCWeb IETF mailing list, Cisco on the 9th of December released the OpenH264 codec on Github.

Warning: code cleanup in progress (e.g., following RTP correctly in Gecko glue code), do not expect interoperable results in the Firefoxes yet. Please check issues and send PRs. Thanks.


10 Responses to “OpenH264 on Github”

  1. mah says:

    Whats the big difference between that and the x264 code which has been open since forever? (honest question) https://github.com/DarkShikari/x264-devel

  2. ferongr says:

    If it keeps supporting the Baseline profile only then it’s almost useless for using with popular Web video services since the majority of them use the Main and High profiles. If my understanding is correct, the aim is to use this for GNU/Linux builds, right? If that’s true, GNU/Linux users will surely enjoy being a second-class citizen compared to other platforms, being limited in what they can watch.

  3. Brendan Eich says:

    @Mah: I’m not sure of the differences, x264 is high quality work I hear.

    The big difference for us is that Cisco has now made its best codec open source and also taken on licensing fees for binaries it will distribute — not something x264 provides. This solves a real problem for cross-platform products based on Mozilla open source that need to support H.264.

    @Ferongr: you assume no high profile, why? High profile is a requirement across all supported platforms for Firefox and Firefox OS.

    The work on high profile has not started yet, but it’ll all happen on github.


  4. EKR says:

    FERONGR: We’re certainly looking at adding high profile, but since our initial target is WebRTC, our initial focus is on performance and integration with the browser (specifically x86 assembler; creation of the binary module interfaces; the binary module itself).

    However, like any open source project, what gets done in OpenH264 depends largely on what people are willing to contribute. So, if you were to submit patches for Main and High profiles, that would be really great!

  5. EKR says:

    MAH: They are different code bases.

    It’s important to realize that the big issue here isn’t the code but rather the patent licenses. Cisco is going to be distributing a binary module based on OpenH264 which will allow other programs (e.g., Firefox) to use H.264 without having to pay license fees to MPEGLA
    (see http://tools.ietf.org/agenda/88/slides/slides-88-rtcweb-8.pdf and http://vimeo.com/cullenfluffyjennings/openh264-ipr for more details on this.)

  6. Matej K. says:

    Is the baseline profile limitation just for encoder or is the decoder restricted to baseline as well? If the latter is the case then I honestly don’t see much point in the effort of integrating this with Mozilla (apart from webrtc) since baseline only decoding is pretty much useless for almost all recent H.264 video on the internet. At least unless Cisco has serious motivation to add the other profiles (or just hire the libav guys to do it for you :)

  7. Brendan Eich says:

    Matej: as noted above, High Profile is coming, both sides (encoder and decoder). Not much point without it, we agree.


  8. How does this impact WebM? Any chance we’ll see improvements in that codebase as a result of this?

  9. EKR says:

    Probably not any immediate improvements, since this is a different code base from libvpx. We (or other libvpx maintainers) might make independent improvements there, but not really as a result of work on OpenH264.

  10. Jim says:

    Via Licensing seem to have torpedoed any hopes for an equivalent project for AAC. AAC licensing has become much more expensive than it used to be: