Click here to Skip to main content
Click here to Skip to main content

Programming DirectShow applications in C#: A set of tutorials

By , 6 Oct 2005
 

Sample Image

Introduction

Besides the Microsoft SDK documentation, the information needed to program DirectShow applications is limited. This web site supplies many of the most useful references for programming these applications in C#. In order to continue this tradition, I have created a help file (.chm) that contains ten tutorials that illustrate how DirectShow applications can be written in C#.

Background

In general, the resources for programming DirectShow applications are scarce. In the past few months, I have written many tutorials that illustrate how to perform many common tasks in DirectShow with C#. I have put all these tutorials in one .chm file and provided access to all the source code samples from it. Moreover, the CodeProject web site has a nice messaging system to support the users of the code provided on this site, which should make these tutorials even more useful.

Using the code

I have provided a Visual Studio project file for each tutorial, and I have also included a .cmd file to compile it from the command line. Sometimes, these .cmd files contain references that need to be changed to reflect your local settings. I have mentioned these in the tutorial "readme.txt" file. Some tutorials will only run on 32-bit machines.

Points of Interest

The tutorials show how a simple multimedia player, a simple capture, a jukebox, and an append utility application can be written. Moreover, we have implemented versions of the Picture-In-a-Picture, custom allocator/presenter, custom image compositor samples from the DirectShow SDK in C#. And we have implemented the functionality of the EzRbg24 filter in C#.

Limitations and known issues

As mentioned previously, some samples will only work correctly on 32-bit machines. Moreover, I don't claim that these are optimal solutions. Many years ago, when I was teaching a VC++/MFC class, one student asked me where I was taking the code that I was using during the lectures. I replied that I had two directories with more than eighty samples in each of them, that I had written over a while. I was just picking some of these and brushed them up a little before presenting them and asking the students to modify or extend them (during the lectures or for assignments). I give these samples in the same spirit; but I'm still a long way from having more than hundred and sixty samples to chose from ;-)

License

This article has no explicit license attached to it but may contain usage terms in the article text or the download files themselves. If in doubt please contact the author via the discussion board below.

A list of licenses authors might use can be found here

About the Author

daniel049
United States United States
Member
You can read my blog entries at:
http://wwww.informikon.com/blog/

Sign Up to vote   Poor Excellent
Add a reason or comment to your vote: x
Votes of 3 or less require a comment

Comments and Discussions

 
Hint: For improved responsiveness ensure Javascript is enabled and choose 'Normal' from the Layout dropdown and hit 'Update'.
You must Sign In to use this message board.
Search this forum  
    Spacing  Noise  Layout  Per page   
