Money For Nothing and the Codecs For Free
Davis Freeberg writes "In an in depth discussion on the codec industry, CoreCodec CEO and Matroska Foundation board member Dan Marlin shares his thoughts on the growing popularity of the MKV container, confusion in the marketplace between X.264/MKV and DivXHD and weighs in on a controversial decision by Microsoft to block third party filter support in future versions of Windows media player. His interview offers a behind the scenes look at an important piece of technology that is helping to power the P2P movement. It also raises the prickly question of whether or not Microsoft is abusing their OS monopoly, in order to rein in competition within the codec industry."
I would have liked to hear more on how he plans to break into the streaming market when everyone is going proprietary on that for the sake of DRM. He mentions it briefly but does he have any definite plans?
...
Davis Freeberg, if you're reading this could you introduce Marlin to the editors for a Slashdot Interview? I can think of a lot things to ask him as I'm sure other users could
My work here is dung.
I'm sure devs will figure out a way to run 3rd party codecs on Win7 and future Windows.
BTW, ts TFA just FUD or a guy promoting his own agenda??
I want my... I want my... I want my .mkv...
Isn't the whole point of being a Monopoly to abuse your power?
An inventor is a man who asks 'Why?' of the universe and lets nothing stand between the answer and his mind.
Why do people keep calling it X.264, the name is H.264.
Unfortunately, Microsoft may get away with this under the guise of concern for security. There was a time (and perhaps these are still out there) when links to fake codec were used to compromise the victim's computer. (For an analysis of one of these, please see http://www.lavasoftsupport.com/index.php?showtopic=5302 )
Most of us here know how this scenario unfolds: user is trying to view some form of media, often of "questionable" morality (either pr0n or "pirated" video) and the site claims that the user must install a new codec or upgrade to a new version of Flash or Quicktime or whatever and "kindly" has the link right there. It may even have the simple "click here" puzzle-piece link to install the proper codec/player so you can see the multimedia clip. Victim clicks, wanting simply to see the media clip, and presto!, the victim's machine is now a spam-spewing zombie.
Of course, the link could install other things, too, but the point is that the "fake codec" ploy is common enough that Microsoft could easily claim that they are only allowing "approved" or "signed" codecs out of concern for security. They may state that third party codecs are allowed, and will permit Quicktime (for fear of a suit and driving people to Apple) and Flash/Shockwave, but other third-party codecs could be blocked through some combination of testing and/or certificate/signing fees.
This one is too easy, and it just might work.
(I find it strangely amusing that the captcha, given that these fake codecs are often seen in relation to pr0n sites, is "explicit".)
Fake "codecs" are one of the main ways windows PCs currently get infected with spyware/viruses. This comes from all the people who install Limewire with no AV and then download the first thousand results for "porn".
VLC - has all codecs built-in. Use it. :)
I use Windows... like a two dollar wh.. why don't I just go ahead and not finish that sentence.
Good suggestion, It would be interesting to see what other people would be interested in. I'll ask if he has any interest and hopefully he'll be open to fielding some questions.
Never Pick A Fight With Someone Who Buys Ink By The Barrel.
I would have liked to hear more on how he plans to break into the streaming market when everyone is going proprietary on that for the sake of DRM.
Everyone ? Do you mean Dailymotion and Youtube going vorbis+theora for their streaming needs doesn't count ?
A monopoly is when you have no competition. Sorry but all linux and mac do is spew out how great their numbers are growing. Abusing their OS? It's their piece of software, they can do what they want with it, it's YOUR choice to use it if you wish.
The proper phrase is "dire straits", "strait" as in "a narrow place" -- "a tight squeeze". :)
Cheers,
"What in the name of Fats Waller is that?"
"A four-foot prune."
Is it really *that* worse than no man, two Jars and a Binks?
Ezekiel 23:20
This is a perfect example of salesmanship, optimism and double-speak. Excerpts from TFA:
we do plan to open source pretty much our entire eco-system,
Pretty much eh? That sounds interesting. Where can I sign up for your newsletter?
if the business warrants it
If eh? That's a pretty important article leading that phrase. I could get really excited without that "if."
and right now it looks like does
Ohhh the winds are blowing your way eh? Well, lets wait and see. Your investors might have another opinion on the matter. Still kind of exciting. I'm feeling a little wobbly in the knees and all!
We can still open source it and monetize it and also release our encoder as well,
You mean like how Sun tried to make Java free-ish? History is working against you on this one. But, you know, crazy things have happened before, so I'm even more excited. Not only are my knees wobbly, but my stomach's got a few butterflies in it!
but at the same time weâ(TM)re very cautious about what we do.
Ohh there's the double-speak. You were getting me all fired up imagining relatively simple playback on a plurality of devices until that line. Was I supposed to ignore that one?
Like Matroska, the Haali media splitter may not be open source, but it is free
Coitus interuptus Mr. Streaming Codec dude. Coitus interuptus.....
Ohhh you mean like those other binary blobs that work *so* well? Is this free like so many 'free' applications I download off the internet that are supposed to speed up my windows machine? I get all these adverts popping up everywhere and that's just the beginning.
http://www.maxineudall.com/2010/02/should-economists-be-sued-for-malpractice.html
hmmm - Spelling Nazi, surely?
I'm just surprised to hear that anyone uses the windows media player. I'll stick to CCCP+Zoomplayer with VLC as a backup.
If you think that song's about working in a department store, you need to listen to it again. It still cracks me up that MTV used it in its promos.
Still, nothing to do with TFA, just a catchy title. I like the iwantmymkv tag.
He's getting rather old, but he's a good mouse.
We've been waiting for years for a killer video container, and it appears to me that mkv is probably going to be the one. It seems poised to become the mp3 of video. There's finally a container that can be played back in an acceptable number of hardware devices, with acceptable quality, at acceptable filesizes. The lack of file-embedded metadata in the container is still a problem, one that's been holding back online video distribution for years, but external sites such as imdb and thetvdb seem to be working around this well enough.
iPod / iTunes took off like a rocket imho because of a few key factors:
-They created hardware that followed the pipe dream of the mp3: A portable player capable of holding many gigs of music in the size of a deck of cards, with headphone out. This wasn't innovation, such solutions were already on the market, but theirs was the most beautiful.;
-They smoothed out the rough usability edges in existing portable hdd player solutions by offering great desktop software in iTunes, which took advantage of metadata to create not only a really compelling library system, but also provided very tight integration that was intuitively the same across the iPod & iTunes.
-They offered a legal means of acquiring music on demand for their solution.
-They made it ridiculously easy to use their device with black market content.
Because Apple were the first with the sack to give people their dream device, with a sensible organized interface, a legal means of acquiring content, and full integration with illegal content, they dominated the marketplace.
Video has been held back, as I said above, by a couple of things. The first was the lack of file-embedded metadata (I can't search for all files in my library directed by James Cameron, for instance), but the ubiquity of always-on wireless connections has solved some of that, and external metadata references are now acceptable. Second, it's been held back by codecs & containers that were way out of date, and don't deliver broadcast-quality (especially HDTV) at acceptable filesizes. The average mp4 vs a highly compressed digital cable channel might be equivalent, but the market wants DVD quality without any sacrifice from downloaded video.
Finally, video has also been held back by the lack of elegant playback solutions. Apple missed the boat with the AppleTV by failing to step up and partner with the black market, which is why the device hasn't been a wild success. Software solutions based on the xbmc core, such as boxee, plex, and uh.... xbmc, are doing much better, but they're still software solutions dependent on having a PC. People want a fully-integrated solution.
Mark my words: The first company with the temerity to market a device that will take a user's existing library and integrate it into an elegant set-top solution is going to CLEAN UP. They will dominate the set-top completely for years to come. It looks like TiVO is going to miss the boat, as is Apple. Are there any dark horses in this race?
Lest anyone think that I'm pipe dreaming, a working solution can be assembled out of off-the-shelf parts right now. Here's what I built in a weekend for about $700:
Hardware:
-Mac Mini c2d (winter '09)
-Harmony 720 remote
-DisplayPort --> HDMI cable
-Optical Audio cable
-1TB firewire-800 external storage from pricewatch
Software:
-Plex
-SwitchResX (only necessary for SDTV or older HDTVs)
-RipIt
-SABNZBD+
Subscriptions:
-Usenet service ($11/mo)
-Unnamed usenet header indexer ($.75 / week, roughly)
-rss feed for TV show subscriptions (free)
With these pieces, I've built a DVR that automatically downloads the shows I like the same day they air. Downloads are FAST, maxing out my internet connection. I can play back 1080p blu-ray rips with full surround sound & 0 dropped frames or stuttering. I can drop any DVD into the reader, and have it copied into the library and spit back out again once it's done. And it's all done with a universal remote in
Even Jesus hates listening to Creed.
Youtube is not going vorbis+theora, their HTML5 experiment uses h.264.
How much malware could be stopped if Porn sites couldn't prompt you to install a special codec just to view this free porn?
I want my.. I want my mod points.
Depricating Direct Show in favor of their new Media Foundation isn't "blocking third party codecs".
You can still use whatever codec you want, they just don't support it, same as always. Nothing has changed in regards to setting registry entries or using automated hacks to use third party codecs in Windows, the same as it was for Vista and XP.
This is a whole lotta FUD spreading.
> and weighs in on a controversial decision by Microsoft to block third party filter support in future versions of Windows media player
Wait wait wait. What?? How does this affect Windows Media Center? (I think it uses Media Player to play content, right?) If I can no longer use third party codecs, I will have no choice but to switch to something like MythTV. Wow, I'm glad I heard about this before upgrading to Windows 7. If this is really the case, continuing with Windows in the media center is absolutely out of the question.
Oliver's law of assumed responsibility: If you're seen fixing it, you will be blamed for breaking it.
It isn't like WMP losing support for third party codecs is anything big. When can you ever view videos in there correctly anyway? 90% of the time theres an error message, or theres no audio, or theres no video. I only use WiMP for mp3s, because of the toolbar, and I havn't even been using it for that since I got itunes, because itunes has the same thing, and does not suck.
Yeah, seriously, VLC is the only option for media file playback IMO.
I have tried to play plenty of .mkv files, and have yet to see a single one that was encoded correctly. I don't care if the container is technically excellent, if the software people are using to make the damn things is not going to let them make working files I'm not going to want the files, I'm not going to want the format.
everyone is going proprietary
It seems Youtube is going somewhat open.
No, the more interesting problem to me is:
developing a menu system similar to that of DVDs based on EBML;
I still don't get why MKV bothers with EBML at all, instead of using compressed XML, or a better format like JSON. It seems to me that as soon as you go binary, you lose a major point for XML in the first place.
I'd also be really curious to know what they plan for this. Seems to me an obvious choice might be to just do html. With video tags, canvas, and all that other good stuff, you have most of what you need -- just add an API to change tracks, subs, etc, and a URI scheme for accessing chapters, titles, etc...
Don't thank God, thank a doctor!
Download it inside a codec pack. I do it with every windows reformat.
I'm sure it's just a reaction to crappy codecs making it look like WMP is crashing. Normal users will be able to play their normal mainstream media files, and even have DRM operate silently in the background with very little notice paid.
Users who require anything outside of mainstream codec support are not the typical use case, nor are they the targeted user base. They aren't trying to prevent people using certain codecs, just making the typical path easier.
People panned Vista for crashes and unexpected things, and I'm sure they are trying to eliminate as much potential for crashes since a crash can usually be turned into a vulnerability as well. Media players, especially ones which embed into browsers, are an easy target for hacking.
Grammar, technically, as the word is spelled correctly, but the usage is off. That makes it a grammatical issue.
Canada: The US's more awesome sibling.
EBML can be read much faster than compressed XML or JSON, while being smaller at the same time. Both of these advantages are critical for video streams. In addition, compressed XML means that either the whole thing is compressed - which disallows streaming - or chunks are compressed, which is not a satisfying solution.
EBML is a hierarchical semi-structured container for binary data. It does have its place.
This sig does not contain any SCO code.
Could you explain what you think the lyrics are about? I've always taken it as some delivery guys watching MTV and wishing they could have that life. I'm reading the lyrics and trying to picture it as something else like drug dealing or male prostitution and I'm not getting anywhere. (Not the AC)
I want my, I want my MTV
I want my, I want my MTV
Now look at them yo-yo's, that's the way you do it
You play the guitar on that MTV
That ain't workin', that's the way you do it
Money for nothin' and your chicks for free
Now that ain't workin', that's the way you do it
Lemme tell ya, them guys ain't dumb
Maybe get a blister on your little finger
Maybe get a blister on your thumb
We got to install microwave ovens
Custom kitchen deliveries
We got to move these refrigerators
We got to move these color TV's
The little faggot with the earring and the makeup
Yeah, buddy, that's his own hair
That little faggot got his own jet airplane
That little faggot he's a millionaire
I shoulda learned to play the guitar
I shoulda learned to play them drums
Look at that mama, she got it stickin' in the camera
Man we could have some
And he's up there, what's that, Hawaiian noises
Bangin' on the bongos like a chimpanzee
Oh, that ain't workin' that's the way you do it
Get your money for nothin' get your chicks for free
Now that ain't workin' that's the way you do it
You play the guitar on that MTV
That ain't workin' that's the way you do it
Money for nothin' and your chicks for free
Money for nothin' and chicks for free
I want my, I want my, I want my MTV
Sure, as long as you don't accidentally the whole thing. That could be dangerous.
There is no -1 Disagree mod. Slashdot.org/faq defines mod options. USE IT.
If my client will use ffmpeg, does that still count as proprietary?
Ezekiel 23:20
Perhaps it was the correct word but spelled incorrectly.
EBML is (almost) what XML always should have been.
XML:
Pros: Human readable
Cons: Slow to parse, inconvenient to write parsers for, space-inefficient.
Binary XML:
Pros: Easy to write fast, simple parsers for, space efficient, allows easy random access into the file.
Cons: Needs specialised editor (i.e. an 'XML editor' rather than any old text editor).
I'd much much much rather have the latter.
Yes, H.264 is patented.
That's one advantage of this guy's product -- you buy one codec pack, install it, and never look back. Now any video player you use will just work.
I've heard this promise many times before, and each time it's turned into "of course you need to get the *latest* codec pack, which requires a new player, and new libraries, and since we only write the codecs and not the encoder or decoder itself you'll have to get product X too, and....
In 25 years of IT I have used some truly awful systems of legend, but only video always manages to make me angry and sad. Every company and developer that's ever touched video in some way needs to add their own flavor and now it's all turned to shit. As a consumer I really couldn't give a flying fuck about how it works as long as it does. This is why things like Flash video make me happy.
Get off my lawn.
My interpretation... yes, it's about delivery people watching MTV.
But, it's _ABOUT_ the way MTV manipulates the audience, and perverts the music, by making turning musicians and their lives into shallow fantasies of the working class.
Anybody got something different?
YouTube and DailyMotion use progressive download, not streaming.
The experience is similar as long as you have a lot of bandwidth and shorter content. But doing progressive download of a 2 hour 4 Mbps HD movie is not a good experience.
My video compression blog
For that reason lot's of people will stop using Window Media player and use VLC
Until the skies turn blue...
Until the air of freedom strikes us...
I wasn't saying it was anything super-symbolic (male prostitution or drug dealing), but the delivery guys are clearly just a framing element for a commentary on the writers' perception of MTV's perversion of music and the direction that it was moving. A bunch of over-hyped crap from no-talent schmucks being sold to the public at ridiculous rates while the public laps it up. I interpret it as a fairly critical view on MTV's influence on music evolution. Maybe it's just me.
(Karma bonus foregone (again) because I think we're completely off-topic from TFA.)
He's getting rather old, but he's a good mouse.
The Society for Motion Picture Engineers has already gone to great lengths (in coordination with the EBU) to create some containers, such as GXF, and MXF.
MXF is already being used as part of the Digital Cinema Initiative (DCI) spec that delivers standardized digital cinema content to theaters. There is already a registered MIME type for MXF.
By the way, you can be mad at Microsoft and their love of Windows Media, but then there is Apple Final Cut Pro and QuickTime (ack!).
I see a critique on the soscio-economic impact the war of 1812 had on the ferret legging industry.
Yeah, maybe I shoulda paid more attention, or less, in that music theory class I took for fluff in college.
This is a minority opinion, not a troll. There's a difference.
Dreamer, you know you are a dreamer
Well can you put your hands in your head, oh no!
I said dreamer, you're nothing but a dreamer,
Well can you put your hands in your head, oh no!
I said "Far out, - What a day, a year, a life it is!"
You know, - Well you know you had it comin' to you,
Now there's not a lot I can do
Dreamer, you stupid little dreamer;
So now you put your head in your hands, oh no!
I said "Far out, - What a day, a year, a life it is!"
You know, - Well you know you had it comin' to you,
No there's not a lot I can do.
We'll work it out someday
If I could see something
You can see anything you want boy
If I could be someone-
You can be anyone,celebrate boy.
If I could do something-
Well you can do something,
If I could do anything-
Can you do something out of this world?
Take a dream on a Sunday
Take a life, take a holiday
Take a lie, take a dreamer
Dream, dream, dream, dream, dream along...
Dreamer, you know you are a dreamer
Well can you put your hands in your head, oh no!
I said dreamer, you're nothing but a dreamer
Well can you put your hands in your head, oh no!
OH NO!
Nothing this Marlin dude says comes true.
Are you saying that this mkv can run on a computer without DVD underneath it, at all ? As in, without a video disk, without any purchasing, and without any ownership ?
That sounds preposterous to me.
If it were true (and I doubt it), then companies would be selling mkv without a DVD. This clearly is not happening, so there must be some error in your calculations. I hope you realise that DVD is more than just plastic ? Its a whole system that runs the video from start to finish, and that is a very difficult thing to acheive. A lot of people dont realise this.
Sony just spent $9 billion and many years to create Blu-Ray, so it does not sound reasonable that some new alternative could just snap into existence overnight like that. It would take billions of dollars and a massive effort to achieve. Toshiba tried, and spent a huge amount of money developing HD-DVD but could never keep up with Blu-Ray. ArVid tried to create their own system for years, but finally gave up recently and moved to DVD and Blu-Ray.
Its just not possible that a freeware like the mkv could be extended to the point where it runs the entire video fron start to finish, without using some of the more critical parts of DVD. Not possible.
I think you need to re-examine your assumptions.
The reason that there isn't a single container standard is the competition between big companies (Apple, microsoft, Sony etc.) in controlling the market and the licensing. Maybe it doesn't matter for all the software players, but it matters for hardware players. As a manufacturer has to pay a license. And in that case they are restricted to use it with video codecs that those media companies mandate. Fortunately, it didn't go that way. Noone was able to create a "mp3" for the video, instead people adopted semi open standards (mpeg4, avc...), that are patented, but still not owned by only one monopoly. Anyway, the black market creates popular formats, and that is where both divx, xvid codecs and mkv format have their strongholds. Microsoft actually missed a huge chance at the time they were hit by their own WMV-pushing boomerang - when first DivX was created out of hacked microsoft implementation.
Maybe Microsoft is catching up with time in shipping divx/xvid support and a couple of other formats popular in this decade. But not including state of art stuff (for their popular installed-by-default media player) that is being adopted right now means that they still want WMV and VC-1 to be preferred playback formats on Windows, as much as they still hope for windows media/vc1 to be the most popular codec. It of course seems destined to fail because there are workarounds and a myriad of alternative players. People won't start creating wmv content just because microsoft decided to ignore everything else. There is certain inertia, because people have their video collections, and because ripping groups don't seem care about MS formats just because of lockdowns.
MS does not block you from developing decoder for WMP. They were just too lazy to implement one. Or, they were just waiting and waiting for some dumb programmers to write an open source one for them, and then package it for sale.
WTF? The Mac Mini costs that much by itself after tax. I call bs. I would never use a mac for anything TV related. In that department, a PC can do the same job for half the cost. After all, you're going to use some kind of 10-foot interface anyway so it doesn't matter that Windows looks like a piece of crap. What's the point of a Mac in your living room unless you plan to buy every TV show for $2 a pop?!!
PS: I wrote this on one of my two MacBooks.
XML:
Pros: Human readable
Cons: Slow to parse, inconvenient to write parsers for, space-inefficient.
Define "slow". I/O has long been the bottleneck in performance; most CPUs are idling and have cores to spare. What's the difference between XML that's compressed and EBML? And while the second 'con' may be valid, I think there are enough well-written parsers out there that it can be mitigated: use a library and don't try to roll your own.
If you want fixed-format binary encoding use ASN or XDR. As Tim Bray (one of the editors of the XML spec writes):
I don't care if anyone wants to go off and produce their own data interchange format, binary or not, open or not, standardized or not, mapped to XML or not; as long as they don't call it XML. "Binary XML" is an oxymoron.
http://www.tbray.org/ongoing/When/200x/2005/04/01/Binary-XML
Knopfler commented on the song himself. He wrote it after observing two guys make small talk of that nature. No hidden meaning of any kind.
"Strait", "straight", "strict", and "stretch" all seem to come from the same semantic root of stretching something -- such that it becomes narrow, linear, and rigid.
</Language_Geek_Update>
We now return you to your regularly scheduled programming. :D
Cheers,
"What in the name of Fats Waller is that?"
"A four-foot prune."
Append the codecs to the beginning or the end of the media.
Lose a TINY percentage of space. Gain a MASSIVE amount of convenience.
No more codec packs.
No more fiddly updates for generic players.
Create an open and documented container format.
Set its standards in stone.
Set SOME flexibility in the standard via a single optional configuration file.
Media + codec + subtitles + whatever else.
Then you can use whatever codec/encryption you like and never have a problem. Ever.
EBML can be read much faster than compressed XML or JSON, while being smaller at the same time.
Granted.
Both of these advantages are critical for video streams.
The stream itself is in EBML?
Well, that's interesting. Certainly if we're picking a format designed to be on a hard disk (or SSD), I'd implement it today with something like zip, with some xml files inside it. That's right, un-mux'd, as muxing is completely unnecessary pretty much anywhere except optical storage.
No, I'm talking about things like the menus, which just aren't going to be that big. This is after working on HD-DVD, which did use XML -- basically, you'd read the XML and other related assets off simple archives on the disc, and keep them in RAM while you play the actual video data.
Don't thank God, thank a doctor!
Human readable also means human debuggable. It means when there's something wrong with the file, I can figure it out with a text editor. It also means textual, which means it can be stored in version control, among other things.
And slowness is completely irrelevant, when we're talking about tiny bits of script or menu layout. It only becomes relevant if you're encoding the entire file that way, and I guess I don't really see the point of that.
Anyway... I would probably choose something like JSON or Yaml as a starting point. On the other hand, XML namespaces are nice, too, and HTML+microformats will get you a long way.
Don't thank God, thank a doctor!
Translation: I am Gay but my church says I am going to hell for liking pictures like Goatse.
If Microsoft is abusing their monopoly by including the features of their competitors (Mozilla, RealPlayer) by default, how could they possibly be abusing their monopoly by NOT including the features of their competitors (Mozilla, RealPlayer, Apple)?
-- 'The' Lord and Master Bitman On High, Master Of All
The stream itself is in EBML?
Well, that's interesting. Certainly if we're picking a format designed to be on a hard disk (or SSD), I'd implement it today with something like zip, with some xml files inside it. That's right, un-mux'd, as muxing is completely unnecessary pretty much anywhere except optical storage.
You need muxing for streams, unless you have two streams.
No, I'm talking about things like the menus, which just aren't going to be that big. This is after working on HD-DVD, which did use XML -- basically, you'd read the XML and other related assets off simple archives on the disc, and keep them in RAM while you play the actual video data.
I do not understand this insistence towards XML. There is no reason for XML for menus here, either - EBML is already present. Sticking semistructured data into semistructured data has no advantage.
This sig does not contain any SCO code.
I guess we should all be thankful that you're not implementing a format then. Nothing but unnecessary disk seeks to put the slower systems in their place, right? And Heaven forbid someone might have something running in the background while watching video - we don't do any of that fancy multitasking stuff here, no sir!
Designers like you are the reason why a gigahertz machine can take several seconds to bring up a simple dialog box.
Forget magic. Any technology distinguishable from divine power is insufficiently advanced.
"It only becomes relevant if you're encoding the entire file that way"
Unfortunately XML is so prevalent that happens a lot. For example, Ordnance Survey's MasterMap comes as compressed XML. Loading a map of Cambridge involves reading over 1 GB of XML data.
"Dan Marlin shares his thoughts on the growing popularity of the MKV container" right, now we know there is such a thing as an MKV container. Well done, you have achieved your goal.
I suppose you'd rather we all listened to folksongs sung by one legged ethnic minority lesbians whilst eating lentils in a commune. A commune of POETS and ARTISTS!. No Sir! That is not what America is about. America is about Bud, junk food, guitar riffs and callipygian dancers shot with a handycam.
echo -e 'global _start\n _start:\n mov eax, 2\n int 80h\n jmp _start' > a.asm; nasm a.asm -f elf; ld a.o -o a;
Give me a Codec that can handle subtitles/multiple language subtitles easily and properly!
Not only is it a pain in the ass to load about a billion Codecs just to have things "work" but you must do it in such a way that all the planets are aligned, and pray/hope that nothing has changed a whole lot since the last time you did it. This is seriously something that should be easy but it is not.
Back to the subtitle thing, nothing is worse than getting all excited to watch Das Boot or something, and then realizing that not knowing German may really effect your understanding of wtf is going on... :) OK OK whatever, its me watching Anime TV shows from Japan. That's even more messed up trying to figure out without any subs!
You need muxing for streams, unless you have two streams.
Fair enough. But this could be done, albeit clumsily, with the format I described.
I just ran a trace on unzipping a file. It had a grand total of four seeks.
This is possible to do with vanilla HTTP -- run a HEAD to get the length of the file. Grab the last however many bytes you need for the metadata, using a Range header. Then, open the additional streams using separate connections, each using a Range to your now known offsets in the zipfile.
So, you're now letting your IP stack do the multiplexing for you, just as locally, you'd let your OS' disk scheduler do the multiplexing for you.
Again, the only place this really presents a problem is spinning optical media, where the seek time (and wear and tear on the drive) would make it impractical. Hard drives are more than fast enough, and it seems likely SSDs may take over.
The advantages of this format are that it is actually possible for some programs, and operating systems, to see a zipfile as a folder, and provide random access within it. It's a standard way of archiving several related things together. And, it provides lossless compression, for any parts that are more convenient to store in a textual format -- even if you don't agree that XML is a good idea, subtitles would certainly be sanely stored as text.
There's also the fact that, like with OpenDocument, many programs will be able to work with the unzipped file as a folder. This presents some interesting possibilities -- playing with symlinks, for example, or even specify paths outside the file -- for example, take a TV series for which the opening sequence is always, or almost always, identical. Why not store it exactly once, and then refer to it from each episode? A decent player should be able to make it seamless.
I'd actually much rather see it in that form, but the zipfiles would give you most of the advantages of mkv, except for two obvious things: mkv is widely supported, and multiplexing is needed for optical media.
I do not understand this insistence towards XML. There is no reason for XML for menus here, either
All the reasons one might choose XML in the first place still apply. You've got actual, real extensibility, namespaces, a textual format that I can stick in version control, or use version control, and the fact that there are likely several XML-based formats (like XHTML) which are already quite close to having the functionality needed.
Sticking semistructured data into semistructured data has no advantage.
It does when the respective formats have different advantages.
There's no way I want to develop a menu or a script in EBML. Get me something that compiles to it from a saner format, and maybe, but I just don't see the point.
But, using the EBML for multiplexing makes sense, if we need multiplexing.
Don't thank God, thank a doctor!
Nothing but unnecessary disk seeks to put the slower systems in their place, right?
The same disk seeks caused by fragmentation. Which are also zero cost on SSDs.
And we're talking about reading at most two streams at once. Combined, were they Blu-Ray, they'd be 50 megabits per second.
The last 7200 RPM drive I had -- common in a desktop -- got 60 megabytes per second in sequential reads. I don't care how many milliseconds your seek time is, you've got a lot of room to play there.
Add in some intelligent caching and scheduling -- read a meg from one stream, and a meg from the other -- and the seeks add up to barely anything at all. Certainly a seek every second or ten is no more than an idle, background task would do.
Heaven forbid someone might have something running in the background while watching video
Given that I've shown it hardly costs anything -- hell, it's probably less CPU intensive than having to demultiplex -- I doubt it'll have much of an impact on multitasking.
In fact, aren't you the one who, a second before, was shocked at the thought that I might ask the OS to do more than one thing at once?
Most users seem just fine playing a game, or browsing the web, or doing whatever else, while streaming music from their hard drive and/or the Internet. Clearly, there are extra seeks there, yet no one (except you) seems to mind.
Designers like you are the reason why a gigahertz machine can take several seconds to bring up a simple dialog box.
No, designers like me are the reason why people can spend a few hours building a simple blog site, instead of a few weeks or months.
Designers like you are the reason some people actually try to code websites in C -- or worse, assembly. Those people tend not to keep their jobs very long.
Do me a favor -- try it yourself. Take a random video, and a random song. Use a decent video player, and specify an external audio source. For example:
Try it on an older computer. Try it on an older laptop, with a slow hard drive. Compare it with and without the audiofile. Tell me if there's really a huge difference.
There'll be a small difference, sure -- mostly caused by the fact that you still have to demux the video file and throw away its audio stream -- but nothing huge.
If you don't do this experiment, I will assume you have no idea what you're talking about, and worse, no desire to learn.
If you do this experiment, I expect you'll be surprised -- and that's without either mplayer or your OS being optimized to do this.
If you wish to prove me wrong, post benchmarks. I'm curious.
I am not saying nothing should ever be written in C, or that multiplexing is always wrong. I am saying that there are times and places to optimize, and times and places where flexibility and ease of implementation trumps squeezing a few fractions of a percent more speed out of something.
Don't thank God, thank a doctor!
Maybe youtube will support the gpl implementation of H.264 (mkv) along with the mpeg-4 when they implement html5.