Questioning Mozilla's Plans For HTML5 Video
AberBeta writes with this excerpt from OSNews:
"We're on the verge of a serious evolution on the web. Right now, the common way to include video on the web is by use of Flash, a closed-source technology. The answer to this is the HTML5 video tag, which allows you to embed video into HTML pages without the use of Flash or any other non-HTML technology; combined with open video codecs, this could provide the perfect opportunity to further open up and standardize the web. Sadly, not even Mozilla itself really seems to understand what it is supposed to do with the video tag, and actually advocates the use of JavaScript to implement it. Kroc Camen, OSNews editor, is very involved in making/keeping the web open, and has written an open letter to Mozilla in which he urges them not to use JavaScript for HTML video."
The last time Mozilla added support for a tag that had some automatic animated behavior, the browser was still called Netscape and the tag was universally reviled. I hope they don't blink again.
But that said, does anyone really think video is a good idea? It's hard enough to get users to install the correct codecs to play back movies now. At least with FLV you've got a pretty standard platform which almost everyone already has installed. Adobe, for all their fuckups, has done a good job with Flash. Quicktime, OTOH, is not quite as accepted. And WMV, for whatever reason, is rejected by many users out of hand.
So are we going to require browsers to install with codec packs? What are the distribution formalities required for that kind of thing? It sounds like a giant ball of baling wire stuck in a thresher. I'm tempted to let it alone.
A lot of video producers like to rely on the fact that Flash makes it difficult to download videos to your hard drive. I wonder how they'd react if a major online video provider were to provide its content through a less restrictive method such as the video tag.
"In prison you just have to shut your eyes and take it. Here you have to shut your eyes and give it."
Some random Mozilla Hacks (note the word Hacks) blogger posts some code that web developers can use to implement HTML5 video (which does not use javascript, contrary to the implications in this article and summary?) and also provide a fallback path for non-HTML5 Video browsers (IE, Opera, etc). Their particular method of providing the fallback code uses javascript to determine browser capability, and uses Flash if HTML5 Video is not there.
Why is this upsetting to anyone? The implication from the summary is this is a less "open" way to do it, but last I checked Javascript/ECMAScript is a standard that all browsers implement already.
I cannot fathom why anyone would be so upset by some blogger providing JS-implemented video fallback implementations.
Javascript is a cool language. I've written more than a couple of browser extensions and intranet apps with it in my time and I'm one of those people that disables javascript for browsing the public internet. I consider running random 3rd party code to be an outright security hole, some people are willing to sacrifice security for the bells and whistles but only a complete moron disagrees with the premise.
You can probably guess that I personally am going to disable the HTML5 A/V elements and continue downloading video manually. That aside, browser based audio/video should provide basic playback functionality for the user without javascript enabled. The functionality should also be easily disabled or switched into "prompt to download" mode and finally, I don't want to use GStreamer for anything... ever...
I'm not a zealot, and Javascript isn't that bad. I'd say the people that hate it are more unthinkingly zealous.
Javascript is MISUSED a lot, but hell, so is C.
My understanding is that the reason that people use flash and silverlight for video is so that people cannot save, reuse, and redistribute the content.
I've run across very few streamed videos that can't be downloaded. In the olden days I'd use something like WireShark or Network Monitor to get the URL of the content. Nowadays it's much easier with various Firefox extensions.
As far as I know, the reason most sites use Flash or whatnot is because they want the video to be streamable and start more or less instantly. In modern Western society, if you can't start watching the video immediately, how likely are you going to be to remember to watch it after it's downloaded 15-30 minutes (or more) later? The whole (business) idea is to keep peoples' attention, like with television. If they "switch channels", you've lost your advertising opportunity.
"...always new atoms but always doing the same dance, remembering what the dance was yesterday." -Richard Feynman
That would be the entire point of HTML 5. To bring HTML back to the forefront.
Liberte, Egalite, Fraternite (TM)
HTML is the content, CSS is the way to display the HTML content and Javascript is the way to interact with it all.
Demo of video and SVG support in Firefox 3.5. That's why video being built-in to HTML5 is important.
If we can get Google to go along with Theora, we'd be all set.
Youtube is the only reason I have Flash. I avoid "Porntube" type sites because of the security vulnerabilities found in Flash.
This has nothing to do with HTML 5 or the video tag. The javascript is used to create a fallback path for users who don't have a particular codec installed. It is not compulsory. Most linux machines install ogg theora with a media player package anyway, it's the rest of the world that need to download it.
If the tag supports the ability to specify where the codec can be acquired from
The pluginspage attribute of the <embed> element already supports this, as does the classid attribute of the <object> element. But whenever I try to follow the link, all I get is "Sorry, we don't make a plug-in for your combination of CPU, operating system, and web browser."
Thusnelda is noticeably better than H.263 (which is what YouTube used to use)
Exactly: used to use. Since then, YouTube serves HQ and HD videos in H.264.
and actually advocates the use of JavaScript to implement it.
The writer of that linked piece makes it pretty obvious his goal is for the video to work for everyone - and the javascript code is therefore used to basically find a method the current user's browser can support without it being obvious to the user (e.g. not forcing the end user to download the video and view it in a separate player, which the OSNews letter seems to want to push on the user).
In other words, he's thinking about the user's experience first.
The author of the submitted story, on the other hand - as with the one from a few days ago that lamented Chrome's lack of purity regarding HTML5 video support - is more interested in Ogg zealotry. That's fine, if it floats your boat - but let's not dance around and obfuscate this. Make it very clear you want the Ogg format used - and ONLY the Ogg format used. Then the rest of the world (outside of Slashdot) can choose to continue ignoring you, just like it's been doing for the past few years.
#DeleteChrome
Why is anyone worried about the quality of videos your going to watch in your browser? The vast majority of those videos are not going to be interesting enough to want to see them in full HD glory. I would rather see Ogg because it's a free standard, and if we lose quality in order to save bandwidth I don't really care when it comes to the type of videos that I watch via my browser.
"Unfortunately, Theora still needs twice the bitrate as H.264 to deliver the same quality, even with the "Thusnelda" rewrite of the encoder."
Except that statement is provably false if by no other facts than that neither Theora nor H264 quality scales linearly with bitrate.
Beyond the obvious fail in your claim, you're also just wrong.
See this comparison and this comparison to see how Theora compares to the most popular real-world implementations of H264 on the Web.
Not to mention even the cheapest bottom of the line GPUs nowadays comes with H.264 hardware acceleration by default. I paid a grand total of $50 for my HD4650 and it gives me H.264, DivX, and WMV hardware acceleration out of the box. Does Theora even have hardware acceleration for the big three (AMD Intel Nvidia) GPUs yet? With the rise of Netbooks/Nettops and green computing hardware decoding of video is obviously where the market is headed.
Even with my nice AMD dual the experience is simply more pleasant to decode H.264 1080p on the GPU than the CPU, not to mention the modern GPUs use less juice and generate less heat than the CPUs, which when the average temp in AR this week has been 100f in the shade, that matters. So if the Theora foundation doesn't get out hardware acceleration for the big three and get the GPU manufacturers to bundle it like they do the current big three codecs (H.264, DivX, WMV) then I can see Theora ending up a non starter. It also has to be efficient on the bandwidth with so many ISPs looking at caps. From what I've seen H.264 gets better size per bitrate than Theora.
ACs don't waste your time replying, your posts are never seen by me.
What you're saying is HTML is going to add the ability to do what people have been doing for 5 yrs with Flash.
No, what we're saying is that video is going to become a first-class Web citizen that can interact with the rest of Web content in ways that Web developers want. Flash's video is locked inside the plug-in prison and cannot be well integrated with non-flash (real Web) content. Bringing video (and audio) to HTML means that real Web content like other HTML, JavaScript, SVG, CSS, etc. can interact with video and improve on what people have been doing for 5 years with Flash.
This has nothing to do with HTML 5 or the video tag. The javascript is used to create a fallback path for users who don't have a particular codec installed. It is not compulsory. Most linux machines install ogg theora with a media player package anyway, it's the rest of the world that need to download it.
<video> support in all browsers is cross-platform (except Chrome, which AFAIK doesn't support audio/video yet except on Windows, but that's an omission they're working on fixing). The browser doesn't have to rely on system libraries for decoding Theora any more than for decoding JPEG. Firefox 3.5 or recent Chrome supports Theora on Windows just as well as Linux. Better in Chrome's case for now, as noted.
MediaWiki developer, Total War Center sysadmin
You can probably guess that I personally am going to disable the HTML5 A/V elements and continue downloading video manually. That aside, browser based audio/video should provide basic playback functionality for the user without javascript enabled. The functionality should also be easily disabled or switched into "prompt to download" mode
All of this is already the case. Try out Chrome on Windows, or Firefox 3.5 on (AFAIK) any platform. You don't need JavaScript enabled (unless the page author is a jerk, but that's always true), and you can download from the context menu as you'd expect.
MediaWiki developer, Total War Center sysadmin
tepples, you claimed that H.264 requires twice the bitrate to achieve the same quality. d235j responded that it only took15% more bandwidth to achieve the same quality and you failed to respond to that. Also, for the last several years h.263 was "good enough" for billions of video views from hundreds of millions of users. Theora is considerably better than h.263 and very close to h.264. Your claim that it requires twice the bandwidth to math h.264 just doesn't hold water with the overwhelming majority of video content online today. For real-world online video content, both standard and high-def, Theora holds its own against H264. It might not be better, but at comparable bitrates, I'd wager you couldn't find more than 2% of the Web population who can appreciate the differences. Oh, and Theora is getting better with every passing day AND in my experience it beats H264 in decoding CPU usage.
These days, flash is basically a VM for JS plus a bunch of drawing and playback APIs. Why would you demand that firefox does things without JS that flash does with JS? That simply makes no sense.
Video in Firefox works with absolutely zero JS. If you want to create fancy dancing interactive controls, yes you'll need JS, but basic playback doesn't require it... Meanwhile flash needs actionscript3 to do anything at all.
Theora is over a decade old; it definately can beat H.264 in software decoding.
But if you didn't see this:
http://cid-bee3c9ac9541c85b.skydrive.live.com/browse.aspx/.Public/BBB%7C_Compare
As for "if it was good enough in the past..." rule, most web video gets reecoded every 18-24 months to take advantage of more efficient codecs to improve qulaity or reduce bitrates. For real businesses counting.
I recommend people don't focus on YouTube too much as an example of the web video industry. It's very much an anomly in both business model and particualr being subsidized by Google at such a sceale and getting access to Google's very cheap bandwidth. Also, Most YouTube clips aren't watched even a dozen time, so the cost of encoding time can be bigger than the cost of delivering the bits, so they don't tune their encodes for maximum efficiency, but for rapid transcoding.
YouTube does plenty of things that wouldn't make sense for anyone else. They're not really an example of much beyond YouTube.
My video compression blog
HTML is the content, CSS is the way to display the HTML content and Javascript is the way to interact with it all.
My buzzwordy description for this is Data-Presentation-Mechanics. It's much like the programmer model of Model-View-Controller only applied at a different abstraction level. I believe HTML is near a dead-end now anyways. A proper browser supporting XML (and the related XLink, XForms, etc.) could accomplish anything HTML currently can do, with the added benefit that your (XML) data can speak for itself! Continue to use CSS for styling though, as XSL-FO is too complex for me to support right now. Use XSLT to do data tree transformations if necessary. Add an ECMAScript engine for interactivity. <shameless-plug>i'm writing an XML browser in Java to do all this, using existing open-source frameworks where possible</shameless-plug>
Data -> XML
Presentation -> CSS
Mechanics -> XLink, XForms, JavaScript
-IOVAR Web Dev Platform
But would you be willing to use technology that is almost indistinguishable, even if its open source? Or does it need to have that elite banner flying with a brand name for it to be considered? Are you willing to use mediocre, poorly implemented technology just because it is commercial, closed software?
The situation you describe isn't what's actually happening. Theora isn't close to H.264.