DivX Support Under Linux?
Sesse writes: "XMPS 0.1.1beta is out, with experimental DivX support for Linux (by thunking to the Windows DLL). It's still buggy, but it seems to work! Sounds like good news for bringing multimedia another step away from Windows-only systems :-)" XMPS driving force Damien Chavarria has placed a screenshot on this page about the DivX support. Can anyone comment on success with this, name files successfully viewed, etc?
Yes, it's only x86 Linux, because it uses the Windows DLL to do the decoding. Maybe it'll work on Alpha using the x86 emulation, though, I have no idea.
--
There is no legal issue if you use the actual Windows (Media Player) CODEC to do it. It's perfectly possible, and no reverse engineering has taken place.
Syllable : It's an Operating System
The key difference here is that the authors of XMPS clearly intended it to be used with this particular non-GPL library and that is believed by some (heresay says RMS himself) to create an implicit license.
I small minority of the KDE code was written without any intention that it would be linked to Qt. (e.g. kghostscript which derives a work from the GPLd ghostscript code)
The implicit license fuzziness can be avoided by adding a line to the copyright to be GPL plus it is allowed to be linked to the particular windows DLL.
And just to headoff the next logical subthread, that depends what the definition of `link' is, consider the spectrum...
The GPL says...
Over the years that definition of `modules' and `components' has wandered around in the spectrum of source, libraries, shared libraries, and ORBs. There is not currently a consensus and you will find reasonable and knowledgable people that differ on whether a DLL linked at runtime is a module or component of a program.
Now, if only FlasK could be ported to Linux...we'd be made in the shade.
I haven't used flasK mpeg but is there any technical reason it can't be ported? The source code (GPL) is available on its homepage under DOCS. Any coders should also look into the DivX port contest. In the files section there's a ton of useful source code, though maybe not all legal.
Anyone have a technical description of MPEG-4 compression? I understand a bit about MPEG-1 with distance vectors and all that, but what is it about MPEG-4 that makes it so cool?
Scuttlemonkey is a troll
this is _not_ flamebait.
Linux is a crossplatform OS. when programmers limit themselves to the x86 architecture, everyone loses out. the PPC and Alpha crowd at first, but Linux can't finally get "world domination" if most apps run on only one platform and we _all_ get screwed.
i shudder at the thought of a x86/Linux dominated world. Linux is all about freedom of choice, and the whole "Linux on x86 is all that matters" train of thought gets us nowhere.
,
faeryman
Entirely right, DeCSS circumvents CSS. I don't think anybody disagrees with that. The thing people are disagreeing with is that circumventing CSS should be illegal.
Hey, that's pretty cool. Definitely one of the good things that has come about because of Windows compatibility research and work. Of course, I'll be a lot happier once the driver gets re-written in portable source code.
It works, although the framerate was quite slow for me (using the SDL output on XF86 3.3.6). I just compiled glx.so, so I'll have to try it again with the OpenGL output. Sound was way out of sync, but it may again be because of SDL. If not, I'll just blame my CPU speed (375 MHz)
--
Ski-U-Mah!
Stop the MPAA
We would have avoided half of the posts to this story that say stuff like,
:)
"DVD rulls DivX sucks!"
Is there a reason why they chose the name DIVX? Maybe they should call it Matt instead
Hell, I've paid for this windows shit. Specifically, I've overpaid about a dozen times, counting all those PCs at my office that are running Linux or OpenBSD and that had a mandatory Windows installation. So fuck it.
There is no ghostscript shared library on Unix (unlike Windows), kghostscript, like ghostview and gs runs ghostscript as an external program and drives it through stdin/stdout. It's a borderline case of "mere aggregation", which is allowed by the GPL ...
Not weird at all... it only works at 16 bit mode. You are probably trying it on 32 bit display.
Rofl, well, that'd do it...
-- iCEBaLM
XMPS is indeed released under the GPL. And it has indeed be linked to a proprietary Windows DLL. Now I invite you to notice who holds the copyrights to XMPS ... Damien CHAVARRIA, mostly. Now please answer this question, on which page is this hack posted ... Damien CHAVARRIA's, that's right. Now EXPLAIN ME WHERE THE PROBLEM IS, YOU DUMB ASS? He's used Wine code, X11 license; SDL, LGPL; XAnim, MIT license. So your point is .... ????
Just a quick comment:
Use the skined interface. I tried the gtk one, and it was nothing but problems. No fullscreen, aobut a 50/50 chance the movie would even load, horrible sync, etc.
Changed to the skined interface, and it was like night and day. Can do fullscreen, the sync problems went away, and it was interesting to see The Matrix trailer playing full screen thought my V3 3k's TV out =)
So when you try this, use the skined interface =)
The 2 little movies side by side thing occured when I had it in 32bit color mode.
Make sure you have it in 16.. go in XF86Config and search for any 32 and change it. If you want to really be sure, make the refresh rate different for 16 and 32 bit color modes, then check to see what your monitor says when you run X.
Divx is just an implementation of mpeg4, a low-bitrate compression that is intended for streaming video over low-bandwith lines like 56k6 modems. mpeg1 and 2 are still better, but also a lot bigge
Dude, you are just so wrong! DivX is a hack of MS MPEG-4 candidate code. It has been changed to allow it to be used in AVI files (MS only wants you to use it in ASF due to copy protection stuff) and adds in the Fraunhofer mp3 encode for audio. I believe it is VBR. This hack was possible because the MS code was available under an NDA and 'escaped'. DivX (and MPEG-4 in general) whup MPEG-1,2 ass! A standard VCD is 1374 kbits/sec, fits about an hour of 352x240 video on a CD, and looks terrible. MPEG-1 caps out there while MPEG-2 can do higher resolution/bitrates, but still aint great. MPEG-4 can easily fit about 45 minutes of 640x480 (resolution I sometimes use with TV captures) on a CD. Check out some DivX trailers and you'll see what I mean.
A lot of people claim DivX is better than a DVD (MPEG-2), which is true. Just don't expect to see than when you are stuffing the same video on one or two CDs instead of a DVD. It still looks great though.
One other thing, this increased compression is traded off with greater processing power to decompress. You could do MPEG-1 with a pentium 133 or something, but I wouldn't suggest MPEG-4 without at least a pentium 450 or equivalent.
Scuttlemonkey is a troll
I looked at the code and found that XMPS is using WINE's PE loader in order to use the Windows DLL file. That is, the author has ripped a part of WINE that loads Windows executables. As far as I know, WINE runs on almost every x86 Unix, including FreeBSD and Solaris, thus the title which says "DivX under Linux" is not quite correct.
I don't know if it's fast, but it's faster than Real. The only thing Real seems to do better than anyone else is buffering, and playing from a buffer. This really shouldn't be that hard, but well, seen Apple try to do it lately? Quicktime does a horrible job of buffering and playing at the same time, and I'm on a P3-500 with a TNT here.
Anyway, the reason I don't use Real when I can avoid it is because of all the crap they shove down your throat, more than the poor video and audio quality. How many boxes do you have to uncheck to make sure you're not deluged with mail? And the last time I installed realplayer, it installed realjukebox without ever asking me if I wanted it, which I don't. I'm firmly convinced that Real is more trouble than it's worth and I wish that people would stop using it for things I want to see.
Then again, this new divx ;) (SIC) codec solution may be the answer there.
"You're right," Fisheye says. "I should have set it on 'whip' or 'chop.'"
I think we're getting back to one of those situations where something is a 'standard' because people are using it. DivX is like that... it's the preferred format for pirated online video now.... so, therefore, it's a 'standard'.
The same thing happened with mp3 you know.. it really had nothing to do with mpeg (i mean, it *IS* mpeg II layer 3, but that's not why it was popular).
THink about it. How many of the mp3 players actually are full mpeg II players? basically none.
mp3 is a standard in it's own right sipmly because it emerged as a popular way to ship music around the net. Period. This would have happeend whether it was a rock-solid ISO standard, or whether it was something hacked up by geeks.
Of course, using the Windows driver should only be a stepping stone. Ideally, people will examine how the driver does what it does, and then re-implement it for Linux proper.
--
Ski-U-Mah!
Stop the MPAA
If you can't get it to compile, you probably don't have the required development libraries.
You need SDL (find the SDL-devel RPM, available from lokigames.com), and you also need smpeg (also available at loki). Just install those, and their *devel packages and it should compile fine.
I love it - what screen shot is provided? The Matrix. Um... gee, just how did they get that Matrix DVD image into DivX format? A little DeCSS help perhaps?
DeCSS + DivX is exactly what the MPAA has been talking about. You can rip a DVD into a very nice quality movie that can fit onto a CD and is easily downloaded from usenet after it's been RARed.
I wonder if there is anyone out there who still thinks DeCSS wasn't built for the strict purpose of ripping DVDs, just as Divx's only purpose is to make the ripped files smaller while retaining decent quality... ya know (wink wink) for all those legit movies you are copying (the ones YOU personally have the copyright to because you cannot even copy a DVD you own).
Of course, by the time the linux Divx playback is working, we'll be running mpeg-4 proper. alt.binaries.movies is the largest usenet group by a nice margin - and nothing but Divx encoded, DeCSS ripped DVDs. I think the MPAA will have no problem proving it's case...
nifty little program called lm_sensors. Lm_sensors...not just for cpu temp monitoring anymore =)
you can get lm_sensors here you will also need the i2c package they have there. Screw RTFM, and just make and make install to the i2c source, then make and make install to the lm_sensors source. The default install is what you want, to compile everything as kernel modules and put them into /lib/modules/2.2.16. Then depmod -a
Now, just modprobe i2c-voodoo3, and modprobe bt869. Now, when you are in X, you can use the TV out. But wait...it's all static, how do I get it to work?
You need to add NTSC modelines into you XF86Config. there are as follows
ModeLine "640x480NTSC" 28.195793 640 656 658 784 480 520 525 600
ModeLine "800x600NTSC" 38.769241 800 812 814 880 600 646 649 735
and for all you PAL people (poor saps (^_^) )
ModeLine "640x480PAL" 29.50 640 675 678 944 480 530 535 625
ModeLine "800x600PAL" 36.00 800 818 820 960 600 653 655 750
Now, what I did was make my 640x480 Modeline NTSC all the time. That way, I could activate it by just a ctrl-alt-(+/-), and then programs like snes9x will automaticly use that 640x480, and be in NTSC mode. Remember, if you don't change your normal 640x480 modelines to the NTSC, and want to use them as is, put 640x480NTSC into your "screen" section of your XF86Config file. And also, as always, restart X after you change your config
That's it, have fun =)
Tell me about it - I didn't succseed to compile it (and u need more then 4 other libs to compile it)
:)
Lets hope that someone will release either binary RPM (prefferable static), or - maybe someone will write a KDE version
Hetz (Heunique)
I've played with it some more since I made this post, and one thing I've noticed is that its ability to play greatly depends on the video you're playing.
The Matrix trailer works GREAT, like flawless... I've tried some intros to some other movies, with varying results. Some of them have messed up video, with audio working fine. Some segfault it.
No, this is DivX as in Microsoft's MPEG4+MP3/WMA implementation.
If this can be done for a video codec, then can someone please do this for WMA audio and Windows Media's streaming? Microsoft is maybe never going to release WMP for Linux and the number of content providers using this format is increasing every day (namely to the restrictive licensing that Real networks imposes on their software)
This really is a relevant issue. Please don't moderate this down just because it has Microsoft smeared all over it. I (frankly) find it quite amazing the support that you all are giving Microsoft's (broken) MPEG4 stuff!
~GoRK
--
This is an excellent resource for more information about the DivX codec as well as MPEG-4 compression in general. Now, if only FlasK could be ported to Linux...we'd be made in the shade.
--------
Oscarfish.com: tropical fish with attitude. Way t
People should remember that this DIVX isn't the same DivX as the stupid dvd pay-to-play clone thing, it's just a video codec.
since DIVX and ASF are supposedly based off the same mpeg4 codec, is there a chance somebody can also hack the .asf format to play on linux? Microsoft has boasted that .asf is based on open Mpeg4 technology, therefore it should, in theory, be possible to hack out a decoder for linux.
One of the main things I find lacking in Linux compared to doze is video support. I have a lot of asf and divx files I really want to play, and I haven't been able to get media player to even run in wine, so native support for these would be a HUGE milestone (from my perspective) in no longer needing to rely on windows for video.
________
1995: Microsoft - "Resistance is futile"
Divx is just an implementation of mpeg4, a low-bitrate compression that is intended for streaming video over low-bandwith lines like 56k6 modems. mpeg1 and 2 are still better, but also a lot bigger. If you tolerate some quality loss and you want to fit your movies on 1 cd, then divx is the solution :)
Karel Bemelmans, karel@narfum.org http://melvin.narfum.org
1. You can make screenshots of movies on DVD through many means.
2. DeCSS does not help the process. The means of taking screenshots do not require the use of DeCSS.
3. The current case against Eric Corley is not about copyright infringement, but is a test case for the MPAA's pet anit-circumvention law, the DMCA (aka 1201).
4. It is not illegal to traffic in a circumvention device that has non-circumvention uses.
5. DeCSS has non-circumvention uses, such as copying files and bashing region protection. (but that is a copyright violation you say? Unfortunately for you, that's for a court to decide.)
6. The MPAA has not established how a person gets or is denied authorization to access a movie.
7. Until they do, DeCSS may not be circumvention at all.
Care to address these points? You might have a hard time, because the MPAA sure can't.
I don't need large brains to have a good time.
It's pretty cool that they thunk to the Windows DLL, but one question (actuall a compound question.)
What exactly IS thunking and how does it work? I know that Win95 thunks to the Win16 code, but I don't know what process is involved.
A deep unwavering belief is a sure sign you're missing something...
The application is created for viewing a number
of file formats. Most notably mpeg-1.
This divX-thing is just an addon.
It is probably a bit like plugins for xmms.
As long as neither the plugin or xmms was created
_for_ eachother it is okay.
It all comes down to, I guess, wether or not
the people behind xmps are going to create their
own implementation, and just says "well, ours is not ready yet, but some people have told us you can use the windows-dll".
If however they have deliberately created the
function for the closed windows-dll, it is much
more fishy.
They could probably get out of it by removing
the functionality, and giving it away to some
other people who only distributes a patch
that "may or not" let xmps play divX on Linux.
It really sounds rather scetchy anyway.
The GPL really isn't the right solution if you
want to include closed-sourcecode.
I've tried it, and I've had some problems, the Audio seems to be fine, however the video is quite strange, it shows 2 instances of the video side by side with a really strange and slightly different color pallete on each one, I'm thinking if the two were converged it might display properly? Weird.
-- iCEBaLM
ugh.. in my opinion, anything that allows this unholy format to become entrenched even further only hurts us all in the end, because if we do not allow it to sink quietly and naturally into the night it will torment us for years with its presence. But i shouldn't have just said that, becuase i fear i will start a flamewar. Ah well.
.doc or trying to apply political pressure on apple/sorensen to let xanim NDA or something. </font>
however, my question is: since DivX is, in some bastardised way, related to MPEG-4, once the real MPEG-4 is finalised will it be possible to adapt the XMPS code as a base for an MPEG-4 codec? Seems like if this is the case, then the time spent developing the DivX codec will have been very very useful. I can't access the page; what liscence is it released under? GPL or LGPL i assume? [go lgpl!]
<font size=-2>note: i'm sorry if i've offended anyone who thinks that DivX is a very useful and effective format for pirating movies or whatever. if you've gotten good use out of the codec, i'm happy for you. i just myself have no use for the thing and think you'd be better off reverse-engineering
[and now watch as slashdot, in its typical fashion, responds to everything in this post _except_ the one thing i _want_ responded to..]
Irritable, left-wing and possibly humorous bumper stickers and t-shirts
Why doesn't freshmeat mirror it's files?
________
1995: Microsoft - "Resistance is futile"