Live data from Hacker News

A JavaScript H.264 decoder

github.com

21–30 of 43 posts

Re: A JavaScript H.264 decoder

#21

Any one know what the legal implications of using a free decoder for a patented compression format are? Products like flash make it seem free as Adobe pays a flat rate to the patent holders for decoding mp3, h.264, etc. alleviating their users from having to worry about royalties. But would using this decoder, though free and open source, be infringing a patent? note: I realize it's not production code. I'm asking mo…

At least until 2015, you won't need a license unless you're distributing commercial content to other end users or building an H.264 encoder. And the MPEG-LA has agreed to never charge anyone for watching free videos, so Youtube viewers will never get shaken down. http://www.engadget.com/2010/05/04/know-your-rights-h-264-pa... Maybe after 2015, they will start collecting royalties on commercial decoders.

Re: A JavaScript H.264 decoder

#22
post #7

Apparently this can actually get decent frame rates. Although I suspect they are using the patched version of the JS interpreter mentioned on github. http://yfrog.com/nmng0z Still not sure how this is meant to actually be useful though. The problem with H.264 isn't availability of implementations, it's being non-free and heavily patented. I can kind of see a use for this if you are a big content provider with a bunch…

> Although I suspect they are using the patched version of the JS interpreter mentioned on github.

We are using standard Firefox, no special patches. However, we used the Firefox nightly, not current stable. The decoder runs much faster in nightly, due to JS engine improvements that landed over the last few months, and are not yet in stable.

> Still not sure how this is meant to actually be useful though. The problem with H.264 isn't availability of implementations, it's being non-free and heavily patented.

First thing, this at least gives you another option. That is, if we get this codec to run as fast as a native one, then we now have the choice of either the browser or the video website providing the decoder (and properly licensing the decoder, if they are in a country that has pure software patents). More options are never a bad thing.

But I think the real potential in this approach is something entirely different. The opportunity is that you can download arbitrary decoders. So instead of the current world we live in, where you have a few decoders installed, you can have custom ones for different websites. Imagine a website that has cartoon videos or anime etc. - in principle, they could use a custom codec that is heavily optimized for that kind of content, as opposed to being forced to use stock decoders.

Also, it prevents being frozen in time: If you can download decoders from the web, you can improve them constantly while making sure your users have the proper decoder (since you ship it to them yourself), which you can't do if you rely on stock preinstalled decoders.

Re: A JavaScript H.264 decoder

#23

Running on a macbook pro with i5 dual core 2.4 ghz, it uses 1 core at 100% in firefox and manages: 1.7 fps It's cool, but I don't see any real world applications. Anyone got any ideas?

1. This works much faster on Firefox nightly (that's where we demo'd it on). Nightly has a lot of JS engine improvements that are not in stable yet (but will be in a month or two).

2. This does not use any hardware acceleration yet. This is simply compiling the Android C decoder into JS, nothing else - just a few days of work. We will now start to look at actually optimizing the code specifically for JS, and also to use GPU shaders for the relevant part of the code. Both of those can potentially make this even faster.

Regarding real-world applications, the interesting possibility is for websites to ship their own codecs. As I mentioned in a comment above, imagine an anime video website that ships a video decoder optimized for that kind of content - it could be much more efficient than stock H.264. Also, if websites can ship their own decoders, they can continually improve them (unlike now where websites rely on client decoders which are not constantly being improved).

Re: A JavaScript H.264 decoder

#24

Any one know what the legal implications of using a free decoder for a patented compression format are? Products like flash make it seem free as Adobe pays a flat rate to the patent holders for decoding mp3, h.264, etc. alleviating their users from having to worry about royalties. But would using this decoder, though free and open source, be infringing a patent? note: I realize it's not production code. I'm asking mo…

Contrary to what certain parties like Mozilla may claim, by the MPEG licenses, there are none. We have had this topic up here a few hundred times, mostly related to the recent h.264/WebM debacle and all the fud and disinformation spread about usage of h.264. There is a reason why the x264 team, the XviD team, the L.A.M.E team, people offering h.264 video and AAC audio etc. for free have not been subjected to lawsuits from the MPEG, and this is why: MPEG has always, not just for h.264 but also for mp3, mpeg-4 asp etc., said that there are no costs of any kind involved for any party - distributors and end-users alike - dealing with MPEG data or MPEG technology in any way, as long as it is all done in a free-of-charge scenario.

Re: A JavaScript H.264 decoder

