Live-Übersetzung von Untertiteln (Private Beta)

Verwenden Sie Live Captions Translation, um Echtzeit-Untertitel für Teilnehmer einer Vonage Video-Sitzung in verschiedene Sprachen zu übersetzen.

Private Beta

Anmerkung: Live-Untertitel-Übersetzung wird als Zusatzleistung angeboten private Beta Funktion. Kontaktieren Sie uns, um die Live-Untertitel-Übersetzung für Ihr Projekt zu aktivieren.

Die private Beta-Version steht ausgewählten Kunden zur Verfügung, um die Funktion in einer Vorschau zu testen und Feedback zu geben. Um das Feedback zu berücksichtigen und das Produkt an die Kundenbedürfnisse anzupassen, kann es notwendig sein, grundlegende Änderungen vorzunehmen, die die APIs und den Kundencode betreffen. Bitte beachten Sie, dass es notwendig sein kann, den während der privaten Betaphase geschriebenen Code zu ändern, nachdem das Produkt allgemein verfügbar gemacht wurde.

Diese Seite enthält die folgenden Abschnitte:

Übersicht

Live Captions Translation erweitert die Live-Unterschriften Funktion durch Hinzufügen einer Echtzeit-Übersetzung von Untertiteln. Mit Live Captions wird Audio in der gesprochenen Sprache transkribiert. Mit Live Captions Translation können diese Untertitel für die Teilnehmer automatisch in eine andere Sprache übersetzt werden.

Bevor Sie Live Captions Translation verwenden, sollten Sie sich mit der Live-Unterschriften Funktion, einschließlich wie man Untertitel über die REST-API starten und wie man Untertitel in den Client-SDKs abonnieren.

Die Übersetzung kann auf zwei Ebenen aktiviert werden:

  1. Übersetzung auf Sitzungsebene - Legen Sie eine Übersetzungssprache für alle Teilnehmer fest, wenn Sie Untertitel über die serverseitige API starten.
  2. Übersetzung auf Teilnehmerebene - Die einzelnen Teilnehmer wählen ihre eigene Übersetzungssprache mit Hilfe der Client-SDKs, unabhängig von der Einstellung auf Sitzungsebene.

Diese beiden Ebenen können zusammen oder unabhängig voneinander verwendet werden.

Übersetzung auf Sitzungsebene

Beim Aufruf der Start Untertitel REST API (POST /v2/project/<apiKey>/captions), können Sie eine optionale targetLanguageCode Parameter im Body der Anfrage:

{
  "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 (String) - (Optional) Der BCP-47-Sprachencode für die Zielübersetzungssprache (siehe die Liste der unterstützten Sprachen). Wenn diese Option aktiviert ist, erhalten alle Teilnehmer der Sitzung übersetzte Untertitel in der angegebenen Sprache anstelle der ursprünglichen transkribierten Sprache.

Verhalten:

  • Wenn targetLanguageCode ist nicht festgelegt (oder weggelassen) werden, funktionieren die Untertitel wie gewohnt - die Teilnehmer erhalten Untertitel in der Originalsprache, die durch languageCode.
  • Wenn targetLanguageCode eingestellt istWenn Sie diese Option wählen, erhalten alle Teilnehmer der Sitzung standardmäßig in die angegebene Sprache übersetzte Untertitel.
  • Ein Teilnehmer, der seine eigene Übersetzungssprache einstellt (siehe Übersetzung auf Teilnehmerebene) erhalten Untertitel in der von ihnen gewählten Sprache, was die Sitzungsebene außer Kraft setzt targetLanguageCode.

Eingabesprache auf Herausgeber-Ebene

Verleger können mithilfe der Client-SDKs die Sprache angeben, in der sie sprechen, damit der Untertitelungsdienst ihre Audioaufnahmen korrekt interpretieren kann. Dies ist bei mehrsprachigen Sitzungen nützlich, in denen verschiedene Verleger möglicherweise unterschiedliche Sprachen sprechen. Die auf Verlegerebene festgelegte Eingabesprache kann während einer Sitzung jederzeit geändert werden.

Sie können die Eingabesprache des Publishers mit jedem der Vonage Video API-Client-SDKs konfigurieren, darunter Web (OpenTok.js), iOS, Android, Windowsund Linux. Nachfolgend finden Sie Beispielanwendungen für die einzelnen Plattformen.

Eingabesprache festlegen (Web)

Standardmäßig ist die Eingabesprache für Untertitel nicht festgelegt (null), wodurch der Server die languageCode die beim Starten der Untertitel festgelegt wird. Um die Eingabesprache für einen bestimmten Herausgeber zu ändern, rufen Sie setCaptionsInputLanguage mit einem gültigen BCP-47-Sprachencode. Pass null um die Standardeinstellung wiederherzustellen.

// 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}`)
}

