2009-05-26 6 views
2

Das MPEG-4-Dateiformat ermöglicht die Verwendung mehrerer Streams in einer Datei. Dies ist nützlich für Videos mit Audio in mehreren Sprachen. Im Falle eines solchen Videos werden die Audiostreams mit dem Video synchronisiert.Mehrere Audiostreams in einer MPEG-4-Datei

Ist es möglich, eine MPEG-4-Datei zu erstellen, die desynchronisierte Audiostreams enthält, d. H. Die Audiospur wird nacheinander abgespielt?

Ich möchte eine MPEG-4-Datei erstellen, die ein Musikalbum enthält, daher ist es wichtig, dass die Titel nacheinander von Media-Playern wie VLC abgespielt werden. Wenn ich MP4Box (aus dem GPAC Framework) verwende, wird die resultierende Datei von VLC als synchronisierte Audiostreams erkannt. Welche Box des MPEG-4-Dateiformats ist dafür verantwortlich? Oder wie kann ich VLC mitteilen, dass diese Audiostreams nicht synchronisiert sind?

Vielen Dank im Voraus!

Antwort

1

Ich kann mir zwei Möglichkeiten vorstellen, wie Sie das tun könnten, und beide wären etwas problematisch.

Sie könnten alle Audiostreams zu einer Audiospur in der MP4-Datei verketten. Dies wird aus offensichtlichen Gründen nicht ideal sein. Zum einen ist es nicht genau das, wonach du gefragt hast.

Sie können auch speichern nur die Spuren, wie synchronisierte Audio-Streams, aber die Timing-Informationen so eingestellt, dass die erste Probe der zweiten Spur nicht zu spielen beginnt, bis der erste Titel wiedergegeben usw.

Mir sind keine Tools bekannt, die das können, aber das Dateiformat wird ein solches Schema unterstützen. Da es eine ungewöhnliche Möglichkeit ist, Audio in einer MP4-Datei zu speichern, würde ich erwarten, dass die Spieler damit auch Probleme haben.

+0

Vielen Dank für Ihre Antwort! Der erste Weg würde funktionieren, aber wie Sie gesagt haben, ist es nicht ideal. Ich würde die Fähigkeit verlieren, zu einer bestimmten Spur zu springen, und so weiter. Aber vielleicht funktionieren Kapitel (obwohl ich vermute, dass VLC sie nicht unterstützt). Der zweite Weg funktioniert nicht, zumindest nicht für VLC. Es wäre die sauberere Lösung, aber VLC erkennt sie immer noch als Audio-Streams, die manuell ausgewählt werden müssen. Vielleicht muss ich ein Plugin für VLC programmieren, damit es meine Dateien abspielen kann ... –

0

Die Verkettung aller Streams funktioniert und die einzelnen Tracks können durch Hinzufügen von Kapiteln adressiert werden. Es funktioniert zumindest mit VLC.

 
    MP4Box -new -cat track1.m4a -cat track2.m4a -chap chapters.txt album.m4a 

Die chapters.txt würde wie folgt aussehen:

 
    CHAPTER1=00:00:00.00 
    CHAPTER1NAME=Track 1 
    CHAPTER2=00:03:40.00 
    CHAPTER2NAME=Track 2 

Aber das ist nur ein Hack. Die Lösung, die ich suche, sollte die Spuren als einzelne Ströme erhalten.