Traduction des sous-titres en direct (bêta privée)
Utilisez la traduction des sous-titres en direct pour traduire les sous-titres en temps réel dans différentes langues pour les participants à une session vidéo Vonage.
Bêta privée
Remarque : La traduction des sous-titres en direct est fournie en tant que bêta privée fonctionnalité. Contactez-nous pour activer la traduction des sous-titres en direct pour votre projet.
La version bêta privée est mise à la disposition de clients sélectionnés pour leur permettre de découvrir et d'évaluer la fonctionnalité et de faire part de leurs commentaires. Afin d'intégrer les commentaires et d'adapter le produit aux besoins des clients, il peut s'avérer nécessaire d'apporter des changements radicaux qui affectent les API et le code des clients. Sachez qu'il peut être nécessaire de modifier le code écrit pendant la phase de bêta privée après la mise à disposition générale du produit.
Cette page comprend les sections suivantes :
- Bêta privée
- Vue d'ensemble
- Traduction au niveau de la session
- Langue de saisie au niveau de l'éditeur
- Traduction au niveau de l'abonné
- Langues prises en charge
- Notes
Vue d'ensemble
La traduction en direct des sous-titres étend la Sous-titres en direct en ajoutant la traduction en temps réel des sous-titres. Avec les sous-titres en direct, l'audio est transcrit dans la langue parlée. Avec la traduction des sous-titres en direct, ces sous-titres peuvent être automatiquement traduits dans une autre langue pour les participants.
Avant d'utiliser la traduction de sous-titres en direct, assurez-vous d'être familiarisé avec les éléments suivants Sous-titres en direct y compris la manière de démarrer les légendes à l'aide de l'API REST et comment s'abonner aux sous-titres dans les SDK clients.
La traduction peut être activée à deux niveaux :
- Traduction au niveau de la session - Définir une langue de traduction pour tous les participants lors du lancement des sous-titres via l'API côté serveur.
- Traduction au niveau de l'abonné - Les abonnés individuels choisissent leur propre langue de traduction à l'aide des SDK clients, indépendamment de la configuration au niveau de la session.
Ces deux niveaux peuvent être utilisés ensemble ou indépendamment.
Traduction au niveau de la session
Lors de l'appel du Démarrer l'API REST pour les légendes (POST /v2/project/<apiKey>/captions), vous pouvez inclure un targetLanguageCode dans le corps de la requête :
{
"sessionId": "<session-id>",
"token": "A valid OpenTok token with the role set to moderator",
"languageCode": "en-US",
"targetLanguageCode": "es-ES",
"maxDuration": 1800,
"partialCaptions": true
}
targetLanguageCode(Chaîne) - (Facultatif) Le code de langue BCP-47 pour la langue de traduction cible (voir la section liste des langues supportées). Lorsque cette option est activée, tous les participants à la session recevront des sous-titres traduits dans la langue spécifiée au lieu de la langue de transcription originale.
Comportement :
- Si
targetLanguageCodeest non défini (ou omis), les sous-titres fonctionnent normalement - les participants reçoivent les sous-titres dans la langue parlée originale définie par lelanguageCode. - Si
targetLanguageCodeest définitous les participants à la session reçoivent par défaut des sous-titres traduits dans la langue spécifiée. - Un abonné qui définit sa propre langue de traduction (voir Traduction au niveau de l'abonné) recevront des sous-titres dans la langue qu'ils ont choisie, ce qui annule l'option de sous-titrage au niveau de la session.
targetLanguageCode.
Langue de saisie au niveau de l'éditeur
Les intervenants peuvent indiquer la langue dans laquelle ils s'expriment à l'aide des SDK client, ce qui permet au service de sous-titrage d'interpréter correctement leur audio. Cette fonctionnalité est utile lors de sessions multilingues où différents intervenants peuvent s'exprimer dans des langues différentes. La langue de saisie au niveau de l'intervenant peut être modifiée à tout moment au cours d'une session.
Vous pouvez configurer la langue d'entrée de l'éditeur à l'aide de n'importe lequel des SDK clients de la Video API Vonage, notamment Web (OpenTok.js), iOS, Android, Fenêtreset Linux. Vous trouverez ci-dessous des exemples de référence pour chaque plateforme.
Configuration de la langue de saisie (Web)
Par défaut, la langue de saisie des sous-titres n'est pas définie (null), ce qui permet au serveur d'utiliser le languageCode définie au démarrage des sous-titres. Pour modifier la langue de saisie d'un éditeur spécifique, appelez setCaptionsInputLanguage avec un code langue BCP-47 valide. Passer null pour revenir aux paramètres par défaut.
// Example BCP-47 language code for captions input language
const captionsLanguageCode = 'fr-FR'
// Set the publisher's captions input language
try {
await publisher.setCaptionsInputLanguage(captionsLanguageCode)
} catch (err) {
console.error(`Failed to set captions input language: ${err.message}`)
}
// Pass null to revert to the default language
try {
await publisher.setCaptionsInputLanguage(null)
} catch (err) {
console.error(`Failed to revert captions input language: ${err.message}`)
}
Récupérer la langue de saisie actuelle (Web)
Utilisation getCaptionsInputLanguage pour vérifier la langue de saisie actuellement configurée sur l'éditeur. Cette fonction renvoie le code de langue BCP-47 sélectionné, ou null si aucune langue de saisie n'a été définie.
const captionsLanguage = publisher.getCaptionsInputLanguage()
if (captionsLanguage) {
console.log(`Captions input language is set to: ${captionsLanguage}`)
} else {
console.log('No input language set; using the session default.')
}
Configuration de la langue de saisie (Android)
Utiliser le setCaptionsInputLanguage() méthode de l'objet PublisherKit permettant de définir la langue de saisie. Passez null pour revenir à la langue par défaut.
// Set the publisher's captions input language
publisher.setCaptionsInputLanguage("fr-FR");
// Revert to the default language
publisher.setCaptionsInputLanguage(null);
Récupérer la langue de saisie actuelle (Android)
Utiliser le getCaptionsInputLanguage() méthode permettant de vérifier la langue de saisie actuellement configurée pour l'éditeur. Elle renvoie le code de langue BCP-47 sélectionné, ou null si aucune langue de saisie n'a été définie.
String captionsLanguage = publisher.getCaptionsInputLanguage();
if (captionsLanguage != null) {
Log.d(TAG, "Captions input language is set to: " + captionsLanguage);
} else {
Log.d(TAG, "No input language set; using the session default.");
}
Configuration de la langue de saisie (iOS)
Régler le captionsInputLanguage propriété de l'objet OTPublisherKit sur le code de langue BCP-47 souhaité. Définissez-la sur nil pour revenir à la langue par défaut.
// Set the publisher's captions input language
publisher.captionsInputLanguage = @"fr-FR";
// Revert to the default language
publisher.captionsInputLanguage = nil;
Récupérer la langue de saisie actuelle (iOS)
Lire le captionsInputLanguage propriété permettant de vérifier la langue de saisie actuellement configurée pour l'éditeur. Elle renvoie le code de langue BCP-47 sélectionné, ou nil si aucune langue de saisie n'a été définie.
NSString *captionsLanguage = publisher.captionsInputLanguage;
if (captionsLanguage) {
NSLog(@"Captions input language is set to: %@", captionsLanguage);
} else {
NSLog(@"No input language set; using the session default.");
}
Configuration de la langue de saisie (Windows)
Régler le CaptionsInputLanguage propriété de l'objet Publisher sur le code de langue BCP-47 souhaité. Définissez-la sur null pour revenir à la langue par défaut.
// Set the publisher's captions input language
publisher.CaptionsInputLanguage = "fr-FR";
// Revert to the default language
publisher.CaptionsInputLanguage = null;
Récupérer la langue de saisie actuelle (Windows)
Lire le CaptionsInputLanguage propriété permettant de vérifier la langue de saisie actuellement configurée pour l'éditeur. Elle renvoie le code de langue BCP-47 sélectionné, ou null si aucune langue de saisie n'a été définie.
string captionsLanguage = publisher.CaptionsInputLanguage;
if (captionsLanguage != null)
{
Console.WriteLine($"Captions input language is set to: {captionsLanguage}");
}
else
{
Console.WriteLine("No input language set; using the session default.");
}
Configuration de la langue de saisie (Linux)
Utiliser le otc_publisher_set_captions_input_language fonction permettant de définir la langue de saisie de l'éditeur. Passez NULL pour revenir à la langue par défaut.
// Set the publisher's captions input language
otc_publisher_set_captions_input_language(publisher, "fr-FR");
// Revert to the default language
otc_publisher_set_captions_input_language(publisher, NULL);
Récupérer la langue de saisie actuelle (Linux)
Utilisation otc_publisher_get_captions_input_language pour vérifier la langue de saisie actuellement configurée sur l'éditeur. Cette fonction renvoie le code de langue BCP-47 sélectionné, ou NULL si aucune langue de saisie n'a été définie.
const char* captionsLanguage = otc_publisher_get_captions_input_language(publisher);
if (captionsLanguage != NULL) {
printf("Captions input language is set to: %s\n", captionsLanguage);
} else {
printf("No input language set; using the session default.\n");
}
Traduction au niveau de l'abonné
Les abonnés peuvent choisir leur propre langue de traduction à l'aide des SDK clients et la modifier à tout moment au cours d'une session. Cela fonctionne indépendamment du système de traduction au niveau de la session. targetLanguageCode.
Vous pouvez configurer la traduction au niveau de l'abonné à l'aide de n'importe lequel des SDK clients de la Video API Vonage, notamment Web (OpenTok.js), iOS, Android, Fenêtreset Linux. Vous trouverez ci-dessous des exemples de référence pour chaque plateforme.
Réglage de la langue de traduction (Web)
La langue des sous-titres par défaut est déterminée par l'option languageCode (ou targetLanguageCode) définie dans l'API de démarrage des sous-titres. Pour modifier la langue de traduction pour un abonné spécifique, appelez setCaptionsTranslationLanguage avec un code langue BCP-47 valide. Passer null pour revenir à la langue par défaut.
// Example BCP-47 language code for captions translation
const captionsLanguageCode = 'es-ES'
// Set the subscriber's captions translation language
try {
await subscriber.setCaptionsTranslationLanguage(captionsLanguageCode)
} catch (err) {
console.error(`Failed to set captions translation language: ${err.message}`)
}
// Pass null to revert to the default language
try {
await subscriber.setCaptionsTranslationLanguage(null)
} catch (err) {
console.error(`Failed to revert captions translation language: ${err.message}`)
}
Obtenir la langue de traduction actuelle (Web)
Utilisation getCaptionsTranslationLanguage pour vérifier la langue de traduction actuellement sélectionnée par l'abonné. Il renvoie le code de langue BCP-47 sélectionné, ou null si aucune langue de traduction n'a été définie.
const captionsLanguage = subscriber.getCaptionsTranslationLanguage()
if (captionsLanguage) {
console.log(`Captions translation language is set to: ${captionsLanguage}`)
} else {
console.log('No translation language set; using the session default.')
}
Réglage de la langue de traduction (Android)
Utiliser le setCaptionsTranslationLanguage() de l'objet SubscriberKit pour définir la langue de traduction. Passer null pour revenir à la langue par défaut.
// Set the subscriber's captions translation language
subscriber.setCaptionsTranslationLanguage("es-ES");
// Revert to the default language
subscriber.setCaptionsTranslationLanguage(null);
Obtenir la langue de traduction actuelle (Android)
Utiliser le getCaptionsTranslationLanguage() pour vérifier la langue de traduction actuellement sélectionnée par l'abonné. Elle renvoie le code de langue BCP-47 sélectionné, ou null si aucune langue de traduction n'a été définie.
String captionsLanguage = subscriber.getCaptionsTranslationLanguage();
if (captionsLanguage != null) {
Log.d(TAG, "Captions translation language is set to: " + captionsLanguage);
} else {
Log.d(TAG, "No translation language set; using the session default.");
}
Réglage de la langue de traduction (iOS)
Régler le captionsTranslationLanguage de l'objet OTSubscriberKit au code langue BCP-47 souhaité. Réglez-le à nil pour revenir à la langue par défaut.
// Set the subscriber's captions translation language
subscriber.captionsTranslationLanguage = @"es-ES";
// Revert to the default language
subscriber.captionsTranslationLanguage = nil;
Obtenir la langue de traduction actuelle (iOS)
Lire le captionsTranslationLanguage pour vérifier la langue de traduction actuellement sélectionnée par l'abonné. Elle renvoie le code de langue BCP-47 sélectionné ou nil si aucune langue de traduction n'a été définie.
NSString *captionsLanguage = subscriber.captionsTranslationLanguage;
if (captionsLanguage) {
NSLog(@"Captions translation language is set to: %@", captionsLanguage);
} else {
NSLog(@"No translation language set; using the session default.");
}
Réglage de la langue de traduction (Windows)
Régler le CaptionsTranslationLanguage de l'objet Subscriber au code de langue BCP-47 souhaité. Réglez-le à null pour revenir à la langue par défaut.
// Set the subscriber's captions translation language
subscriber.CaptionsTranslationLanguage = "es-ES";
// Revert to the default language
subscriber.CaptionsTranslationLanguage = null;
Obtenir la langue de traduction actuelle (Windows)
Lire le CaptionsTranslationLanguage pour vérifier la langue de traduction actuellement sélectionnée par l'abonné. Elle renvoie le code de langue BCP-47 sélectionné ou null si aucune langue de traduction n'a été définie.
string captionsLanguage = subscriber.CaptionsTranslationLanguage;
if (captionsLanguage != null)
{
Console.WriteLine($"Captions translation language is set to: {captionsLanguage}");
}
else
{
Console.WriteLine("No translation language set; using the session default.");
}
Langues prises en charge
La traduction des sous-titres en direct utilise les mêmes codes de langue BCP-47 que les sous-titres en direct. Voir la page liste des langues supportées pour obtenir la liste complète des langues disponibles.
Notes
-
La traduction des sous-titres en direct nécessite Sous-titres en direct pour qu'il soit actif pour la session. Vous devez lancer les sous-titres à l'aide de la fonction Démarrer l'API sur les légendes avant que la traduction ne soit disponible.
-
La définition d'une langue de traduction au niveau de l'abonné remplace la langue de traduction au niveau de la session.
targetLanguageCodepour ce seul abonné. Passagenullrétablit le comportement par défaut de l'abonné (niveau de sessiontargetLanguageCodes'il est défini, sinon l'originallanguageCode). -
Pour obtenir la documentation de base sur les légendes en direct - y compris l'architecture, la publication de légendes, l'abonnement aux légendes, les webhooks d'état et les problèmes connus - voir la page Guide des sous-titres en direct.