DirectShow is a component of DirectX, Microsoft's multimedia architecture.
DirectShow is the successor of VideoForWindows (VFW).
Both VFW and DirectShow provides capture, tranformation and display functionalities for multimedia streams or files on PC running MS Windows.
The major difference with VFW is that was a simple API enabling the development of multimedia applications, DirectShow is at the same time :
With DirectShow, it is therefore possible to easily integrate components developed by various development teams.
DirectShow is supposedly one of Windows most complex API. Raw numbers do support this statement : 72 filters in the base distribution, 76 base classes, 181 interfaces, and thousands of methods.... (these are rough numbers). The behaviour of a DirectShow application is the result of the interaction of multiple components in multiple dimensions.
This makes the learning curve for DirectShow long and boring, if you tackle it on your own.
However, this complex environment is conceptually simple once you have covered the base principles. When launching a project, my experience is that a few days training and consulting can save you months of lost development time, running into dead-ends and major pitfalls.
With proper support and advice, you can have a prototype running in a few days, instead of weeks or months. And you can start adding real value to your application, instead of debugging basic DirectShow stuff from beginner's errors.
(to be continued)