From: Amitha P. <ami...@us...> - 2008-08-13 11:54:30
|
Miguel A. Figueroa-Villanueva wrote: > Does anyone know if there is any advantage in using FFMPEG in windows > over DirectShow? Besides the fact that the output stream is not > written and that in my experience it has been a pain... However, it > has the advantage of supporting whatever is installed and registered > in the system. FFMPEG implements both encoding and decoding of video codecs that are often not available on typical Windows environments. Some of these codecs are not available for free on Windows, even if you were to download additional codecs. Not all encoders and decoder implementations are equal. (In general, the FFMPEG implementations are of good quality.) It's useful to have the *same* encoder and decoder on multiple platforms, so you know your program will produce the same output on multiple platforms, for a fixed input. > In your opinion, would it be worth investing time in implementing > complete DirectShow support rather than trying to make FFMPEG > available in windows? Should we stick with FFMPEG instead of > DirectShow? or is there significant advantage in having both > DirectShow and FFMPEG pursued? I think it's worthwhile to pursue both. In the same way that video4linux should be also pursued on Linux. As you say, the two give access to different code paths from which to access video. In particular, directshow on Windows will allow far more hardware devices to be used (webcams, etc), because the manufacturers often include Windows drivers. This is becoming less of an issue as the USB-video standard matures, but there are always higher-end/custom video hardware. Note also that directshow development files (headers, etc) are not trivially available on Windows. (At least, they weren't the last time I looked.) So, enabling directshow on Windows would require the user to download and install the directshow SDK. I also don't know how Vista has changed the directshow APIs. I know that Vista has done a complete rewrite of the graphics pipeline, but the API may be backwards compatible. Amitha. |