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."
Waiting for "Javascript is a cool language" zealots.
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.
Comment removed based on user account deletion
Our browsers are javascript virtual machines. The web is now being delivered through javascript and not in any meaningful way through HTML.
Deleted
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."
I am unclear on how the video tag is going to make things better. It seems I can already play most codecs in my browser, using, for instance, quicktime. Alternatively I can download the file and play it trough VLC, an open source solution.Of course, as mentioned, the reason that video is played in browser is prevent the user from saving it and pirating it.
I know that 'cloud computing' requires that all file types be accessible though the browser so that the user never has control over any data, even their own, but i question the wisdom of this as a universal principle. Certainly most users do not have the technical expertise to control their own computing environment, but does this have to be a universal principle? Can't IE and Safari and Chrome be the browsers for the populous, while Mozilla is the browser for the people who know what they are doing. I am not saying the video tag is bad, just that if there is confusion over the use, perhaps it is legitimate confusion.
"She's a scientist and a lesbian. She's not going to let it slide." Orphan Black
<video>goatse</video>
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.
The video tag should be run by plugins, they would need to conform to a single standard interface. PLay/Stop/Pause/etc. The key would be having two mechanisms for display, a method which returns a pixmap (so that it would work with X Forwarding) and a version that was accelerated.
the PLay/Stop/Pause interface would be entirely part of the DOM.
Demo of video and SVG support in Firefox 3.5. That's why video being built-in to HTML5 is important.
Try using those HTLM5 features w/o JS:
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 could provide the perfect opportunity to further open up and standardize the web.
Innovation and standards often pull in opposite directions.
There are always cracks in the façade. Opportunities for the entrepreneur. The committee moves too damn slow.
I don't think the geek imagined the web evolving as it has - into communities like MySpace, Twitter, and so on.
It would be easy to imagine Windows media and gaming coalescing around portals like Windows Live! and Steam.
By the time the geek standardizes the hell out of the web the real action will have moved elsewhere.
Given Adobe's love for all things ECMA, their video decoder is probably written in ActionScript.
You can probably guess that I personally am going to disable the HTML5 A/V elements and continue downloading video manually.
How do you "download" a live stream of a live event, such as a news conference or a sport competition? And how do you plan to deal with video providers who offer streaming for 0 USD or downloads for 20 USD, and no other video provider offers the title you want? If you switch the browser into "prompt to download", you get the first five seconds.
That aside, browser based audio/video should provide basic playback functionality for the user without javascript enabled.
Don't worry; it does.
Good news, someone wrote up a letter pointing out the drawbacks... it's the last link in the summary.
But to allow that at reasonable conditions, the codec should be Free. The codec proposed for this purpose is Ogg Theora/Vorbis, an OSS codec build specifically trying not to use any patented technology.
Unfortunately, Theora still needs twice the bitrate as H.264 to deliver the same quality, even with the "Thusnelda" rewrite of the encoder. It's not like Vorbis, which surpassed MP3's rate-distortion curve early on. Using Theora for video to avoid H.264 patent problems is like using IMA ADPCM for audio to avoid MP3 patent problems. Google would probably stick to H.264 for YouTube because the bandwidth cost outweighs the royalty cost of having H.264 support in Chrome.
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."
So your corporate locked-down machine came with Flash installed on it? Or does someone with an admin password come and install or update it for you as required and permitted by your company's acceptable use policy?
Both.
If the latter, why not install the Ogg Theora/Vorbis codec mentioned above instead?
Because as of June 2009, watching Theora video is not necessary for doing our jobs. An SWF player, on the other hand, is necessary because some of the manufacturers whose products we resell use SWF for their web sites.
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.
Wouldn't the obvious solution be to use the video codecs on each platform. Windows, OS X and Linux all have the codecs available.
Windows XP N and Windows Vista N don't come with codecs. And how are you sure that Linux has all the codecs available even on CPU architectures other than x86, such as those used in PowerPC-based set-top boxes or ARM-based handhelds?
Ubuntu has a really easy to use installer for codecs (which will grab h264 if needed).
But if the operator of a web site resides in the United States, and he recommends the use of software whose use in the United States would infringe a patent, MPEG-LA could make a case against him for contributory patent infringement. As for relevance of the United States in the first place: Google, Mozilla, Slashdot, and I are all based in the United States.
"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"
What you're saying is HTML is going to add the ability to do what people have been doing for 5 yrs with Flash.
I am sorry if I have serious doubts. I am still waiting for CSS/DOM to be fully and uniformly supported across all browsers. And fear that HTML 5 spec has the potential to become a nightmare if it suffers from a lack of uniformity.
Open Source is NOT the holy grail. It's a good thing. But only if it's done to a uniformity of standards.
Google search for various Theora vs H.264 comparisons.
Because you provide no URLs, I'll assume that you mean the top ten Google results from http://www.google.com/search?q=various+Theora+vs+H.264+comparisons, as viewed in the United States. One of the results states: "the Theora version doesn't have quite the color saturation and contrast balance of the H.264 version but they're really not that far apart. Overall, I think I again prefer the H.264 version". Another implies that Theora doesn't scale to high resolutions: "Theora does have a major weakness with regards to HD video: the maximum motion vector length is only 16 pixels." Another result implied that Google would rather pay the royalties than the bandwidth.
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
One of the results states: "the Theora version doesn't have quite the color saturation and contrast balance of the H.264 version but they're really not that far apart. Overall, I think I again prefer the H.264 version".
Actually, that's not "one of the results." That's a blog post I made where I offered my personal opinion after viewing the comparison tests. If you're going to quote my, please be a bit more honest about it. Thanks.
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.
To be fair, MozHacks included a link to a non-Javascript method after the article. To learn how to implement HTML5, webcoders should read the HTML5 spec anyway, not some semiofficial blog by someone at Mozilla that may not even be an HTML5 expert.
TRWTF is
* that video fallback is broken in Firefox and
* Mozilla's dismissive handling of the issue:
#487398 <object>-element within <video>-element is not ignored is about fallback content being played even when the surrounding <video> has loaded. In other words, when you wrap an OGG object into an OGG video, the object starts playing in the background and you hear its sound. Mozilla inexplicably marked this RESOLVED INVALID after Anne commented that the HTML5 spec is a bit loose on what is required at that point. Not rendering fallback content when the wrapper can be rendered isn't strictly enforced by the spec, more likely by oversight than choice. It only says
User agents should not show this content to the user; it is intended for older Web browsers which do not support video, so that legacy video plugins can be tried, or to show text to the users of these older browser informing them of how to access the video contents. (HTML5 spec draft)
So apparently "should not show" can be interpreted as "but may play the audio if they feel like it", and if something can be interpreted as conformant with a loose reading of a spec that makes it "not a bug" for Mozilla.
I will still use the standard method of scriptless fallback chains, because I value accessibility and I respect people's choice to disable javascript. Please do HTML5 a favor and bug Mozilla about acknowledging a bug as a bug and debugging it.
When I decided to try video element with Safari 4, it failed miserably because I forgot to install Xiph plugins this time. It is what the ordinary user will live and trust me, they would have no clue/care what Xiph plugins are. I really don't know about Windows land although I believe there must be some windows media framework codecs like quicktime one.
The reason of rejection of Quicktime, Real, WMV was basic. They were huge compared to Flash and in case of Windows Media, the vendor company had childish policy of not supporting other operating systems rather than theirs. In fact, with todays Intel Macs, there is no official "full feature" windows media player. Quicktime wmedia codecs aren't enough especially if they can't do DRM.
I would say "Go talk with Apple and let them tip Quicktime for your codec pack" but thanks to lamer virus writers abusing the scheme, Quicktime doesn't do it anymore and users are all instructed to "stay away from manual codec installations".
Flash has H264, something years ahead of VP3 (Theora) and supported down to cell phones, even Nokia S40 dumb ones. I think their "revolution" will fail miserably and this time, Apple and Microsoft or the "evil media empire" won't be easily blamed.
If video element can't do H264 because of political reasons, I can really say it is failed even before starting. They reference Youtube demo HTML5 video element, well Google has money to spare, bandwidth to spare, billions of dollars to spare. They can even offer "Cinepak" and it wouldn't make a change. Will they reject IE/Flash users on Youtube telling them to install some open source browser? That is what matters.
I dunno, it looks like the #3 result on the google search to me, and the quote looks like a direct quote from the blog.
Also, through the entire blog you say h.264 is superior to theora after performing your own subjective tests.
I'm not sure what is dishonest about the quote. It's a completely accurate and relevant statement, since the GP was not referencing any specific test and only said "most tests", your own non-scientific test is probably exactly the type of test the GP was talking about. The GP also said these tests show Theora as superior, and they do not. Everything I have seen shows Theora at slightly lower quality and less efficient compression for the same bitrate.
It is encouraging that it is getting close though.
Security is mostly a superstition... Avoiding danger is no safer in the long run than outright exposure. - Helen Keller
http://hacks.mozilla.org/2009/06/update-on-open-video-quality/
It's not just about quality, it's about efficiency.
Assuming a threshold for "good enough" quality and buffering time, a less efficient codec means:
Users need 2x the bandwidth to have adequate buffering time
Bandwidth costs are 2x higher.
So, there can be a real impact in terms of reduced audience and increased costs.
Also, comparing Theora with H.264, I think 2x may actually be understating the diffrence.
I made these samples, comparing to Xiph's examples. As you can see, x264 was able to deliver quite a good experience with better per pixel quality, at 640x360 at the bitrate Theora struggled at 400x224 with.
http://cid-bee3c9ac9541c85b.skydrive.live.com/browse.aspx/.Public/BBB%7C_Compare
My video compression blog
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
This is typical of what happens in the so-called "open" software movement, where rather than actually pushing for things to be open, they instead want to pick a winner who isn't actually winning in the marketplace.
So just like they are making the EU push Firefox on all Windows users, and tried forcing Real Player and Quicktime in the EU on all Windows users, so too they now want to get everyone to stop using Flash and instead use JavaScript.
Now, I'm not Flash's biggest fan either... but it's not like JavaScript is going to be better. If I had to trust Mozilla or Adobe... I'll pick Adobe any day of the week.
Seriously.
javascript to autodetect, and put in a video tag or flash player.
noscript tag to provide links to each, or something.
It's not the end of the world
"One of the top ten Google results" seems like the reasonable interpretation of the "One of the results" statement in GP comment (versus "One of the video comparison results").
Nerd rage is the funniest rage.
I tried a test with the audio tag today in Firefox 3.5b4. I pointed it at an icecast server with an ogg stream. It wants to load the entire "file" before it will play. Naturally, that won't work for an endless stream. Secondly, if the stream has an intro, the tag plays the intro and then stops.
If you're going to support audio and video as web tags, is a streaming source REALLY that unexpected? Considering that the ogg/vorbis libraries are designed around streaming (even when reading from a file), it would seem OBVIOUS that the browser should stream the source rather than download and then play. It would also seem reasonable to support concatenated ogg streams. VLC has no problems at all with the same stream.
You got served brother.
from my experience, at the same bitrates, Theora is somewhat sharper. you see detail that H.264 fuzzes out.
Javascript maybe bad, but the blogger's so called solution is even worse.
Dear Mozilla.org,
I would like to introduce you to my good friend videolan.org who may have some people who can help you with your open source video project.
Yours truly,
Another Frustrated Web Developer
-> "Also, for the last several years h.263 was "good enough" "
What? was there any serious option besides Flash a two years ago? year ago? six months ago? give me a break. It was not good enough, it was what could be had.
If you go to the trouble to go to a new whole new format and your fixed costs are mostly bandwidth and the quality is better, H.264 makes all the sense. Even 10% in youtube scale is a lot of money.