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"