1

I am working on project where I need to read a USB camera's input, put some effects on it and then send that data to a virtual camera so it can be accessed by skype etc.

I have compiled and used the vcam filter. I was also able to make a few changes in FillBuffer method. I now need to know that is it possible to send data to vcam filter from another application or do I need to write another filter.

Roman R.
  • 68,205
  • 6
  • 94
  • 158
Ahmed_Faraz
  • 615
  • 4
  • 25

1 Answers1

1

The vcam project you currently have as a template is the interface to other video consuming applications like Skype, those which use DirectShow API to access video capture devices and match in platform/bitness with your filter.

You are responsible for developing the rest of the supposed filter: you either access real device right in your filter (simplifying the task greatly, this is what you fill your FillBuffer with, the code that generates video from another source), or alternatively you are to implement interprocess communication so that FillBuffer implementation could transfer data from another application.

Nethier vcam nor any of standard DriectShow samples offer functionality to cover interprocess communication, and you might also need to deal with other complications: one application and multiple instances of filters to consume video, platform mismatch etc.

See also:

Roman R.
  • 68,205
  • 6
  • 94
  • 158
  • R. Ok i get your point that I have to access the device in my filter code. Actually I am very new at directshow programming so I would really appreciate if you provide a link to some sort of tutorial or a guideline on how to achieve this task – Ahmed_Faraz Oct 31 '17 at 04:19
  • @Ahmed_Faraz: There is no tutorial that I am aware of. – Roman R. Oct 31 '17 at 18:21
  • https://www.youtube.com/playlist?list=PLF1D11B73A3D6A7F4 This lecture series on directshow helped me a lot in understaing the basics of directshow – Ahmed_Faraz Nov 02 '17 at 11:59
  • 1
    @Ahmed_Faraz: It is a great find indeed, however please post this where it is on topic. – Roman R. Nov 02 '17 at 12:05