ffmpeg: Free Software's WMA decoder
mmu_man writes "This morning, after the usual spams, I got this from the ffmpeg-devel mailing list:
Here it is, something we waited for long. Now we have a FreeSoftware (LGPL) WMA (Windows Media Audio) decoder. WMA is the highly proprietary audio codec M$ is pushing along with its user-locking tools like DRM. this will free us from the ugly DLL hacks required to play DivX until now.
Note there isn't any encoder yet, but who would like to encode into WMA while we have better and more open solutions?
With this new codec, ffmpeg really proves itself as the most complete audio/video grabbing, convertion and streaming solution, for Linux, but also FreeBSD, Windows and even BeOS. Note ffmpeg codecs are used in a lot of other FreeSoftware projects, like mplayer."
Also interesting is the ad I just saw for Helix(RealPlayer) and their version of Open Source code. Here's the link.
Woohoo! One less reason to use Windows
1p}{ 1 sp34k |33+ +|-|e|\| p30p13 \/\/il| 8e i/\/\pr3553|)
...MS decide this is illegal and start suing? I mean, clearly there's the whole DMCA thing. Does this decoder ignore MS's DRM system? I would have read the article, but I don't speak C...
Real Daleks don't climb stairs - they level the building.
Sure, I'm all in favour of being able to play more movies on my linux system - even though I'm unlikely to own (m)any wmv movies...
But my question is how legal is this?
What is to stop MS attacking open source in the same way as RIAA attacked - and closed - napster?
yes, yes, one is a concept, the other is a program - but RIAA wants to make ANY file sharing program which is similar to napster illegal, and their certainly making progress toward that goal...
If a percentage of open source developers ignore the law - such as a percentage of napster users did - whats going to happen in the future?
I remember someone mentioning in an earier discussion that the WMA encoder fooled many people into thinking their encoded audio sounded "better" by applying a compressor/dynamics (6:1 ratio was it?), leaving the dynamic range 'squished' and making music sound louder (which isn't really "better"). Can anybody confirm this?
If an open version of a WMA encoder is released, it would be interesting to see how it would perform versus the MS encoder in this respect.
--
Maciek
-- Maciek
Could someone explain what WMA has to do with Divx?
A big advanage this offers is the ability to now hear content from scores of websites that selected WMA as their audio format of choice - all without needing Media Player.
Did I mention I dislike that program?
That what was all this school was for... to teach us how to solve our own problems. -- janeowit
Unfortunately, how long will it be before MS "improves" WMA encoding now? I think it is an unsafe target decoding MS files as they can change everything and you are back to development.
However, with MS new licensing and the fact that most tools are fairly robust. You might grab share if you can record and playback. Though with examples like Star Office I wonder how much grabbing you would do.
It just has a new brother. Similar projects can exist without rendering others obsolete, that is one of the beauties of open source.
Kindness is the language which the deaf can hear and the blind can see. - Mark Twain
Does this decode the latest version of WMA files? What does it do about/with the DRM component of such files? And in consideration of this, will MS use the DCMA (or some "you must have agreed to the EULA not to reverse engineer if you've ever downloaded a WMA file in your life" argument) to shut this effort down?
Note there isn't any encoder yet, but who would like to encode into WMA while we have better and more open solutions?
I don't get it, on one hand the poster is trumpeting the availability of the WMA codec and on the other hand he's wondering why anyone would want WMA in the first place ? If WMA is so redundant/inferior as he suggests, then why does ANYONE need WMA or hacked/reverse engineered WMA codecs ? Why would this thread be interesting at all ?
If WMA availability is interesting, then as far as I'm concerned this means that the ability to encode WMA must be desirable to at least some people, as well.
the silenced black helicopters of M$'s strike team starting to lift off with balmer leaning out the side of the lead one doing the monkey dance to inspire his Crack Team of Black Ops Lawyers to victory in the inevitable DCMA suit they will bring against this project
the key word is propreitary
Comment removed based on user account deletion
Can this source code be subjected to DMCA?
Can its author be sued for reverse engineering?
Is it planned that DRM features will be added at some point, or the above applies..
have you been defaced today?
Sorry about that list link, it was wrong... try this one instead (my "M$" clipboard added a space into my last post.)
7 -22
http://www.penny-arcade.com/view.php3?date=2002-0
This is presumably a decoder compatible with the classic "WMA" codec. This bitstream was locked down with WMA2, although they have made progressive enhancements to the encoder all the way through WMA9. It's really a very good codec for stereo 44.1 16-bit kinds of applications.
.wma files out there today, although that percentage might start dropping as WMA9 Pro gets traction. It is certainly a welcome effort!
Not that there are two NEW WMA codecs introduced in Windows Media 9 that aren't backwards compatible.
WMA 9 Professional aims for higher bitrates (48-768 Kbps) and multichannel (stereo with matrixed support or six discreet channels). And it can do deeper than 16-bit. If the old WMA was a competitor to MP3, WMA9Pro is a competitor to AC-3/Dolby Digital. And like WMA v. MP3, it has about a 50% advantage on compression efficiency.
There is also WMA9 Voice, which is a really good narrowband codec. Despite its name, it does a surprisingly good job with music as well. It operates from 4-20 Kbps.
WMA9 Voice is replacing the ACELP.net voice codec, which Microsoft licensed binary code for, but doesn't have the source code. Thus they couldn't get it for MacOS X or PocketPC.
Anyway, this decoder should handle 95% of the
My video compression blog
"With this new codec, ffmpeg really proves itself"
:-)
Surely this is a "dec", not a "codec". A codec is a Coder/Decoder, and what they've got here is just a Decoder
If intelligent life is too complex to evolve on its own, who designed God?
this will free us from the ugly DLL hacks required to play DivX until now.
For the teensy-tiny almost insignificant minority of DivX files w/ WMA audio. Typically DivX (films especially) are encoded w/ mp3 audio.
We're long since divorced from using the win32 DLL's to play DivX files, which are most often mp3 audio -- hell we've even had at least 3 NATIVE alternatives for mpeg4 video (ffmpeg/libavcodec, divx4linux, xvid). In the rare case that WMA audio is in a file (think REALLY out of touch media site creating this thing the MS way), this does save us from using the win32 codecs.
By licensing the CODEC under the LGPL, the authors are preventing Microsoft's competitors from publishing improved versions that might give BillG a run for his money. If Microsoft is to face some real competition, it's best to empower its competitors. Why not use an MIT-ish license, as does Ogg Vorbis?
... that this is just the opening shot of a file format (a la M$ Word) or application-checking scheme (a la AIM) war between M$ and this app's developers. Even if you can force everyone to use your file format, you can't TRULY own the space until everyone has to use your app to read the file as well.
Laws affecting technology will always be bad until enough techies become lawyers.
Sorry to be picky but it's a decoder not an encoder/decoder (codec). Mark
I presume this is a sign that .avi files with wma or ABR mp3 tracks, or maybe ac3 tracks are pretty much entrenched now in terms of market? First mp3 becomes entrenched and now this? .avi is a poor container format (vbr prohibited, for example). DivX is decent, but not really a 'standard'. It may be MPEG-4 compatible/complete (I have no idea), but the FourCC code on those files is 'DIVX', and that represents a non-standard approach. Of course, the FourCC is only relevant in .avi and something easily faked in alternative encoders, but it just irks me...
.Ogg container over .avi, or quicktime, or, best yet, the official standard container format of MPEG-4 (which, if not identical, is highly similar to quicktime 6 and/or the .divx format (does anyone use that at all?). Was there an audio MPEG-4 codec to go with the video and container, or would Vorbis audio be the best option?
And CBR mp3 audio... ick... maybe it replicates the bug and plays VBR mp3 audio, but still, doesn't mp3 only support two channels?
I would love to see the proliferation of something much more elegant. Say 'MPG4' FourCC (if you must).
XML is like violence. If it doesn't solve the problem, use more.
The project from what I see is mostly (if not all) done by non-Americans. So the DMCA does not apply to these people, nor to more than 99% of the countries in the world.
Sure, it's hosted on sourceforge servers, which I assume is located in the US, but hosting can be obtained elsewhere just as easily.
So quit naysaying and just accept the fact that not every open source project is an attempt to defile MS's (or the American legal system's) supremacy.
Welley Corporation - SLM Scammers
I'm sure I remember a /. article from someone who was closed down by Microsoft (read: sent threatening letters) for attempting to produce a WMA decoder. The argument then was that the WMA format was covered by various patents.
What's to stop the same thing happening to this one?
It should be pointed out that if this library uses software patents which charge royalties it is technically NOT Free Software.
were you expecting to see a sig here? perhaps you'd rather see the inside of an ambulance!
Only DivX 3.11 was a hacked Microsoft coded.
4.0 and onwards were developed from scratch.
There are LOTS of radio stations out there whose streaming version is WMA only...how easy will this be to make usable by xmms so that I don't need a Windows box to listen to said stations?
Dude(ette?), :)
Just because a new open source codec was released dosen't mean you have to get a sex-change operation just to celebrate. Calm down.
Kindness is the language which the deaf can hear and the blind can see. - Mark Twain
Are they sure that this isn't covered by a patent? I remember almost two years ago that VirtualDub had to remove support for ASF files because Microsoft had a patent on some part of it. The VirtualDub guys just removed support rather than fight MS. I hope this doesn't turn out to be the same situation.
Prevent email address forgery. Publish SPF records for y
A while ago I was going to switch all my WMAs over to MP3 format (Acid doesn't like WMAs as input), but when I went into Nero (which can decode/encode multiple files with one command) it said that it's not allowed to decode WMA files - something about Microsoft saying it's bad.
Have any of you seen this?
I [may] disapprove of what you say, but I will defend to the death your right to say it.
The only pitty is that there are no real stable interfaces to the library, which makes a lot of projects to statically link the libraries :(
:X Oh well, that's what makes life (and coding) interesting of course ;) -and trying to capture possible problems with m4 macros >:)-
We changed the upstream sources a bit to provide libavcodec and libavformat as shlibs and started using dynamic linking.
As long as ppl use the sources provided with the debs and compile, no problem, but it's hacking time again when someone gets a CVS release
Genius doesn't work on an assembly line basis. You can't simply say, "Today I will be brilliant."
I'm afraid that a free WMA decoder promotes Microsoft standards, instead of promoting the use of open standards.
I think it would actually be better to never make anything else than OGG decoders to conquer the push from software giants.
Also, would be nice if you linked up to www.xvid.org, that also is free.
Height: 38U, Weight: 0 Newtons, Eyes: #0000FF, OS: Gray Matter 1.0 (Alpha)
I don't want to start a flame war there but did you know that:
* FFmpeg was started by a french group (maybe just a french guy)
* DivX was invented by a french guy
* another beautiful player, VideoLAN, is made by a French group
As the french say, "we might not have petrol in France, but we have ideas".
Artaxerxes
Correct. The bitstream was locked down with WMA2, so WMA9 encoded content will play back just fine to that decoder, and presumably the new open source version of it.
My video compression blog
With all the discussion of is this or isn't this a patent/lawsuit problem, it seems an important question is being missed. How did they make the (co)dec? The article itself doesn't mention it and short of digging into their dev site, I don't know how to figure that out. Anyone involved with the project care to share?
I can think of two very different ways to get at it. Try and dig the decoder out of MS code or give it a bunch of training files and tweak the decoder until it sounded right. (ouch that sounds like a painful project) If the latter, then I don't really see how there could be any sort of lawsuit issues, unless there's a EULA problem (can't use WMP in developing competing software or something). It's a bit reminiscent of the Samba approach. Also, without a encoder, (IANAL) you shouldn't run into problems even if the wma format itself is patented.
I wonder if someone will make a XMMS plugin to play wma files now. That would be cool. I gave in to the darkside awhile back when I purchased a 64 Meg portable music player -- and converted a bunch of my CD's to WMA for size VS. performance reasons (a 64K WMA sounded better to me than a 64K mp3). THe only problem being now I have 4 CD's worth of WMA's that are only playable on Windows -- and I don't have a windows partition anyomore. So at least for me -- this sounds like a good thing.
(+1 Funny) only if I laugh out loud.
Microsoft was successful in preventing an implementation of the ASF file format from being used by virtualdub. This seems to be a parallel issue, since both ASF and WMA are patented.
----------------- "I have a bone to pick, and a few to break." - Refused -------------------
Since encoding using Vorbis for audio was mentioned in the article, anyone use Vorbis for their audio tracks? I've been ripping using .avi with mp3 audio for my DVD collection, and have wanted to use Vorbis one way or the other. When I tried to substitute vorbis audio into the avi instead of the 'throw away' mp3 track I generate (using mencoder), the result won't play under anything I've got. When I used ogmtools to try to merge the .ogg audio and .avi video into an ogg container, it plays, but doesn't keep a/v sync. I don't care about how few people can play it, so long as *I* can play it and have it look and sound good....
The ideal for me would be to have a single container with MPEG-4 video, Vorbis Audio, and, if at all possible, embedded subtitles in some form or fashion as a separate overlay track/text.... That can be produced in Linux...
XML is like violence. If it doesn't solve the problem, use more.
That depends on what you mean by "lookalikes".
The wheel is turning, but the hamster is dead.
As mentioned elsewhere in this topic, the fact that the CODEC mentioned here is licensed under the LGPL is likely to prevent its use in players for some operating systems, which is a shame. Whether or not we like Microsoft or Windows Media, I think you'll agree that all authors of players, and all end users, should be able to play streams that are encoded in that format.
No, because it's incorrect on several points. In particular, it does not address the question of how one could distribute an application for an OS that does not come with a compiler or linker. It also assumes the presence of a "strip" utility, and that the use of such a utility would be sufficient to avoid copyright infringement when one uses a commercial library (it's not). In short, I'm afraid that the above arguments are full of holes; in particular, they do not apply at all to those of us who develop for platforms other than Linux (e.g. PalmOS).
ffmpeg is great for video streams, and even sound streams. Just don't try doing both at once.
I have had *zero* luck trying to get the audio track to sync with the video, even at insanely low resolutions (eg half PAL) with no frame drop. Different combinations of different codecs make little difference it seems.
The FAQ even says so:
4) I get audio/video synchro problems when grabbing.
Currently, the grabbing stuff does not handle synchronisation
correctly. You are free to correct it. It is planned to fix it ASAP
So IMHO, ffmpeg as it stands is completely useless as an audiovisual grabber.
"Nine times out of ten, starting a fire is not the best way to solve the problem." - my wife
Are they sure that this isn't covered by a patent? I remember almost two years ago that VirtualDub had to remove support for ASF files because Microsoft had a patent on some part of it. The VirtualDub guys just removed support rather than fight MS. I hope this doesn't turn out to be the same situation.
Let's hope the developer who did the WMA portion of the code lives outside of the United States and is not an American citizen. Then MS could basically take their patent and shove it, and the ffmpeg stuff can simply have a compile time option to leave out patented code, a la PGP.
Of course, no one in the United States *cough* would ever compile the patented code. That would be illegal.
The Future of Human Evolution: Autonomy
The EU is in the process of giving in to the mega--multi-euro film&music industry as well.
INFOSOC in English
That'll be the end of legal reverse engineering in the EU as well.
-- From Denmark