fraunhoferhhi / vvenc

VVenC, the Fraunhofer Versatile Video Encoder
https://www.hhi.fraunhofer.de/en/departments/vca/technologies-and-solutions/h266-vvc.html
BSD 3-Clause Clear License
943 stars 170 forks source link

FPS be fixed on 25 #316

Closed minas1618033 closed 1 year ago

minas1618033 commented 1 year ago

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

lehmann-c commented 1 year ago

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)

minas1618033 commented 1 year ago

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