Log in

View Full Version : ffdshow as video decoder when capture avi in virtualdub?


Milardo
27th January 2019, 19:30
Hi how does one use ffdshow as a decoder when viewing a live source in virtualdub? I don't want to capture anything I just want to view/watch the live source. I haven't found any info on this.

shekh
28th January 2019, 08:23
What is live source in your case? Some streaming protocol? I have no idea but for your second question: "capture avi" functionality is mostly the same in virtualdub/virtualdub2.
Virtualdub works with DirectShow sources: these are typically capture cards or web cameras, but software (called "source filter") can represent anything else.
Look here for example: http://umediaserver.net/components/download.html
WebRTC DirectShow source filter
RTSP DirectShow source filter
RTMP DirectShow source filter
I never tried this. They say the filters provide uncompressed streams, so to view the picture you would also need decoder filters. Here things may get complicated.

Milardo
28th January 2019, 09:35
My live source is a usb video capture device. I want ffdshow to decode the video. Some programs do this like mpc-hc, ffdshow can decode the video stream coming from the capture device. Is it possible in virtualdub to have ffdshow decode the video coming from the capture device without capturing anything?

shekh
28th January 2019, 10:08
Yes you can preview without recording. Usually capture device provides uncompressed preview so ffdshow is not needed (nothing to decode).

Milardo
28th January 2019, 17:32
Right I know I can preview without recording, but the question is will ffdshow or how can I get ffdshow to do the decoding in preview mode without recording/capturing anything, which is what i want to do.

shekh
28th January 2019, 17:42
Try to provide more details. What is your capture card, what are you capturing.
Your question implies the source is encoded, but encoded with what?
What have you already tried and what was the result?

Milardo
28th January 2019, 17:56
Capture card is a kworld gm220. Im not capturing anything. I am just watching the video sent to the card from my nintendo wii. This is in realtime. Nothing is encoded. I tried in regular virtualdub and the preview is fine but I want ffdshow to do the decoding of it. I can do this in mpc-hc and other programs like that. Again i just want to watch not do any capturing or recording.

shekh
28th January 2019, 18:07
What do you want ffdshow for? Apply some filters?

Milardo
28th January 2019, 18:50
Yes i want to apply filters by using ffdshow, so it is possible? Or not?

shekh
28th January 2019, 19:12
Not normally.
There is a workaround to insert arbitrary transform filter:
You need to create registry key "HKEY_CURRENT_USER\Software\VirtualDub.org\VirtualDub\Hidden features\CapDShow: Transform filter name"
I don't have ffdshow filter installed right now. If you understand what it all means try if you can setup this. Otherwise I'll add more instructions later.
You will need to run "preview" display mode, not "overlay".
Since you already achieve the same with mpc-hc, I'm wondering why you want another way?

Milardo
28th January 2019, 19:27
If I am using virtualdub portable version, will the registry entry still work?

I was using mpc-hc but virtualdub seems easier to use and has a few more options too like custom resolution for the source.

shekh
28th January 2019, 19:37
For portable put it in VirtualDub.ini

Milardo
28th January 2019, 19:49
put this "HKEY_CURRENT_USER\Software\VirtualDub.org\VirtualDub\Hidden features\CapDShow: Transform filter name" into virtualdub.ini? Anywhere in there is fine?

shekh
29th January 2019, 01:14
Yes, it works. Transform filter name is supposed to be "moniker name", took a bit of head scratching to find out what the f**k is that.
You need to add exactly these lines in VirtualDub.ini:


[User\Software\VirtualDub.org\VirtualDub\Hidden features]
"CapDShow: Transform filter name" = "@device:sw:{083863F1-70DE-11D0-BD40-00A0C911CE86}\\{0B390488-D80F-4A68-8408-48DC199F0E97}"


Put anywhere between existing sections, or at the very end.
Might look like this

[User\Software\VirtualDub.org\VirtualDub]
"VirtualDub" = 1

[User\Software\VirtualDub.org\VirtualDub\MRU List]
"MRUList" = "a"
"a" = "F:\\grass.mp4"

[User\Software\VirtualDub.org\VirtualDub\Hidden features]
"CapDShow: Transform filter name" = "@device:sw:{083863F1-70DE-11D0-BD40-00A0C911CE86}\\{0B390488-D80F-4A68-8408-48DC199F0E97}"

[User\Software\VirtualDub.org\VirtualDub\Window Placement]
"Main window" = [42 00 00 00 42 00 00 00 E2 05 00 00 45 03 00 00 01 00 00 00]



When installing ffdshow make sure to enable "directshow \ raw video processing" component.
If everything works, you can access settings from Video->Display menu, there you find all ffdshow filters.

Milardo
29th January 2019, 02:19
Yes that works for capture avi mode thanks. I used the first code you have.

However, i was using virtualdub 64 bit with ffdshow 32 bit so i decided to use virtualdub 32 bit and ffdshow can decode without the code.

Now my problem is getting SVP to recognize that ffdshow is working with virtualdub, ffdshow is running but svp just says "waiting for ffdshow video"

Wonder why it's not working?

shekh
29th January 2019, 10:32
Cant help with that, maybe someone else (try SVP forum).