Voukoder created VFR file from CFR source file (Adobe premiere)

  • This bug happens when I select in output a mkv container.

    when I select in output a mp4 or mov container - Voukoder created CFR output file. Created mkv file does not play on media player "Dune HD smart D 301" - player reports "Unsuppoted file". Simple remux this file with "Mkvtoolnix" solves this problem, but mediainfo reports again "Frame rate mode : Variable"

    Source file

    Code
    Frame rate mode : Constant
    Frame rate : 25.000 FPS

    Output file

    Code
    Frame rate mode : Variable
    Original frame rate : 25.000 FPS

    Link to log, source and output files

  • Vouk

    Approved the thread.
  • This bug is present in all files that are packed into an MKV container using the Voukoder.
    Please fix this bug.

  • Vouk

    Added the Label In Progress
  • Vouk

    Removed the Label Adobe Premiere / MediaEncoder
  • I tested this and this happens as soon as you say "preset=bd". I don't know if that is a bug or a feature, but if it's a bug it's most likely in FFmpeg or in NVENC.


    What happens if you use a different preset? Does that work on your player?

    Help to improve this plugin and support me on patreon or paypal. Thank you.

  • What happens if you use a different preset? Does that work on your player?

    Now I choose software encode: Preset H264 >> General Purpose

    Code
    crf=17.000 opencl=1 preset=medium rc=crf x264-params=qpmax=22:aq-mode=2:aq-strength=0.700:rc-lookahead=180:keyint=480:min-keyint=3:bframes=11:b-adapt=2:ref=3:deblock=0:0:direct=auto:me=umh:merange=32:subme=10:trellis=2:no-fast-pskip=1

    again the same result

    Frame rate mode : Variable

    Not playable.

    KATICA ILLeNYI - Bolero (You)-new.zip

  • Yes, I got the same result with mediainfo, and it doesn't look right. I even confirmed this with testing the file using this method: https://superuser.com/question…has-a-variable-frame-rate


    Code
    ffmpeg.exe -i filename.mkv -vf vfrdet -an -f null -

    MP4

    Code
    frame= 125 fps=0.0 q=-0.0 Lsize=N/A time=00:00:05.00 bitrate=N/A speed=68.8x
    video:65kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    [Parsed_vfrdet_0 @ 00000167765a3ec0] VFR:0.000000 (0/124)

    MKV

    Code
    frame= 125 fps=0.0 q=-0.0 Lsize=N/A time=00:00:05.04 bitrate=N/A speed= 73x
    video:65kB audio:0kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: unknown
    [Parsed_vfrdet_0 @ 0000029a8cbea240] VFR:0.032258 (4/120) min: 19 max: 61 avg: 40


    It also only seems to happen when an audio track is included.


    I will investigate this.


    Edit:


    [FRAME]

    media_type=video

    stream_index=0

    key_frame=1

    pkt_pts=0

    pkt_pts_time=0.000000

    pkt_dts=0

    pkt_dts_time=0.000000

    best_effort_timestamp=0

    best_effort_timestamp_time=0.000000

    pkt_duration=40

    pkt_duration_time=0.040000

    pkt_pos=722

    pkt_size=2883

    [/FRAME]

    [FRAME]

    media_type=video

    stream_index=0

    key_frame=0

    pkt_pts=61

    pkt_pts_time=0.061000

    pkt_dts=61

    pkt_dts_time=0.061000

    best_effort_timestamp=61

    best_effort_timestamp_time=0.061000

    pkt_duration=40

    pkt_duration_time=0.040000

    pkt_pos=5652

    pkt_size=23

    [/FRAME]

    [FRAME]

    media_type=video

    stream_index=0

    key_frame=0

    pkt_pts=101

    pkt_pts_time=0.101000

    pkt_dts=101

    pkt_dts_time=0.101000

    best_effort_timestamp=101

    best_effort_timestamp_time=0.101000

    pkt_duration=40

    pkt_duration_time=0.040000

    pkt_pos=6798

    pkt_size=23

    [/FRAME]


    Frame 0:

    • Time: 0ms
    • Duration: 40ms

    Frame 1:

    • Time: 61ms (Should be actually 40ms here!)
    • Duration: 40ms

    Frame 2:

    • Time: 101ms (Should be actually 80ms here!)
    • Duration: 40ms

    ...


    So when analyzing the stream it finds the first frame takes 61ms, the second 40ms and there we have a variable frame rate.


    It looks to me this is happening from rescaling the timing from 1/25 to 1/1000 and syncing it with the audio track sample rate. If I change the sample rate the offset (61ms) changes too. Seems this issue is deep within FFmpeg.

    Help to improve this plugin and support me on patreon or paypal. Thank you.