digitalFAQ.com Forum

digitalFAQ.com Forum (https://www.digitalfaq.com/forum/)
-   Restore, Filter, Improve Quality (https://www.digitalfaq.com/forum/video-restore/)
-   -   Broken index with VirtualDub when capturing Avisynth (QTGMC) (https://www.digitalfaq.com/forum/video-restore/6880-broken-index-virtualdub.html)

Kugelfang 12-01-2015 11:42 AM

Broken index with VirtualDub when capturing Avisynth (QTGMC)
 
Hi,

i'm currently working on deinterlacing my captured VHS cassets using avisynth.
The source material was capttured using VDub and hhyuv as a codec.

For deinterlacing and cropping i a very basic avisynth script:

Quote:

AVISource("F:\XYZ.avi")
AssumeTFF()
QTGMC(Preset="slow", EdiThreads=4, EZDenoise=0.0)
crop(8,2,-12,-10)
AddBorders(10,6,10,6)

When opening this avisytn script with VDub everything works as expected. I'm able to freely move trough the file and jump to different parts. However, when trying to save the deinterlaced stream as avi (fast recompress, hhyuv) for further processing in a later stage i encounter several problems.

1) VDub does not finish the dub operation despite reaching 100% in the job monitor is still says processing
2) The resulting file features about twice the size (source 100GB, deinterlaced file 200GB) of the source (which of course is expected) however, the index seem to be broken.
3) trying to rebuild index with VDub results in only partial restoration of the first 8 minutes

It would be great if you could help me with this.

themaster1 12-01-2015 05:21 PM

that's most likely because vdub only support 2 threads officially. Try to process your file with AVSPMOD or use EdiThreads=2

Kugelfang 12-02-2015 12:55 AM

Thanks for the infut, I'll give it a try!

so, changing the ammount of threads did not help but using avs2avi worked like a charm, thanks a lot for the help!

EDIT: shoot, apparently i was wrong, the problem also accours with avis exported via avs2avi.... any other idears?

sanlyn 12-04-2015 02:43 PM

QTGMC works only with YV12, unless you're using the prescribed 2.5 version of masktools for YUY2. I don't see a conversion to YV12 in your script. If you somehow changed your input AVI to YV12 beforehand, huffyuv won't compress the output to YV12. Huff is RGB/YUY2 only.

Code:

QTGMC(Preset="slow", EdiThreads=4, EZDenoise=0.0)
The default preset for QTGMC is "slow". You don't need it in your script. It could be shorter as:
"QTGMC(EZDenoise=0)".
Unless you're using Avisynth MT or setting MTmodes, you should stay with QTGMC's default threads value.

Why are you deinterlacing?

Kugelfang 12-05-2015 05:43 AM

thanks for the input, the source material is:
Video: HFYU 720x576 25fps 62621kbps [V: huffyuv, yuv422p, 720x576, 62621 kb/s]
Audio: 2kbps [A: pcm_s16le, 96000 Hz, 2 channels, s16, 3072 kb/s]

the weird think is that if i load the AVS to virtual dub, i am able to pan around and play the matrial in deinterlaced format. the only think that does not work is to recapture it.

I'll give it another try with the shortened script as proposed.

Regarding why deinterlacing: i want to get the material into progressive format so my familiy can play it back on an ipad for instance.

Goldwingfahrer 12-05-2015 06:07 AM

