16 ms·
Cisco to release BSD-licensed H.264 stack
- AshleysBrain 13y agoIf they get an AAC decoder as well... does this mean we'll finally have one video and one audio format for the web that plays everywhere?
- nutela 13y agoGreat news but will we be paid by karma now or how should it work this whole opensource thing?
- AlexanderDhoore 13y agoPlease go look at the members list of the Linux Foundation [1]. And convince yourself that pretty much every single company on this planet uses open source software. It's not some new fad or hippy communist thing. It's serious multi billion dollar business. [1] http://www.linuxfoundation.org/about/members http://www.linuxfoundation.org/about/members
- nutela 13y agoI was asking if people should expect to be paid when contributing to OSS or how is the busines model set up?
- ZeroGravitas 13y agoInteresting parallel to EME. They've taken the paid for codec licences and the DRM out of Flash and built them into two smaller plugins (one binary based on secret DRM code, one binary based on open source code). I wonder how this stacks up quality wise to x264. I thought it was a bit suspect that a few months back Cisco announced they would release this under a permissive open source licence only after H.264 was accepted as Mandatory To Implement in WebRTC, while also continuing to argue for H.264 vs VP8 using the highly regarded (though GPL/dual-licenced) x264 encoder. Also, how can this possibly be legit according to the patent license? Or do the patent owners turn a blind eye, like Microsoft in China, and Adobe with student piracy with their eyes on not losing control?
- bazzargh 13y agoIt's legit because Cisco are paying the license fees (mentioned in the article)
- ZeroGravitas 13y agoYeah, but that's like someone paying for an all-you-can-eat buffet and then smuggling in a few bus loads of hungry people. Just because you paid for it doesn't mean it's what the people you bought it from were intending.
- pgeorgi 13y agoThey're licensing per user - just that MPEG-LA has a upper bound of what to pay annually (currently $6.5 million). That's something that Cisco can probably better manage than not being able to move forward with their plans. Question is if MPEG-LA closes that loop hole the next time they revisit licensing payments (but then, how? Microsoft and Apple profit from the same provisions, for example).
- pthatcherg 13y agoOnly if you use the binary module, not the source code.
- wmf 13y agoApple has been paying MPEG LA license fees and giving away QuickTime Player for ten years; this is no different.
- nly 13y agoThis just seems like the worst of both worlds for Mozilla: 1. You can't guarantee the code will remain open. 2. You still can't build and distribute modified works even with the code you already have, because of patent constraints and licensing. 3. You're using binaries from Cisco which you can't verify (unless they're going for deterministic builds). We already have mature, high quality, open source implementations of H.264. Why can't Cisco just build and license one of those? I for one will not be installing the binaries.
- ZeroGravitas 13y agoCisco already promised to permissively open source this implementation (though not the binary fees-paid bit), because people were complaining they'd need to pay for an H.264 implementation (as well as patent fees) in non-GPL projects (GPL would allow you to use x264), which was another good reason to not vote for this codec to be MTI in WebRTC. Which Cisco was pushing for as it makes it easier to inter-operate with all their existing video-conferencing gear. Also, it costs them nothing since the H.264 licences are designed to not annoy the big players too much, because they could shift the market if they wanted too, and so cap out at about $6 million a year which I assume Cisco already pays.
- nly 13y agoYou can use ffmpeg/libav's decoder in non-GPL or even proprietary projects, since it's LGPL.
- ZeroGravitas 13y agoThis is in the context of WebRTC, i.e. standardized video web chat, which needs an encoder as well.
- nly 13y agoI'm not a video codec enthusiast, but it seems natural to me that low latency/real-time constraints on the encoding process is going to mean you're not benefiting from H264s full potential anyway. High profile H264 encodes are incredibly slow, and there must be other codecs that fill the streaming niche. This may benefit hardware and corporate conferencing gear manufacturers (aka Cisco?), but I don't see how the encoder specifically benefits Firefox users.
- ZeroGravitas 13y agoAnnouncement to WebRTC list: http://www.ietf.org/mail-archive/web/rtcweb/current/msg09269.html http://www.ietf.org/mail-archive/web/rtcweb/current/msg09269... The project website: http://www.openh264.org/ http://www.openh264.org/
- brendang 13y agoThe Cisco paid MPEG LA license fees only cover the Cisco delivered binaries. Doesn't sound like this completely free plug-in method would work for say, iOS apps which can't download external binaries. You'd still have to cover the MPEG LA licensing. According to http://www.openh264.org/faq.html http://www.openh264.org/faq.html "In order for Cisco to be responsible for the MPEG LA licensing royalties for the module, Cisco must provide the packaging and distribution of this code in a binary module format (think of it like a plug-in, but not using the same APIs as existing plugins), in addition to several other constraints. "
- ZeroGravitas 13y agoDoes iOS not already provide the equivalent encode and decode capabilities to app developers?
- brendang 13y agoI may be wrong, but I don't believe you can access the H.264 stream to send to a remote location, say for a video conference application. I believe the API only allows for saving to a file.
- pthatcherg 13y agoThat's the "Good News". Now for the rest of the story: The open source part of this is nearly useless, if not completely so, as evidenced by the fact that Firefox won't be using the source code. The "you don't have to pay the MPEG-LA" part only applies to the binary module. If you want to pick up this code and ship it in your own software, you'll still need to pay the MPEG-LA. The reason they are doing this is to put more weight behind H264 in the political battle in the IETF over the MTI video codec for WebRTC. But if they succeed in making H264 the MTI, and you want to write a mobile app that interops with WebRTC for doing some form of realtime video, you'll won't be able to use their source code without paying the MPEG-LA. You'd have to use their binary module, downloaded from their servers, which, as they mention in the Q&A, is impossible on iOS. The announcement seems to try hard to smudge this distinction and push it into the fine print, but there's still a patent "elephant in the room". TL;DR: This doesn't solve the patent issues surrounding h264, and doesn't make it anymore suitable as an MTI for WebRTC.
- davidw 13y agoHere's Monty's "we lost" announcement: http://xiphmont.livejournal.com/61927.html http://xiphmont.livejournal.com/61927.html Which goes into some of the details of the fight for a free web.
- pthatcherg 13y agoI sure hope he's wrong. Personally, I think a patent-encumbered MTI codec for WebRTC would be a very bad, especially for the open source community: - You can't have a spec-compliant implementation of WebRTC by compiling and running Firefox yourself. You need to download extra binaries from Cisco. - You can't have a spec-compliant implementation of WebRTC in your Linux distro, without including binaries from Cisco. - You can't write an Android app that uses the library from webrtc.org to interop with WebRTC in the browsers without downloading binaries from Cisco (unless you pay the MPEG-LA). - You can't write an iOS app to interop with WebRTC in the browsers, at all, because you can't download binaries from Cisco (unless you pay the MPEG-LA). - You can't build open source projects that fully interop with WebRTC, without dancing around all the lingering patent issues. In all these situations, having h264 as the MTI is worse than having no MTI at all.
- gioele 13y agoWho maintains the open source code? What if a source change is accepted and Cisco does not want to release binaries based on that code? What if the code contains a security issue that is exploitable, but only in remote cases and the maintainers do not want to accept changes to the code for whatever reason? How many attacks will there be trying to redirect the Cisco DNS in order to let Firefox download a malware-ridden binary? Will the binaries be available as deterministic builds? Will the binaries be signed and checked by Firefox? Who has access to those signatures? How is this a victory over using GStreamer and using the encoders/decoders available on the OS?
- hsivonen 13y ago> How is this a victory over using GStreamer and using the encoders/decoders available on the OS? MPEG-LA-licensed GStreamer codecs cost 28 euros to the end user. This priced at zero towards the end users. This is not a particular win over decoders available on the OS when those are indeed available. As for encoders, this encoder is designed for real-time use and even when encoders are provided by the OS, the OS might not provide an encoder suitable for real-time use.
- mbrubeck 13y agoThis isn't necessary for systems that already have H.264 decoders provided by the OS, but it's useful for platforms like Windows XP (which still accounts for 20-30% of web usage) that don't have built-in H.264 decoders. Firefox already uses cryptographic signatures to verify other code that it downloads (including updates to Firefox itself); it could do the same for the Cisco H.624 decoder. Windows XP users already need to download a third-party binary plugin (e.g. Flash) to play H.264 videos in Firefox. Cisco's code has the advantage that it is open source and could be signed and distributed by Mozilla.
- mbrubeck 13y agoCorrecting myself: it looks like Mozilla can't distribute the binary itself (while still benefiting from Cisco's end user licensing), though it could still publish its own signature for verification.
- theandrewbailey 13y agoIncoming Stallman "this is not free software" rant in 5, 4, 3, 2...
- smnrchrds 13y agoIf you live in a country which doesn't allow patents for software, this is great news. I wonder why no one cares about it in this thread. Foreign laws is how we got DeCSS, VLC and Handbrake to name a few. Mozilla could simply ship different packages for different countries, based on their patent laws. For example, US version could use binaries distributed by Cisco, while EU binaries could be built from source code maintained by Mozilla. IANAL but I think it would be completely legal as long as the company which distributes the EU version is a subsidiary or a separate legal entity located in EU. You are free to use whichever package you wish. Of course it would be illegal if you live in a country that has software patent laws. But legality never stopped us from using VLC or Handbrake. Why should it now?
- pritambaral 13y agoMozilla already supports (in code, not principle) H.264 by leveraging non-Mozilla code. It's not usually a problem on Windows on Mac since the user has already paid for a license when they bought the OS, but on Linux (gstreamer) it can cause patent violations within US. I hope (an believe) Mozilla will keep that functionality to use one of multiple backends (Windows's fedia framework, gstreamer etc.) when it adds this Cisco binary.
- BrendanEich 13y agoWe will need WMF at least until OpenH264 does High Profile, and I believe we are not going to be able to use only the OpenH264 binary blobs. Therefore we'll support other back ends (but not necessarily all possible back ends). /be
- ginko 13y agoIf you live in a country which doesn't recognize software patents you should just have the superior x264 codec compiled into Firefox.
- raylu 13y agolibx264 doesn't provide a decoder. Did you mean H.264?
- caycep 13y agoThis is probably a RTFM question on my part - but how does VLC play back H264? I presume it's part of the x264 library, but is this essentially a reverse-engineered H.264 codec? The weirder thing is that I have some handbrake encoded videos from ~ 2008 or so that don't play "Error: codec 'h264' not available. Yet other videos with the exact same codec/media information play fine...which is spooky.
- astrange 13y agoVLC uses libavcodec, which has an LGPL H.264 decoder written from the spec, which is available for free.
- hsivonen 13y agoThere is no need to reverse engineer H.264. The spec is not secret. VLC operates out of France--not the U.S.
- ars 13y agoFrance or U.S. doesn't matter for this - the patent laws are more or less the same.
- pkteison 13y agoThey ignore patents and hope it isn't a problem. Not an option for a us-based corporation. "Q: Does FFmpeg use patented algorithms? A: We do not know, we are not lawyers so we are not qualified to answer this. Also we have never read patents to implement any part of FFmpeg, so even if we were qualified we could not answer it as we do not know what is patented. Furthermore the sheer number of software patents makes it impossible to read them all so no one (lawyer or not) could answer such a question with a definite no, those who do lie. What we do know is that various standards FFmpeg supports contain vague hints that any conforming implementation might be subject to some patent rights in some jurisdictions. . ." http://www.ffmpeg.org/legal.html http://www.ffmpeg.org/legal.html
- deleted 13y ago[deleted]
- ghoul2 13y agoI __really__ __really__ don't get the mozilla stance here. It just doesn't make any sense to me. Mozilla has been resisting Googles libre codecs even though they come with full source code and a patent pledge. Google has already even paid to eliminate potential threat from the evil MPEG LA. It is as free(libre) as you can get in this space. On the other hand, the Cisco plugin is no solution at all. A binary module that has to be downloaded by each user? How can Mozilla justify recommending/requiring a binary module whose source it can not view/audit/share? This approach wouldn't be permitted under Debian Free Software Guidelines, thus ensuring that WebRTC-Firefox won't work on debian and its derivatives. Cisco benefits from H.264 winning the standards battle. They also have patents in the MPEG LA pool. Apple, MS and Cisco - none of them are under any obligations to provide a libre implementation of WebRTC. Only Google and Mozilla have that responsibility. And they can make it happen today by just agreeing to go with VP8 and VP9 when it lands (both are covered by the patent pledge as well as under the MPEG LA agreement). H.264 is a defacto standard already, I understand. But google, with its control of youtube and Android, can make a serious dent in that. If Moz and Google ensure that VP8 becomes the de-jure WebRTC standard, a Free software implementation of that can be released by mozilla today. No need to wait for Dwolla to come to fruition. I'd really like to understand what I am missing here.
- hsivonen 13y agoWhy do you say Mozilla could not view or audit the source? Cisco announced source release, too.
- cromwellian 13y agoCisco owns WebEx. Along with Microsoft (Skype), and Nokia, they are fighting WebM in WebRTC as a mandatory to implement codec, so I am deeply skeptical of this move. This seems basically about preserving investments in WebEx and Skype IMHO. I also feel a tinge of Mozilla trying to kill WebM/VP8 to favor their own vaporware codec. Are we being told, forget VP8, use H264 for now until Daala?
- pornel 13y agoIt's unfair to call Daala vaporware. The source and documentation are released, and you can see it's making progress: http://people.xiph.org/~xiphmont/demo/daala/demo1.shtml http://people.xiph.org/~xiphmont/demo/daala/demo1.shtml > Are we being told, forget VP8, use H264 for now until Daala? We're told Mozilla can't win battle against H.264, but will be fighting the next battle with Daala.
- cromwellian 13y agoOk, I take it back, vaporware is a little harsh. But in order for Daala to win, it will not only have to beat H.264, but also H.265 and significantly. Otherwise, the argument of the powers that be is that H.264/265 are the established standard, widely deployed, low-power hardware implementations, and here is this spec, which doesn't meaningful improve on quality, bandwidth, or battery life, but is license free. In other words, Daala will have to hit a homerun out of the park to convince all of the major players to endorse it over their existing deployed infrastructure. If they do, I will be the first one cheering in the streets. But I'm skeptical, hence again, like with WebP, we see Mozilla opposing something that offers immediate offers benefits now in favor of something that in a few years might be. This Cisco blob, what if it significantly underperforms x264 in encoding quality and CPU. Would we then be stuck with crappy WebRTC video quality because you can't drop in better implementations?
- BrendanEich 13y agoWebP does not offer immediate benefits by our measurement: http://people.mozilla.org/~josh/lossy_compressed_image_study_october_2013/ http://people.mozilla.org/~josh/lossy_compressed_image_study... https://groups.google.com/forum/#!topic/mozilla.dev.platform/9NKc7OeEFLM https://groups.google.com/forum/#!topic/mozilla.dev.platform... If you work at Google, please point out errors in our methods or data, give us better metrics, or otherwise correct us. > This Cisco blog, what if... "What if?" What if Google fails to get VP9 codecs into h/w? (See my response above; half-way [decoder only] does not count.) Lots of what-ifs here, but I believe OpenH264 is Cisco's best s/w codec. Let's see, shall we, and not speculate idly. /be
- BrainInAJar 13y agoI see no source code. And until I do see the source code, this isn't news, this is just hot air lies from a big corporation.
- zx2c4 13y agoI'd like to see the binaries released as deterministic builds. This would avoid quite a few concerns for Mozilla supporters.
- gcb0 13y agoNO! WRONG! tl;dr NO CODE IS BEING RELEASED AS BSD! nothing is being released as BSD-license! NOTHING! take down this title! it will only harm the public perception of webM and make webM supporters sound as crazy as i am sounding here (i am the exception guys, everyone else is pretty sane) CISCO is releasing header files and such so that you can compile their still-patent-encumbered binary blobs into a few major platforms. NOTHING even slightly relevant is being given out as BSD-license. Nada. Zero. This is nothing but harmful propaganda against open standards.
- jmvalin 13y agoThere is no release yet, but Cisco is saying they will be releasing the source code of the full implementation, not just nvidia-style hooks to a binary blob. AFAIK, the plan is for users to be able to replicate the build and see that the binary they got from Cisco indeed corresponds to the source code.
- saidajigumi 13y ago> NO! WRONG! tl;dr NO CODE IS BEING RELEASED AS BSD! Then please cite a source that backs that up. Bothering to follow the links from the Mozilla post indicates you are dead wrong: We plan to open-source our H.264 codec, and to provide it as a binary module that can be downloaded for free from the Internet. -- [1] [...] The source code will be open source and distributed with a BSD lIcense. The binary module is separate and when the users software downloads it from Cisco, that is when we are responsible for paying the MPEG LA royalties. – Nadee Gunasena, Cisco PR [2] [1] Cisco blog: http://blogs.cisco.com/collaboration/open-source-h-264-removes-barriers-webrtc http://blogs.cisco.com/collaboration/open-source-h-264-remov... [2] Comment on same: http://blogs.cisco.com/collaboration/open-source-h-264-removes-barriers-webrtc/#comment-966417 http://blogs.cisco.com/collaboration/open-source-h-264-remov...
- DannyBee 13y agoSo it's BSD license but you don't get the mpeg-la license if you build it yourself, because it's covered by cisco's capped binary distribution license with mpeg-la. So "it's open source, but you can't use what you build".
- throw7 13y agoVery sad that software patents are strangling any type of forward progress in this area (webm/webrtc). I almost want to say a mti is impossible to dictate in this arena, and just leave it to the protocol to handshake... if it fails so be it, no video.
- rejoinder 13y agoI just read this: http://www.zdnet.com/blog/bott/if-vlc-can-ship-a-free-dvd-player-why-cant-microsoft/4962 http://www.zdnet.com/blog/bott/if-vlc-can-ship-a-free-dvd-pl... What's the deal with VLC and H.264? Is it along the same lines? Also I don't really get why you'd stick with the non-free codec if there was a free better alternative. What's so good about H.264, and is it better than the free competition?
- shmerl 13y agoAre they saying that WebRTC is going to standardize H.264, or they are saying just that Mozilla will have an easy way to implement it in cases where nothing else is possible? It would be better if WebRTC standard remained ambiguous about video (like it is now), but in practice H.264 could be implemented by everyone, rather than making any such encumbered codec mandatory. The big failure here is of course not making VP9 mandatory, but it looks like before Daala comes, we won't have a mandatory free codec for the Web. If H.264 will become a mandatory part of the standard - then it will be pretty bad.
- darkstalker 13y agoMeanwhile you can enable native H264 support on linux with the about:config setting "media.gstreamer.enabled". This requires gstreamer with the respective plugin to be installed.
- SeanLuke 13y agoAm I misunderstanding something? Cisco is releasing source code to something heavily patent-encumbered, but is doing so under BSD, an open source license with no patent release. What value is the source code then? I can only imagine it's to allow others to verify the correctness of their implementation. You certainly can't use that source code in your own binaries.
- 0x09 13y agoIt will be just another H.264 decoder and encoder, like in libavcodec and x264 respectively. It's actually pretty exciting since no competing (with x264) open source H.264 encoder ever managed to reach maturity. And it's licensed more liberally than x264's GPL+commercial. > You certainly can't use that source code in your own binaries. Obviously you can, but then it's up to you to work it out with the MPEG-LA. Or not, depending on where you live.
- eyesee 13y agoSure you can use it, but you are obliged to license the patents for distribution. MPEG-LA license fees are $0 for the first 100k instances, and $0.20 per instance over 100k units (up to 5 million). Fees drop further for more units.
- 0x09 13y agoAn interesting aspect of this announcement is that it has the potential to cut into x264's bottom line. For several years now the authors have dual licensed the encoder under the GPL and a commercial license[1], meanwhile enjoying an uncontested position among H.264 implementations. I don't expect Cisco's offering to be able to compete on speed or quality of implementation, but the BSD license also means that it may be "good enough" for some potential x264 licensees. I'm curious to see how this plays out. [1] http://x264licensing.com http://x264licensing.com
- danbmil99 13y agoSad face.