BugFrame 0 is not being displayedmemberSquall8315 Feb '12 - 2:23 
GeneralGreat tutorial!memberBeri30 May '11 - 11:24 
GeneralMy vote of 5memberkingsk19 Oct '10 - 9:56 
Generalmaking DirectShow filters compile in 64-bit WindowsmemberMarc Perrone16 Aug '10 - 4:40 
GeneralRe: making DirectShow filters compile in 64-bit WindowsmemberMarc Perrone16 Aug '10 - 4:42 
GeneralI cannot open the filememberJan Kluson2 Aug '10 - 6:54 
SuggestionRe: I cannot open the filemembercolinmeier11 Apr '12 - 9:30 
GeneralMy vote of 1memberqjaybee1 Jun '10 - 23:59 
GeneralResource file missingmemberyork z30 May '10 - 22:23 
GeneralAnti-flicker problemmemberQuyLV19 Feb '09 - 21:37 
GeneralSave PIP as wmv filememberrama srinu23 Jan '09 - 5:09 
GeneralMultiple Sample Grabber Objectsmemberkazim bhai11 Jun '08 - 5:42 
GeneralRe: Multiple Sample Grabber Objectsmemberdaniel04912 Jun '08 - 11:18 
Generalcannot display this HTML help filememberHooNose_JJP11 Jun '08 - 2:18 
GeneralRe: cannot display this HTML help filememberHooNose_JJP11 Jun '08 - 2:30 
GeneralRe: cannot display this HTML help filememberdaniel04911 Jun '08 - 2:59 
GeneralGreately in need of helpmemberbabu743 Jun '08 - 1:49 
General.net Compact Frameworkmembers4souhail3 Aug '07 - 8:43 
GeneralRe: .net Compact Frameworkmemberdaniel0494 Aug '07 - 7:30 
GeneralJukebox: Step Forward works, but Step Backward has problemsmemberstringtheory_x5 Jul '07 - 19:22 
GeneralRe: Jukebox: Step Forward works, but Step Backward has problemsmemberdaniel0499 Jul '07 - 6:19 
QuestionHow to capture single framememberaishar22 Jun '07 - 4:35 
QuestionAccess to Running Object Table?memberstringtheory_x30 May '07 - 23:35 
AnswerRe: Access to Running Object Table?memberdaniel04931 May '07 - 2:57 
QuestionProblem with your tutorial.. please help...memberangeldoescry9 May '07 - 5:34 
AnswerRe: Problem with your tutorial.. please help...memberdaniel04910 May '07 - 14:06 
Generalmu-LAW to MP3memberVince Zhou2 May '07 - 13:47 
GeneralRe: mu-LAW to MP3memberdaniel0495 May '07 - 8:21 
GeneralVMR9 and DX9 surface inputmemberwingnutman118 Apr '07 - 2:47 
GeneralRe: VMR9 and DX9 surface inputmemberdaniel04920 Apr '07 - 9:43 
GeneralGreat article !!... I need some help regarding video streaming....membersidsidz31 Mar '07 - 21:06 
QuestionBuilding a DirectShow applicationmemberMaynka27 Mar '07 - 1:59 
AnswerRe: Building a DirectShow applicationmemberdaniel04929 Mar '07 - 3:37 
QuestionCan't find the resource filememberhdtntran18 Jan '07 - 13:15 
AnswerRe: Can't find the resource filememberdaniel04921 Jan '07 - 4:59 
GeneralThrow the pointer to unmanagedmemberchernobyl24 Nov '06 - 20:37 
GeneralRe: Throw the pointer to unmanagedmemberdaniel04925 Nov '06 - 7:24 
GeneralThank you and questionmemberJohn Whiteman22 Sep '06 - 3:35 
GeneralRe: Thank you and questionmemberdaniel04924 Sep '06 - 5:50 
GeneralRe: Thank you and questionmemberJohn Whiteman24 Sep '06 - 9:48 
GeneralCan't read help file.memberMichael Fogle21 Sep '06 - 5:58 
GeneralRe: Can't read help file.memberdaniel04921 Sep '06 - 6:07 
GeneralRe: Can't read help file.memberMichael Fogle21 Sep '06 - 6:12 
GeneralRe: Can't read help file.memberMember 73093922 Mar '08 - 11:52 
GeneralThanks for excellent workmemberTunca Bergmen14 Apr '06 - 2:35 
GeneralRe: Thanks for excellent workmemberdaniel04914 Apr '06 - 8:10 
GeneralNetwork Streamingmemberduzinga17 Mar '06 - 21:23 
GeneralRe: Network Streamingmemberdaniel04918 Mar '06 - 7:27 
GeneralRe: Network Streamingmemberduzinga21 Mar '06 - 14:41 
GeneralRe: Network Streamingmemberdaniel04923 Mar '06 - 2:27 

General General    News News    Suggestion Suggestion    Question Question    Bug Bug    Answer Answer    Joke Joke    Rant Rant    Admin Admin   

Permalink | Advertise | Privacy | Mobile
Web04 | 2.6.130516.1 | Last Updated 6 Oct 2005
Article Copyright 2005 by daniel049
Everything else Copyright © CodeProject, 1999-2013
Terms of Use
Layout: fixed | fluid