Die aktuelle Eingabesprache abrufen (Web)

Verwenden Sie getCaptionsInputLanguage um die aktuell für den Publisher konfigurierte Eingabesprache zu überprüfen. Die Funktion gibt den ausgewählten BCP-47-Sprachcode zurück oder null wenn keine Eingabesprache festgelegt wurde.

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.')
}

Eingabesprache einstellen (Android)

Verwenden Sie die setCaptionsInputLanguage() Methode des PublisherKit-Objekts, um die Eingabesprache festzulegen. Übergabe null um zur Standardsprache zurückzukehren.

// Set the publisher's captions input language
publisher.setCaptionsInputLanguage("fr-FR");

// Revert to the default language
publisher.setCaptionsInputLanguage(null);

Die aktuelle Eingabesprache abrufen (Android)

Verwenden Sie die getCaptionsInputLanguage() Methode zur Überprüfung der aktuell konfigurierten Eingabesprache des Herausgebers. Sie gibt den ausgewählten BCP-47-Sprachcode zurück oder null wenn keine Eingabesprache festgelegt wurde.

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.");
}

Eingabesprache einstellen (iOS)

Setzen Sie die captionsInputLanguage Eigenschaft des OTPublisherKit-Objekts auf den gewünschten BCP-47-Sprachcode. Setzen Sie sie auf nil um zur Standardsprache zurückzukehren.

// Set the publisher's captions input language
publisher.captionsInputLanguage = @"fr-FR";

// Revert to the default language
publisher.captionsInputLanguage = nil;

Die aktuelle Eingabesprache abrufen (iOS)

Lesen Sie die captionsInputLanguage Eigenschaft zum Überprüfen der aktuell für den Herausgeber konfigurierten Eingabesprache. Sie gibt den ausgewählten BCP-47-Sprachcode zurück oder nil wenn keine Eingabesprache festgelegt wurde.

NSString *captionsLanguage = publisher.captionsInputLanguage;
if (captionsLanguage) {
    NSLog(@"Captions input language is set to: %@", captionsLanguage);
} else {
    NSLog(@"No input language set; using the session default.");
}

Eingabesprache festlegen (Windows)

Setzen Sie die CaptionsInputLanguage Eigenschaft des Publisher-Objekts auf den gewünschten BCP-47-Sprachcode. Setzen Sie sie auf null um zur Standardsprache zurückzukehren.

// Set the publisher's captions input language
publisher.CaptionsInputLanguage = "fr-FR";

// Revert to the default language
publisher.CaptionsInputLanguage = null;

Die aktuelle Eingabesprache abrufen (Windows)

Lesen Sie die CaptionsInputLanguage Eigenschaft zum Überprüfen der aktuell für den Herausgeber konfigurierten Eingabesprache. Sie gibt den ausgewählten BCP-47-Sprachcode zurück oder null wenn keine Eingabesprache festgelegt wurde.

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.");
}

Eingabesprache einstellen (Linux)

Verwenden Sie die otc_publisher_set_captions_input_language Funktion zum Festlegen der Eingabesprache des Autors. Übergeben Sie NULL um zur Standardsprache zurückzukehren.

// 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);

Die aktuelle Eingabesprache abrufen (Linux)

Verwenden Sie otc_publisher_get_captions_input_language um die aktuell für den Publisher konfigurierte Eingabesprache zu überprüfen. Die Funktion gibt den ausgewählten BCP-47-Sprachcode zurück oder NULL wenn keine Eingabesprache festgelegt wurde.

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");
}

Übersetzung auf Teilnehmerebene

Die Abonnenten können ihre eigene Übersetzungssprache mit Hilfe der Client-SDKs wählen und sie jederzeit während einer Sitzung ändern. Dies funktioniert unabhängig von der Sitzungsebene targetLanguageCode.

Sie können die Übersetzung auf Abonnentenebene mit jedem der Vonage Video API-Client-SDKs konfigurieren, darunter Web (OpenTok.js), iOS, Android, Windowsund Linux. Nachfolgend finden Sie Beispielanwendungen für die einzelnen Plattformen.

Einstellung der Übersetzungssprache (Web)

