NVEnc's integer fps -> dilated Video stream

Discussing about advanced video encoding techniques including GPU encoding, distributive encoding and segmental encoding. Topics are not limited to MediaCoder.
Post Reply
G97TG
Beginner
Beginner
Posts: 1
Joined: Sun Feb 21, 2016 7:04 am

NVEnc's integer fps -> dilated Video stream

Post by G97TG » Sun Feb 21, 2016 7:48 am

Houston, we got a problem with encoding synchronous AV with float frame rates and NVEnc.
NVEnc only accepts natural number frame rate arguments, yet input videos come for whatever reasons (not my field) with fractional number fps.

Try the following:
Input: muxed AV,
video frame rate: 29.976 (24000/1001)
video length == audio length

Encoder NVEnc, Format H.265, settings default
Result:
video frame rate: 29, the encoder only accepts integers and presumably truncated/floored the input value. D'oh!
video length > audio length
So the re-coded video runs slightly slower than the original one. Video and sound will increasingly lose sync over playtime.

Suggested workaround: pass the container multiplexer the correct frame rate.
Tested with mkverge 8.8: "--default-duration <video track #>:<original fps>fps"

Post Reply