Forum Archive Home -> Video Conversion -> Converting a 720p .ts file from 50fps to 25 fps
Converting a 720p .ts file from 50fps to 25 fps | ||||
| Bully9 posted 2009 Sep 11 11:54 | ||||
| After several hours' research i've managed to demux to .m2ts and open successfully in virtualdub using the following avisynth script
DirectShowSource("F:\Film.m2ts") FDecimate(rate=25,threshold=5) (There are now no duplicated frames and the film length looks right) My question is: what do i do now? Do i have to re-encode? If so, can i encode at a higher bitrate than the maximum 5000 shown in the x264 option in virtualdub? Any help much appreciated :) | ||||
| jagabo posted 2009 Sep 11 11:58 | ||||
Yes.
The x264vfw version I have goes up to 9999. You could also use other front ends like x264gui, MeGUI, Xvid4PSP, AviDemux, etc. | ||||
| Bully9 posted 2009 Sep 11 12:10 | ||||
| Quick, concise and extremely helpful, thank you.
(I downloaded x264vfw and it now seems to have a maximum of 20000) | ||||
| jagabo posted 2009 Sep 11 12:56 | ||||
| Just updated myself too. Nicer interface, more controls. | ||||
| Bully9 posted 2009 Sep 13 14:57 | ||||
| Still having problems here. I keep getting runtime errors in virtualdub. Same in MEGUI when i tried that. It tends to crash a lot when i move the time scroller.
Eventually i got a conversion started. I left the 2-pass encode 5 hours in last night, but in the morning i had the error message again. Any ideas anyone, please? | ||||
| poisondeathray posted 2009 Sep 13 16:15 | ||||
| What is error message?
Maybe there are errors in your source? e.g. dropouts from capping What kind of transport stream and where did you get it? If AVC try DGAVCIndex if not interlaced, if MPEG2, try DGIndex instead of DirectShowSource. You can also try different decoders (might be decoding issue) Maybe try fixing it with TS Doctor | ||||
| Bully9 posted 2009 Sep 13 17:09 | ||||
| 2 days ago when i started, i could not open the ts file in virtualdub using the simple script DirectShowSource("F:\Film.ts")
After a minute or so I got a 'timeout waiting for graph to start' message. Eventually, using TSmuxer ( i think - i tried a lot of apps!) i produced a m2ts file that would open in virtualdub, but which caused intermittent runtime problems (reported above) I ran this file through TSdoctor and it reported some faults which i think it rectified. So i tried to open the ts file it produced in vitrualdub and got? 'timeout waiting for graph to start' I'm really not too sure what i'm doing so i think i'll have to give this one up. But i appreciate the reply. | ||||
| jagabo posted 2009 Sep 13 17:24 | ||||
| DirectshowSource() is prone to problems -- it's at the mercy of what Directshow filters you have installed. As Poisondeathray suggested, you should use DgIndex (MPEG2) or DgAvcIndex (h.264) to produce an index file and then a AviSynth script with Mpeg2Source("filename.d2v") or AvcSource("filename.dga"). That way is much more reliable. | ||||
| Bully9 posted 2009 Sep 14 18:29 | ||||
| Thanks a bunch jagabo - there was just a bit more guidance than poisondeathray offered. He probably overestimated my intelligence ;-)
Anyway, i had a go with Dgavcindex and luckily i found the excellent idiots' guide by donald a graf. The upshot is, i opened the file in virtualdub, took the 'decimate by 2' option in 'framerate' and 9 hours later i have a nice shiny 25fps mkv. Just seems a shame to have to re-encode just to knock out every other frame. Still, mission accomplished and thanks again for the assistance. | ||||
| manono posted 2009 Sep 14 19:12 | ||||
You opened an AviSynth script in VDub and then used Full Processing and the VDub 'Decimate By 2'? You would have gotten faster (and better quality) results (25-30% faster, 7 hours encoding, at most, I would guess) by adding: SelectEven() to the bottom of the script. This allows you to use 'Fast Recompress' in VDub. | ||||
| Bully9 posted 2009 Sep 15 06:49 | ||||
| Manono, I didn't actually say i used full processing mode; as it happens, I did use fast recompress. (The frame rate option is not greyed out.)
Is the SelectEven() avisynth command better than the 'decimate by 2' in virtualdub? | ||||
| jagabo posted 2009 Sep 15 06:57 | ||||
VirtualDub's decimate by 2 is the same thing as AviSynth's SelectEven() or SelectOdd(), I'm not sure which. And you are right, frame rate conversion in VirtualDub can be done in Fast Recompress mode (thereby avoiding RGB conversion). Doing it in AviSynth may still be a little faster. | ||||
| Bully9 posted 2009 Sep 15 07:11 | ||||
| Yeah, it seems it can be done in 'direct stream copy' too, which fooled me into thinking the modification could be done without re-encoding. Luckily i aborted before i completely filled my HDD! I guess that's because it's not a 'real' file that's open in vitualdub?
Makes me think it should technically be possible though?? | ||||
| jagabo posted 2009 Sep 15 07:19 | ||||
| DirectStream copy does decimation by cutting off the end of GOPs. With long GOPs the A/V sync error becomes noticeable as you get further into the GOP. A/V sync is restored at the start of the next GOP, then drifts again. Etc. | ||||
| Gavino posted 2009 Sep 15 12:40 | ||||
When you use 'direct stream copy' on an Avisynth script, you get uncompressed output, as that's what Avisynth delivers to VDub. |
Login/Register to our forum to be able to post here.
