I am lost in codec land. I'm not really sure where to find something that explains all this in terms for a mere mortal so I thought I'd post here.
I'm trying to figure out how all these things relate. As I understand it, vfw is a kind of codec just like directshow is a kind of codec (are these the only two kinds of codecs?). I don't know if I have vfw or where to download it. If I do have it, I don't know how to install codecs into it or where it's located.
I have also heard people say "ffdshow vfw". Does that make vfw codecs into directshow codecs somehow? I have not been able to figure out where to download this or how to install it. I find ffdshow to download but not ffdshow vfw.
So I do want to know how this is all put together from a high level view but the main thing I'm trying to figure out right now is how to get the x264 codec installed so that it shows up in sony vegas and my other tools. I got this to happen before when I used codec packs but now I uninstalled that and am trying to learn how to do things the right way rather than the lazy way![]()
+ Reply to Thread
Results 1 to 7 of 7
-
-
DirectShow filters communicate with, and control, a wide variety of devices, including the local file system, TV tuner and video capture cards, VFW codecs, the video display (through DirectDraw or GDI), and the sound card (through DirectSound)

DirectShow - codename Quartz - is a multimedia framework. It is the replacement for Microsoft's earlier Video for Windows technology.
It is the primary layer for all multimedia of your windows, a collection of API that all developers uses
FFDSHOW is just implemented as a DirectShow and VFW decoding filters, I think it means Fast Forward Direct Show (FFDSHOW) as FFMPEG means also "Fast Forward" for MPEG
There is no FFDSHOW VFW for downloadI have also heard people say "ffdshow vfw". Does that make vfw codecs into directshow codecs somehow? I have not been able to figure out where to download this or how to install it. I find ffdshow to download but not ffdshow vfw.
It is only a matter of FFDSHOW configuration, you have that configuration in START - PROGRAMS - FFDSHOW. Some programs like VDub only can see VFW codecs, if you enable that in FFDSHOW you can then make it visible for VDUB
Or you can only install the basic VFW codecs, such as Koepi XviD, MP3 Fraunhofer
So I do want to know how this is all put together from a high level view but the main thing I'm trying to figure out right now is how to get the x264 codec installed so that it shows up in sony vegas and my other tools. I got this to happen before when I used codec packs but now I uninstalled that and am trying to learn how to do things the right way rather than the lazy way
I personally don't like FFDSHOW, because it is huge and installs a lot of things in my system and I'm want to stay far away from it. I like something lighter : CCCP, which is basically a light and simplified version of FFDSHOW
Which means that I have CCCP for decode of FLV and some other exotic formats, and basic VFW codecs, and AC3 Filter. And I don't need anything else
If you decide to use FFDSHOW, just enable what you need and disable everything else, this will avoid possible conflicts between another already installed filters
To take it very simple, FFDSHOW will decode almost everything with the open source libavcodec project, what for me is not the best choice for some formats...., for example CoreAVC gives me more performance inx X264/H264 than libavcodec -
There are two video systems that come with Windows, the old and deprecated Video For Windows (VFW) and the newer DirectShow. For the most part applications are written to use one or the other. If you use a program designed for VFW (like VirtualDub) you need VFW codecs to decode video. If you use DirectShow based programs (like most media players) you need DirectShow codecs.Originally Posted by Gigaplex
There are also two audio systems, Audio Compression Manager (ACM) and DirectShow. As with video, programs are written for one or the other and require the appropriate codecs.
There is only one ffdshow. It is a collection of VFW and DirectShow codecs under one roof. After installing it you will see Start Menu selections for VFW Configuration and Video Decoder Configuration (DirectShow). You can enable/disable individual decoders from there.Originally Posted by Gigaplex
I'm not sure about Vegas and x264 -- I suspect you need an x264 VFW codec (note the link "Download an unoffical VFW X264 Codec here"). A VFW based program will only show VFW based encoders. Ffdshow shows up as "Ffdshow Video Codec". Since ffdshow contains several codecs you select which one you want to use from the Ffdshow Video Encoder Configuration dialog.Originally Posted by Gigaplex -
Okay, I'm starting to get this
I got x264 working in Vegas now (although only for avis). There's still a few things I don't get. I'm just going to lay it all out there and hope someone can fill me in or point me to some guide. Sorry about having so many questions. I just want to get through this newbie phase as quickly as possible 
What happens if I install the same encoder/decoder as VFW and as DirectShow? Does DirectShow figure out that they are the same one or does it expose both or somehow screw things up?
Is it correct to say that a DirectShow codec is a single *.ax file and that VFW codecs are DLLs? Can a codec be made up of several DLL or ax files and have dependencies? Can multiple codecs be contained in one DLL or ax file?
All of these VFW and DirectShow codecs are all in the System32 directory, right? Or can they be organized in some way into folders? How in the world do you guys stay organized with all this stuff!?
If I just drop one of these ax or dll files in the system32 directory, does that constitute as installing them or do they also need an entry in the windows registry or some other file?
From what I'm hearing here about ffdshow, it sounds like the codecs it exposes to the system are actually plugins that you install for ffdshow. Is that about how that works? If so, what happens if I have the same plugin installed for ffdshow as I do for DirectShow or VFW?
Do VFW and DirectShow only do avis? Is ffdshow only avis? I downloaded the x264vfw codec and installed it and it seems to encode avis rather than mpegs.
I'm looking into ffmpeg and from some things I read, it looks like a tool, other places it looks like a codec, other places it looks like it holds many codecs and exposes them as one - what exactly is ffmpeg?
Is there such thing as a codec that is not VFW or DirectShow? Like maybe it's just a DLL in System32 that has it's own way of doing things and apps that use it just have to know it's particular interface?
Since DirectShow and VFW is a windows thing, what does linux use for codecs? -
DirectShow based program will use the DirectShow decoder. VFW based programs will use the VFW decoder.Originally Posted by Gigaplex
The encoder itself is usually a single .ax or .dll. But they often include a separate dll for the configuration dialog. Obviously, since ffdshow includes several VFW encoders, a single file can contain several encoders. And Windows' quartz.dll contains many decoders.Originally Posted by Gigaplex
I believe Windows always copies the files into the System32 folder when you install the codecs. Playing video under windows involves several components including source filters, A/V splitters, audio and video decoders, colorspace converters, audio and video renderers, and script handlers. You should be careful about installing codec packs which install dozens of different individual codecs and other components that often conflict with each other.Originally Posted by Gigaplex
You can't just copy the files there. They must be registered with the system. You can do that with the REGSVR32 command.Originally Posted by Gigaplex
I wouldn't call them plugins. They are simply all built into ffdshow and you enable/disable them via the configuration interface. That interface takes care of registering and unregistering them with the system.Originally Posted by Gigaplex
As noted earlier, VFW and DS are two separate systems. VFW program will use the VFW codecs, DS programs will use the DS codecs.Originally Posted by Gigaplex
Generally, codecs are container agnostic. It's the program that decides what container to use (AVI, MKV, MPG...).Originally Posted by Gigaplex
Yes. A program isn't limited to using VFW and DS. It can use it's own internal video handling functions. These can be built into the main EXE or they can be used via DLLs.Originally Posted by Gigaplex
I don't know a lot about Linux but it has its own ways of handling video and installable components.Originally Posted by Gigaplex -
Now I'm getting somewhere. So from what you've told me, I would gather that codec conflicts happen because some operations like playing video use several codecs to perform the operation and if one codec doesn't do something quite the way that another codec expects it to, then we got a problem.
I could also see a problem occurring if a UI DLL and the processing part of a codec (I would call this business logic but it doesn't sound right here) don't match up but I would guess that this is a problem not ran into very often because if you install one, you're going to install the other and I would guess that these things aren't shared with other codecs unless it is part of a set of codecs installed all at once.
The only other kind of conflict I can dream up right now would be if there is some common DLL that a lot of codecs use to "outsource" some of their processing (maybe like this libavcodec I hear so much about) and some require one version while other require a different version. Is that something that happens too?
I guess my next step (assuming this is how the whole conflict thing happens) would be to figure out what kinds of codecs (i.e. splitter, renderer, etc.) are needed to perform different operations and what codecs other codecs have dependencies on. Any pointers on where I should start with that research?
You guys have been a HUGE help. Thanks a lot! -
You have the right idea. Here's a "filter graph" made by GraphEdit that shows the series of components used by directshow to display an AVI video:

A graph like this is built dynamically every time a video is played. Each box is a filter, the arrows connections between them. DirectShow considers the possible outputs of each output pin,finds filters with input pins that match, and connects them. There can be many filters capable of performing the same job. There is a merit system for deciding which filter gets the job. You can run into version conflicts, capability conflicts, and bugs anywhere along the line.
There are filter managers that allow you to add, remove, and adjust the merit of all the filters. Filmerit, DirectShow Filter Manager, RadLight Filter Manager... They can also report missing filters (filters listed in the registry but the .AX/.DLL file is missing).
Similar Threads
-
FFdShow x264 Encoder
By prijatelj.v in forum Video ConversionReplies: 2Last Post: 26th Mar 2012, 08:16 -
VFW ffdshow Settings to Edit flv in Vdub
By kaskaļ in forum Newbie / General discussionsReplies: 15Last Post: 1st Jun 2011, 12:40 -
ffdshow VFW codec doesn't show as an option
By dreagonea in forum Video ConversionReplies: 4Last Post: 12th Apr 2010, 22:55 -
x264 with ffdshow and MPC
By Apexi in forum Newbie / General discussionsReplies: 1Last Post: 8th Sep 2009, 09:55 -
Encode to Theora with VFW/ffdshow
By TheParadox2 in forum Newbie / General discussionsReplies: 16Last Post: 15th Jul 2009, 04:10



Quote