VideoHelp Forum
+ Reply to Thread
Page 2 of 3
FirstFirst 1 2 3 LastLast
Results 31 to 60 of 65
Thread
  1. Member
    Join Date
    Feb 2023
    Location
    Canada
    Search Comp PM
    Thank you for making this, it is awesome.

    Here is some compiled advice for anyone else that stumbles upon this thread (it was one of the first results for "QTGMC easy" on Google by the way OP, nice!). I had never used this software before and discovered all this in the last couple hours with the help of this thread.

    Tip 1: Enable Multithreading to speed it up substantially.
    If you have a modern computer you can substantially increase performance by enabling multithreading. To quote RogerTango from the previous page:

    Originally Posted by RogerTango View Post
    Adding this as the first line of QTGMC.AVS:
    Code:
    SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
    ... and adding this as the last line of QTGMC.AVS:
    Code:
    # Enable MT!
    Prefetch(4)
    Will enable multithreading. Using "Faster" QTGMC preset, I went from encoding 40fps to encoding 123fps.

    HTH,
    Andrew


    Reference:
    http://avisynth.nl/index.php/SetFilterMTMode
    Where the prefetch is (4), you can put however many logical processors you want to use. I'm on a R9 5900X 12c/24t and put 18 which took me from 120 FPS with the default settings to 490 FPS. It'll rip through a 90 minute video in about 10 minutes.


    Tip 2: QTGMC Presets
    You can easily change the preset from the default "faster" to whatever one you want. The slower ones theoretically look better but also run slower.

    Here is a comparison someone did: http://macilatthefront.blogspot.com/2021/03/lets-test-qtgmc-settings.html

    I settled on "medium". It brought me down from 500 FPS to 300 FPS but the edges look a little smoother and sharper to me and it's still pretty fast.

    Just replace "QTGMC(preset="Faster")" with "QTGMC(preset="Medium")" or whatever you want to use.


    Tip 3: Disable FPS doubling.
    By default, QTGMC will create a progressive frame from each interlaced frame, and thus double the framerate of your video. For example if the interlaced video is 24 FPS, it will come out of QTGMC at 48 FPS. This is cool, but if you want to disable this so the output video is the same as the input (24 FPS in -> 24 FPS out) you can add this line underneath the QTGMC (Preset="Medium") line.

    SelectEven()
    I tend to do this if I'm feeding them into Topaz Video AI afterwards, as it'll take twice as long if there are twice as many frames and Topaz already takes a real long time. Double FPS is nice too though.


    Tip 4: Check that your source is actually interlaced.
    Depending on the source of your video, it might already be de-interlaced (poorly).

    The video that got me on this QTGMC ride had actually already been deinterlaced, so when I ran QTGMC using the default settings it looked pretty bad and not how you would expect it to.

    I made a 2nd file called "repair.avs". You can run it the same way as the normal QTGMC.avs. You could also just replace the bottom part of QTGMC.avs with the bottom part from the below.

    This script does 2 passes of "damage repair" de-interlacing on already progressive video. I would recommend trying this if your video is progressive, or if you think it's interlaced but it comes out looking bad with the default settings.

    #Enable MT
    SetFilterMTMode("DEFAULT_MT_MODE", MT_MULTI_INSTANCE)
    #QTGMC portable script - Faster mode
    #Tested with Avisynth+ 3.7.2(r3661) 64 bits and FFMPEG 5.1.2-full_build-www.gyan.dev 2022-09-26
    #To know more about AviSynth go to : http://avisynth.nl/
    #To know more about FFmpeg go to : https://ffmpeg.org/

    #FFmpegSource v2.40 plugin : http://avisynth.nl/index.php/FFMS2
    #To know more bout loading video files in Avisynth : http://avisynth.nl/index.php/FAQ_loading_clips
    LoadPlugin("ffms2.dll")
    #MaskTools2 v2.2.30 plugin : http://avisynth.nl/index.php/Masktools2
    LoadPlugin("masktools2.dll")
    #Rgtools v1.2 plugin : http://avisynth.nl/index.php/RgTools
    LoadPlugin("Rgtools.dll")
    #MVTools v2.7.45 with depans v20210608 plugin : http://avisynth.nl/index.php/MVTools
    LoadPlugin("mvtools2.dll")
    #Nnedi3 v0.9.4.61 Plugin : http://avisynth.nl/index.php/Nnedi3
    LoadPlugin("nnedi3.dll")
    #Yadifmod2 v0.2.7 Plugin (ONLY for Ultra Fast setting mode in QTGMC) : http://avisynth.nl/index.php/Yadifmod2
    LoadPlugin("yadifmod2.dll")
    #FFT3DFilter v2.10 Plugin (ONLY for Very Slow and Placebo modes) : http://avisynth.nl/index.php/FFT3DFilter
    LoadPlugin("fft3dfilter.dll")
    #LoadDLL v10.7 Plugin (ONLY for Very Slow and Placebo modes) : http://avisynth.nl/index.php/LoadDLL
    LoadPlugin("LoadDLL.dll")
    #Loading libfftw3f-3.dll (ONLY for Very Slow and Placebo modes) : https://www.fftw.org/
    LoadDLL("libfftw3f-3.dll")
    #Zs_RF_Shared v1.159 script : http://avisynth.nl/index.php/Zs_RF_Shared
    Import("Zs_RF_Shared.avsi")
    #QTGMC v3.383s script : http://avisynth.nl/index.php/QTGMC
    Import("QTGMC.avsi")
    #Opening of video file (the video file opened here is "in.mp4" and it has NO audio tack, you must replace "in.mp4" by the name of your video file)
    #FFMpegSource2("in.mp4")
    #Opening of video file (the video file opened here is "in.mp4" and it has an audio track, you must replace "in.mp4" by the name of your video file)
    FFMpegSource2("in.mp4",atrack=1)
    #Converion to YV12 color format: http://avisynth.nl/index.php/ConvertToYV12
    ConvertToYV12()
    #Applying QTGMC in Medium mode
    t = QTGMC( Preset="Medium", InputType=2 )
    b = QTGMC( Preset="Medium", InputType=3, PrevGlobals="Reuse" ) # Reuse motion vectors from first call for a good speed-up
    Repair( t, b, 1 )

    # Enable MT using 18 cores (logical, not physical)!
    Prefetch(18)
    Note that if you're using a progressive input, and you do "SelectEven()" as mentioned in tip #3, you'll end up with a video that is actually half FPS which you probably don't want (24 FPS in -> 12 FPS out). Thus it is not included here.

    So that's all I've got. Thanks again to OP and RogerTango for all the information, I just figured I'd compile it into one post and try to explain the things that confused me.
    Last edited by Smell; 8th Feb 2023 at 18:49.
    Quote Quote  
  2. Member RogerTango's Avatar
    Join Date
    Nov 2007
    Location
    United States
    Search Comp PM
    Originally Posted by Smell View Post
    Thank you for making this, it is awesome.

    Here is some compiled advice...
    I read through your post and wanted to thank you for your contributions! I know I wont be the only one to appreciate it!

    Take care,
    Andrew
    Quote Quote  
  3. Member RogerTango's Avatar
    Join Date
    Nov 2007
    Location
    United States
    Search Comp PM
    Also, I may have to re-visit the QTGMC project with my "newly acquired" Python programming skills, and show how to incorporate 2 pass FFMPEG LOUDNORM filter, which in my opinion, has been far better than any other COMPAND or volume "limiting" filter to date, the wife and I (both in our 50's) are able to *enjoy* watching a program or movie with one set volume level and not have loud bangs and barely audible voice...

    Andrew
    Quote Quote  
  4. Presumably one is calling QTGMC() to deinterlace the video. So that the ConvertToYV12() just before calling QTGMC() should be ConvertToYV12(interlaced=true).
    Quote Quote  
  5. Member
    Join Date
    Feb 2023
    Location
    Canada
    Search Comp PM
    Originally Posted by jagabo View Post
    Presumably one is calling QTGMC() to deinterlace the video. So that the ConvertToYV12() just before calling QTGMC() should be ConvertToYV12(interlaced=true).
    Makes sense to me. I'll change that post.

    EDIT: Actually my only script post in this thread was the repair one which is for progressive anyway so I'll leave how it is. I'll try ConvertToYV12(interlaced=true) next time I'm using the normal script though.
    Quote Quote  
  6. Originally Posted by Smell View Post
    Originally Posted by jagabo View Post
    Presumably one is calling QTGMC() to deinterlace the video. So that the ConvertToYV12() just before calling QTGMC() should be ConvertToYV12(interlaced=true).
    Makes sense to me. I'll change that post.

    EDIT: Actually my only script post in this thread was the repair one which is for progressive anyway so I'll leave how it is. I'll try ConvertToYV12(interlaced=true) next time I'm using the normal script though.
    Sorry, I should have specified: I was referring to the qtgmc.avs scripts in Hunk91's archives in his original post. He's simply calling QTGMC() with no arguments -- so he's deinterlacing the video, not cleaning progressive frames.

    People may not have seen the the problem because the video they imported was already YV12 -- ConvertToYV12() does nothing if the video is already YV12. But if the source is something else (YUY2, RGB, etc.) leaving out the "interlaced=true" will blend the chroma of the two fields together and lead to obvious artifacts:

    Image
    [Attachment 70403 - Click to enlarge]


    The frame should have looked like:

    Image
    [Attachment 70404 - Click to enlarge]
    Quote Quote  
  7. Hi Smell and jagabo, Thank you both for your replies and for compiling Andrews advices and also additional informations.
    The aim of this pack is to bring people a simple way to have and use QTGMC. So I stayed really simple with the syntax of the script. People who want to use the full power of QTGMC need to document themselves on the avisynth wiki page.


    QTGMC is anounced as a deinterlacer, event if it's doing more (noise reducer, etc...). So this is why this pack is intended for. But as you can see, there is avisynth+ incluses so you can do even more things related to it not only using QTGMC.

    I think the main problem with this pack is I'm adding a progressive video, and the script is opening it. It would be better if I could add an interlaced video. If some one have a link to a free, public domaine, interlaced video that I could add to the pack this would be of great interest.

    Please have all a nice day

    Best regards
    Last edited by Hunk91; 18th Apr 2023 at 12:04.
    Quote Quote  
  8. Member RogerTango's Avatar
    Join Date
    Nov 2007
    Location
    United States
    Search Comp PM
    Well, I played with QTGMC-Easy for a while, and then moved on... I was using FFMPEG's "built in" deinterlace filter by calling Nvidia/CUDA YADIF, which looked real good and was FaSt!

    However at the end of the day, it still did not do as well as QTGMC, so I have gone back to using it for deinterlace, and for progressive source too (QTGMC has the details in the RTFM) so the video is denoised and sharpened to good results.

    My encode FPS took a hit, but I think its worth it to have better end quality.

    I am encoding my personal library from VOBs to HEVC/MP4 using DGIndex and FFMPEG and streaming from a NUC running Jellyfin, the wife can easily watch what she wants on the Roku with Jellyfin, which has a GREAT visual interface and is easy for her to navigate. The whole VOB to MP4 process is executed with Python, since DOS batch cant do what Py can do!!


    Thats all for now, thanks much!
    Andrew
    Quote Quote  
  9. Member RogerTango's Avatar
    Join Date
    Nov 2007
    Location
    United States
    Search Comp PM
    Code:
    QTGMC(Preset="Medium",InputType=1)
    InputType tells QTGMC the source is progressive.
    Quote Quote  
  10. Also, you can try my scripts: https://app.mediafire.com/wrpd1f5ayoavb (FFMPEG-YOUTUBE-BATCH-SCRIPTS_WITH_UTILITIES.zip). Run "set-template.bat", type "2" and press Enter to select "QTGMC Template" or just edit TEMPLATE-1/2.TXT. Drag and drop mediafile or directory on the "generate-avs-encode-drag-and-drop.bat" and encoding will begin.
    "generate-avs-drag-and-drop.bat" - generate template based .avs scripts to the "GENERATED_SCRIPTS" directory by drag and drop mediafile or directory on this script.
    "encode-avs-scripts-or-drag-and-drop.bat" - by normal running encodes the videos from the generated scripts in "GENERATED_SCRIPTS" directory or just reencodes drag and dropped on it mediafile without using AviSynth.
    Quote Quote  
  11. Hello,
    Could you please guide me so that I don't understand whether the QTGMC is working or not on my machine? As I followed your folder with instructions but don't know if is it working or not.
    I am stuck on it please help!!!
    Quote Quote  
  12. Can anyone help me I don't understand whether my QTGMC AviSynth+ is working or not in Windows 11 because i don't see any difference in the video using QTGMC.
    Quote Quote  
  13. Hi !
    First, do you know how to launch a command shell and how to use FFmpeg ?
    Last edited by Hunk91; 20th Sep 2023 at 14:41.
    Quote Quote  
  14. Member
    Join Date
    Mar 2008
    Location
    United States
    Search Comp PM
    Originally Posted by Sach3932 View Post
    Can anyone help me I don't understand whether my QTGMC AviSynth+ is working or not in Windows 11 because i don't see any difference in the video using QTGMC.
    Post your complete script
    Quote Quote  
  15. Hi Hunk91,
    Yes I know about command shell and but not about ffmpeg
    Quote Quote  
  16. Hi davexnet,
    Iam using the following script
    SetFilterMode('QTGMC','2')
    FFMpegSource2('XXX', atrack=1)
    ConvertToYV12()
    QTGMC(Preset='faster')
    Prefetch(10)
    But I wanted to know that this QTGMC is it working on only interlaced videos or is it ok to make little bit sharpen the any video?
    Quote Quote  
  17. It works for interlaced vidéos, as well as progressive.
    If your video is interlaced, you should have doubled the framerate if QTGMC is working.
    For sharpening, you will have to add an external sharpening filter. Check on avisynth website to fins à sgarpening filtrer that suis you.
    Quote Quote  
  18. Hello Hunk91
    I tried your script with the progressive videos but not getting any effect in that video I don't understand how they differentiate between before and after video QTGMC I don't see any difference infacts the video got some noisy or dull quality
    Quote Quote  
  19. You can try "Very Slow" mode instead of "Faster".
    And you should set the compression parameters for FFmpeg as the one I provided are "automatic" and may not be appropriate for the quality you seek.

    Please read on Ffmpeg website to knwo more and also about QTGMC on avisynth webpage.

    Best regards
    Quote Quote  
  20. How do we identify that videos is being compressed by QTGMC?
    Also I have grab all the code from your zip extract it and add the choice of my video but not getting any effect on that. And I have read one article where they mention QTGMC+AIE video-name file what it indicates?
    Quote Quote  
  21. As per your thoughts or suggestions Preset 'faster' is not suit for my video?
    Thank you for your help
    Quote Quote  
  22. QTGMC is a "filter", it does not compress. It applies filtering effects according to the mode you set. Faster mode processes less things than Very Slow mode.
    FFmpeg does the compression.
    Last edited by Hunk91; 21st Sep 2023 at 03:39.
    Quote Quote  
  23. Do I need to use both ffmpeg and QTGMC for my 480p very poor quality video to make it better?
    How much time it will take with Very Slow preset for 30+min video or movie?
    Quote Quote  
  24. QTGMC uses Avisynth. So you can use QTGMC with every softwares which are compatible with Avisynth.
    In your case I would recommend Virtualdub, but you will have to install Avisynth, not this version.
    Quote Quote  
  25. Thank you for your cooperation.
    I already installed Avisynth+ 64 bit with necessary plugins along with VirtualDub2 in my machine but as I said when I add the script and make the changes but no changes will shown un VirtualDub2 preview
    Quote Quote  
  26. You should open a new thread in the processing forum with à short sample of your video. Others may help you to improve the processing of your video.
    Quote Quote  
  27. Could you please guide me what should I do like I'll try to use QTGMC very slow preset and will upload the screenshot so you can understand my concern and you will probably provide a solution to it. For looking much better that video.
    Quote Quote  
  28. Originally Posted by Sach3932 View Post
    Thank you for your cooperation.
    I already installed Avisynth+ 64 bit with necessary plugins along with VirtualDub2 in my machine but as I said when I add the script and make the changes but no changes will shown un VirtualDub2 preview
    Post your entire script.
    Quote Quote  
  29. SetFilterMTMode("QTGMC", 2)
    FFmpegSource2("Interlaced Sample VHS.mp4", atrack=1)
    ConvertToYV12()
    AssumeBFF()
    QTGMC(Preset="Very Slow", EdiThreads=3)
    #Spline64Resize(720, 540)
    Spline64Resize(1920,1080)
    Prefetch(10)
    Image Attached Files
    Quote Quote  
  30. SetFilterMTMode("QTGMC", 2)
    FFVideoSource("McCartney-MPEG2_1080-interlaced_sample.mkv")
    ConvertToYV12(interlaced = true)
    AssumeTFF()
    QTGMC(preset="slow", EdiThreads=3, matchpreset="slow", matchpreset2="slow", fpsdivisor=2, sourcematch=3, tr1=2, tr2=1, NoiseTR=2, sharpness=1.2)
    Spline64Resize(1920,1080)
    Prefetch(10)

    BUt still not getting the proper result
    Image Attached Thumbnails Click image for larger version

Name:	Before QTGMC.png
Views:	44
Size:	1.78 MB
ID:	73958  

    Click image for larger version

Name:	After QTGMC.png
Views:	67
Size:	2.50 MB
ID:	73959  

    Quote Quote  



Similar Threads

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