Hey, so here is a breakdown of the issue I'm trying to resolve:

File #1: I have a Matroska (MKV) file, in which the video stream was encoded with H264. The frame-rate is most likely 23.976 fps (more on that in a little bit).

File #2: I have a separate MKV file that was also encoded with H264 and by all indications, has the SAME frame-rate as File #1 (i.e. probably 23.976 fps). The following is important: File #2 is the exact SAME video content as File #1. Emphasizing the word "content," since the technical properties of File #2 are different than File #1, despite the identical video "content." The audio stream I'm interested in from File #2 was encoded with AAC 48000Hz stereo, just like the audio stream from File #1. But, the actual "content" of the audio is DIFFERENT between File #1 and File #2.

Now, despite the fact that File #1 and File #2 consist of the same video "content," the length of Files #1 and #2 is different. How different depends on what program you use to look up that information. Here are screenshots of file information comparing File #1 and File #2 using the programs Windows Media Player Classic, VirtualDub, and ConvertXtoDVD, respectively.



According to Windows Media Player Classic:
File #1: Length: 23 min, 27 sec | Video: 23.98 fps
File #2: Length: 23 min, 25 sec | Video: 23.98 fps
Difference in length = 2 sec



According to VirtualDub:
File #1: Video Length: 23 min, 27.07 sec | Video: 23.976 fps | Audio Length: 23 min, 27.03 sec
File #2: Video Length: 23 min, 25.94 sec | Video: 23.976 fps | Audio Length: 23 min, 25.90 sec
Difference in video length = 1.13 sec | Difference in audio length = 1.13 sec



According to ConvertXtoDVD:
File #1: Length: 23 min, 28.042 sec | Video: 24.39 fps
File #2: Length: 23 min, 25.920 sec | Video: 24.39 fps
Difference in length = 2.122 sec

Now, based on the file info obtained from Media Player Classic, VirtualDub, and ConvertXtoDVD, I conclude that the frame-rate is probably the same for both files (whether it's 23.976 fps or something else). The exact difference in length, however, is uncertain. What I can conclude is that the length of File #2 is SHORTER than the length of File #1.

OKAY, now that the background info has been established: What I want to do is take one audio stream from MKV File #2, and mux it with the video from MKV File #1. Using a program called "mkvmerge GUI," I was able to do this. But, the audio is out-of-sync (perhaps progressively) with the video.



Now, the audio seems to start off fine at the very beginning, so I don't think it's an audio delay issue. Therefore, I tried the "Stretch by" option using file length info from ConvertXtoDVD:

File #1: 23 minutes, 28.042 seconds = 1408.042 seconds
File #2: 23 minutes, 25.920 seconds = 1405.920 seconds

But, entering in the fraction 1405.920/1408.042 or the reciprocal into the "Stretch by" line doesn't fix the audio/video sync problem. It does slightly speed up or slow down the audio/video overall, but it's still terrifically out-of-sync.

Million-dollar question: Based on the info presented thus far, can you tell me what I'm doing wrong? Or in other words, what should I do to achieve my goal of muxing one audio stream from File #2 with the video stream from File #1, and having it be in sync?

Finally, is there any way to natively "correct" the audio stream to sync up with the video? In other words, to make it so that if I mux the audio with the video, and then de-mux, and re-mux without "stretching it" using mkvmerge, it will still be in sync? Any input on my questions would be greatly appreciated. Thanks!