I am myself a mac user, but once in a while, I have to set up a Windows machine to play MPEG-4 movies. It would be nice to know how the different encoders stack up - especially which have better post-processing filters and/or decode faster.
My experience from my mac is that XviD is very slow, DivX is usable, FFmpeg is fairly fast and nothing beats 3ivx. Is it roughly the same on Windows?
IMO, XviD is slow even slower than DivX. DivX is faster but more annoying because it sets up everything for you ie post-processing and stupid film noise. Once you configure it to your liking it isn't too bad. I do not really know where 3ivX fits in but I would expect it to be about the same as DivX. To be honest I don't use it much except for occasionally. As far as ffmpeg, there is really no mpeg4 decoder which is faster IMO. In recent benchmarks I have seen ffmpeg as being more than twice faster than XviD. It is also the most useful. There have been many times in the past where encoders have produced buggy video which shouldn't play properly but ffmpeg has lots of work arounds so that they do . As far as post processing filter ffdshow has all the post processing filters which are used in mplayer and they are quite fast as you might know. However, XviD has a very good deblocker which is probably somewhat better than ffdshow as far as quality goes but it is much slower. There is no deringer in XviD.
Interesting - could I ask you to give the 3ivx decoder a try? I really like the fact that you can install 3ivx and it'll play almost anything you throw at it.
It seems like the situation is pretty much the same as Mac OS X, where you install DivX for it's AVI parser and 3ivx for it's decoder. On Windows it would probably be 3ivx for the splitters and ffdshow for it's decoder - and possibly CoreAAC. Both systems might need an additional AC-3 decoder, though.
Ok, unfortunately I am not going to be able to give you nice numbers in fps because I am not going to be able to get my hands on a nice standalone exe decoder for 3ivx. But I just tried playing a high definition 1200x672 mp4 with aac audio to make sure I use a lot of cpu. For ffdshow the cpu usage was always well below 50% normally in the 40-45% range. For 3ivx the cpu usage was between 60-70%. This is on a p4 1.6Ghz of course depending on the machine you are on it may very well differ a little certainly if you factor in that some decoders might have more optimizations for certain architectures.
the best mpeg-4 decoder is ffdshow (ever tried to add sharpness to blurry encodes during playback? you will love it )
Seems like it's pretty much how I expected. FFmpeg is micro-optimised for the Intel architecture, and the decoder core in itself is very fast on all architectures.
How about post processing then? Do you have any idea how 3ivx and FFmpeg's perform in regard to both quality and CPU usage?
(Actually, this is also interesting to know from a mac perspective: If ffdshow is better than 3ivx all 'round on Intel, it's likely that the FFmpeg QuickTime component could be made better than 3ivx' component )
if compared to ffdshow,3ivx DOESN'T HAVE post processing,so to speak.....
also with 3ivx i had some compatibility issues with some clips(uncorrect decoding etc.)
i think all platforms should have ffdshow for video playback (as linux folks surely know how to optimize their code!and include a bunch of options that nobody else has...)
speed?ffdshow decodes 768x576 divx3 with cca. 65%cpu on celeron600;it's incredible!
there should be no doubts which decoder is best,as you see now...
IMO, the most fully featured and well-rounded MPEG4 video decoder has to be ffdshow. In terms of quality though, well that's open for subjective discussion...
VideoLAN (http://www.videolan.org/) is very nice software for playing. I have much smaller CPU load on VideoLAN than Media Player Classic and ffdshow (when playing same MPEG4 movie).
VLC uses ffmpeg for MPEG-4 playback through its own PlugIn system rather than using DirectShow.
dev0
3ivx causes graphical errors on Xvid movies, so I don't use it. Divx is better, but still doesn't have nearly as universal support as ffdshow. I can't try Xvid as it crashes my Athlon (though the encoder works wonderfully).
Most people recommend ffdshow as it works wonderfully. Don't use the version of sourceforge though, the unofficial alphas floating around (check google) are much more up to date.
I recently downloaded the latest version of the ffshow decoder and am using MPC to playback my latest XviD encoding attempt. Is it not possible to further improve the smoothness of the playback without reducing image quality?
I encoded this movie twice using both DivX and XviD. The DivX version plays nice and smooth, but I cant say the same for XviD, eventhough the quality of the XviD version is better "In my opinion".
Edit.
When playing the XviD version the CPU usage is only around 25% on an AMD XP1900+ CPU.
Did you turn the post-processing on?
I recently downloaded the latest version of the ffshow decoder and am using MPC to playback my latest XviD encoding attempt. Is it not possible to further improve the smoothness of the playback without reducing image quality?
I encoded this movie twice using both DivX and XviD. The DivX version plays nice and smooth, but I cant say the same for XviD, eventhough the quality of the XviD version is better "In my opinion".
Edit.
When playing the XviD version the CPU usage is only around 25% on an AMD XP1900+ CPU.
If the video isn't smooth, you probably encoded it incorrectly. A Pentium 2 can decode Xvid smoothly IME, so your Athlon XP1900 should be fine
I recently downloaded the latest version of the ffshow decoder and am using MPC to playback my latest XviD encoding attempt. Is it not possible to further improve the smoothness of the playback without reducing image quality?
I encoded this movie twice using both DivX and XviD. The DivX version plays nice and smooth, but I cant say the same for XviD, eventhough the quality of the XviD version is better "In my opinion".
Edit.
When playing the XviD version the CPU usage is only around 25% on an AMD XP1900+ CPU.
If the video isn't smooth, you probably encoded it incorrectly. A Pentium 2 can decode Xvid smoothly IME, so your Athlon XP1900 should be fine
Yup, I watch all my movies (DivX or XviD) on my PII 400 with 256megs RAM and an ATI Radeon 7500 (64meg) and they are nice and smooth.
XviD videos were VERY slow however when DivX was playing them - see: unplayable. (The latest version of DivX can play XviD videos, but it doesnt do a top notch job at it.)
Can someone clairify what FFdshow is in relation to video decoding? I just searched google for FFdshow, and the site (http://cutka.szm.sk/ffdshow/) that comes up, has not been updated for 1.5 years. Is an decoder that old still 'one of the best'? What is it exactly? How can I use it for playing Xvid/DivX videos via Windows Media Player?
Edit: I just saw this page (http://athos.leffe.dnsalias.com/). I guess someone took over the development of FFdshow. So, if I install one of those builds, how do I take advantage of it with Windows Media Player and/or VLC?
I use Video Lan Client (VLC) for watching alot of my movies, and it has ffmpeg in it. How does that relate to FFdshow?
Sorry for sounding like such a newbie. Just trying to get the best quality!
Thanks!
latest alpha version is dated to 2003-05-22 15:00,
http://sourceforge.net/project/showfiles.p...ackage_id=59355 (http://sourceforge.net/project/showfiles.php?group_id=53761&package_id=59355)
(but iam not sure if that is the actual latest version)
edit: nm, i see that there is 28-nov-2003 in the link you mentioned...
definition, from http://sourceforge.net/projects/ffdshow: (http://sourceforge.net/projects/ffdshow:)
ffdshow is DirectShow decoding filter for decompressing DIVX and XVID movies using libavcodec or xvid with rich set of video postprocessing filters. ffdshow can also be used as a separate postprocessing filter for other decoders.
Oh ??? I must have dont something wrong while encoding? or maybe I haven't setup ffdshow properly ???
@ Latexxx - im not sure what post processing is. When I encoded the XviD, I left all the default settings.
Is post processing something which I am supposed to enable in ffshow?
When playing back this XviD video, the jerkyness is not always noticable! I only see it when the camera move quickly.
This definately does NOT happen in the original DVD or in the DivX encoding.
you wouldn't have "packed bitstream" on in xvid, would you? you don't want to use that one yet. not until FFDshow can handle it properly. (it's not on by default BTW)
JEN, MugFunky has the right the reason why ffdshow does not play your movie correctly is because packed bitstream is enabled. I have no clue why it is on by default in XviD it should not be but it is anyway. There is nothing wrong with the file except that ffdshow can't play it atm. So till then use XviD's decoder. The fix for the packed bitstream is alread in the ffmpeg cvs so the next build will handle it correctly. The problem occurs when packed bitstream is used with > 1 b-frame.
I download the XviD decoder by Nic and installed it, but for some reason the ffdshow is still being used and was not written over? How do I remove it?
you have to untick xvid in the ffdshow options
Unticked XviD, restarted MPC and it worked
Its now looks as smooth as the DivX version, thanks!
you wouldn't have "packed bitstream" on in xvid, would you? you don't want to use that one yet. not until FFDshow can handle it properly. (it's not on by default BTW)
[{POST_SNAPBACK}][/a] (http://index.php?act=findpost&pid=175987")
Do you know any good tool to set packed bitstream off for linux??
There is one for Windows in [a href="http://www.moitah.net/]http://www.moitah.net/[/url]
but I haven't found anything for linux
Or is there at least program that could tell if video's bitstream is packed??
if you can build gpac's mp4box tool on linux, than you can unpack on linux, otherwise there is no tool
(only 3 can do it till now:
- mp4box (commandline)
- 3ivx muxer (directshow, totally windows centric
- moitahs tool (uses .net, totally windows centric)
How about the Ahead MPEG 1/2/4 Dx decoder one that automatically takes over your default directshow filter once you installed the Nero package#1?
I used to use ffdshow but it's so buggy ATM (at least for me...but it used to work like a charm =/ )