PDA

View Full Version : VirtualVCR crashes with ffdshow


ADLANCAS
8th March 2004, 03:46
Hi, I´ve posted the same post in ffdshow development (see below), but maybe someone has some idea to help me here.
http://forum.doom9.org/showthread.php?s=&postid=455401#post455401
I´m trying to use VirtualVCR with ffdshow to filter during capture.
The only version that "works" is ffdshow-20030523. I´ve tested all versions (in Athos site) from this date and crashes in ffdshow.ax.
I said that version from may "works" because after my tests with success I disabled ffdshow but in someway it continue to works. For example, I captured using 704x480 and resize in ffdshow to 352x480. After that I disabled ffdshow but resizes still working! The only way to make VirtualVCR works correctly again was to unninstall ffdshow.
Is there a way to fix?

Thanks for any help.

Alexandre

Inc
8th March 2004, 11:29
May not the right answer to your question but....

Why using FFdshow for on-the-fly processing?

a) What codec do u use to encode while capturing to bring the capture on your HD?

b) Whats your capture device? Based on a WDM Driver?

c) Why not directly capturing at 352x480? (Well you would have done it if it would be possible ;-) ) ... so conclusion: why can't you capture at 352x480?

d) I assume you do resize to 352x480 before encoding while capture to safe CPU power ressources etc. but anyhow resizing to half width or any other postprocessing while capturing does need CPU power also, so why not keep that CPU power to capture at higher resolutions.
You can use avisynth afterwards to prepare that capture via frameserving for the choosen encoder.

e) There's also a directshow filter based separate! bicubic resizer avaiable which can be choosen in filter settings of VirtualVCR ... maybe you should try that one.

Inc.

ADLANCAS
8th March 2004, 15:44
Why using FFdshow for on-the-fly processing?
---> Basically to test if I can have “good” quality while increasing speed in later encoding (CCE) and saving HD space.

a) What codec do u use to encode while capturing to bring the capture on your HD?
---> Huffy and Mjpeg

b) Whats your capture device? Based on a WDM Driver?
---> Pinnacle PCTV (BT878) and latest WDM driver from Pinnacle. My system is XP Pro + all SPs.

c) Why not directly capturing at 352x480? (Well you would have done it if it would be possible ;-) ) ... so conclusion: why can't you capture at 352x480?
---> I can capture in 704 or 352. This is not the problem. I only try to resize for saving CPU power and space in HD. My intend is also to use filters, not only resize.

d) I assume you do resize to 352x480 before encoding while capture to safe CPU power ressources etc. but anyhow resizing to half width or any other postprocessing while capturing does need CPU power also, so why not keep that CPU power to capture at higher resolutions.
You can use avisynth afterwards to prepare that capture via frameserving for the choosen encoder.
---> It’s also a possibility. I started to test only yesterday and I don’t know yet what my CPU supports. Higher resolutions is always better. About avisynth, my comparing is between VVCR+ffdshow+avisynth+CCE and VVCR+avisynth+CCE.


e) There's also a directshow filter based separate! bicubic resizer avaiable which can be choosen in filter settings of VirtualVCR ... maybe you should try that one.
--->I don’t know. Which one? But I think that with my answers you can now understand that I’m trying to use more than a simple resize.

Thanks for your attencion,

Alexandre

Inc
8th March 2004, 16:30
To me your workout seems a bit complicated as you want to end up with a 352x480 anyway.

So my recommendation is defenitely to ged rif of pinnacles orig driver and do a clean install of the http://btwincap.sourceforge.net driver. Then you can choose VirtualDub or VirtualVCR as they got much more settings and good Audio-in-Sync options!

This driver also gives you the option to capture in YUY2 and 352x480 directly! without ffdshow post-resizement.
But as your Pinnacle Capt.Appl also allows that directly I do not understand why capturing full and resize via ffdshow, .... well follw my recommandations according to this and you`ll endup happy.

As you intend to use filters during capturing ....
I wouldn't do special filtering during the capturing process as this....

1. ... takes too much CPU power wich is followed by the risk to loose frames during encoding. If filtering is done afterwards there's no risk of loosing Frames.

2. and also you NEVER know before how the quality of the broadcasting will be you'r going to capture. Do you know how much noise it will got?? Do you know before how much sharpen you have to apply? etc. etc. etc.

So do your capture at 704x480 or if CPU power is too low for this, do capture in 352x480 directly, choosen in the capt.App. options NOT in ffdshow!
Afterwards do inspect your capture where you can decide WHICH filters have to be performed individual as every capture does base on individual quality broadcastings.

ADLANCAS
9th March 2004, 00:12
My source is VHS!
I´ve just encoded an example and measuring this encoding takes at least 30% in time less than before. Don´t you think that makes sense to try this process and compare with the "best way"? I think so!
Only to clarify my thoughts:
- make a sample and "measure" how much noise is in the tape;
- capture and filtering on-the-fly using avisynth (in a safety way as possible to avoid dropped frames);
- edit simple avisynth adjusting colors, sharp (if it´s necessary);
- encode (nearly 30% faster than a normal way).

I think this is not so complicated, at least for me.

In the final, maybe I´ll agree with you that this way is not good, but I have good reasons for at least test and verify.

Alexandre

Inc
9th March 2004, 00:33
Originally posted by ADLANCAS
[B]My source is VHS!......
- make a sample and "measure" how much noise is in the tape;.....

I couldn't smell that you do capture a VHS tape ;)
So thats a diff. approach ....

Greets
Inc.