Die Standardbeschriftungssprache wird durch die Option languageCode (oder targetLanguageCode) in der Start Captions API eingestellt. Um die Übersetzungssprache für einen bestimmten Teilnehmer zu ändern, rufen Sie setCaptionsTranslationLanguage mit einem gültigen BCP-47-Sprachencode. Pass null um zur Standardsprache zurückzukehren.

// 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}`)
}

Abfrage der aktuellen Übersetzungssprache (Web)

Verwenden Sie getCaptionsTranslationLanguage um die aktuell gewählte Übersetzungssprache des Teilnehmers zu überprüfen. Sie gibt den ausgewählten BCP-47-Sprachcode zurück, oder null wenn keine Übersetzungssprache eingestellt wurde.

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.')
}

Einstellen der Übersetzungssprache (Android)

Verwenden Sie die setCaptionsTranslationLanguage() Methode des SubscriberKit-Objekts, um die Übersetzungssprache festzulegen. Übergeben Sie null um zur Standardsprache zurückzukehren.

// Set the subscriber's captions translation language
subscriber.setCaptionsTranslationLanguage("es-ES");

// Revert to the default language
subscriber.setCaptionsTranslationLanguage(null);

Abfrage der aktuellen Übersetzungssprache (Android)

Verwenden Sie die getCaptionsTranslationLanguage() um die aktuell gewählte Übersetzungssprache des Teilnehmers zu überprüfen. Sie gibt den ausgewählten BCP-47-Sprachcode zurück, oder null wenn keine Übersetzungssprache eingestellt wurde.

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.");
}

Einstellen der Übersetzungssprache (iOS)

Setzen Sie die captionsTranslationLanguage des OTSubscriberKit-Objekts auf den gewünschten BCP-47-Sprachcode. Setzen Sie sie auf nil um zur Standardsprache zurückzukehren.

// Set the subscriber's captions translation language
subscriber.captionsTranslationLanguage = @"es-ES";

// Revert to the default language
subscriber.captionsTranslationLanguage = nil;

Abrufen der aktuellen Übersetzungssprache (iOS)

Lesen Sie die captionsTranslationLanguage um die aktuell ausgewählte Übersetzungssprache des Teilnehmers zu überprüfen. Sie gibt den ausgewählten BCP-47-Sprachcode zurück, oder nil wenn keine Übersetzungssprache eingestellt wurde.

NSString *captionsLanguage = subscriber.captionsTranslationLanguage;
if (captionsLanguage) {
    NSLog(@"Captions translation language is set to: %@", captionsLanguage);
} else {
    NSLog(@"No translation language set; using the session default.");
}

Einstellen der Übersetzungssprache (Windows)

Setzen Sie die CaptionsTranslationLanguage des Subscriber-Objekts auf den gewünschten BCP-47-Sprachcode. Setzen Sie ihn auf null um zur Standardsprache zurückzukehren.

// Set the subscriber's captions translation language
subscriber.CaptionsTranslationLanguage = "es-ES";

// Revert to the default language
subscriber.CaptionsTranslationLanguage = null;

Abfrage der aktuellen Übersetzungssprache (Windows)

Lesen Sie die CaptionsTranslationLanguage um die aktuell ausgewählte Übersetzungssprache des Teilnehmers zu überprüfen. Sie gibt den ausgewählten BCP-47-Sprachcode zurück, oder null wenn keine Übersetzungssprache eingestellt wurde.

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.");
}

Unterstützte Sprachen

Live Captions Translation verwendet die gleichen BCP-47-Sprachcodes wie Live Captions. Siehe die Liste der unterstützten Sprachen für die vollständige Liste der verfügbaren Sprachen.

Anmerkungen

  • Live Captions Übersetzung erfordert Live-Unterschriften die für die Sitzung aktiv sein soll. Sie müssen die Untertitel mit dem Befehl Start Untertitel API bevor die Übersetzung verfügbar ist.

  • Die Einstellung einer Übersetzungssprache auf Abonnentenebene setzt die Sprache auf Sitzungsebene außer Kraft. targetLanguageCode nur für diesen Teilnehmer. Weitergabe von null setzt den Teilnehmer auf das Standardverhalten zurück (Sitzungsebene targetLanguageCode wenn gesetzt, sonst das Original languageCode).

  • Die Basisdokumentation der Live Captions-Funktion - einschließlich Architektur, Veröffentlichung von Untertiteln, Abonnieren von Untertiteln, Status-Webhooks und bekannte Probleme - finden Sie in der Anleitung für Live-Untertitel.