Open MPEG-4 Codec Contest
chrizzzz wrote to us about the opencodex.com contest to write a Open MPEG-4 Codec. They've got an industrial sponser now, so the first team/person to do it wins 50,000$US. The contest page has speifics about the project.
If there's one thing I miss on Linux, it's good Codec support. I'd love to see a good, high-quality encoder come out of this, much like the LAME project did for mp3's.
...and if an open one is written, I'm sure all the other free OS people will be very happy too...
---
pb Reply or e-mail; don't vaguely moderate.
pb Reply or e-mail; don't vaguely moderate.
Hmm. Whether you like Quicktime or not, I'm not sure if this will fly.
Can you make a module for a proprietary program under the GPL? Wouldn't it have to be LGPL'ed?
Someone enlighten me on this one, 'cause I'm not positive about it.
---
pb Reply or e-mail; don't vaguely moderate.
pb Reply or e-mail; don't vaguely moderate.
They insist that it be released under the GPL but that it also must be available as a QuickTime plug-in as well as a plug-in to all kinds of proprietary software?
I seem to recall there was some debate about GPL'd browser plug-ins, and I forget how the IANAL's sorted it out? Does anyone know if these plug-ins might violate the GPL?
sigs are a waste of space
There are likely intellectual property issues that will scare away any potential commercial use of an Open Source MPEG4 codec.
Agreed, but there are several in development. For example, I am working on libmedia.
Linux multimedia is definitely hampered by the lack of a reasonable codec that everyone can use to view stuff. So there are people likely at work on this already. Add a $50K bounty, and suddenly a lot of dusty projects are going to get a good polish-up, IMUO. ;)
OTOH, once the codec is created, how can acceptance be encouraged? If Quicktime players refuse to include it (for example), we're back to square one, aren't we?
-TBHiX-
I do hate quicktime, the windows player sucks ass, I'd rather use a hacked player in windows then that crap.
ReadThe ReflectionEngine, a cyberpunk style n
mpeglib will also let you play divX's on Linux - it wraps the Windows CODEC.
http://mpeglib.sourceforge.net/
Total effort to do what???
It's not at all obvious to me what they actually want.
They obviously know about the ISO MPEG-4 source since they provide it, and this is freely licenced. You still need to licence the MPEG-4 patents though, as you still would if you reimplemented the CODEC yourself.
It's also rather bizarre that they have provided the Microsoft (was that publically released?!) MPEG-4 source in addition, since anyone getting anythign from it will probably be infringing on Microsoft's copyrights and patents.
So what's the goal here? If you want an MPEG-4 implementation and are willing to say "screw the patents" then just use the ISO source. Reimplementing it won't help. Given that MPEG-2 has similar patent issues yet MPEG-2 open source CODECs are available without (yet) any heat from the patent owners, I'd say just use it!
IANAL.
So you like that fact that you can't watch most Quicktime movies on Linux? If I had said "Fuck Windows Media 4.0" nobody on /. would give a damn. But since Sorenson isn't an MS product, people feel compelled to defend it, regardless of whether it deserves defending. Sorenson is a proprietory compression codec that locks out a good part of the computing population from watching most Quicktime videos.
A deep unwavering belief is a sure sign you're missing something...
How are you supposed to turn into the premier platform for content and graphics by still using X?
A deep unwavering belief is a sure sign you're missing something...
Geez. Touchy touch. I know what Sorenson is, I hate it for obvious reasons, and I can't spell it. Knowing how to spell something != knowledge of it, or vice versa.
Sorenson is doesn't work on BeOS, never WILL work on BeOS, and nearly all the internet's MPEGs are encoded in it. Understandably, I am eccstatic (see I probably spelt that wrong as well!) about anything that will help get rid of it. I thought "fuck Sonorson (okay, I spelt it wrong, sue me)" got it across, but apparently you don't seem to understand subtlety (probably spelt THAT wrong as well!)
A deep unwavering belief is a sure sign you're missing something...
...after all that work, and still not see a dime. Why don't we just find someone who's willing to do this work for $50k - why is this contest format so popular all of the sudden?
Can your IM do this?
Write it in Java!! If there is one thing I can't stand it is playing around with over hacked C. I developed a pure Java MPEG-1 video browsing and searching enviornment this summer. Java is a godsend. Take one look at the Berkely MPEGPlay code and you would know why. It will be a lot more usefull to the general public who want to tinker with new algorithms.
bash-2.04$
bash-2.04$yes "Don't you hate dialup connections?"| write USERNAME
With this, and other efforts of offering bounties or prizes for development of software, how long will it be till a good majority of OSS developnent turns into a bounty-hunt for the quickest way to a desired goal?
And is this where we want OSS development to be headed, where coders will develop not for personal desire or want to enhance their machines in one way or another, but by looking for the high-paying projects?
Stop over-analyzing your analizations
mount /dos
/dos/windows/mplayer.exe <file.mpg4>
wine
Awwww yeah! Come to daddy!
Why aren't there any clear, objective criterion on their site for determining if a submission is correct and/or working satisfactorily (whatever that may be)?
Will occasional jumpy video and/or audio during playback disqualify a submission? How will such a measurement be quantified -- or will it be a strictly subjective determination? Would a partial implementation be acceptable in any way (the MPEG-4 standard is fairly extensive from what I can gather)?
If two or more submissions all "work" OK, what criteria will be used to distinguish and rate/rank them? Is this, too, something perhaps yet to be decided? Does the submission date/time take precedence?
Unless and until there are some very clear answers to these sorts of questions, I'd caution anyone against devoting too much time to it, unless you're absolutely not doing it for the money. You may find out that they awarded the prize to Mr. Heeza Good Friend rather than Ms. Sheez Justa Stranger...
Andy
The Microsoft code comes with a copyright notice in every file, which reads as follows:
Ming-Chieh Lee (mingcl@microsoft.com), Microsoft Corporation
Wei-ge Chen (wchen@microsoft.com), Microsoft Corporation
Bruce Lin (blin@microsoft.com), Microsoft Corporation
Chuang Gu (chuanggu@microsoft.com), Microsoft Corporation
(date: March, 1996) in the course of development of the MPEG-4 Video (ISO/IEC 14496-2).
This software module is an implementation of a part of one or more MPEG-4 Video tools as specified by the MPEG-4 Video. ISO/IEC gives users of the MPEG-4 Video free license to this software module or modifications thereof for use in hardware or software products claiming conformance to the MPEG-4 Video. Those intending to use this software module in hardware or software products are advised that its use may infringe existing patents. The original developer of this software module and his/her company, the subsequent editors and their companies, and ISO/IEC have no liability for use of this software module or modifications thereof in an implementation. Copyright is not released for non MPEG-4 Video conforming products.
Microsoft retains full right to use the code for his/her own purpose, assign or donate the code to a third party and to inhibit third parties from using the code for non MPEG-4 Video conforming products.
This copyright notice must be included in all copies or derivative works.
Copyright (c) 1996, 1997.
A quick look at the code looks disappointing; too few comments, and C++ written with a C programmer mentality. This is more of an illustrative implementation than production code; there's lots of memory allocation and deallocation within inner loops, and some things that obviously should be inlined are not. I doubt that this code will play in real time.
Clause 10 of the GNU GPL allows authors to create exceptions to the License. Guile and libstdc++ both use an exception "this library may be linked to proprietary software."
<O
( \
XGNOME vs. KDE: the game!
Will I retire or break 10K?
Some operating systems are not capable of providing synchronized multimedia because of features built into them to thwart covert channels. For example, their schedulers jitter the CPU time values so one process can't use the amount of CPU time it uses as a covert channel to leak classified information to another process.
UNIX® systems and GNU systems are in general not affected by this feature.
<O
( \
XGNOME vs. KDE: the game!
Will I retire or break 10K?
How about a contest to write an open source Slashdot spell checker?
MPEG-4 is open, but it's just a spec. If you want an implementation of it, you have to code one yourself. (ISO provides some reference code, but I don't know if it's any good.) You also have to take care of the patent licensing if you want to use it.
IIRC the format for MPEG 4 is based on QuickTime. That means the container format has info about how to interpret the contents
... not really. It just means that the atom-based file structure of QuickTime is used to achieve a high level of interoperability.
... that's the POINT of using QuickTime's format, because it's the best out there at separating them :)
Errrrm
"The QuickTime file format, as explained in this book, has been incorporated by reference into the ISO/IEC 14496:1999 (MPEG-4) standard, published as of December 1999. The MP4 file format, developed by Apple Computer and IBM Corp., is designed to present a flexible and extensible format that facilitates the interchange, management, editing, and presentation of media. A presentation may be local to the system containing the presentation, or it may be via a network or other streamed delivery mechanism."
-- Inside QuickTime: QuickTime File Format
You might be able to leverage that when writing a codec.
Codecs are completely orthogonal to the MPEG-4 file format
this, and all the files are in .sit (Mac StuffIt) format... I guess they only want the extensive Mac hacking community working on this one.
Stuffit Expanders for Windows, DOS, and Linux can all be found here.
I am refering to the fact that corperations have got such a strangle hold in file formats and the like (FhG's claim taht it is impossible to write an MP3 encoder/decoder with out infringing of their patents), do such patents not exists for MPEG-4? Or Did the ppl who set it up, and designed the "STANDARD" screw up, enableing us to have a way in which we can write an OPEN (beer/speech) MPEG-4 codec?
.plan = NULL;
.sig =
Do the following really mean anything? SCSA MCP CCSA CCNA
--I'm not actually after an answer!
Yes, we have such a player which does play most AVI formats. It's called Avifile and works as a plugin for the XMPS player. It can do Intel Indeo? 5.0 & DivX formats, and GSM 6.1, MPEG-1 all layers, PCM, etc. as it's homepage claims.
Banu
Once, I downloaded a QT file that Media Player (Windows 2000) couldn't play the audio to. So I fed the QT file into Cool Edit. My suspicions were confirmed; instead of audio and video being interleaved at an incredibly tight interval, there were about 1-second snippets of sound separated by video bursts. I cropped out the video part and ba-boom, I had a funny as hell South Park sound byte!
Considering the QT4 player, I've only seen it on a mac (where it should be), and I am proud to say that the likes of it have never tainted my Win2000 machine. I do like Media Player, but I use Winamp for mp3s, since it has the oscilloscope readout. By the way, does anyone know of a codec (Winamp DLL or otherwise) that lets you directly open the .cin files for Quake2? I hate going into 320x240 software just to properly view the cinematics (anti-aliasing stinks with movies, except in the Q3 .roq files)
"Ancillary does not mean you get to rule the world." --U.S. Circuit Judge Harry Edwards, speaking to the FCC's lawyer
"Ancillary does not mean you get to rule the world." --U.S. Circuit Judge Harry Edwards, speaking to the FCC's lawyer
A video player or codec coded in Java is worthless, especially for such a high-compression high-raw-datarate format such as MPEG-4. What I want is LESS Java, not more. I'm sick of all these stupid Java applets, codecs and source files tainting my screen and critically delaying running times.
One of the worst Java applets ever created is the "Punch the Monkey" banner ad. That one seems to render and run FASTER on a slower processor. That's violating at least a few guidelines!
"Ancillary does not mean you get to rule the world." --U.S. Circuit Judge Harry Edwards, speaking to the FCC's lawyer
Alright they want a "QuickTime MPEG-4" codec. Quicktime 5, due this fall, will have it. Why give away 50 grand for porting something to Quicktime that will be there by the time the contest is over?
Burn Hollywood Burn
no comments, don't be a fool. let say 1000 people try it... you all get paid 50$ for trying... and all the benefits are going elsewhere... and the lucky 50 000$ recipient worth much more...
You're not supposed to be a serious platform for graphics and content. You're supposed to be a server. Now get me some soup, bitch.
When most people talk about Quicktime, they mean the Sorecnsor codec. It's actually possible to create and play Quicktime movies on Linux right now - as long as they're not using Sorenson, which 98% of Quicktime films do.
;-).
Likewise AVI can be a wrapper for a number of film formats, from MPEG1 thru VOB thru DivX
MPEG 1 AVIs work right now under aKtion, the KDE medis player.
That sucks. I don't think I'm alone in saying that the Quicktime player really, really sucks (this subject came up before, and I was definitely not alone). It's bug-ridden, and the interface blows.
Erm, the standard player relates to QuickTime in approximately the same way that WinAMP relates to the MP3 specification. It's just an app that calls the movie-playing APIs. Don't like it? Write your own.
No, I'm not being sarcastic. I did exactly that for QDesign last summer.
It uses Windows DLLs for CODECs and can play AVI, MPEG2, MPEG3, SMPEG, QT...
How are we supposed to be a serious platform for graphics and content if we can't even play the stupidest movie clips? (/RANT)
The codec should utilize MPEG-4v.2 video motion compressors or something of equal quality, source code available on this site. /. discussions I remember that there are quite a few... I think it's not in the interest of those who want to create an open codec that this codec will be 'illegal' like DivX ;-).
;-) seems to make it a promising project.
.xyz files will always play, everywhere! Create a small cross-platform player (maybe based on GTK) for people to download.
If it's not only something similar in quality to MPEG-4 but uses MPEG-4 itself, what about all the patents? From earlier
On a similar note, can anybody say what the guys at Project Mayo are doing? Sounds very mysterious, but the line Our members include the creators of DivX
It would be great to have a codec that is cross-platform, free, open-source, and performs well. And please don't put it into QuickTime -- I know that it's only a 'wrapper format' for all kinds of content, but I don't want to be forced to use that stupid QuickTime player anymore. Design the codec as a library in a way that you can make a QuickTime plugin from it if you want to. Give it a file extension of its own, so that all
As another person mentioned, they plan on releasing this code under the GPL (not LGPL) which will be violated when the program is run through the QuickTime interface that is a requirement of winning!
Also, by not forcing people to be MPEG4 compliant (according to the rules your code must be MPEG4, or something with 'better quality'), the resulting codec may not be open standards compliant, which in many ways nullifies its existence...Do we really want open platforms like Linux to still have their own different set of codecs? I guess having a 'different' codec beats having obsolete ones... but most web sites (etc) will use something more standard, regardless of quality. Unless the codec is SUPER COOL and ported to many platforms, in which case the author could likely make much more than $50k off of it by other means.
Lastly, I looked through the site and didn't find any information on how this will be judged. Image quality alone? Or code quality? Or time to code? Anyone?