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
MFlowFPSCode:DGSource("M:\Video.dgi") Spline36Resize(1280,1080) Yadif(mode=1, order=1) Spline36Resize(1280,720) InterFrame(Cores=4, Tuning="Smooth", GPU=true)
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.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 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
Try StreamFab Downloader and download from Netflix, Amazon, Youtube! Or Try DVDFab and copy Blu-rays! or rip iTunes movies!
+ Reply to Thread
Results 1 to 30 of 77
Thread
-
Last edited by VideoFanatic; 26th Aug 2016 at 20:05.
-
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.
-
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)
-
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.
-
Did you try GPU=false ?
Otherwise you can try other interpolation functions based on mvtools2 like mvflowfps -
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.
-
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. -
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.
-
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.
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 -
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 ? -
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/ -
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 -
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? -
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)
-
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)
-
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)
-
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? -
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. -
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.
-
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 -
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 -
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)
-
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)
Last edited by VideoFanatic; 15th Aug 2016 at 12:28.
-
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. -
-
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)
-
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.
-
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.
Last edited by VideoFanatic; 15th Aug 2016 at 17:54.
Similar Threads
-
How to convert NTSC DVD into PAL ?
By TeNSoR in forum Newbie / General discussionsReplies: 4Last Post: 27th Aug 2014, 11:14 -
Do High Definition PAL & NTSC framerates work in all Bluray players?
By VideoFanatic in forum Authoring (Blu-ray)Replies: 10Last Post: 27th Dec 2013, 12:11 -
Pls help! Best way to convert NTSC VHS (captured using PAL VCR) to NTSC DVD
By rairjordan in forum CapturingReplies: 33Last Post: 28th Nov 2013, 12:33 -
Convert PAL to NTSC
By ILoveEDM in forum Video ConversionReplies: 6Last Post: 29th Jul 2013, 05:54 -
Convert PAL to NTSC?
By killerteengohan in forum Video ConversionReplies: 32Last Post: 7th Feb 2012, 12:33