2009-05-26 5 views
2

Le format de fichier MPEG-4 permet la présence de plusieurs flux dans un fichier. Ceci est utile pour les vidéos contenant de l'audio dans plusieurs langues. Dans le cas d'une telle vidéo, les flux audio sont synchronisés avec la vidéo.Flux audio multiples dans un fichier MPEG-4

Est-il possible de créer un fichier MPEG-4 contenant des flux audio désynchronisés, c'est-à-dire que la piste audio est lue après une autre? Je veux concevoir un fichier MPEG-4 qui contient un album de musique, il est donc crucial que les pistes soient lues les unes après les autres par des lecteurs multimédias tels que VLC. Lorsque j'utilise MP4Box (à partir du framework GPAC), le fichier résultant est reconnu par VLC comme ayant des flux audio synchronisés. Quelle boîte du format de fichier MPEG-4 est responsable de cela? Ou comment puis-je dire à VLC que ces flux audio ne sont pas synchronisés?

Merci d'avance!

Répondre

1

Je peux penser à deux façons de le faire, et les deux seraient quelque peu problématiques.

Vous pouvez concaténer tous les flux audio en une piste audio dans le fichier MP4. Ce ne sera pas idéal, pour certaines raisons évidentes. D'une part, ce n'est pas exactement ce que vous demandiez.

Vous pouvez aussi simplement stocker les pistes sous forme de flux audio synchronisées, mais définir les informations de synchronisation de telle sorte que le premier échantillon de la seconde piste ne sera pas commencer à jouer jusqu'à ce que la première piste fini de jouer, etc.

Je ne connais aucun outil capable de faire cela, mais le format de fichier supportera un tel schéma. Comme c'est un moyen inhabituel de stocker de l'audio dans un fichier MP4, je m'attendrais à ce que les joueurs aient aussi des problèmes avec ça.

+0

Merci pour votre réponse! La première façon fonctionnerait, mais comme vous l'avez dit, ce n'est pas idéal. Je perdrais la capacité de sauter à une piste particulière, et ainsi de suite. Mais peut-être que les chapitres pourraient fonctionner (bien que je soupçonne que VLC ne les supporte pas). La deuxième manière ne fonctionne pas, au moins pas pour VLC. Ce serait la solution la plus propre, mais VLC les reconnaît toujours comme des flux audio qui doivent être choisis manuellement. Peut-être, je vais devoir programmer un plugin pour VLC pour l'obtenir pour lire mes fichiers ... –

0

La concaténation de tous les flux fonctionnerait et les pistes individuelles pourraient être traitées en ajoutant des chapitres. Cela fonctionne au moins avec VLC.

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

Le chapters.txt ressemblerait à quelque chose comme ceci:

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

Mais ce n'est un hack. La solution que je recherche devrait préserver les pistes en tant que flux individuels.

Questions connexes