1 Attachment(s)
Note however that since the iPad the sample rate at 48`000 Hz.
[Is just one example image]

lordsmurf 12-05-2015 06:39 AM

If the file is larger, it's probably now default lossless YUY2, not Huffyuv.

Kugelfang 12-05-2015 07:37 AM

Quote:

Originally Posted by lordsmurf (Post 40918)
If the file is larger, it's probably now default lossless YUY2, not Huffyuv.

thanks for the input but im afrait a cannot quite follow you. I captured the VHS using huffyuv as codec.

lordsmurf 12-05-2015 08:37 AM

You captured it Huffyuv, yes.

But you're re-encoding it when you deinterlace. That new file is probably not Huffyuv. You must specify the compression on VirtualDub. It doesn't automatically stay as a Huffyuv file.

Kugelfang 12-05-2015 08:51 AM

i did this, both when using VDub as well as when using avs2avi for capturing the AVS file

the weird thing is that with both programms the capture runns through but at the end it does stop with 0 fps, The resulting file features actually twice the size as the input which is perfectly expected, however i cannot open it. When using VDub to rebuild the index all i get is the first few minutes

sanlyn 12-05-2015 10:48 AM

Quote:

Originally Posted by Kugelfang (Post 40923)
i did this, both when using VDub as well as when using avs2avi for capturing the AVS file

the weird thing is that with both programms the capture runns through but at the end it does stop with 0 fps, The resulting file features actually twice the size as the input which is perfectly expected, however i cannot open it. When using VDub to rebuild the index all i get is the first few minutes

I'm confused by what "capture" means. If you have a huffyuv AVI made from a tape or other source, it's already a capture. Your script doesn't capture anything, it just decodes and deinterlaces the video. Avs2avi doesn't capture, either, it re-encodes to XVid. So...maybe "capture" isn't what you mean?

I'm guessing that what you want is to deinterlace and re-encode an existing huffyuv AVI to XVid (?). Anyway, I'd think that for iPad you'd want mp4. But I guess it doesn't matter, as long as the iPad can play XVid (That's a guess -- I don't use iPads).

Kugelfang 12-05-2015 11:11 AM

I'm sorry that i have confsed you, What i did is the following:

I captured my tapes with VDub using huffyuv as a codec. I now want to deinterlace this particular file using avisynth in such a fahion that the resulting file again is huffyuv so i can further process it with premiere. The actual encoding to an device specific formart (e.g. mp4 in mkv container) will be made via Premiere.

in short: Tape --[capture,Vdub]--> avi(huffyuv) --[deinterlaceing, avisynth]--> avi(huffyuv) --[editing,filtering,encoding,premiere]--> final file

sanlyn 12-05-2015 12:39 PM

I see. I don't know what kind of filtering one can do with Premiere, as it's not an accomplished app for VHS restoration. But it does have excellent color controls. Almost everything in Premiere works in RGB, but people tell me it's possible to do a few things with it in YUV. Because Premiere doesn't do such a great job of colospace conversion, I'd feed it RGB and keep it that way. When you encode, Premiere will encode to YV12.

I still don't know how you managed to get QTGMC to run in YUY2 without a colorspace conversion in your script to YV12 (as I said, a specific version of MaskTools is required for QTGMC in YUY2), but most people use it and other Avisynth filters in YV12. For your output, let Avisynth convert to RGB -- don't let Premiere do it on input. Also note that huffyuv won't compress YV12. If you want YV12 lossless compression at any output stage, use Lagarith instead of huffyuv.

I'd suggest this way:
Code:

AVISource("F:\XYZ.avi")
crop(8,2,-12,-10).AddBorders(10,6,10,6)
ConvertToYV12(interlaced=true)
AssumeTFF().QTGMC(EZDenoise=0.0)
ConvertToRGB32(interlaced=false)

Open the script in Virtual, then do this:
- From the "Video..." menu, go to "compression...", and select huffyuv.
- From the "Video..." menu, scroll down and turn on "fast recompress"
Then click "Save avi..." and enter a location and file name.

If you still have the same problems, I'd suspect something amiss with your huffyuv capture file.

Kugelfang 12-06-2015 10:56 AM

Thanks for your help, i'll give the proposed script a try and report back!

update --
Ok, so i didnt have so much time to make multiple tests but at least on one problematic file the proposed methode seems to work. I'll get back to you in case i encounter further problems. Thanks for your help!


All times are GMT -5. The time now is 11:44 PM

Site design, images and content © 2002-2024 The Digital FAQ, www.digitalFAQ.com
Forum Software by vBulletin · Copyright © 2024 Jelsoft Enterprises Ltd.