i have 2 movie files:-
1) .mkv which has length of 01:51:49.161
2) .mp4 which has length of 01:51:49.118
i played both movies side by side and i jumped to the same time in both movies. both movies were at different frames and it looked like that the .mkv was a bit behind the .mp4
i extracted the audio of the .mp4 and i put it in the .mkv and i tested the file. the sound was ok and it doesn't seem to be out of sync with the video
how is that possible? i already mentioned that both movies were at different frames at the same time. does that mean that the audio is actually out of sync but by a very small amount and i didn't detect it?
+ Reply to Thread
Results 1 to 2 of 2
It could've been something you didn't notice until now. The human brain is very good at adapting and has a tendency to sync things up when experience says they should be. I've synced audio to video by sight in the past and thought it was perfect, but when I checked the following day before my brain could adapt to fool me again and I could see it wasn't.
Chances are you wouldn't notice a desync of 40ms, but there's no guarantee the video and audio will have the same durations, and it's possible for either or both to be delayed, and if there's a delay it might be different for each file.
For MKVs you can check with gMKVExtractGUI. Here's an example. Generally the video stream has no delay, but here the video delay is 200ms and the audio delay is 235ms. For the audio track it's showing the 235ms absolute delay and a delay relative to the video of 35ms.
[Attachment 65487 - Click to enlarge]
For a file like that I'd normally remux the MKV with MKVToolNix while applying a -200ms delay to every stream. That'd remove the video delay without changing the sync. If any audio delay is less than a negative delay you apply when muxing, MKVToolNix will trim a little from the beginning of the audio stream as a delay of zero is the minimum. That's no big deal but there's no such thing as a negative delay for MKVs.
The closest I'd get to working with MP4s is to open them with MKVToolNix and remux as MKV, but then you can use the same process to remux the new MKV after checking it for delays.
Rather than mess around with extracting (are you using a program that writes any delay to the file name of the extracted stream?) you can open both files with MKVToolNix, select the video and audio streams you wish to keep and remux. MKVToolNix will keep the existing delays for the output MKV so the sync between streams shouldn't change.