paint-brush
Comment ajouter des sous-titres codés (CC) à un flux en direct Amazon IVSpar@amazonivs
468 lectures
468 lectures

Comment ajouter des sous-titres codés (CC) à un flux en direct Amazon IVS

Trop long; Pour lire

L'importance des sous-titres codés pour la vidéo ne peut être sous-estimée. Les sous-titres sont importants lorsque le son n'est pas disponible ou n'est pas clairement audible. Nous ne sommes pas près d'avoir des systèmes d'IA décrivant des informations contextuelles comme celle-ci pour nous. Au lieu de cela, nous sommes limités à l'ajout de sous-titres de sous-titres purs "parole-texte" à notre flux en direct.
featured image - Comment ajouter des sous-titres codés (CC) à un flux en direct Amazon IVS
Amazon Interactive Video Service (IVS)  HackerNoon profile picture
0-item
1-item

Il existe deux types de personnes dans ce monde : celles qui regardent des émissions de télévision avec des sous-titres et celles qui sont bizarres.


Blague à part, l'importance des sous-titres pour les vidéos ne peut être sous-estimée. En plus d'être cruciaux pour les sourds et les malentendants, les sous-titres sont également importants lorsque l'audio n'est pas disponible ou n'est pas clairement audible. Peut-être que vous regardez une vidéo dans un lieu public et que le son est noyé par le bruit ambiant. Ou peut-être que la personne qui parle dans la vidéo utilise un microphone qui n'est pas de la meilleure qualité, ou parle avec un accent ou un dialecte qui n'est pas familier au spectateur. Les légendes sont toujours une bonne chose. Malheureusement, le sous-titrage audio dans un flux en direct est délicat.


Avant de creuser le problème du sous-titrage des flux en direct, parlons un peu de la sémantique. Saviez-vous qu'il existe une différence entre les termes sous-titres et sous-titres ? Spécification HTML décrit les sous-titres comme :


transcription ou traduction du dialogue, adaptée lorsque le son est disponible mais non compris (par exemple parce que l'utilisateur ne comprend pas la langue de la piste audio de la ressource multimédia). Superposé sur la vidéo.


La spécification décrit les sous-titres comme :


Transcription ou traduction du dialogue, des effets sonores, des indices musicaux pertinents et d'autres informations audio pertinentes, adaptée lorsque le son n'est pas disponible ou n'est pas clairement audible (par exemple, parce qu'il est coupé, noyé par le bruit ambiant ou parce que l'utilisateur est sourd ). Superposé sur la vidéo ; marqué comme approprié pour les malentendants.


Cela signifie que lorsque nous parlons de "sous-titres codés" pour les vidéos en direct, nous faisons généralement référence aux sous-titres , car les sous-titres incluent généralement des informations descriptives. Pensez à une scène dans une émission de télévision où un acteur monte dans la voiture pour quitter la maison et dit au revoir à son conjoint. La légende de cette scène pourrait être "Au revoir, ma chérie. [le moteur de la voiture démarre]".


Nous ne sommes pas près d'avoir des systèmes d'IA décrivant des informations contextuelles comme celle-ci pour nous, nous sommes donc limités à l'ajout de sous-titres purs "parole-texte" à notre flux en direct ; nous pouvons le faire en utilisant la méthode ci-dessous.


Remarque : Vous remarquerez que le titre et le corps de cet article de blog utilisent les termes « légendes » ou « sous-titres codés », même si ce dont nous parlons vraiment ici, ce sont des sous-titres basés sur les définitions ci-dessus. Malheureusement, étant donné que le terme "sous-titres codés" est si souvent utilisé à mauvais escient, il est plus logique d'utiliser ce terme de manière incorrecte pour aider les développeurs à trouver cet article de blog et à apprendre comment ajouter cette fonctionnalité à leurs flux en direct. Sachez simplement que ce dont nous parlons vraiment ici, ce sont des sous-titres !

Ajout de sous-titres aux flux en direct Amazon IVS

La solution que nous examinons dans cet article se concentre sur la diffusion vers un flux en direct Amazon Interactive Video Service (Amazon IVS) à partir de Studio OBS . OBS n'offre pas de support natif pour le sous-titrage, mais il existe plusieurs plugins qui peuvent effectuer la conversion parole-texte nécessaire et publier les sous-titres sur un flux RTMP dans le Format CEA-708/EIA-608 pris en charge par Amazon IVS .


Pour cette démo, j'ai choisi d'utiliser le OBS-captions-plugin de ratwithacompiler ( GitHub et page de plug-in ). Pour commencer avec ce plugin, télécharge le et Installez-le . Une fois que vous l'avez installé dans OBS, sélectionnez Docks et assurez-vous que le dock Captions est activé.



Ensuite, sélectionnez l'icône "engrenage" dans le dock des sous-titres pour modifier les paramètres.



Assurez-vous qu'une source de sous-titres est sélectionnée et modifiez la configuration du plug-in en fonction de vos besoins. Par exemple, le délai d'attente de légende par défaut pour moi était défini sur 15.0 secondes, mais j'ai trouvé que 5.0 secondes était une meilleure valeur.



Une fois que vous avez enregistré votre configuration et démarré un nouveau flux en direct, le plug-in gère la conversion de votre discours en texte et produit les informations de sous-titre requises pour le flux en direct.


Pour lire les données de sous-titres avec le lecteur Amazon IVS, nous pouvons ajouter un écouteur d'événement pour écouter l'événement TextCue ( documents ).


 ivsPlayer.addEventListener(IVSPlayer.PlayerEventType.TEXT_CUE, (evt) => { console.log(evt); }


Le gestionnaire tel que configuré ci-dessus enregistre tous les événements TextCue entrants dans la console.



La propriété text de l'événement TextCue contient les données de légende.



Avec du HTML et du CSS, nous pouvons restituer les données de sous-titres en superposition sur l'élément <video> . Cette implémentation dépend fortement de vos besoins, mais vous devez prendre en compte le masquage automatique de la superposition après une période spécifiée sans données de sous-titres.

Résumé

Dans cet article, nous avons examiné comment utiliser un plug-in OBS pour convertir la parole en texte et publier ce texte sous forme de données de sous-titres sur un flux en direct Amazon IVS.