[Ffmpeg-devel] directshow grab device?

Ramiro Ribeiro Polla ramiro
Mon Apr 23 21:41:12 CEST 2007


Hello,

Aaron Griffin wrote:
> On 4/20/07, Ramiro Ribeiro Polla <ramiro at lisha.ufsc.br> wrote:
>> Hello,
>>
>> Aaron Griffin wrote:
>> > Hey all,
>> > I've looked through the archives, though not exhaustively, but I can't
>> > seem to find a windows based grab device for libavformat besides
>> > drffmpeg.
>> >
>> > I'm curious if anyone has actually done work on this, and if the
>> > ffmpeg people would be interested in this.  The reason being that I am
>> > currently writing a (commercial) app which does just this, and I was
>> > debating doing the reverse of ffdshow - that is, convert directshow
>> > style to ffmpeg, and not ffmpeg style to directshow.
>> >
>> > Has anyone done any work in this regard and/or would be interested in
>> > it if I were to throw something together?
>> >
>> I did VFW capture, and sent an unfinished patch to the mailinglist
>> earlier on this year (probably january or february).
>> I gave up on it, but it's being used somewhere in bbc.co.uk. I don't
>> have the final version anymore, it's somewhere on my older shut down
>> computer. I'd have to bring it back up...
>
> Yeah, but the biggest hurdle here is that VFW dies with Vista.  In
> most of my tests, VFW seems to actually be more performant for
> grabbing raw frames.  *sigh*
>

That's too bad... VFW is simpler, and I think it should be implemented, 
even if it dies with Vista. DirectShow support could also be added 
independently of VFW though.

>> If you can really convert directshow style to ffmpeg, that would be
>> nice. It will be hard though, since directshow style is quite ugly for
>> ffmpeg's standards. Also, remember that the code must compile on MinGW,
>> not MSVC++. When I tried that with MinGW, I had to change a bunch of
>> stuff in dshow.h.
>
> Actually, the plan was to use wine's DirectShow headers, as they
> nicely wrap COM into C style, so it doesn't force C++ usage, which
> would be bad news in ffmpeg.
>
If you can stick with C, that would be very good. The only C++ file in 
FFmpeg is for BeOS, and I'm not sure we want any more.
Even if it means that --enable-muxer=dshow depends on some external 
library (like wine's DirectShow headers). We'll just have to check on 
configure...

[...]

Ramiro Polla




More information about the ffmpeg-devel mailing list