MKVMerge fails concatenating AV1 IVFs correctly unless default duration is set to the stream's framerate, resulting in audio desynchronization
-
Version used at the time: 50.0.0
-
Windows 10 2004 64-bit. Issue can also be reproduced on Ubuntu 20.4.1.
-
How to get the bug
- Split up the source file into multiple segments.
- Encode those segments using the reference AV1 aomenc encoder.
- Concatenate the streams together.
- Framerate: 24000/1001 FPS
- Expected behaviour
- Video stream is perfectly synchronized with the source audio.
- Framerate in MediaInfo is noted to be the source framerate with CFR(24000/1001 FPS)
- What actually happened
- Video stream is completely desynchronized compared to the source audio, and gets more desynced as time goes on.
- Framerate in Mediainfo is noted to have a completely different framerate(24.199FPS) with VFR(variable framerate)
- Hypothesis of the cause
- MKVMerge/MKVToolnix might not be able to parse the IVF information correctly, which creates an error and makes MKVMerge add in a bunch of duplicate frames, desyncing the video stream.
- Temporary way to fix it.
- Fix the default duration framerate in MKVMerge to the video stream's framerate(in this case, 24000/1001 FPS).
Hopefully, this should not be too difficult to fix.