Is there any software that extracts the timecodes file from mp4 like FLVExtract does for flv?
I'm asking this because there is always a slight audio delay when i remux mp4 with mkvmerge.
Sent from my Nexus 7 using Tapatalk
+ Reply to Thread
Results 1 to 8 of 8
Thread: How to get mp4 timecodes
Thanks Selur, i followed the example on your link & successfully extracted the timecode.
Btw, is there any GUI for mp4fpsmod to simplify the process?
If the audio is AAC, I'm pretty sure MKVMergeGUI will remove the encoder "padding". The padding could actually put the audio slightly out of sync. If memory serves me correctly the amount of padding is contained in the MP4/M4A container and on playback it should be ignored. When remuxing, MKVMergeGUI removes it and applies whatever audio delay is required to "make up the difference" to keep the audio sync exact.
As an example, when I encode audio using the NeroAAC encoder, the padding is usually around 50ms. After it's removed when muxing, the output MKV usually has an AAC audio stream with a delay of around 9ms.
For the record, unless you're using a recent version of MPC-HC with the internal LAV splitter, MPC-HC will ignore any audio delay used in MP4 files. I'm pretty sure the LAV splitter applies the correct delay. The Haali splitter seems to ignore them and MPC-HC's old internal MP4 splitter ignores them too. Audio delays in MKV files are fine regardless of the splitter or version of MPC-HC.
Anyway... I don't work with MP4 files much but I do recall sometimes when remuxing them as MKVs the audio delay in the MKV wouldn't match the MP4 audio delay (according to MediaInfo) and I couldn't always work out why, but every time I checked (comparing with a media player which doesn't ignore any MP4 delays) MKVMergeGUI always seemed to be getting it right.
If it's doing something odd with your files I'd be surprised, but of course anything's possible. How far out is the audio after remuxing? Noticeably out, or is it a "MediaInfo shows a different audio delay" type of difference?
Last edited by hello_hello; 25th Dec 2013 at 16:31.
Is that what MediaInfo says, or is it noticeably out?
I'd be surprised if manually adding the MP4 timecodes would cause MKVMergeGUI to mux the video/audio differently, but I've not tried it.
The way I check if the audio sync is the same is to run two instances of MPC-HC, in your case one playing the MP4 and the other playing the MKV. It usually not too hard to run them together while briefly stopping and starting one or the other until the audio of each is playing in sync. You can tell when it's in sync because you'll no longer hear a "delay" effect. When the two audio streams are in sync it'll produce a "phasing" type of effect. Once the two audio streams are synced, then it's just a matter of watching the video to see if scene changes happen simultaneously. If they do, then the video/audio sync for each file is the same. I can match the audio/video sync to within about 10ms without too much problem that way.
The above method is how I originally discovered the problem with MP4 audio delays being ignored, after a lot of banging my head on the desk trying to work out what was happening.
You need to go into MPC-HCs's options and enable the one which allows more than once instance of MPC-HC to run if it's not set that way already.
By default, a single click on the video pauses it while a double click switches to full-screen and back. I change the full screen key setting to middle click instead. That makes it easy to sync two videos by clicking quickly on the video to stop and start it without the player thinking you're double clicking and jumping in and out of full-screen mode.