VideoHelp Forum




+ Reply to Thread
Page 1 of 3
1 2 3 LastLast
Results 1 to 30 of 88
  1. Capturing Memories dellsam34's Avatar
    Join Date
    Jan 2016
    Location
    Member Since 2005, Re-joined in 2016
    Search PM
    I'm trying to work on some HDV files to put on YT so they don't get screwed up by YT de-interlacing algorithm, I'm taking the long way trying to preserve the quality, I want to know if there are quicker methods that result in less quality degradation, Here is what I'm doing so far:

    - Input the 4:2:0 1080i HDV file into vdub2 to strip the mpeg-2 codec saving as 4:2:2 HuffYUV AVI (not sure if 10bit can make a difference here, so I'm just using 8bit).
    - Input the resulting large file into AVSpmod and de-interlace with QTGMC in fast mode, followed by a resize in the second line from 1440x1080 to 1920x1080 to preserve the 16:9 aspect ratio.
    - Upload the second resulting file into YT and let it do the encoding.
    - Delete all the files but the original HDV source.
    Quote Quote  
  2. What's the final output format?
    You should be able to open the original HDV file with an Avisynth script in VirtualDub2 or AvsPmod and re-encode and de-interlace/resize in one step, without the need for an an intermediate lossless file.
    Last edited by hello_hello; 4th Aug 2026 at 18:39.
    Quote Quote  
  3. Member pchan's Avatar
    Join Date
    Mar 2003
    Location
    Singapore
    Search Comp PM
    Just sharing what I have done to de-interlace a video clip taken from a Sony DSC-HX20V camera in 1440x1080i (16:9) 25fps AVC(h.264) to 1440x1080p (16:9) 25 fps HEVC(h.265). I am not an expert so I use Google AI for the ffmpeg preset.

    C:\Users\pc_name\Desktop\Video_apps\ffmpeg-win64\bin\ffmpeg -i C:\Users\pc_name\Desktop\00010.MTS -vf "bwdif=mode=0arity=0" -c:v libx265 -crf 23 -preset medium -tag:v hvc1 -c:a copy -sn C:\Users\pc_name\Desktop\output.mp4

    Some how that stupid sign () is messing up the preset string. Just replace it with : and p. Please refer to his image.
    Image
    [Attachment 93284 - Click to enlarge]


    You may need to change the directory settings.
    ffmpeg = C:\Users\pc_name\Desktop\Video_apps\ffmpeg-win64\bin\
    source file = C:\Users\pc_name\Desktop\
    output file = C:\Users\pc_name\Desktop\

    If you need to speed things up, then you can ask Google AI for QSV(Intel CPU) and Nvidia(GPU) for hardware acceleration preset.

    I feel this is a cleaner approach. But I could be wrong.
    BTW, I notice that youtube is using AVC 1920x1080p. Just launch google in AI mode and post the above preset and request for 1920x1080p in AVC format output.
    Image
    [Attachment 93285 - Click to enlarge]

    Image
    [Attachment 93286 - Click to enlarge]
    Last edited by pchan; 4th Aug 2026 at 18:57.
    Quote Quote  
  4. Capturing Memories dellsam34's Avatar
    Join Date
    Jan 2016
    Location
    Member Since 2005, Re-joined in 2016
    Search PM
    Originally Posted by hello_hello View Post
    What's the final output format?
    You should be able to open the original HDV file with an Avisynth script in VirtualDub2 or AvsPmod and re-encode and de-interlace/resize in one step, without the need for an an intermediate lossless file.
    AVSPmod would not open the original mpeg-2 file, It doesn't tell me the reason why.
    Quote Quote  
  5. Capturing Memories dellsam34's Avatar
    Join Date
    Jan 2016
    Location
    Member Since 2005, Re-joined in 2016
    Search PM
    Originally Posted by pchan View Post
    Just sharing what I have done to de-interlace a video clip taken from a Sony DSC-HX20V camera in 1440x1080i (16:9) 25fps AVC(h.264) to 1440x1080p (16:9) 25 fps HEVC(h.265). I am not an expert so I use Google AI for the ffmpeg preset.
    My HDV files are tape based, so they are in mpeg-2 not h.264.
    Quote Quote  
  6. Originally Posted by dellsam34 View Post
    Originally Posted by hello_hello View Post
    What's the final output format?
    You should be able to open the original HDV file with an Avisynth script in VirtualDub2 or AvsPmod and re-encode and de-interlace/resize in one step, without the need for an an intermediate lossless file.
    AVSPmod would not open the original mpeg-2 file, It doesn't tell me the reason why.
    Did you try to open it in AVSPmod with different source filters (LWLibavVideoSource(), BSSource, ffms2 ...)?
    Or if you have an Avisynth script you could open and run it in Vdub2 and skip AVSPmod.
    Last edited by Sharc; 5th Aug 2026 at 01:48.
    Quote Quote  
  7. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    Dellsam34, the procedure is correct and is what we have been promoting for years for YouTube uploads. Just few remarks:

    - as noticed by others, no need to generate an intermediate large uncompressed file, especially with a useless 4:2:2 colorspace conversion (that later requires migrating back to 4:2:0)

    - the preset "fast" for QTGMC may be not the optimal for quality (and I understand you are aiming at maximum quality)

    - you can then load (follow Sharc suggetions) the AviSynth script with QTGMC and nnedi3 and the rest in VirtualDub to generate the final lossless file to be loaded in YT, or you canf feed the script to ffmpeg configuring h264 at low CRF if you prefere a small (but compressed) file to upload, with marginal degradation in the final video. Apparently you are not sensitive to big file creation so I would use the first

    - eventually consider upscaling to higer resolution to take benefit of the latest YT algorithms evolution
    Quote Quote  
  8. Member
    Join Date
    May 2005
    Location
    PAL User
    Search Comp PM
    Libav opens HDV after the usual flashing shenanigans, FFmpegSource2 opens it almost instantly; audio is in-sync.

    Eg FFmpegSource2("F:\Family Videos\2009\20090713 Ferris Wheel\FW.mpg", atrack=-1)
    Last edited by Alwyn; 5th Aug 2026 at 04:55.
    Quote Quote  
  9. New Guy On The Block The 14th Doctor's Avatar
    Join Date
    Feb 2025
    Location
    U.S.A
    Search PM
    Originally Posted by lollo View Post
    - eventually consider upscaling to higher resolution to take benefit of the latest YT algorithms evolution
    Will agree on that front, upscaling to at least 1440p so that your finalized YouTube upload using the VP9 codec. This is why I upscale all my content to 4K, even Blu-ray rips.
    Quote Quote  
  10. Originally Posted by Alwyn View Post
    Libav opens HDV after the usual flashing shenanigans, ....
    Some time is needed to produce the index file. So please be patient
    Quote Quote  
  11. Captures & Restoration lollo's Avatar
    Join Date
    Jul 2018
    Location
    Italy
    Search Comp PM
    Originally Posted by The 14th Doctor View Post
    Will agree on that front, upscaling to at least 1440p so that your finalized YouTube upload using the VP9 codec. This is why I upscale all my content to 4K, even Blu-ray rips.
    BR ok, but be careful with SD to do not introduce artifacts. I am not a big fan of upscale, but I do it the few times I upload to YouTube.
    Quote Quote  
  12. Member pchan's Avatar
    Join Date
    Mar 2003
    Location
    Singapore
    Search Comp PM
    Originally Posted by dellsam34 View Post
    Originally Posted by pchan View Post
    Just sharing what I have done to de-interlace a video clip taken from a Sony DSC-HX20V camera in 1440x1080i (16:9) 25fps AVC(h.264) to 1440x1080p (16:9) 25 fps HEVC(h.265). I am not an expert so I use Google AI for the ffmpeg preset.
    My HDV files are tape based, so they are in mpeg-2 not h.264.
    Assuming that you can import from tape to PC in HDV format then you can encode to the format that Youtube preferred. Youtube re-encodes all videos uploaded anyway. Use mediainfo(you can download from Videohelp) and tell Google AI your video format and request AI to give you the ffmpeg preset for Youtube video. If you encounter ffmpeg error, cut & paste it and ask AI for fix.
    Quote Quote  
  13. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by dellsam34 View Post
    I'm trying to work on some HDV files to put on YT so they don't get screwed up by YT de-interlacing algorithm, I'm taking the long way trying to preserve the quality, I want to know if there are quicker methods that result in less quality degradation, Here is what I'm doing so far:

    - Input the 4:2:0 1080i HDV file into vdub2 to strip the mpeg-2 codec saving as 4:2:2 HuffYUV AVI (not sure if 10bit can make a difference here, so I'm just using 8bit).
    - Input the resulting large file into AVSpmod and de-interlace with QTGMC in fast mode, followed by a resize in the second line from 1440x1080 to 1920x1080 to preserve the 16:9 aspect ratio.
    - Upload the second resulting file into YT and let it do the encoding.
    - Delete all the files but the original HDV source.
    No need for intermediate file:

    1. Create an AVS script:
    BSsource("input.mpeg2")
    ConverttoYUV422(bits=10, quality=true, interlaced=true)
    QTGMC(preset="slow")
    Lanczos4Resize(1920,1080)
    Lsfplus(preset="slow")
    PropSet("_SARNum", 1). PropSet("_SARDen", 1)
    ConverttoRGB(quality=true).ConverttoYUV420(bits=8, matrix="709:l", quality=true)
    Prefetch

    2. Check the AVS script in VDub.

    3. Compress the AVS file using FFmpeg:
    ffmpeg.exe -AviSynth_flags all -i input.avs your_settings output.mp4

    For better quality you can use Converttoyuv444 instead of YUV422.
    Last edited by rgr; 5th Aug 2026 at 03:50.
    Quote Quote  
  14. ^^^ Chroma upsampling/downsampling with 3 conversions (4:2:0 -> 4:2:2 -> RGB -> 4:2:0) on what purpose/benefit?
    Last edited by Sharc; 5th Aug 2026 at 09:20.
    Quote Quote  
  15. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    1. 422P10 - for more accurate processing when more filters are used (personally I would prefer YUV444P16 considering that later there will be resize and each pixel will "weigh" more)
    2. RGB->420 - converting to BT709 in AviSynth unfortunately requires going through RGB. With that bit depth, it doesn't matter.

    However, there is an error here, it should look like this:
    ConverttoRGB(quality=true,bits=16).ConverttoYUV420 (bits=8, matrix="709:l", quality=true)
    Last edited by rgr; 5th Aug 2026 at 13:31.
    Quote Quote  
  16. Originally Posted by rgr View Post
    2. RGB->420 - converting to BT709 in AviSynth unfortunately requires going through RGB. With that bit depth, it doesn't matter.
    Isn't the OP's 1080i HDV already 709? So no detour via RGB needed. I would leave it all in 4:2:0 anyway - and set the field parity before QTGMC() to prevent a surprise.
    Quote Quote  
  17. Member
    Join Date
    Aug 2026
    Location
    France
    Search Comp PM
    Originally Posted by rgr View Post
    2. RGB->420 - converting to BT709 in AviSynth unfortunately requires going through RGB. With that bit depth, it doesn't matter.
    ColorMatrix("Rec.601->Rec.709") does not require any RGB conversion!
    Quote Quote  
  18. I would agree on upscaling slightly to 1440p for YouTube uploads and use CAS() to slightly sharpen the footage after upscaling. I've also had to use MosquitoNR at very low settings to remove MPEG compression noise on HDV footage.
    Last edited by cbehr91; 5th Aug 2026 at 14:45.
    Quote Quote  
  19. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by video_fan View Post
    Originally Posted by rgr View Post
    2. RGB->420 - converting to BT709 in AviSynth unfortunately requires going through RGB. With that bit depth, it doesn't matter.
    ColorMatrix("Rec.601->Rec.709") does not require any RGB conversion!
    Yes, but ConvertToXXX with quality=true now operates in 32bit.
    And I haven't heard good things about ColorMatrix.
    But of course you can also use.
    Quote Quote  
  20. Member
    Join Date
    Aug 2026
    Location
    France
    Search Comp PM
    Originally Posted by rgr View Post
    Originally Posted by video_fan View Post
    Originally Posted by rgr View Post
    2. RGB->420 - converting to BT709 in AviSynth unfortunately requires going through RGB. With that bit depth, it doesn't matter.
    ColorMatrix("Rec.601->Rec.709") does not require any RGB conversion!
    Yes, but ConvertToXXX with quality=true now operates in 32bit.
    And I haven't heard good things about ColorMatrix.
    But of course you can also use.
    YUV <-> RGB is a lossy translation, so introducing it because wanting to work in 32bit is completely crazy
    Quote Quote  
  21. Member VWestlife's Avatar
    Join Date
    Mar 2026
    Location
    New Jersey, USA
    Search PM
    If you're going to upscale 1080i/1080p, you might as well just double it to 2160p.

    1440p makes sense for 480i/480p footage (3X upscale) or 720p footage (2X upscale).
    Quote Quote  
  22. Capturing Memories dellsam34's Avatar
    Join Date
    Jan 2016
    Location
    Member Since 2005, Re-joined in 2016
    Search PM
    Originally Posted by Sharc View Post
    Did you try to open it in AVSPmod with different source filters (LWLibavVideoSource(), BSSource, ffms2 ...)?
    Or if you have an Avisynth script you could open and run it in Vdub2 and skip AVSPmod.
    LWLibavVideoSource did the trick, Thanks
    Quote Quote  
  23. Capturing Memories dellsam34's Avatar
    Join Date
    Jan 2016
    Location
    Member Since 2005, Re-joined in 2016
    Search PM
    Originally Posted by VWestlife View Post
    If you're going to upscale 1080i/1080p, you might as well just double it to 2160p.

    1440p makes sense for 480i/480p footage (3X upscale) or 720p footage (2X upscale).
    Will consider that in the next file, Thanks.
    Quote Quote  
  24. Originally Posted by rgr View Post
    Originally Posted by video_fan View Post
    Originally Posted by rgr View Post
    2. RGB->420 - converting to BT709 in AviSynth unfortunately requires going through RGB. With that bit depth, it doesn't matter.
    ColorMatrix("Rec.601->Rec.709") does not require any RGB conversion!
    Yes, but ConvertToXXX with quality=true now operates in 32bit.
    And I haven't heard good things about ColorMatrix.
    But of course you can also use.
    Sidenote only: I usually prefer Avsresize (zlib) for such conversions.
    http://avisynth.nl/index.php/Avsresize
    Quote Quote  
  25. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by Sharc View Post
    Originally Posted by rgr View Post
    Originally Posted by video_fan View Post
    Originally Posted by rgr View Post
    2. RGB->420 - converting to BT709 in AviSynth unfortunately requires going through RGB. With that bit depth, it doesn't matter.
    ColorMatrix("Rec.601->Rec.709") does not require any RGB conversion!
    Yes, but ConvertToXXX with quality=true now operates in 32bit.
    And I haven't heard good things about ColorMatrix.
    But of course you can also use.
    Sidenote only: I usually prefer Avsresize (zlib) for such conversions.
    http://avisynth.nl/index.php/Avsresize
    I used z_ConvertFormat once and saw that the colors did not match perfectly with those before the conversion (601->709)
    Then I realized that zscale had severe bugs (and Avsresize is based on the same library), so it only confirmed to me that it was better not to use it.
    https://code.ffmpeg.org/FFmpeg/FFmpeg/issues/23026
    Quote Quote  
  26. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by video_fan View Post
    Originally Posted by rgr View Post
    Originally Posted by video_fan View Post
    Originally Posted by rgr View Post
    2. RGB->420 - converting to BT709 in AviSynth unfortunately requires going through RGB. With that bit depth, it doesn't matter.
    ColorMatrix("Rec.601->Rec.709") does not require any RGB conversion!
    Yes, but ConvertToXXX with quality=true now operates in 32bit.
    And I haven't heard good things about ColorMatrix.
    But of course you can also use.
    YUV <-> RGB is a lossy translation, so introducing it because wanting to work in 32bit is completely crazy
    For now, it is the most accurate. And yes, I'm still waiting for ConvertToYUV to enable accurate conversion without RGB. I guess it was supposed to work in current beta.
    Quote Quote  
  27. Member
    Join Date
    Aug 2026
    Location
    France
    Search Comp PM
    What? That bug is for changing color space. Here we can stay all way to 4:2:0

    For now, it is the most accurate.
    You must be fool, Chroma upsampling/downsampling with 3 conversions (4:2:0 -> 4:2:2 -> RGB -> 4:2:0) most accurate than ColorMatrix("Rec.601->Rec.709") ???

    Sorry to disturb but this is completely crazy
    Quote Quote  
  28. ^^^ This. And where/why does the 601 sneak in at all? I assume the OP's 1080i HDV files (post#1) were already in 709 to begin with .... so just leave it alone, no?
    Quote Quote  
  29. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by video_fan View Post
    What? That bug is for changing color space. Here we can stay all way to 4:2:0
    Staying within the narrowest possible range is the simplest and stupidest method to generate rounding errors using multiple filters.

    For now, it is the most accurate.
    You must be fool, Chroma upsampling/downsampling with 3 conversions (4:2:0 -> 4:2:2 -> RGB -> 4:2:0) most accurate than ColorMatrix("Rec.601->Rec.709") ???
    Math isn't your strong suit, is it?
    Quote Quote  
  30. Member
    Join Date
    Aug 2018
    Location
    Wrocław
    Search PM
    Originally Posted by Sharc View Post
    ^^^ This. And where/why does the 601 sneak in at all? I assume the OP's 1080i HDV files (post#1) were already in 709 to begin with .... so just leave it alone, no?
    And are there?
    Quote Quote  



Similar Threads

Visit our sponsor! Try DVDFab and backup Blu-rays!