Sous-titres en direct
Utilisez l'API Live Captions pour transcrire les flux audio et générer des sous-titres en temps réel pour votre application.
L'API « Live Captions » de Vonage Video vous permet d'afficher des sous-titres en direct aux utilisateurs finaux lors d'une session Vonage Video, à l'aide d'un service de transcription. Nous utilisons AWS Transcribe comme prestataire de transcription. Étant donné que « Live Captions » capture le flux audio à partir du routeur multimédia OpenTok, il peut également fournir les sous-titres correspondant au flux audio des participants se connectant via SIP.
Le sous-titrage en direct est activé par défaut pour tous les projets et il s'agit d'un produit basé sur l'utilisation. L'utilisation de Live Captions est facturée en fonction du nombre de flux audio de participants (ou d'identifiants de flux) envoyés au service de transcription. Pour plus d'informations, voir Règles de tarification de l'API Live Captions.
La fonction de sous-titrage en direct n'est prise en charge que dans les sessions acheminées (sessions qui utilisent la fonction Routeur multimédia OpenTok). Vous pouvez envoyer jusqu'à 50 flux audio d'une seule session Vonage à la fois au service de transcription pour les sous-titres.

Marche à suivre pour activer les sous-titres en direct
-
Utilisez l'API REST ou le SDK serveur pour activer le sous-titrage d'une session
-
Utilisez la méthode fournie dans le Client SDK pour envoyer des données audio au service de sous-titrage :
-
Dans les clients qui s'abonnent, appeler la méthode SDK du client respectif pour qu'un abonné s'abonne aux sous-titres d'un flux.
Lorsqu'il lance le sous-titrage en direct, OpenTok transmet de manière sécurisée le flux audio à un service tiers de transcription audio, tel qu'Amazon Transcribe.
Utilisez l'API de sous-titrage des SDK clients OpenTok pour activer ou désactiver la réception de sous-titres en direct dans votre application :
Le fait d'activer ou de désactiver les sous-titres en direct dans un client Web n'a aucune incidence sur les sous-titres reçus par les autres clients connectés à la session OpenTok.
Langues prises en charge
La fonctionnalité « Sous-titres en direct » prend en charge de nombreuses langues et de nombreux dialectes. Indiquez la langue souhaitée en tant que languageCode lorsque l'option Activer les sous-titres en direct via l'API REST:
"af-ZA"- Afrikaans"ar-AE"- Arabe, Golfe"ar-SA"- Arabe, standard moderne"eu-ES"- Basque"ca-ES"- Catalan"zh-HK"- Chinois, simplifié"zh-CN"- Chinois, cantonais"zh-TW"- Chinois, traditionnel"hr-HR"- Croate"cs-CZ"- Tchèque"da-DK"- Danois"nl-NL"- Néerlandais"en-AU"- Anglais, australien"en-GB"- Anglais, britannique"en-IN"- Anglais, Indien"en-IE"- Anglais, irlandais"en-NZ"- Anglais, Nouvelle-Zélande"en-AB"- Anglais, écossais"en-ZA"- Anglais, sud-africain"en-US"- Anglais, US"en-WL"- Anglais, gallois"fa-IR"- Farsi"fi-FI"- Finlandais"fr-FR"- Français"fr-CA"- Français, Canadien"gl-ES"- Galicien"de-DE"- Allemand"de-CH"- Allemand, Suisse"el-GR"- Grecque"he-IL"- Hébreu"hi-IN"- Hindi, Indien"id-ID"- Indonésien"it-IT"- Italien"ja-JP"- Japonais"ko-KR"- Coréen"lv-LV"- Letton"ms-MY"- Malais"no-NO"- Norvégien Bokmål"pl-PL"- Polonais"pt-PT"- Portugais"pt-BR"- Portugais, brésilien"ro-RO"- Roumain"ru-RU"- Russie"sr-RS"- Serbe"sk-SK"- Slovaque"so-SO"- Somali"es-ES"- Espagnol"es-US"- Espagnol, États-Unis"sv-SE"- Suédois"tl-PH"- Tagalog/Filipino"th-TH"- Thaïlande"uk-UA"- Ukrainien"vi-VN"- Vietnamien"zu-ZA"- Zoulou
Cas d'utilisation
Les sous-titres en direct peuvent améliorer l'expérience et l'engagement des utilisateurs d'une application. Le sous-titrage améliore le score d'accessibilité de votre application, ce qui se traduit souvent par une participation des personnes souffrant d'un handicap auditif. Certaines lois dans le monde exigent que les applications fournissent des sous-titres.
Le sous-titrage peut améliorer la compréhension de l'orateur dans des environnements non contrôlés, améliorant ainsi l'engagement de l'utilisateur.
Le sous-titrage en direct n'est disponible que pour les sessions OpenTok acheminées (sessions qui utilisent le Routeur multimédia OpenTok).
Lorsque la fonction de sous-titrage en direct est activée :
- Utilisez l'API de sous-titrage audio du client pour lancer le sous-titrage audio de chaque flux publié.
- Le flux audio est transmis à un service tiers de transcription audio.
- Utilisez l'API de sous-titrage audio du client pour vous abonner aux sous-titres en direct pour chaque flux publié.
- Le choix de ne pas recevoir les sous-titres par un abonné individuel n'affecte pas la réception des sous-titres par d'autres abonnés dans d'autres clients connectés à la session.
- Une fois la session OpenTok terminée (lorsque tous les clients ont cessé de diffuser des flux vers la session), vous pouvez explicitement Arrêter le sous-titrage à l'aide de la fonction « Arrêter les sous-titres » API. Sinon, le sous-titrage audio s'arrête automatiquement une fois que la durée maximale (spécifiée lors de l'appel de l'API « Start Captions ») est écoulée.
- Le sous-titrage en direct s'arrête automatiquement une fois écoulée la durée maximale spécifiée dans l'API « Start Captions ».
Notes
-
Utilisez l'API de sous-titrage audio du Client SDK pour lancer le sous-titrage audio de chaque flux publié.
-
Le flux audio est envoyé à un service de transcription audio tiers (AWS Transcribe).
-
Utilisez l'API de sous-titrage audio du client pour vous abonner aux sous-titres en direct pour chaque flux publié.
-
Le choix de ne pas recevoir les sous-titres par un abonné individuel n'affecte pas la réception des sous-titres par d'autres abonnés dans d'autres clients connectés à la session.
-
Une fois la session OpenTok terminée (lorsque tous les clients ont cessé de diffuser des flux vers la session), vous pouvez arrêter explicitement le sous-titrage à l'aide de l'API « Stop Captions ». Sinon, le sous-titrage audio s'arrête automatiquement une fois que la durée maximale (spécifiée lors de l'appel de l'API « Start Captions ») est écoulée.
-
Les sous-titres en direct d'une session se terminent lors de la rotation des serveurs. Vous pouvez redémarrer un sous-titrage en direct en réponse à des événements de notification de rotation du serveur. Voir Rotation des serveurs et migration des sessions.
La durée maximale par défaut autorisée pour le sous-titrage de chaque session OpenTok est de 4 heures. Vous pouvez définir une autre durée maximale lorsque vous appelez la fonction « Démarrer le sous-titrage ». API. À l'expiration, le sous-titrage audio s'arrêtera sans que cela n'ait aucune incidence sur la session OpenTok en cours. De plus, le sous-titrage prendra fin 60 secondes après la déconnexion du dernier client de la session.
Mise à jour de l'état des légendes en direct
Vous pouvez configurer un webhook pour recevoir des événements lorsque les sous-titres en direct démarrent, s'arrêtent et échouent pour une session.
-
Accédez à votre Video API Account et sélectionnez le projet dans la liste des projets dans le menu de gauche.
-
Sous Paramètres du projet, trouver Surveillance des sous-titres en direct et cliquez sur Configurer.
-
Soumettre l'URL à laquelle les rappels doivent être envoyés.
Sécuriser les rappels : Fixer un Signature Secret pour utiliser des demandes de rappel de webhook sécurisées avec des rappels signés, en utilisant le secret de signature. Voir Rappels sécurisés.
Lorsque l'état des sous-titres en direct change, un message HTTP POST est envoyé aux URL de rappel. Si aucune URL de rappel n'est configurée, aucune mise à jour de l'état n'est envoyée. Les données brutes de la requête HTTP sont un message codé en JSON de la forme suivante :
{
"captionId": "<captionsId>",
"projectId": "<apiKey>",
"sessionId": "<sessionId>",
"status": "stopped",
"createdAt": 1651253477,
"updatedAt": 1651253837,
"duration": 360,
"stream": {
"streamId": "<streamId>",
"streamStatus": "stopped"
},
"languageCode": "en-US",
"reason": "Maximum duration exceeds.",
"provider": "aws-transcribe",
"status": "stopped",
"group": "captions"
}
L'objet JSON comprend les propriétés suivantes :
captionsId— L'identifiant unique de la session de sous-titrage audio.projectId— Clé APIsessionId— Session OpenTok pour laquelle le sous-titrage audio a commencé.status— État actuel du sous-titrage en direct."started"— La plateforme Video API de Vonage a réussi à allouer les ressources nécessaires à l'envoi des flux audio destinés au sous-titrage."transcribing"— Le service de transcription a démarré (et le sous-titrage est en cours).*"stopped"— Le sous-titrage a pris fin et toutes les ressources ont été supprimées."failed"— Le service de sous-titrage n'a pas alloué les ressources nécessaires ou n'a pas transmis les flux vidéo destinés au sous-titrage.
createdAt— L'horodatage Unix (époque) marquant le début du sous-titrage audio.updatedAt— L'horodatage Unix (époque) correspondant à la mise à jour du sous-titrage audio. Si lestatusest « arrêté », leupdatedAtindique le moment où le sous-titrage s'est arrêté.stream— Un objet contenant l'identifiant du flux et l'état du flux sous-titré.languageCode— Le code de langue BCP-47 utiliséreason— Informations supplémentaires sur l'erreur relative au changement d'étatprovider—Le prestataire de services tiers auquel nous avons fait appel pour le sous-titrage audio :"aws-transcribe"— Amazon Transcribe
group— Le type de l'événement, qui est toujours défini sur « captions » pour les événements de l'API de sous-titrage audio.
Échantillon
Les Exemple « Basic-Captions » d'opentok-web-samples utilise le sous-titrage en direct dans une application web développée à l'aide du Vonage Client SDK.
Problèmes connus
- Lorsqu'un participant reste muet pendant plus de 15 secondes, la connexion avec le fournisseur de transcription tiers est coupée, afin de réduire les coûts de facturation. Il peut s'écouler 2 à 5 secondes avant que la connexion ne soit rétablie et que les sous-titres ne reprennent.
Plus d'informations
Voir cet article sur le soutien de l'API de Vonage pour plus d'informations sur les spécifications techniques et les FAQ.
Voir cet article sur le soutien de l'API de Vonage pour obtenir des informations sur les tarifs de l'API Live Captions.