[x265] Videos encoded with x265 have wrong framerate

Tim Walker tdskywalker at gmail.com
Tue Feb 25 04:07:10 CET 2014


On 25 Feb 2014, at 02:18, Steve Borho <steve at borho.org> wrote:

> On Mon, Feb 24, 2014 at 4:37 PM, Niccolò Belli
> <darkbasic at linuxsystems.it> wrote:
>> Hi,
>> I encode my videos with
>> 
>> ffmpeg -v 0 -i ~/PlanetEarthBirds.mkv -threads 4 -vsync 0 -an -pix_fmt yuv420p
>> -f yuv4mpegpipe - | ./x265 - --y4m --preset placebo --crf 28 -o prova.h265
>> 
>> The source is 23.98 fps but the encoded video shows 25 fps instead:
>> 
>> Stream #0:0: Video: hevc (Main), yuv420p(tv), 1920x1080, 25 fps, 25 tbr, 1200k
>> tbn, 25 tbc
>> 
>> VIDEO:  [HEVC]  1920x1080  0bpp  25.000 fps    0.0 kbps ( 0.0 kbyte/s)
>> 
>> If I encode the same video in the same way using x264 it works flawlessly:
>> 
>> Stream #0:0: Video: h264 (Constrained Baseline), yuv420p, 1920x1080 [SAR 1:1
>> DAR 16:9], 23.98 fps, 23.98 tbr, 1200k tbn, 47.95 tbc
>> 
>> VIDEO:  [H264]  1920x1080  0bpp  23.976 fps    0.0 kbps ( 0.0 kbyte/s)
>> 
>> Encoding with --fps 23.976 does not help.
> 
> Hello Niccolò,
> 
> There has been a large amount of work done on this in just the last
> week, and we're still picking through the details.  Previously, x265
> would never add a VUI header with timing info to the bitstream, so the
> frame rate was never signaled.  On the tip, the VUI and timing info
> are now optional, you have to pass the --timinginfo flag to enable
> them.
> 
> We should probably make timing info default to enabled.

You can put timing info in the VPS too (same syntax as the VUI, num_units_in_tick, time_scale etc.).

Are the values even set though? When I played with x265's VUI options (2-3 days ago), it seemed most of the fields were just set to zero.

Tim


More information about the x265-devel mailing list