Hi, but please be patient: I'm a cat
Please consider my source that is:
PROGRESSIVE, 1920X1080, VARIABLE FRAMERATE, AND 4:2:0
I would like load this, correctly, in avisynt to get a "linear" and constant framerate processing at 1920x1080 50iCode:Video ID : 1 Format : AVC Format/Info : Advanced Video Codec Format profile : Baseline@L4 Format settings : 1 Ref Frames Format settings, CABAC : No Format settings, RefFrames : 1 frame Format settings, GOP : M=1, N=30 Codec ID : avc1 Codec ID/Info : Advanced Video Coding Duration : 30 s 747 ms Source duration : 30 s 780 ms Bit rate : 20.0 Mb/s Width : 1 920 pixels Height : 1 080 pixels Display aspect ratio : 16:9 Rotation : 90° Frame rate mode : Variable Frame rate : 29.970 (29970/1000) FPS Minimum frame rate : 15.040 FPS Maximum frame rate : 30.354 FPS Color space : YUV Chroma subsampling : 4:2:0 Bit depth : 8 bits Scan type : Progressive Bits/(Pixel*Frame) : 0.321 Stream size : 73.1 MiB (99%) Source stream size : 73.2 MiB (99%) Title : VideoHandle Language : English Encoded date : UTC 2017-01-12 00:03:44 Tagged date : UTC 2017-01-12 00:03:44 mdhd_Duration : 30747
Si I prepared this:
where VFRTOCFR is get from https://github.com/jojje/VfrToCfr-the-other-one/releasesCode:LoadPlugin("v:\automazioneclip\AviSynth\Lsmash64perVirtualDub64\LSMASHSource.dll") LoadPlugin("V:\automazioneclip\AviSynth\plugins64\ffms2.dll") LoadCPlugin("v:\automazioneclip\avisynth\plugins64\yadif.dll") FFVideoSource("C:\Users\Administrator\Desktop\prove\vfr strambi\camillo coperta rotation 90.mp4", timecodes="timecodes.txt") vfrtocfr(fpsnum=50000, fpsden=1000, timecodes="timecodes.txt") assumeFPS(50, sync_audio=false) TurnRight() ConvertToYUY2(interlaced=false) SmoothFPS2(50000,1000) AssumeTFF().SeparateFields().SelectEvery(4, 0, 3).Weave() AssumeFPS(25)
I wonder if the use of VFRTOCFR is erratic, superfluous or avoidable when is present the smoothFPS2 function
Thanks
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 14 of 14
Thread
-
-
Personally, I'd cat try to decode at cat a constant frame cat rate, cat although I've never cat used vfrtocfr so cat maybe cat I'm missing cat something spectacular cat.
FFVideoSource("C:\Users\Administrator\Desktop\prov e\vfr strambi\camillo coperta rotation 90.mp4", fpsnum=30000, fpsden=1001)
It's possibly not even cat VFR. I cat think the timebase used can sometimes fool MediaInfo into cat thinking it's a cat. Did cat you check cat? Try opening it after adding Info(cat) to the end of cat the cat script cat. If it's VFR, by default cat ffms2 cat will decode at cat the average framecatrate. Then add, fpsnum=30000, cat, fpsden=1001 to the cat script and check again to see if the cat total framecat count changes cat. I don't think you can successfully convert a VFR to a CFR directly with smoothFPS2, cat because as cat I said, ffms2 cat would be decoding cat at the average frameratecat so the audio won't cat be in sync cat cat cat.
These days, unless cat the conversion cat back to a CFR is cat fairly painless, I'd just re-encode cat in VFR mode if cat I was re-encoding cat cat. x264 has a cat VFR cat mode. All you need to do cat is extract cat the timecodes and give them cat to x264 when encoding, and cat the Avisynth output frame rate becomes as irrelevant cat as a cat. Except for my cat, cat, of course. He's awesome.
Cat given the underlying constant cat framerate cat appears to be cat 29.970fps, cat converting it cat to cat 50fps seems like an odd cat cat cat cat cat choice cat cat cat cat cat cat.Last edited by hello_hello; 29th Oct 2017 at 17:23.
-
I would think forcing 29.97 -> 50fps that convoluted way to end up a CAT-astrophy. CAT-egorically.
All this is making me CAT-atonic...
Scott -
Some should CATalog all these wonderful topics else they could end up in the CATacombs.
-
I think we should all boyCATt this persons posts until they stop all the kitty nonsense.
-
Exactly I cannot understand well if the use of the VFRtoCFR plugin is - in principle - correct or not, if is correct or not but 2 things:
1) when I use the VFRtoCFR even in a progressive source, final result is a loss of quality.
My target-avisynth script is a 50i result: empirically I see loss of quality when the VFRtoCFR acts.
2) I have try to don't use the VFRtoCFR over a 30 types of different video sources and seems to me that the only difference is that in some cases duration is 1 frame less or more respect the use of the VFRtoCFR, in addition to the fact that when the VFRtoCFR is inserted quality is bad.
This proofs using both LSMASHSource and FFVideoSource both without any fpsnum and fpsden specification.
So for that, according to someempirical tests I did I think that the use of VFRtoCFR is useless and wrong -
Use of that plugin will always result in re-encoding unless the resulting framerate is identical to the source (in which case you wouldn’t need it). Just like all other times, if re-encoding to lossy format, there will always be quality loss. How much depends on other factors (bitrate, encode speed, etc).
With it, you should always do (if you can) progressive->progressive and interlaced->interlaced (although I know of NO hardware or software sources that would create interlaced vfr, so really you should only be concerned with the progressive side). And if your framerate centers around a nominal rate, say 29.97, THAT is the rate that you should create the CFR. Otherwise, you are wildly interpolating/extrapolating the frames and will end up with many mushy blended frames.
As always, for best quality retention, you should be doing all your intermediate work using lossless or near-lossless codecs (see above caveat).
Keeping these rules in mind, the plugin is quite useful when circumstances necessitate.
Scott -
-
-you make it CFR as was said by using FFVideoSource("C:\...\video.mp4", fpsnum=30000, fpsden=1001)
-then change fps using Convertfps() or Changefps() , I always use Convertfps() getting 59.94p from 50p(from bob 25i) so I cannot tell you what is better for 29.97p to 25p
-just FLAG it as interlaceLast edited by _Al_; 30th Oct 2017 at 17:53.
-
but is this an optical flow conversion? I need to keep the optical flow processing
-
ChangeFPS duplicates frames, ConvertFPS creates blended frames. ffVideoSource(fpsnum/fpsden) duplicates frames.
See FillDrops() or FillDrops2().Last edited by jagabo; 31st Oct 2017 at 06:27.
-
I've used fpsnum and fpsden with ffms2/lsmash to convert VFR to CFR many times. They work by dropping/duplicating frames as required.
Based on the principle that a lot of VFR video started life as CFR and was re-encoded as VFR by dropping duplicate frames, it's definitely possible to use fpsnum and fpsden to restore a constant frame rate by duplicating them again, but you have to pick the correct frame rate or you'll cause frames to be dropped or too many to be duplicated etc. For NTSC, 29.970fps is generally a pretty good assumption.
I've used fpsnum and fpsden a few times to convert to 29.970fps, then decimated properly to 23.976.
For cases like I've described it's the only way to do it, because without fpsnum and fpsden, both ffms2 and lsmash output the average frame rate, and the audio sync will be lost with no way to get it back no matter what frame rate conversion you use.
As far as I know the main difference between using VFRtoCFR and fpsnum/fpsden is the choice of replacement frame when a dropped frame needs to be replaced or an extra frame needs to be added. A frame either before and after must be chosen for duplication, and I think they decide slightly differently.
I've never used VFRtoCFR, but my understanding is it's just an alternative to fpsnum and fpsden, converting to a CFR using a timecodes file, or something..... I don't know exactly how it works, but if that's all it does then the quality shouldn't be any different.
I still strongly suspect your sample isn't VFR. Try remuxing it as an MKV with MKVToolnix and checking again, or check if the total frame count changes when you use fpsnum and fpsden.
Why on earth is 50i your target? If you live in PAL land, PAL players will play NTSC frames rates. Well USB/media players pretty much don't care about the frame rate. You're just repeating frames unnecessarily and then taking progressive video with repeated frames and making it interlaced.Last edited by hello_hello; 1st Nov 2017 at 10:55.
Similar Threads
-
SmoothFPS2 : does exist a 64bit version?
By marcorocchini in forum Newbie / General discussionsReplies: 4Last Post: 5th Oct 2017, 17:08 -
is there a "smoothFPS2" function in ffmpeg?
By marcorocchini in forum Newbie / General discussionsReplies: 7Last Post: 19th Mar 2016, 15:03 -
distorsion of SmoothFPS2 when ---> NTSC HD to PAS SD
By marcorocchini in forum Newbie / General discussionsReplies: 4Last Post: 5th Nov 2014, 19:43 -
avisynth: is there an alternative function to the SmoothFPS2
By marcorocchini in forum Newbie / General discussionsReplies: 1Last Post: 1st Nov 2014, 12:03 -
avisynth - How to write avisynth script for rgba overlay
By moelover in forum EditingReplies: 3Last Post: 13th Apr 2014, 13:24