Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

"Fake" DirectShow video capture device

This is tangential to the last few questions I've asked.

I need to get video from an IP webcam (SNC-RZ25N) to Flash Media Server. I'd rather not have to use Windows, but if it makes things easier, I will. (Flash Media Live Encoder is a Windows only program.)

I've considered many different routes from point A to point B, but it seems like the easiest might be to just use Flash Media Live Encoder to publish to Flash Media Server. Then the only gap I have to bridge is getting a video source readable by Flash Media Live Encoder.

Of course, my source is on the network and FMLE looks for a "Microsoft DirectShow compatible video capture device". I have found a not-free SDK ( http://www.e2esoft.cn/vcam/vcamsdk.asp ) that should allow me to spoof such a device and hopefully send the camera stream to FMS.

Does anyone know of a different program or SDK I should be using? Am I making things more complicated than they need to be?

like image 889
Jonathan Hawkes Avatar asked Sep 04 '09 00:09

Jonathan Hawkes


2 Answers

It's really not that hard to turn a DirectShow source filter into a capture device. You need to register the filter in the right category, and implement IKsProperty to report the right category on the output pin.

Take a look at Vivek's capture source filter example at http://tmhare.mvps.org/downloads.htm

G

like image 140
Geraint Davies Avatar answered Nov 02 '22 02:11

Geraint Davies


Roman's "IP Video source" directshow relay may do the job: http://alax.info/blog/1223

Also if you want to write you own, you could base off https://github.com/rdp/screen-capture-recorder-to-video-windows-free it overcomes one bug vivek's has with flash player: http://social.msdn.microsoft.com/Forums/en/windowsdirectshowdevelopment/thread/e02d7ac9-5dfe-4f9d-8ce5-4bb73badb6ed

So basically you need to implement IAMStreamConfig, and IKsProperty set in the pin, pass IKsProperty queries down to the pin, and specify PIN_CATEGORY_CAPTURE I guess, maybe some of that you don't need...

like image 1
rogerdpack Avatar answered Nov 02 '22 02:11

rogerdpack