VideoHelp Forum
+ Reply to Thread
Page 3 of 6
FirstFirst 1 2 3 4 5 ... LastLast
Results 61 to 90 of 156
Thread
  1. Member The.King's Avatar
    Join Date
    May 2010
    Location
    The Dark Side of the Moon
    Search PM
    Originally Posted by poisondeathray View Post
    If you follow the earlier instructions by separating the fields, the field blends will become readily appearant
    Separating the fields previously was just another step that confused the life out of me. As I mentioned, it made my previous (input) screen shrink to half the height and it was very hard to see anything.

    Originally Posted by poisondeathray View Post
    Code:
    Mpeg2Source("VTS_01_VOBID_003_1 [clip for upload].d2v")
    AssumeTFF()
    QTGMC(preset="faster", sharpness=0.8)
    SRestore(25)
    The original frame rate was 25 (which make sense since it was original Irish TV program), it's field blended PAL to NTSC => 29.97
    Thank you so much for figuring that out for me - again, you're probably used to dealing with far more techy guys than me so although your code above makes more sense to me now than it did two weeks ago, (a) I haven't got a clue how you figured out that it was field-blended and (b) is your code above 'all' that is required? i.e. I'm trying to get to a point where I don't have to keep asking questions all the time and where replies start to make more sense to me. Selur did this previously, so I fully understood how to load & start the DGIndex process now, but your script seems too straightforward when nothing in this learning curve for me has been so far.


    Originally Posted by hello_hello View Post
    I don't have QTGMC installed so I can't add poisondeathray's script to MeGUI myself, but looking at poisondeathray's sample it obviously did a pretty good job of restoring it to the original 25fps.
    It certainly did and I suppose it's very easy when you know how. If I was using MeGUI for now - (while I'm trying to learn more about this process) where and when during the process do I load the likes of poisondeathray's script (after installing all of the QTGMC plugins in the avisynth 'plugin' folder) to ensure QTGMC is loaded during the encoding process and SRestor (25) is implemented?

    As ever, thank you all for your help and patience. It may be painfully slow (I appreciate that) but I am trying to understand all of this for the first time. Thanks again.
    Quote Quote  
  2. Originally Posted by The.King View Post
    Originally Posted by poisondeathray View Post
    If you follow the earlier instructions by separating the fields, the field blends will become readily appearant
    Separating the fields previously was just another step that confused the life out of me. As I mentioned, it made my previous (input) screen shrink to half the height and it was very hard to see anything.
    You can use other methods, you can use bob() instead and look at frames; but I think learning to look at fields will serve you better in the end - sometimes there are issues with fields that you can't easily see with frames . You have to understand what a field vs. frame is . A field is like a half frame. 2 fields make up a frame

    It would have been better to look at "normal" materal first. Once you learn to recognize "normal" patterns, then you can look at abnormal patterns such as this.



    (a) I haven't got a clue how you figured out that it was field-blended
    I followed the step by step instructions posted earlier . Fields shouldn't have blending (they should be "half frames",that's normal, but there should be no blending)

    (b) is your code above 'all' that is required?
    I didn't resize it like you did in your example, I encoded anamorphic with flags . You can add resize if you want to the end


    BTW you don't need QTGMC for this, any bobber will do. Even bob() or yadif(). But QTGMC will give better results
    Quote Quote  
  3. Member The.King's Avatar
    Join Date
    May 2010
    Location
    The Dark Side of the Moon
    Search PM
    Originally Posted by poisondeathray View Post
    I didn't resize it like you did in your example, I encoded anamorphic with flags.
    Can you please explain this? If I don't resize it etc. won't it come out in a 4:3 AR (considering it's 720x480 NTSC). How the hell do I encode it to 'anamorphic'? And what are 'flags'?
    Originally Posted by poisondeathray View Post
    You can add resize if you want to the end.
    BTW you don't need QTGMC for this, any bobber will do. Even bob() or yadif(). But QTGMC will give better results
    I'm assuming a 'bobber' is a deinterlacer, right?

    Where you have written bob() or yadif(), is anything supposed to go inside the () i.e. the location of my source or something, or do I just leave the command in the script as ()?

    Thanks.
    Quote Quote  
  4. Originally Posted by The.King View Post
    Originally Posted by poisondeathray View Post
    I didn't resize it like you did in your example, I encoded anamorphic with flags.
    Can you please explain this? If I don't resize it etc. won't it come out in a 4:3 AR (considering it's 720x480 NTSC). How the hell do I encode it to 'anamorphic'? And what are 'flags'?

    Well it will come out as 1.5 AR ,not 1.333 . Because 720/480 =1.5 if you assume "square pixels"

    The encoded frame size is 720x480 , but this one should be 16:9 . "flags" are aspect ratio signalling information that cause the video to "stretch" upon playback by the playback software or hardware player . You can think of it as "non square pixels"

    How do you think "normal" 16:9 or 4:3 NTSC DVD's are played back ? They use the same thing - aspect ratio flags to either squish it to 4:3 or stretch it to 16:9. DVD's don't use square pixels . So in square pixel eqivalents , 4:3 would be played back as 640x480 , 16:9 would be played back as 854x480

    You tell x264 to encode anamorphic by using the --sar flag
    http://mewiki.project357.com/wiki/X264_Settings#sar

    Originally Posted by poisondeathray View Post
    You can add resize if you want to the end.
    BTW you don't need QTGMC for this, any bobber will do. Even bob() or yadif(). But QTGMC will give better results
    I'm assuming a 'bobber' is a deinterlacer, right?
    Yes, but "bob" implies double rate deinterlacing (not single rate), where essentially each field becomes a frame . So a 29.97 frame per second or 59.94 field per sec. DVD would become 59.94 frames per second . Single rate would give you 29.97 frames per second


    Where you have written bob() or yadif(), is anything supposed to go inside the () i.e. the location of my source or something, or do I just leave the command in the script as ()?
    You have to get the correct field order, or you get jerky results (that's what that separate fields business is partially about)

    Either AssumeTFF().Bob() , or Yadif(order=1, mode=1) can replace the QTGMC line in this specific example (switches might be different for others)
    Quote Quote  
  5. Member The.King's Avatar
    Join Date
    May 2010
    Location
    The Dark Side of the Moon
    Search PM
    Originally Posted by The.King View Post
    If I was using MeGUI for now - (while I'm trying to learn more about this process) where and when during the process do I load the likes of poisondeathray's script (after installing all of the QTGMC plugins in the avisynth 'plugin' folder) to ensure QTGMC is loaded during the encoding process and SRestor (25) is implemented?
    Anyone got any idea on this - i.e. when I can add additional scripts/filters to a GUI command? I thought it would have been in the .avs file automatically generated by the GUI program (when it initially scanned the source file) but when I tried to add
    Code:
    AssumeTFF()
    QTGMC(preset="faster", sharpness=0.8)
    SRestore(25)
    after the source was first loaded, and I save the .avs file after making these changes, it doesn't seem to stick?
    Quote Quote  
  6. It's not that bad once you get the hang of it

    If the source was a "normal" Hollywood theatrical release or American TV series - basically anything in the last decade, megui, staxrip, autogk will get it rigth 99% of the time automatically.

    It would probably help you to go through some "normal" examples to get your feet wet. Just follow that guide, and if something doesn't make sense or doesn't fit those typical patterns , ask a question - that's how everyone learns

    It's only when you have messed up studio releases, or products that have gone multiple conversions - that everything goes to hell. Anime (especially older titles) is often like that . Any PAL<=>NTSC conversions are at high risk of that as well (there are other techniques than field blending for those conversions , but it's still commonly used)
    Quote Quote  
  7. Originally Posted by The.King View Post
    Originally Posted by The.King View Post
    If I was using MeGUI for now - (while I'm trying to learn more about this process) where and when during the process do I load the likes of poisondeathray's script (after installing all of the QTGMC plugins in the avisynth 'plugin' folder) to ensure QTGMC is loaded during the encoding process and SRestor (25) is implemented?
    Anyone got any idea on this - i.e. when I can add additional scripts/filters to a GUI command? I thought it would have been in the .avs file automatically generated by the GUI program (when it initially scanned the source file) but when I tried to add
    Code:
    AssumeTFF()
    QTGMC(preset="faster", sharpness=0.8)
    SRestore(25)
    after the source was first loaded, and I save the .avs file after making these changes, it doesn't seem to stick?


    What do you mean?

    There is an edit tab in megui. You can edit the script, and save it . Did that not work for you? You would have to reload the new avs script . You can even do this in notepad or avspmod, it would be faster

    If I were you, once you get comfortable making a basic script, I wouldn't even use megui for the script generation. It's a waste of time sitting there analyzing. Imagine doing that for a bunch of episodes, it adds up to hours wasted.
    Quote Quote  
  8. Member The.King's Avatar
    Join Date
    May 2010
    Location
    The Dark Side of the Moon
    Search PM
    Originally Posted by poisondeathray View Post
    You tell x264 to encode anamorphic by using the --sar flag
    http://mewiki.project357.com/wiki/X264_Settings#sar
    Jesus, it's intriguing just how much information is out there and how you know what to look for. I'd have never found that link in a million years.

    I'm assuming a 'bobber' is a deinterlacer, right?
    Originally Posted by poisondeathray View Post
    Yes, but "bob" implies double rate deinterlacing (not single rate), where essentially each field becomes a frame . So a 29.97 frame per second or 59.94 field per sec. DVD would become 59.94 frames per second . Single rate would give you 29.97 frames per second
    English would be good

    Originally Posted by poisondeathray View Post
    You have to get the correct field order, or you get jerky results (that's what that separate fields business is partially about)
    Either AssumeTFF().Bob() , or Yadif(order=1, mode=1) can replace the QTGMC line in this specific example (switches might be different for others)
    Seriously poisondeathray, I don't think you realise just how knowledgeable you really are with this stuff. You said back in an earlier post [#29] that you were scared to touch avisynth for years, so confusing at first. I think avisynth is scared of you now.

    I have ten 1.8gb .vob files to try and get through - instead of running (butchering) them through an automated GUI program. If I could upload one of them here, you'd probably have it figured out, sorted and anamorphic encoded in about 2 seconds. It's gonna take me months to figure this out. If I had a full script to apply to just one .vob - it would help me understand the process & field sequence order etc. a lot better. Like I said ages ago, one of you guys should be making a living out of this... maybe you already are
    Quote Quote  
  9. Originally Posted by The.King View Post

    Seriously poisondeathray, I don't think you realise just how knowledgeable you really are with this stuff. You said back in an earlier post [#29] that you were scared to touch avisynth for years, so confusing at first. I think avisynth is scared of you now.
    Honestly, I just know the basics, maybe a bit more. You should see the advanced hardcore stuff

    I like helping out because I struggled with it for a long time too, so I know what it's like to be completely lost. I don't have a computer or coding background - I'm more of a "click here" type of guy. I still struggle with lots of avisynth topics. But learning even these basics can be very useful in many situations , not just ripping DVD's and encoding . I avoided it like the plague in the past, but trust me - it's well worth the time investment. I'm kicking myself for not learning it earlier
    Quote Quote  
  10. Anyone got any idea on this - i.e. when I can add additional scripts/filters to a GUI command? I thought it would have been in the .avs file automatically generated by the GUI program (when it initially scanned the source file) but when I tried to add
    Code:
    AssumeTFF()
    QTGMC(preset="faster", sharpness=0.8)
    SRestore(25)
    after the source was first loaded, and I save the .avs file after making these changes, it doesn't seem to stick?
    Unfortunately every time MeGUI makes changes to a script, it re-writes the entire script, so any changes you made manually will be lost. Analysing the video.... even just changing the cropping by a couple of pixels.... will cause MeGUI to re-write the script and you'll lose any manual changes.

    That doesn't mean you can't manually change the script or add things to it, but you need to ensure you don't get MeGUI to change the script by altering things in the GUI (when using the Script Creator) after you've manually made changes. With the Script Creator window open, once you make changes to the script under the Script tab, you can still use the Preview button to preview those changes and then the Save button to save the script in the usual way and your manual changes won't be lost.

    The upshot of it is, if you make manual changes to the script, you want to get into the habit of doing so after setting up the rest of the encode using the Script Creator. Alternatively, you can simply get MeGUI to save the script to your hard drive as you normally would, then open it with notepad to make changes. If you want to preview those changes you can re-load the script for encoding in MeGUI's main window, or simply open the script using MPC-HC the same way you'd open any "normal" video file.

    If you open the script using MPC-HC it'll display just as it will when encoding, except for obeying any aspect ratio you've set. It'll always open as though the video uses square pixels. That's no big deal as long as you know MeGUI has set the correct aspect ratio. On that subject.....

    To set the correct aspect ratio when encoding DVDs using MeGUI (if you're not wanting to resize to square pixels), you need to enable MeGUI's anamorphic encoding option using the Script Creator, and MeGUI will add the correct aspect ratio to the script. I generally select the "encode non-mod16" anamorphic option, as that's the one which encodes the video "as-is" after cropping. The rest automatically either resize the video a little or adjust the cropping to achieve mod16 dimensions (width and height divisible by 16) which isn't really necessary these days. Keep in mind the initial preview window just displays the video as though it uses square pixels, even with anamorphic encoding enabled. Once you've saved your script though, the second preview window which opens gives you the option to display it using the correct aspect ratio.

    MeGUI tip #1: In MeGUI's settings there's an option called "acceptable aspect error" which is 2% by default. This tells MeGUI how much it's allowed to "fudge" the aspect ratio when using anamorphic encoding. The idea being, you can take a 16:9 DVD (for example), crop a couple of pixels here and there and still keep the aspect ratio as 16:9. If you don't want MeGUI to "fudge" the aspect ratio at all, change the option to 0%. That way, with anamorphic encoding enabled, every time you adjust the cropping, even if it's only by a couple of pixels, you can switch to the Script Creator's script tab and MeGUI will have changed the aspect ratio used in the script accordingly.

    MeGUI tip #2: Unfortunately if you don't use anamorphic encoding and resize using square pixels, MeGUI is still stuck in the world of mod16 dimensions. It also won't automatically resize "up". When encoding DVDs for example, it won't let you resize an NTSC DVD to 852x480, rather the maximum resolution would be around 720x400. If you want to resize "up", you can get around it by manually typing your desired resizing into the script to replace the resizing MeGUI added. I do that quite regularly.

    MeGUI tip #3. In MeGUI's settings, there's one called "Use ITU Aspect ratio". This tells MeGUI to use ITU resizing when opening DVDs (rather than exact 16:9 or 4:3 resizing). If you're not familiar with the DVD resizing debate or don't know what it does, my advice would be to uncheck that option if it's not already.
    Last edited by hello_hello; 20th Dec 2012 at 17:08.
    Quote Quote  
  11. Member The.King's Avatar
    Join Date
    May 2010
    Location
    The Dark Side of the Moon
    Search PM
    Originally Posted by poisondeathray View Post
    Honestly, I just know the basics, maybe a bit more. You should see the advanced hardcore stuff
    No thanks - I'd belong to 'One Flew Over.....' if I even seen some of that stuff.

    Originally Posted by poisondeathray View Post
    I like helping out because I struggled with it for a long time too, so I know what it's like to be completely lost..........but trust me - it's well worth the time investment.
    Thanks for the insight - it will spur me on to keep 'reading' and wrecking some files while I learn.

    If anyone gets bored and has 5 minutes, I've attached a short clip (2mins) + audio of the very first episode I'm trying to encode - which I'm sure is 'field blended' to bits (being originally PAL, but converted to NTSC). I would hugely appreciate if someone could copy/past the .avs file used to sort this one out and encode it to anamorphic .mp4. This would allow me to read your .avs file as I'm reading through the avisynth tutorials/Wiki's etc. and hopefully understand the process a little clearer and how a completed .avs file should look.

    (I cut the 2min clip from the original .vob file using DGIndex)

    Thanks in advance.
    Image Attached Files
    Quote Quote  
  12. I cut the 2min clip from the original .vob file using DGIndex
    normally a 10-30second clip is long enough,...

    here's a simple variant:
    Code:
    # load plugins needed to load the source
    LoadPlugin("G:\Hybrid\avisynthPlugins\DGDecode.dll")
    # load plugins needed for Srestore
    LoadPlugin("G:\Hybrid\avisynthPlugins\LoadDll.dll")
    LoadDll("G:\Hybrid\avisynthPlugins\libfftw3f-3.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\TIVTC.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\masktools-25.dll") # mt_masktools-26.dll = masktools for avisynth MT 2.6x, masktools-26.dll = masktools for avisynth 2.6x, mt_masktools-25.dll = masktools for avisynth MT 2.5x, masktools-25.dll = masktools for avisynth 2.5x
    LoadPlugin("G:\Hybrid\avisynthPlugins\Average.dll")
    #import Srestore script, which is needed for the frame rate restoration
    Import("G:/Hybrid\avisynthPlugins\Srestore.avsi")
    
    # let's so something:
    MPEG2Source(d2v="H:\Temp\17420802211_30_04_2610.d2v") #load the source
    bob() # bob the content
    srestore(frate=25) #restore frame rate
    assuming libfftw3f-3.dll lies somehere in "Windows/system32" folder and the other .dlls and the .avsi file lies in your "Avisynth/plugins" folder the script can even be shrunk to:
    Code:
    MPEG2Source(d2v="H:\Temp\17420802211_30_04_2610.d2v") #load the source
    bob() # bob the content
    srestore(frate=25) #restore frame rate
    since all the other stuff get's autoloaded.

    and for the fun of it here how the script would look if I write/generate it:
    Code:
    SetMemoryMax(768)
    SetMTMode(5,8)
    LoadPlugin("G:\Hybrid\avisynthPlugins\DGDecode.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\LoadDll.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\AddGrainC.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\dfttest.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\DirectShowSource.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\EEDI2.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\eedi3.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\FFT3DFilter.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\mt_masktools-26.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\mvtools2.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\nnedi.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\nnedi2.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\nnedi3.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\RemoveGrainSSE2.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\RepairSSE2.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\SSE2Tools.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\TDeint.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\VerticalCleanerSSE2.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\ffms2.dll")
    LoadCPlugin("G:\Hybrid\avisynthPlugins\yadif.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\TIVTC.dll")
    LoadPlugin("G:\Hybrid\avisynthPlugins\Average.dll")
    LoadDll("G:\Hybrid\msvcr100.dll")
    LoadDll("G:\Hybrid\msvcp100.dll")
    LoadDll("G:\Hybrid\avisynthPlugins\libfftw3f-3.dll")
    LoadDll("G:\Hybrid\avisynthPlugins\fftw3.dll")
    Import("G:/Hybrid\avisynthPlugins\Srestore.avsi")
    Import("G:/Hybrid\avisynthPlugins\QTGMC-3.33.avsi")
    MPEG2Source(d2v="H:\Temp\17420802211_30_04_2610.d2v")
    SetMTMode(2)
    ConvertToYv12(interlaced=true, matrix="PC.709")
    AssumeTFF()
    QTGMC(Preset="Slower")
    srestore(frate=25,omode=6,speed=9,mode=2,thresh=16,cache=-1)
    distributor()
    return(last)
    this one looks more complicated since:
    a. I use Avisynth 2.6 MT
    b. I load all dlls and scripts manually
    c. I use QTGMC instead of bob() and load all the .dlls it might need (if one would only load the really needed dlls the LoadPlugin-part would be shorter)

    Cu Selur
    Quote Quote  
  13. Member The.King's Avatar
    Join Date
    May 2010
    Location
    The Dark Side of the Moon
    Search PM
    Thanks Selur - surprisingly, the above actually makes some sense to me now - but you do have a very clear way of explaining things so thanks.

    I tried your large code in an .avs file and loaded it with Vdub just to see what things would be like. There were a few things Vdub didn't like for me (probably because I didn't have those dll's installed), such as SetMTMode (2) or matrix="pc.709", distributor(), etc., but after removing those commands, the video loaded and I could see both screens. The only thing was, the video is moving 'frame by frame' as opposed to flowing in normal time?

    I think the only thing two things I never asked anyone yet is - after the .avs file is loaded and all is good, (1) where do I set the output file size - say I wanted something to be no bigger than 400mb, and (2) how do I save the project and select a different container (i.e. .mp4 or .mkv) instead of .avi?

    When I seen your codes at first I thought 'Holy Crap', but after reading some of the tutorials in this thread & looking at your commands - I'm kinds chuffed that some of it is beginning to make sense.

    Thanks again.
    Quote Quote  
  14. The only thing was, the video is moving 'frame by frame' as opposed to flowing in normal time?
    I use QTGMC Slower which is slow and since you don't use the Avisynth MT Version your script will be far slower than mine. (your Avisynth runs single threaded -> you should stick with 'Fast' or 'Faster' is you use QTGMC)

    I think the only thing two things I never asked anyone yet is - after the .avs file is loaded and all is good, (1) where do I set the output file size - say I wanted something to be no bigger than 400mb, and (2) how do I save the project and select a different container (i.e. .mp4 or .mkv) instead of .avi?
    depends on the GUI/Tool you use, Avisynth is like a script language that allows you to use decoders and filter it outputs RAW video which than an encoder needs to reencode to ....

    When I seen your codes at first I thought 'Holy Crap', but after reading some of the tutorials in this thread & looking at your commands - I'm kinds chuffed that some of it is beginning to make sense.
    That's the way to go. I like most people learn this stuff by looking what others do and trying to make sense of it.

    Cu Selur
    Quote Quote  
  15. Member The.King's Avatar
    Join Date
    May 2010
    Location
    The Dark Side of the Moon
    Search PM
    Originally Posted by Selur View Post
    I use QTGMC Slower which is slow and since you don't use the Avisynth MT Version your script will be far slower than mine. (your Avisynth runs single threaded -> you should stick with 'Fast' or 'Faster' is you use QTGMC)
    Will stick with 'Fast' or 'Faster' so, not sure what avisynthMT is - but if it's more complex than what I getting my head around now, I'll leave it alone.

    depends on the GUI/Tool you use, Avisynth is like a script language that allows you to use decoders and filter it outputs RAW video which than an encoder needs to reencode to ....
    Hmmm, I wasn't sure about that so thanks. Is there anything you would recommend as a GUI or Tool? (Just so I have this right then..... (1) I use DGIndex to create a d2v file, (2) I then close DGIndex and use Notepad to create a script using the d2v file as the source and (once I have the script right) I save it as an .avs file. (3) I then open VDub and load my .avs file - but this is not used to output say an .mp4 file. (4) Then I need something else (?) like a GUI/Tool to reencode the .avs file to a particular container and size?

    If I have this right, couldn't I just skip (3) and move from (2) right onto (4) - once I know what GUI/Tool to use and how to load the .avs file in this GUI/Tool?

    That's the way to go. I like most people learn this stuff by looking what others do and trying to make sense of it.
    Yep, that's me in a nutshell - tell me how to do something and I'm completely lost. Show me how to do something and I'll have it figured out in no time.
    Quote Quote  
  16. Member The.King's Avatar
    Join Date
    May 2010
    Location
    The Dark Side of the Moon
    Search PM
    Originally Posted by The.King View Post
    Is there anything you would recommend as a GUI or Tool?
    Sorry - you can forget this question (I wasn't thinking). Of course I can just load the scrip into MeGUI or something and take it from there - but if I do this, won't MeGUI start applying all of it own settings? Do I have to run through all settings in MeGUI again (Deinterlace, sizing, frame rates, etc.) despite writing all of the commands in the .avs script already?
    Quote Quote  
  17. haven't used MeGui for a few years, but if the input is .avs it should not apply anything
    Quote Quote  
  18. Member The.King's Avatar
    Join Date
    May 2010
    Location
    The Dark Side of the Moon
    Search PM
    Originally Posted by Selur View Post
    haven't used MeGui for a few years, but if the input is .avs it should not apply anything
    Would you recommend anything else then? I stuck the .avs script into MeGUI but after 1hr 33mins, MeGUI is only at 46% done? (I could have encoded about 4 episodes of something usually within that time.) It says that there's still 1hr 49mins remaining. That's nearly 4hrs just to encode a 50min episode, so something is definitely not right?

    Any ideas?
    Quote Quote  
  19. a. don't thing anything is wrong, QTGMC + SRestore needs some time. If you do video processing properly it's slow.
    b. you can use AVSMeter (http://forum.doom9.org/showthread.php?t=165528) to check how 'slow' just the avisynth script is.
    c. most encoding GUIs will have the same speed with the same settings, since they use the same encoder


    Cu Selur

    Ps.: What os do you use?
    Last edited by Selur; 21st Dec 2012 at 13:50.
    Quote Quote  
  20. Member The.King's Avatar
    Join Date
    May 2010
    Location
    The Dark Side of the Moon
    Search PM
    Originally Posted by Selur View Post

    Ps.: What os do you use?
    Click on the little pc kind of symbol under my profile name for details...
    Quote Quote  
  21. send you a pm with a link to a Hybrid test version which should:
    a. be able to identify field-blended material (at least in theory )
    and
    b. be a lot faster than MeGui with your current script since Hybrid will, with the guide I wrote you, use Avisynth 2.6 MT which should speed up the whole thing a lot.

    Cu Selur
    Quote Quote  
  22. Member The.King's Avatar
    Join Date
    May 2010
    Location
    The Dark Side of the Moon
    Search PM
    Thanks for this Selur. I gotta log off now for a bit, but I'll run through your PM, give it a go and I'll send you a PM afterwards to report how things went...

    Thanks.
    Quote Quote  
  23. Member The.King's Avatar
    Join Date
    May 2010
    Location
    The Dark Side of the Moon
    Search PM
    OK, so here's what I have found so far after all of my reading & studying and all of your help throughout this post. Using (1) DGIndex, (2) an .avs script, (3) VDub (which didn't do anything as I don't want an .avi container and I need a particular size output) and (4) loading the .avs script into MeGI.

    The following is the content of my .avs file. There may be some mistakes in here - but remember I am still learning...
    Code:
    LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\DGDecode.dll")
    LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\LoadDll.dll")
    LoadDll("C:\Program Files (x86)\AviSynth 2.5\plugins\libfftw3f-3.dll")
    LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\TIVTC.dll")
    LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\mt_masktools-26.dll") # mt_masktools-26.dll = masktools for avisynth MT 2.6x, masktools-26.dll = masktools for avisynth 2.6x, mt_masktools-25.dll = masktools for avisynth MT 2.5x, masktools-25.dll = masktools for avisynth 2.5x
    LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\Average.dll")
    Import("C:\Program Files (x86)\AviSynth 2.5\plugins\Srestore.avsi")
    MPEG2Source(d2v="C:\Users\Desktop\New folder\VTS_01_VOBID_003_1.d2v")
    ConvertToYv12(interlaced=true)
    AssumeTFF()
    QTGMC(preset="faster", sharpness=0.8)
    SRestore(frate=25)
    However - as I mentioned above, (and also in post #75) I needed to load this .avs script into MeGUI as I wanted to achieve a specific (400mb) file size and an .mp4 container. After running it through MeGUI, I noticed that the GUI generated it's own .avs file (which I was afraid it would do) and it looked like this...

    Code:
    # Set DAR in encoder to 3 : 2. The following line is for automatic signalling
    global MeGUI_darx = 3
    global MeGUI_dary = 2
    Import("C:\Users\Desktop\New folder\01x01.avs")
    #deinterlace
    #crop
    #resize
    #denoise
    This would probably explain why the re-encoding took so long (it ended up at 4hrs 28mins to encode a 50min program?) and the resulting file (a small clip of) turned out like the attached. As you will see, the AR is still not right (not wide enough), but more importantly - there are a load of white flashes throughout???

    Thought I had this sorted, but now I'm not sure what's gone wrong?? Any ideas or help on this one?

    Selur, I'll try your PM now.
    Image Attached Files
    Quote Quote  
  24. LoadPlugin("C:\Program Files (x86)\AviSynth 2.5\plugins\mt_masktools-26.dll")
    you should usse 'mv_masktools-25.dll since you use AviSynth 2.5x

    I noticed that the GUI generated it's own .avs file (which I was afraid it would do) and it looked like this...
    That is fine the Import-Command only copies the text from you file into MeGuis own script.
    -> this is how it should be, and not the cause for slow encoding

    As you will see, the AR is still not right (not wide enough), but more importantly - there are a load of white flashes throughout???
    Aspect ratio is wrong due to:
    global MeGUI_darx = 3
    global MeGUI_dary = 2
    no clue where to change that in MeGui, but there should be an option
    The flashes are probably due to the wrong masktools version. (I'm surprised it didn't crash. )

    This would probably explain why the re-encoding took so long
    encoding is slow because of the fact that SRestore and QTGMC are power hungry option, your script runs single threaded and may be the encoding settings you choose are also not so fast.
    Quote Quote  
  25. Member The.King's Avatar
    Join Date
    May 2010
    Location
    The Dark Side of the Moon
    Search PM
    Originally Posted by Selur View Post
    Aspect ratio is wrong due to:
    global MeGUI_darx = 3
    global MeGUI_dary = 2
    no clue where to change that in MeGui, but there should be an option
    The flashes are probably due to the wrong masktools version. (I'm surprised it didn't crash. )
    Is there no type of a command I could write into the .avs script to set the AR or make it anamorphic? At least this way I could bypass or not worry about what MeGUI is going to do.

    In MeGUI, under the 'Misc' tab, there is an 'Input/Output' option to 'Force SAR' to various settings - default, 1;1, 4:3, 8:9, 16;11. Might that be it - or do I need to go into the whole 'crop and re-size settings'?
    Quote Quote  
  26. MPEG-4 PARs are:
    Code:
                 PAL         NTSC
    4:3       12/11     10/11
    16:9     16/11     40/33
    so if your content is PAL-16:9 you probably need to use 'Force SAR->16:11'

    Might that be it - or do I need to go into the whole 'crop and re-size settings'?
    only if you want to crop, but not 100% sure since I normally don't use MeGui. (maybe someone else can give some infos on this)
    Quote Quote  
  27. btw. you can fix the PAR by remuxing the content with mp4box (e.g. using Hybrid or Yamb).
    Using Hybrid you would:
    1. start Hybrid
    2. set Main->Video handling to passthrough
    3. set Main->Audio handling to passthrough all
    4. activate Muxing->Overwrite->Pixel Aspect ratio and set it to 16x11
    5. set the output file (Main->Output file)
    6. add settings to Queue (Main->Add to Job Queue)
    7. start processing (Main->Start Queue)

    Cu Selur
    Quote Quote  
  28. Originally Posted by The.King View Post
    Sorry - you can forget this question (I wasn't thinking). Of course I can just load the scrip into MeGUI or something and take it from there - but if I do this, won't MeGUI start applying all of it own settings? Do I have to run through all settings in MeGUI again (Deinterlace, sizing, frame rates, etc.) despite writing all of the commands in the .avs script already?
    If you don't enable those options (de-interlacing, resizing etc) in MeGUI Script Creator then it won't add them to the script. If your hand-made script is "ready to go" then just load it for encoding in MeGUI's main window and MeGUI will use it for encoding without touching it.
    Keep in mind you can also set up templates for scripts using MeGUI.... which can be very handy. You can save a script with all your extras added and then when you use your AVS template you can still get MeGUI to add the basic stuff such as cropping and resizing, and the extras in the template will be added automatically.

    To set up a template, use the "Config" button next to the AVIsynth Profile drop-down box in the AVS Script Creator window. You can save avs templates the same way you'd save encoder presets etc. Also, if you open the AVS Config you'll see by default it looks like this:

    <input>
    <deinterlace>
    <crop>
    <resize>
    <denoise>

    If you want to set up a template which includes your own de-interlacing and therefore you don't won't MeGUI to also add it, delete the "<deinterlace>" line from the template. With it gone, if you select your template, MeGUI won't add de-interlacing to the script even if it's enabled in the Script Creator window. If you switch to a different template which includes the "<deinterlace>" line, MeGUI will then add it.

    If you want to set up a template which adds color conversion (as a basic example) before resizing, and which runs any noise filtering before resizing, you'd change it to something like this:

    <input>
    <deinterlace>
    <crop>
    <denoise>
    ColorMatrix(mode="Rec.709->Rec.601", clamp=0)
    <resize>

    Have you noticed the latest version of MeGUI can now resize to mod4 or mod2. No more being stuck with mod16 resizing. Happy, happy, joy, joy!!!

    Would you recommend anything else then? I stuck the .avs script into MeGUI but after 1hr 33mins, MeGUI is only at 46% done? (I could have encoded about 4 episodes of something usually within that time.) It says that there's still 1hr 49mins remaining. That's nearly 4hrs just to encode a 50min episode, so something is definitely not right?
    If you're using QTGMC it'll be slow, especially if like me you're not using the multi-threaded version. You'll probably find with QTGMC added to the script, CPU usage will be fairly low, depending on the QTGMC preset you're using. I'm currently running some encodes using QTGMC and plodding along at around 3 or 4 frames per second. But MeGUI lets you run more than one encode at a time and you can set up job queues using multiple "workers". So at the moment I've got three "workers" open, each with several jobs waiting to encode, and each worker is running an encode. So basically while encoding speed is very slow with QTGMC added to the script, I'm running three encodes simultaneously and CPU usage is sitting on 100%.

    In MeGUI, under the 'Misc' tab, there is an 'Input/Output' option to 'Force SAR' to various settings - default, 1;1, 4:3, 8:9, 16;11. Might that be it - or do I need to go into the whole 'crop and re-size settings'?
    I don't know which "Misc" tab you're referring to, but MeGUI will only add aspect ratio stuff to the script when you enable anamorphic encoding. If you're not encoding that way, don't enable it.

    Under the I/O tab in the Script Creator window there's a drop down box labelled "Input DAR". If you're using MeGUI to open a standard video file..... a vob file for example..... you'd normally use the File/Open menu. MeGUI should then open the File Indexer and let you add the indexing job to the queue. For DVDs it'll use DGIndex. When it's done it'll open the Script Creator window and the aspect ratio being used will be shown in the Input DAR section. Don't change it unless you know you need to. MeGUI rarely gets it wrong. If you've opened a 16:9 DVD then the input aspect ratio should be 16:9 (or the ITU 16:9 equivalent). Without cropping or resizing, if you enable the anamorphic encoding option, MeGUI will add 16:9 to the script as the aspect ratio. As soon as you get MeGUI to apply cropping, it'll change the aspect ratio being added to the script accordingly.
    Why it set the DAR to 3:2 in your case is a mystery to me. Logically it'd be because you changed the Input DAR manually, or because you somehow opened a file via a method which can't be used to detect the correct aspect ratio..... such as via directshow or even by using your own AVS script as the "Video Input".
    Unless you're trying to re-encode some "exotic" video type, it's best use the File/Open menu to open a video file and let MeGUI index it and open the script creator window that way. If you've already indexed a file and want to set up another encode, open the AVS Script Creator and use the index file for the "Video Input". If it's a DVD, for example, use the d2v created when indexing.
    Last edited by hello_hello; 22nd Dec 2012 at 09:51.
    Quote Quote  
  29. Member The.King's Avatar
    Join Date
    May 2010
    Location
    The Dark Side of the Moon
    Search PM
    Selur - as per my PM, please see sample attached.
    Image Attached Files
    Quote Quote  
  30. RE: processing speed

    If you're not using the MT variety of QTGMC, or not doing parallel processing jobs as hello_hello suggested - people often do a lossless encode first, and use that as input for 2pass encodes. The reason is slow filters cause a bottleneck. By using 2pass encode, you encounter the bottleneck filter twice instead of once. It may seem encoding 3 passes is a waste, but for many situations and slow scripts it's actually faster overall
    Quote Quote  



Similar Threads

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