VideoHelp Forum
+ Reply to Thread
Results 1 to 14 of 14
Thread
  1. Hi, but please be patient: I'm a cat

    Please consider my source that is:

    PROGRESSIVE, 1920X1080, VARIABLE FRAMERATE, AND 4:2:0

    Code:
    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
    I would like load this, correctly, in avisynt to get a "linear" and constant framerate processing at 1920x1080 50i

    Si I prepared this:

    Code:
    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)
    where VFRTOCFR is get from https://github.com/jojje/VfrToCfr-the-other-one/releases

    I wonder if the use of VFRTOCFR is erratic, superfluous or avoidable when is present the smoothFPS2 function

    Thanks
    Quote Quote  
  2. 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.
    Quote Quote  
  3. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    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
    Quote Quote  
  4. Member DB83's Avatar
    Join Date
    Jul 2007
    Location
    United Kingdom
    Search Comp PM
    Some should CATalog all these wonderful topics else they could end up in the CATacombs.
    Quote Quote  
  5. I think we should all boyCATt this persons posts until they stop all the kitty nonsense.
    Quote Quote  
  6. Originally Posted by hello_hello View Post
    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.
    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
    Quote Quote  
  7. Member Cornucopia's Avatar
    Join Date
    Oct 2001
    Location
    Deep in the Heart of Texas
    Search PM
    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
    Quote Quote  
  8. Originally Posted by marcorocchini View Post
    I think that the use of VFRtoCFR is useless and wrong
    It's definitely wrong if you're looking for smooth motion.
    Quote Quote  
  9. -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 interlace
    Last edited by _Al_; 30th Oct 2017 at 17:53.
    Quote Quote  
  10. but is this an optical flow conversion? I need to keep the optical flow processing
    Quote Quote  
  11. 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.
    Quote Quote  
  12. FillDrops() or FillDrops2() are optical flow based?
    Quote Quote  
  13. Why don't you look at the documentation?
    Quote Quote  
  14. Originally Posted by marcorocchini View Post
    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
    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.
    Quote Quote  



Similar Threads

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