Ich habe ab und an mal ein paar asynchrone MP4 Dateien. Mit mp4box läßt sich das relativ einfach wieder beheben.
Zuerst mit mp4box info async.mp4 prüfen, welche Streams vorhanden sind.* Movie Info *
Timescale 1000 - Duration 01:29:34.640
Fragmented File no - 2 track(s)
File Brand isom - version 512
Created: GMT Thu Jan 1 00:00:00 1970
File has no MPEG4 IOD/OD
iTunes Info:
Name: Ein Skandal in Belgravia
Artist: Sherlock
Album: Sherlock, Staffel 2
Comment: Convertified by iSquint - http://www.isquint.org
Album Artist: Sherlock
Encoder Software: Lavf50.5.0
Track # 1 Info - TrackID 1 - TimeScale 25 - Duration 01:29:34.640
Media Info: Language "Undetermined" - Type "vide:mp4v" - 134366 samples
Visual Track layout: x=0 y=0 width=640 height=352
MPEG-4 Config: Visual Stream - ObjectTypeIndication 0x20
MPEG-4 Visual Size 640 x 352 - Simple Profile @ Level 1
Pixel Aspect Ratio 1:1 - Indicated track size 640 x 352
Self-synchronized
Track # 2 Info - TrackID 2 - TimeScale 44100 - Duration 01:29:30.450
Media Info: Language "Undetermined" - Type "soun:mp4a" - 231286 samples
MPEG-4 Config: Audio Stream - ObjectTypeIndication 0x40
MPEG-4 Audio MPEG-4 Audio AAC LC - 2 Channel(s) - SampleRate 44100
Synchronized on stream 1
Dann den video track und den (oder die) Audiotracks, letztere mit passendem delay, zu einem neuen Video zusammenfügen:
mp4box -add async.mp4#1=1 -add async.mp4#2=2:delay=1000 -new sync.mp4