#25
post #15

Any one know what the legal implications of using a free decoder for a patented compression format are? Products like flash make it seem free as Adobe pays a flat rate to the patent holders for decoding mp3, h.264, etc. alleviating their users from having to worry about royalties. But would using this decoder, though free and open source, be infringing a patent? note: I realize it's not production code. I'm asking mo…

Use and distribution of implementations requires a license (though, curiously, x264 seems to get a pass), so using the decoder will require a license as with using a closed-source one.

Only if it's in a commercial situation.

Re: A JavaScript H.264 decoder

#26
post #7

Apparently this can actually get decent frame rates. Although I suspect they are using the patched version of the JS interpreter mentioned on github. http://yfrog.com/nmng0z Still not sure how this is meant to actually be useful though. The problem with H.264 isn't availability of implementations, it's being non-free and heavily patented. I can kind of see a use for this if you are a big content provider with a bunch…

Useful? Not everything needs utility. It can just be cool. This is definitely the latter, although more as a Javascript exercise than a video one.

Re: A JavaScript H.264 decoder

#27

Any one know what the legal implications of using a free decoder for a patented compression format are? Products like flash make it seem free as Adobe pays a flat rate to the patent holders for decoding mp3, h.264, etc. alleviating their users from having to worry about royalties. But would using this decoder, though free and open source, be infringing a patent? note: I realize it's not production code. I'm asking mo…

Contrary to what certain parties like Mozilla may claim, by the MPEG licenses, there are none. We have had this topic up here a few hundred times, mostly related to the recent h.264/WebM debacle and all the fud and disinformation spread about usage of h.264. There is a reason why the x264 team, the XviD team, the L.A.M.E team, people offering h.264 video and AAC audio etc. for free have not been subjected to lawsuits…

[deleted]

Re: A JavaScript H.264 decoder

#28
post #15

Earlier quoted context omitted.

Use and distribution of implementations requires a license (though, curiously, x264 seems to get a pass), so using the decoder will require a license as with using a closed-source one.

Only if it's in a commercial situation.

No, it's noncommercial (really not user-monetized) streaming of video that's free. Shipping H.264 hardware requires paying licenses regardless of whether it's a commercial situation or not. For software, if the patents are enforceable in your jurisdiction, it's the same thing.

Re: A JavaScript H.264 decoder

#29

Any one know what the legal implications of using a free decoder for a patented compression format are? Products like flash make it seem free as Adobe pays a flat rate to the patent holders for decoding mp3, h.264, etc. alleviating their users from having to worry about royalties. But would using this decoder, though free and open source, be infringing a patent? note: I realize it's not production code. I'm asking mo…

Contrary to what certain parties like Mozilla may claim, by the MPEG licenses, there are none. We have had this topic up here a few hundred times, mostly related to the recent h.264/WebM debacle and all the fud and disinformation spread about usage of h.264. There is a reason why the x264 team, the XviD team, the L.A.M.E team, people offering h.264 video and AAC audio etc. for free have not been subjected to lawsuits…

No, but this is a common misconception. Though the summaries talk about "sold to users", the license itself defines "sale" in such a way as to include zero-cost distribution:

"Sale (Sell) (Sold) (Seller) – shall mean any sale, rental, lease, license, copying, transfer, reproduction, Transmission, or other form of distribution of an AVC Product or the Transmission by any means of AVC Video either directly or through a chain of distribution."

This is consistent with the discussions I've been party to with the MPEG-LA directly.

Edited to add: I would very much appreciate a reference to MPEG-LA saying the things you indicate in your comment. It would be very interesting to be able to point to those statements, in a number of ways.

Re: A JavaScript H.264 decoder

#30
post #15

Earlier quoted context omitted.

Use and distribution of implementations requires a license (though, curiously, x264 seems to get a pass), so using the decoder will require a license as with using a closed-source one.

(though, curiously, x264 seems to get a pass) If x264 does, so does VLC, mplayer, ffmpeg, gstreamer, and dozens of other applications that use video and audio decoders in Linux. Fortunately quite a lot of the world is not the United States, and today VLC is the world's second most popular media player and has never paid one cent in patent licensing fees. But of course, yes, being open source does not magically exempt…

You're right, of course. While I believe that the MPEG-LA's enforcement practices are not non-discrimatory as it's claimed to be, that's a different discussion, and it wasn't appropriate to single x264 out that way.

I apologize.

Post reply on HN