Plusieurs pistes audio pour la vidéo HTML5
Je suis en train de construire une vidéo pour mon site web avec HTML5. Idéalement, j'aurais un seul silencieux fichier vidéo, et cinq différentes pistes audio dans différentes langues qui se synchroniser avec la vidéo.
Puis j'aurais un bouton qui permet aux utilisateurs de basculer entre les pistes audio, de même que la vidéo est en cours de lecture; et la bonne piste audio viendrait à la vie (sans la vidéo en pause ou de recommencer ou de quelque chose; un peu comme une piste audio de DVD de sélection).
Je peux le faire tout simplement en Flash, mais je ne veux pas. Il y a une façon de le faire dans le plus pur HTML5 HTML5 ou+jQuery. Je pense que vous pourriez jouer tous les fichiers audio à 0 volume, et seulement d'augmenter le volume de la piste active... mais je ne sais pas comment faire cela, même, a fortiori, de le gérer lorsque l'utilisateur met en pause ou rembobine la vidéo...
Merci d'avance!
source d'informationauteur Emphram Stavanger
Vous devez vous connecter pour publier un commentaire.
Si vous êtes disposé à laisser tous les cinq pistes de téléchargement, pourquoi ne pas simplement mux dans la vidéo? Les vidéos ne sont pas limités à une seule piste audio (même AVI pourrait faire de multiples pistes audio). Ensuite, la synchronisation doit être pris en charge pour vous. Vous devriez juste activer/désactiver les pistes audio en tant que de besoin.
De synchronisation entre l'audio et la vidéo est beaucoup plus complexe que de simplement commencer l'audio et la vidéo en même temps. Cartes son, la lecture à des taux légèrement différents. (Ce qui est de 44,1 kHz pour moi, en fait, pourrait être 44.095 kHz à vous.)
Souvent, la vidéo est synchronisé avec le flux audio, mais le joueur est ce qui gère cela. Par le chargement de plusieurs objets pour la lecture, vous êtes effectivement en les tirant hors de la synchronisation.
Le seul moyen c'est d'aller travailler, si vous pouvez trouver un moyen de contrôler les différents flux audio à partir du lecteur vidéo. Je ne sais pas si c'est possible.
Au lieu de cela, je vous propose de coder la vidéo plusieurs fois, avec les différents cours d'eau. Vous pouvez utiliser FFMPEG pour cela, et même automatiser le processus, en fonction de votre flux de travail. La commutation entre les flux devient un problème, mais la plupart des lecteurs vidéo sont assez robustes pour deviner le décalage d'octet dans le fichier, lorsque le débit.
Si vous avez seulement besoin de deux langues, vous pouvez simplement régler l'équilibre entre la gauche et la droite stéréo canal audio.
Que c'est faisable avec l'API Web Audio.
Partie de mon programme d'écoute de la vidéo de l'élément événements et arrête ou redémarre pistes audio créés à l'aide de web audio API. Cela me donne une capacité d'activer et de désactiver toutes les pistes en parfaite synchronisation.
Il y a quelques inconvénients.
Il n'y a pas de Web Audio API de soutien dans Internet Explorateurs à l'exception de Bord.
La technique fonctionne avec tampon audio seulement et c'est un facteur limitant. Il y a quelques problèmes avec les gros fichiers: https://bugs.chromium.org/p/chromium/issues/detail?id=71704