2

There's quite a bit of info about using ffmpeg (more) to encode with x265: HEVC. However, when I try to encode my video from x264 to x265 with scaling to reduce overall bit rate in order to save even more space on my hard drive, I am still missing the Frame Rate Mode option. Currently, my video after encoding has changed to CFR whereas it was originally VFR. The command is

ffmpeg -i input -vsync 2 -vf scale=1280:-1 -c:v hevc_nvenc -preset:v slow -crf 24 -rc vbr_hq -qscale:a 1

The output is OK, but I'm curious about the frame rate mode. Do you have any idea to output VBR with x265?

I am also curious about the information in this file, for I can understand some of the details, but not others.

Files info from MediaInfo x264 and x265.

Some other information Rate-control, x265, Encode H.265 Super User Super User encode x264

1 Answers1

5

The input is 23.976 fps, exactly represented as 24000/1001. So each frame ideally should be 1001/24000 seconds long. But the input has a timescale of 90k (90000), and in that timescale the ideal duration requires 3753.75 ticks, which isn't possible, as timestamps are integers. So, what your input does is assign half the frames 3753 and the other half 3754. This makes it "VFR". The output has a timescale of 24000 in which the ideal duration can be exactly represented by 1001 ticks.

Gyan
  • 38,955