VideoHelp Forum
+ Reply to Thread
Page 1 of 3
1 2 3 LastLast
Results 1 to 30 of 77
Thread
  1. I'm trying to get a better script than ConvertFPS to convert a 1080i 25fps video to 720p 59.94fps. Here's my scripts:

    Interframe

    Code:
    DGSource("M:\Video.dgi")
    Spline36Resize(1280,1080)
    Yadif(mode=1, order=1)
    Spline36Resize(1280,720)
    InterFrame(Cores=4, Tuning="Smooth", GPU=true)
    MFlowFPS

    Code:
    DGSource("M:\Video.dgi")
    Spline36Resize(1440,1080) # 1280 width causes a crash
    QTGMC("Super Fast", SubPel=2) #SubPel must match pel in MSuper below
    super = MSuper(levels=1, pel=2, hpad=16, vpad=16) # Hpad & Vpad is for very fast and quicker QTGMC presets
    MFlowFps(super, QTGMC_bVec1, QTGMC_fVec1, num=60000, den=1001)
    Spline36Resize(1280,720)
    The interframe script finishes encoding but the resulting video only has video for the first several minutes. When I try to go further the video just stays paused but I can hear the audio carry on playing. However standard definition videos don't have those problems.

    The MFlowFPS script produces a garbled frame every minute or so. There could be several minutes without garbled frames and then other times in the video there will be a garbled frame every minute or so.


    2 minute MVFlow QTGMC Super Fast

    2 minute Source
    Image Attached Files
    Last edited by VideoFanatic; 26th Aug 2016 at 20:05.
    Quote Quote  
  2. It looks like it should work. Maybe you're running out of memory? Or overheating? What source filter are you using? Maybe it's screwing up.
    Quote Quote  
  3. I'm not using Avisynth MT by the way. Surely if it was running out of memory or something then it would crash. Don't think it's that because the encoding process completes but the resulting file has problems. I'm using DGIndexNV (DGSource).
    Quote Quote  
  4. If you comment out Interframe, and preview the script in avspmod or vdub, past the point where it has problems, does the preview look ok ?

    Code:
    DGSource()
    Spline36Resize(1280,1080)
    QTGMC(Preset="Super Fast")
    Spline36Resize(1280,720)
    #InterFrame(Cores=1, Tuning="Smooth", GPU=true)
    If it's ok, enable interframe and try GPU=false
    Quote Quote  
  5. I've encoded the whole video with and without Interframe and it encodes fine without Interframe. Also I've used Interframe before on 25fps progressive torrents to go back to 25fps interlaced (to restore the motion) and that worked fine. It just doesn't seem to be working when converting 1080i PAL to 720p NTSC.
    Quote Quote  
  6. Did you try GPU=false ?

    Otherwise you can try other interpolation functions based on mvtools2 like mvflowfps
    Quote Quote  
  7. Does using GPU=true only effect the encoding speed or will I get better quality as well? The documentation is unclear about that. If it only effects the speed of the encoding then I can try GPU=false.
    Quote Quote  
  8. It doesn't matter if you get better or worse quality with GPU=false. The point is to test it and see if you still have the same problem.

    Also, open the script in VirtualDub and scrub around. Is the picture black near the end?

    My guess is DGIndexNV is screwing up. The combination of QTGMC, Interframe and an encoder will require it to read frames out of order and a lot of source filters choke on that.
    Quote Quote  
  9. I looked at it in AvsPmod and the picture displays fine near the end and everywhere else. I can't get it to display a picture in VirtualDub no matter what time I go to. I only get a single frame of video shown no matter what time I go to.
    Quote Quote  
  10. Originally Posted by VideoFanatic View Post
    Does using GPU=true only effect the encoding speed or will I get better quality as well? The documentation is unclear about that. If it only effects the speed of the encoding then I can try GPU=false.
    The documentation says it affects both. But if you actually test it, quality and speed can either be higher OR lower depending on the source and hardware.


    Originally Posted by jagabo View Post

    My guess is DGIndexNV is screwing up. The combination of QTGMC, Interframe and an encoder will require it to read frames out of order and a lot of source filters choke on that.

    DGSource is very reliable. I'd rank it as the most reliable source filter. As reliable as DGIndex is for MPEG2 sources

    My guess is there might be some sort of conflict as Interframe/SVP is set to use GPU and DGSource is also using GPU
    Quote Quote  
  11. It seems to be working ok here on a 1080i/25fps camcorder source with your original script (gpu=true)

    What version of interframe are you running and which svpflow dll's are being used ?
    Quote Quote  
  12. InterFrame 2.8.2
    svpflow1.dll: 2.0.3.0
    svpflow2.dll: 2.0.2.0
    Downloaded the package from here: http://www.spirton.com/interframe/
    Quote Quote  
  13. Those are the ones I tested just now (there are newer dll's for svpflow if you wanted to try svpflow alone with it's custom options) . Worked ok with gpu=true or false

    But quality and timing is worse than regular mflowfps on the clip I tested. I don't know what the fuss is about interframe or svpflow. Way overrated IMO
    Quote Quote  
  14. My video is over 2 hours long. The first 5 minutes or so display fine but the rest of the video has no picture and only has audio.

    I used Interframe because it's the only thing I heard about that can restore motion. For example converting a 25fps progressive sports torrent to 50fps. It's not as good as if the source was 50fps but it's noticeably better. Never heard of mflowfps until now.

    What do you mean by the "timing" is worse on Interframe compared to mflowfps?

    Could you please give me a script for mflowfps and what files should I obtain for it?
    Quote Quote  
  15. Originally Posted by VideoFanatic View Post
    My video is over 2 hours long. The first 5 minutes or so display fine but the rest of the video has no picture and only has audio.
    But if you erase the interframe line, it encoded fine, correct? So that that means everything is fine except for interframe on your setup. Did you try GPU=false yet ?



    I used Interframe because it's the only thing I heard about that can restore motion. For example converting a 25fps progressive sports torrent to 50fps. It's not as good as if the source was 50fps but it's noticeably better. Never heard of mflowfps until now.

    What do you mean by the "timing" is worse on Interframe compared to mflowfps?

    Could you please give me a script for mflowfps and what files should I obtain for it?

    Interframe uses SVP which uses MVTools2. MVtools2 has been around for a long time, it's the original avisynth plugin which all the others are based on. And mvtools (which mvtools2 was based one) also had an interpolation function

    I mean the timing is worse (at least on the clip I tested), because the inbetween generated frames aren't exactly clean and aren't quite exactly at the inbetween temporal timing where they should be. They are slightly off. It might be partly because of the extra blurring. There is more ghosting and artifacts, which is typical in my experience for SVP and interframe. Even if you use the default "film" setting, this occurs . You're using "smooth" which makes it even more blurry

    mflowfps is in the original documentation for mvtools2. There are examples there. Just copy and paste and the timing would be num=60000 , den=1001 if you wanted "59.94p"

    Code:
    .
    .
    .
    
    source=last
    
    super = source.MSuper(pel=2)
    backward_vec = MAnalyse(super, overlap=4, isb = true, search=3)
    forward_vec = MAnalyse(super, overlap=4, isb = false, search=3)
    source.MFlowFps(super, backward_vec, forward_vec, blend=false, num=60000, den=1001)
    I really don't know why the hype is about svpflow and interframe. I would say >50% of the time, it produces worse results . But it is faster with GPU if you have a decent setup
    Quote Quote  
  16. Interframe probably worked for you because you encoded a short clip? My video is over 2 hours long. Tried my interframe script again with GPU=true but used FFMS (which doesn't use the GPU) instead of DGDecodeNV and I got the same problem again, encoding finished but only got 1 hour of the video with a picture, the rest has no picture and I just get audio.

    I only have a cheap £30 graphics card (has VP5) but I don't think that's the problem is it? My video took 2 days to encode with QTGMC Super Fast and Interframe!

    Don't want to try the script with GPU=false as that would give lower quality results. I'll just try your script since you say it's better anyway.

    Where do I put your script in my script below?
    Code:
    DGSource(File location)
    AssumeTFF() 
    Spline36Resize(1280,1080)
    QTGMC(Preset="Super Fast")
    Spline36Resize(1280,720)
    Quote Quote  
  17. Did you preview the script before encoding ? If the script preview was fine, then you have to look at other potential problems like your encoding setup.

    Don't waste time encoding, if the preview already shows the problem. Huge waste of time

    Some frames are better with interframe, some are better with mflowfps. Different sources, different results. Overall I prefer mflowfps on most sources. But sometimes it's worse on some sources. Don't take my word for it, try it on your source and preview some frames . Just add that code to the end of yours

    Code:
    DGSource(File location)
    AssumeTFF() 
    Spline36Resize(1280,1080)
    QTGMC(Preset="Super Fast")
    Spline36Resize(1280,720)
    
    
    source=last
    
    super = source.MSuper(pel=2)
    backward_vec = MAnalyse(super, overlap=4, isb = true, search=3)
    forward_vec = MAnalyse(super, overlap=4, isb = false, search=3)
    source.MFlowFps(super, backward_vec, forward_vec, blend=false, num=60000, den=1001)
    Quote Quote  
  18. Yes I previewed the video before encoding in AvsPmod and it displayed fine. I've encoded videos before with Interframe such as converting 25fps torrents to 50fps and it worked fine (they were standard definition). But for some reason I cannot get Interframe to work when converting PAL to NTSC. I can't imagine what things are wrong in my encoding setup?

    I tried your script but I'm only getting 3.80fps (with Yadif). It will take 3 days 4 hours to encode which is too long for me. I need it to encode in 1 day max. Is there any other script you have that might do that please?
    Quote Quote  
  19. Did your original script with DGSource and interframe GPU=true preview ok as well ?

    Go back to your script that previewed ok. How did you encode it? If you used something like megui, post the log file. If it previews ok, it's likely not an avisynth or script issue
    Quote Quote  
  20. Originally Posted by poisondeathray View Post
    Did your original script with DGSource and interframe GPU=true preview ok as well ?

    Go back to your script that previewed ok. How did you encode it? If you used something like megui, post the log file. If it previews ok, it's likely not an avisynth or script issue
    I encoded it with MeGUI. Yes my original script previewed fine.

    Here's the log: http://pastebin.com/hpDMaAfK

    Do you have a faster script I could use please as currently it takes 3 days to encode a video which isn't practical.
    Quote Quote  
  21. It doesn't have to be a really powerful script. I'm just looking for a script that gives better results than ConvertFPS as that sometimes gives artifacts. I'm looking for something that will encode a 2 hour 15 minute video in 1 day max.
    Quote Quote  
  22. But did you encode the whole thing? How do you know the video doesn't "pause" at some point with audio playing using mflowfps as well and you're wasting time?

    You can use a faster mflowfps settings (lower quality) , but it might only cut the avisynth time in about half. So if it took about 3 days, maybe 1.5 days

    Code:
    source=last
    
    super = source.MSuper(pel=2)
    backward_vec = MAnalyse(super, isb = true)
    forward_vec = MAnalyse(super, isb = false)
    source.MFlowFps(super, backward_vec, forward_vec, blend=false, num=60000, den=1001)

    Or if you want even faster change pel=1, but the quality will be significantly worse to the point of not worth using. But that should make your deadline



    The last run in the megui log looks ok, but you're using oneclick encoding ? I heard there are problems with that

    Did you try other video players to check (is this a playback problem?) , or try remuxing or different container temporarily (just to see if maybe tsmuxer is the problem). You want to check if the actual video stream is ok, so you don't have to waste days encoding again
    Quote Quote  
  23. Here is a link to a thread (I posted this in another PAL <--> NTSC conversion thread a few days ago) where the OP describes his methodology and provides a script. I've used this and it works really well:

    Perfectionists' PAL<=>NTSC Conversion
    Quote Quote  
  24. Thanks I'm trying it now. This is my script. I was wondering if there's anyway to add the bold line in order to make it encode quicker.

    Code:
    DGSource("M:\Video.dgi")
    AssumeTFF() 
    Spline36Resize(1280,1080)
    QTGMC("Super Fast", SubPel=2) #SubPel must match pel in MSuper below
    super = MSuper(levels=1, pel=2, hpad=16, vpad=16) #For very fast and quicker QTGMC presets
    MFlowFps(super, QTGMC_bVec1, QTGMC_fVec1, num=60000, den=1001)
    Spline36Resize(1280,720)
    Crop(2,2,-2,-8)
    AddBorders(2,6,2,4, $000000)
    When I add the bold line I get this error message: MFlowFPS: Inconsistent clips frame size! (it quotes the FlowFPS line)
    Quote Quote  
  25. John, I read that page you mentioned and I'm using this script to convert 1080i PAL to 720p NTSC:

    Code:
    Spline36Resize(1440,1080)
    QTGMC("Super Fast", SubPel=2) 
    super = MSuper(levels=1, pel=2, hpad=16, vpad=16) 
    MFlowFps(super, QTGMC_bVec1, QTGMC_fVec1, num=60000, den=1001)
    Spline36Resize(1280,720)
    Unfortunately every minute or so there's a garbled frame. Is there a way to prevent that? Will a slower QTGMC preset fix that?
    Last edited by VideoFanatic; 15th Aug 2016 at 12:28.
    Quote Quote  
  26. Anything which uses motion estimation (Interframe, SVP, MVTools, QTGMC, etc.) will create artifacts on some frames. This is true of the $$$ motion estimation programs, like Twixtor. It is the nature of the technology.

    When dealing directly with the motion estimation (rather than through a front end, or via a script like QTGMC), changing block size and block overlap is what usually changes the artifacting the most. Look at the QTGMC documentation to figure out how to do that.
    Quote Quote  
  27. Originally Posted by VideoFanatic View Post
    Thanks I'm trying it now. This is my script. I was wondering if there's anyway to add the bold line in order to make it encode quicker.

    Code:
    DGSource("M:\Video.dgi")
    AssumeTFF() 
    Spline36Resize(1280,1080)
    QTGMC("Super Fast", SubPel=2) #SubPel must match pel in MSuper below
    super = MSuper(levels=1, pel=2, hpad=16, vpad=16) #For very fast and quicker QTGMC presets
    MFlowFps(super, QTGMC_bVec1, QTGMC_fVec1, num=60000, den=1001)
    Spline36Resize(1280,720)
    Crop(2,2,-2,-8)
    AddBorders(2,6,2,4, $000000)
    When I add the bold line I get this error message: MFlowFPS: Inconsistent clips frame size! (it quotes the FlowFPS line)
    Interesting error. It just doesn't like widths around 1280 for some reason. You can use 1272 or 1296 and it works fine. Rather than resizing the width twice I'd add 16 pixels to the right edge after the Spline36Resize(1280,1080), then subtract it later.
    Quote Quote  
  28. Thanks Jagabo. That issue is fixed but a bigger problem is getting an NTSC conversion without issues. I tried MFlowFPS with Super and QTGMC but it gives a garbled frame every minute or so. Interframe doesn't have those issues and the video finishes encoding but the resulting video only has video for the first several minutes. When I try to go further the video just stays paused but I can hear the audio carry on playing. This is my script.

    Code:
    DGSource("M:\Video.dgi")
    Spline36Resize(1280,1080)
    Yadif(mode=1, order=1)
    Spline36Resize(1280,720)
    InterFrame(Cores=4, Tuning="Smooth", GPU=true)
    Do you know of a way to fix it or is there another PAL to NTSC script you could recommend that doesn't give garbled frames?
    Quote Quote  
  29. You should post a short clip that contains some "garbled frames." It is impossible to give you advice without it because, given what you are doing, there are many types of problems that might be happening. You are using a MT version of AVISynth, and that may be causing problems with both the crashing you were getting with the earlier script, and now that "garbled frames" you are reporting. There are also problems with specific versions of MVTools2 that I ran into and posted about over in doom9.org many years ago. These problems only show up when using it on HD clips. I think those have been fixed, but it would all depend on what you are using. There are also scene detection and other threshold settings that can most definitely cause glitches if not set correctly.
    Quote Quote  
  30. I've attached a re-encoding I did with MFlowFps, Super and QTGMC Super Fast. I have Avisynth MT installed but I'm not encoding in MT mode. I'll only be installing non-MT Avisynth in my new PC that I'm building soon. I'm using mvtools-v2.5.11.2. I'm using that version because it's needed to perform an unrelated task. I can try a different version if you think that will fix the problem.
    Image Attached Files
    Last edited by VideoFanatic; 15th Aug 2016 at 17:54.
    Quote Quote  



Similar Threads

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