Hello,<div><br></div><div>I have been keeping track of the developments of the <video> and <audio> tag for awhile now, and I recently noticed that there was a mailing list for discussing the spec.</div><div><br>
</div><div>So, I wanted to put forth my comments about this mess regarding codecs I'm seeing sprawled all over the mailing list.</div><div><br></div><div>First of all, what is the POINT of supporting any codec if it will cause inconveniences to anybody (e.g. patent royalties, high licensing fees, etc.)?</div>
<div><br></div><div>The way I see it, there isn't. The HTML 5 specification should definitely support a codec that fulfills the following legal criteria:</div><div><br></div><div>* No patent royalties for any purpose. Must by totally royalty free for any purpose.</div>
<div><br></div><div>* Licensing of the actual specification AND reference implementation of the codec must be permissible enough to allow both commercial and open source to benefit. Ideally, either a sort of "3-clause BSD" type license for implementation would be good. However, an LGPL license might be okay too. Some companies might see the LGPL a little worse than others, so BSD licensing would be preferred. For specification, a non-restrictive freely available specification would be perfect. Preferably Public Domain, but CC-BY, CC-BY-SA, GFDL, or equivalent would be fine too. </div>
<div><br></div><div>Now, I am NOT a lawyer, but I do feel that the above legal criteria would be satisfactory to both sides, legal and commercial.</div><div><br></div><div>Of course, we need to have a GOOD codec too. </div>
<div><br></div><div>The codec must:</div><div><br></div><div>* Be reasonably comparable to MPEG-2 and/or MPEG-4. Most people do not recognize the difference beyond these two, and quality higher than that comes at the cost of file size. </div>
<div><br></div><div>* Usable on all major platforms. Windows, Linux, and Darwin/Mac OS X support is a must. Supporting other UNIX platforms is a plus, especially *BSD. Supporting minor platforms such as Amiga OS, BeOS, OS/2, eComStation, etc. is a huge plus as well, but not required.</div>
<div><br></div><div>* Decent level of quality to bitrate. This might seem like a quality belonging to the first item on this list, but it isn't. For example, RealVideo at about 1/4 less the bitrate of an DivX video seem remarkably similar.</div>
<div><br></div><div>I am no total expert on audio/video technologies, but I feel that what I listed above would be the best criteria for selecting codecs for the HTML 5 <video> and <audio> tags.</div><div><br>
</div><div>With <audio>, the choice is remarkably easy. Support WAV and Ogg Vorbis, at the very least. I would also like to point out that FLAC would be a nice choice for lossless audio encoding, and should be an option too. Maybe Speex, but meh. I don't feel that Speex is really all that necessary outside of web conferencing.</div>
<div><br></div><div>With <video>, the choice seems to be harder. Many people seem to want to use the MPEG-LA's own codec specifications in some reduced form. Either way you slice it, you still are pretty likely to have to deal with the MPEG-LA and patents. I do not know of too many different video codecs, since most have seemed to die out or use a profile of the MPEG 4 standard. The only one I am aware of that would fit my own criteria would be Theora.</div>
<div><br></div><div>I know some have complained that the theora codec is worse than any of the mpeg4 codecs. Well, Xiph has already admitted to this problem and is working on fixing many of the performance problems and glitches in the codec within the "thusnelda" branch of the theora/vorbis code.</div>
<div><br></div><div>Some have complained of lack of support on the platforms for Vorbis/Theora. This is very easily remedied. Xiph provides both DirectShow filters (oggdsf - <a href="http://xiph.org/dshow/">http://xiph.org/dshow/</a>) and QuickTime components (XiphQT - <a href="http://xiph.org/quicktime/">http://xiph.org/quicktime/</a>) for the entire series of Xiph codecs. Linux distributions include Theora and Vorbis for Xine and GStreamer. There are Java implementations of the codecs available. There are versions of the codecs for even Silverlight 3. Their reference implementations are extremely portable and build on all three major platforms.</div>
<div><br></div><div>Licensing is no problem for any of the Xiph codecs. All the implementations are BSD licensed, and the specifications are in the public domain. If somebody wants to make an extremely optimized, high quality version of the theora/vorbis codecs, they can do so. They could even make the implementation closed source and sell it. Though, personally, I would not like to see that.</div>
<div><br></div><div>If there are any other options, I would like to hear of them. As far as I can tell, only the Xiph series of codecs fit the criteria I set above. If you feel my criteria is too restrictive or too lax, I want to know what should be changed. I want to know what all of you who care to read this think of it.</div>
<div><br></div><div>Sincerely,</div><div>Neal Gompa (King InuYasha)</div><div>Quality Assurance, Platform Integration</div><div>Enano CMS Project</div>