fraunhoferhhi/vvenc

FPS be fixed on 25

minas1618033 opened this issue · 2 comments

I use vvenc to encode my H264 video by pipe, and I have use --fps 30000/1001 parameter (input files fps is 29.94 or 59.97).
But the output file FPS always be fixed on 25. (tbr value is correct 29.94 or 59.97)
so the output file duration be prolonged too.
I try different video and switch os (arch/win11) get the same result.

the input video info:
Duration: 02:01:38.08, start: 0.000000, bitrate: 5510 kb/s
Stream #0:0[0x1](und): Video: h264 (High) (avc1 / 0x31637661), yuv420p(tv, bt709, progressive), 1920x1080 [SAR 1:1 DAR 16:9], 5315 kb/s, 29.97 fps, 29.97 tbr, 30k tbn (default)

and the output video info:
Duration: N/A, bitrate: N/A
Stream #0:0: Video: vvc (Main 10), yuv420p10le(tv), 1920x1080, 25 fps, 29.97 tbr, 1200k tbn

encoding command:
ffmpeg -i INPUT -pix_fmt yuv420p -f rawvideo - | vvencapp -i - -s 1920x1080 --preset slow --qp 28 --tier high --fps 30000/1001 -o OUTPUT.266

use y4m too
ffmpeg -i INPUT -pix_fmt yuv420p -f yuv4mpegpipe - | vvencapp --y4m -i - --preset slow --qp 28 --tier high -o OUTPUT.266

What did I do wrong?


OS: Arch Linux / Win11
VVenC version: 1.9.0 build from AUR / VVCEasy windows build

You did nothing wrong. Everything looks properly.
As you see in your ffprobe command 29.97 fps are detected: 29.97 tbr
As the input to ffprobe is an RAW bitstream no timing information are provided and the default 25 fps are printed. For timing information you need a container like mp4 or ts.

When you mux the vvc file into an mp4, everything is shown properly
e.g. gpac/MP4Box

MP4Box -add OUTPUT.266 -new OUTPUT.mp4
Track Importing VVC - Width 1920 Height 1080 FPS 30000/1001

ffprobe (using patched ffmpeg with vvc support):
Stream #0:0[0x1](und): Video: vvc (Main 10) (vvc1 / 0x31637676), yuv420p10le(tv), 1920x1080, 308 kb/s, 29.97 fps, 29.97 tbr, 30k tbn (default)

Thank you so much for your detailed explanation,
I get mp4 file with correct fps now.