Delen via


Videovertaling gebruiken

Notitie

Deze functie is momenteel beschikbaar als openbare preview-versie. Deze preview wordt aangeboden zonder een service level agreement en we raden deze niet aan voor productieworkloads. Misschien worden bepaalde functies niet ondersteund of zijn de mogelijkheden ervan beperkt. Zie Aanvullende gebruiksvoorwaarden voor Microsoft Azure-previews voor meer informatie.

In dit artikel leert u hoe u Azure AI Speech-videoomzetting gebruikt in de studio.

Het enige wat nodig is om aan de slag te gaan, is een oorspronkelijke video. Kijk of videovertaling uw taal en regio ondersteunt.

Een videovertalingsproject maken

Voer de volgende stappen uit om een videovertalingsproject te maken:

  1. Meld u aan bij Speech Studio.

  2. Selecteer het abonnement en de Spraak-resource waarmee u wilt werken.

  3. Selecteer Videovertaling.

  4. Selecteer Een project maken en beheren op de pagina Projecten maken.

  5. Selecteer Spraaktype op de pagina Nieuw project.

    Schermopname van het selecteren van spraaktype op de nieuwe projectpagina.

    U kunt vooraf samengestelde neurale spraak of persoonlijke stem voor spraaktype selecteren. Voor vooraf samengestelde neurale spraak selecteert het systeem automatisch de meest geschikte vooraf gebouwde stem door de stem van de spreker in de video te koppelen aan vooraf gedefinieerde stemmen. Voor persoonlijke spraak biedt het systeem een model dat binnen een paar seconden spraakreplicatie van hoge kwaliteit genereert.

    Notitie

    Als u persoonlijke stem wilt gebruiken, moet u toegang aanvragen.

  6. Upload uw videobestand door het videobestand te slepen en neer te trekken of het bestand handmatig te selecteren.

    Schermopname van het uploaden van uw videobestand op de nieuwe projectpagina.

    Zorg ervoor dat de video een .mp4-indeling heeft, kleiner dan 500 MB en korter is dan 60 minuten.

  7. Geef de projectnaam op en selecteer Het aantal sprekers, de taal van de video, Vertalen naar taal.

    Schermopname van het verstrekken van videogegevens op de nieuwe projectpagina.

    Als u uw eigen ondertitelingsbestanden wilt gebruiken, selecteert u Ondertitelingsbestand toevoegen. U kunt ervoor kiezen om het bronondertitelbestand of het doelondertitelbestand te uploaden. Het subtitelbestand kan de indeling WebVTT of JSON hebben. U kunt een voorbeeld-VTT-bestand voor uw referentie downloaden door het VTT-voorbeeldbestand downloaden te selecteren.

    Schermopname van het toevoegen van een ondertitelingsbestand op de nieuwe projectpagina.

  8. Nadat u de prijsinformatie en gedragscode hebt bekeken, gaat u verder met het maken van het project.

    Zodra het uploaden is voltooid, kunt u de verwerkingsstatus controleren op het tabblad Project.

    Nadat het project is gemaakt, kunt u het project selecteren om gedetailleerde instellingen te bekijken en aanpassingen aan te brengen op basis van uw voorkeuren.

Spraakinstellingen controleren en aanpassen

Op de pagina met projectdetails biedt het project twee tabbladen Vertaald en Origineel onder Video, zodat u ze naast elkaar kunt vergelijken.

Aan de rechterkant van de video kunt u zowel het oorspronkelijke script als het vertaalde script bekijken. Als u elk deel van het oorspronkelijke script aanwijst, wordt de video geactiveerd om automatisch naar het bijbehorende segment van de oorspronkelijke video te gaan, terwijl u de muisaanwijzer boven elk deel van het vertaalde script plaatst, wordt de video geactiveerd om naar het bijbehorende vertaalde segment te gaan.

U kunt indien nodig ook segmenten toevoegen of verwijderen. Wanneer u een segment wilt toevoegen, moet u ervoor zorgen dat de tijdstempel van het nieuwe segment niet overlapt met het vorige en volgende segment en dat de eindtijd van het segment groter moet zijn dan de begintijd. De juiste notatie van de tijdstempel moet zijn hh:mm:ss.ms. Anders kunt u de wijzigingen niet toepassen.

U kunt het tijdsbestek van de scripts rechtstreeks aanpassen met behulp van de audiogolfvorm onder de video. Nadat u Wijzigingen toepassen hebt geselecteerd, worden de aanpassingen toegepast.

Als u segmenten met een 'niet-geïdentificeerde' stemnaam tegenkomt, kan het zijn dat het systeem de stem niet nauwkeurig kan detecteren, met name in situaties waarin sprekerstemmen elkaar overlappen. In dergelijke gevallen is het raadzaam om de naam van de stem handmatig te wijzigen.

Schermopname van één segment met niet-geïdentificeerde spraaknaam.

Als u de stem wilt aanpassen, selecteert u Spraakinstellingen om enkele wijzigingen aan te brengen. Op de pagina Spraakinstellingen kunt u het spraaktype, geslacht en de stem aanpassen. Selecteer het spraakvoorbeeld rechts van Voice om uw stemselectie te bepalen. Als er sprake is van ontbrekende stem, kunt u de naam van de nieuwe stem toevoegen door spreker toevoegen te selecteren. Nadat u de instellingen hebt gewijzigd, selecteert u Bijwerken.

Schermopname van het aanpassen van spraakinstellingen op de pagina spraakinstellingen.

Als u meerdere keren wijzigingen aanbrengt maar nog niet klaar bent, hoeft u alleen de wijzigingen op te slaan die u hebt aangebracht door Opslaan te selecteren. Nadat u alle wijzigingen hebt aangebracht, selecteert u Wijzigingen toepassen om deze toe te passen op de video. Er worden alleen kosten in rekening gebracht nadat u Wijzigingen toepassen hebt geselecteerd.

Schermopname van het selecteren van de knop Wijzigingen toepassen nadat u alle wijzigingen hebt aangebracht.

U kunt de oorspronkelijke video vertalen naar een nieuwe taal door Nieuwe taal te selecteren. Op de pagina Vertalen kunt u een nieuwe vertaalde taal en spraaktype kiezen. Zodra het videobestand is vertaald, wordt automatisch een nieuw project gemaakt.

De REST API voor videovertaling vereenvoudigt naadloze integratie van videovertalingen in uw toepassingen. Het biedt ondersteuning voor het uploaden, beheren en verfijnen van videovertalingen, met meerdere iteraties voor continue verbetering. In dit artikel leert u hoe u videoomzetting kunt gebruiken via de REST API.

Dit diagram biedt een algemeen overzicht van de werkstroom.

Diagram van de api-werkstroom voor videovertaling.

U kunt de volgende REST API-bewerkingen gebruiken voor videoomzetting:

Bewerking Methode REST API-aanroep
Een vertaling maken PUT /translations/{translationId}
Vertalingen vermelden GET /translations
Een vertaling ophalen op vertaal-id GET /translations/{translationId}
Een iteratie maken PUT /translations/{translationId}/iterations/{iterationId}
Iteraties weergeven GET /translations/{translationId}/iterations
Een iteratie ophalen op iteratie-id GET /translations/{translationId}/iterations/{iterationId}
Bewerking ophalen op bewerkings-id GET /operations/{operationId}
Een vertaling verwijderen op vertaal-id DELETE /translations/{translationId}

Zie GitHub voor codevoorbeelden.

In dit artikel worden de primaire stappen van het API-proces beschreven, waaronder het maken van een vertaling, het maken van een iteratie, het controleren van de status van elke bewerking, het ophalen van een iteratie-id en het verwijderen van een vertaling op vertaal-id. Raadpleeg de koppelingen voor elke API in de tabel voor volledige informatie.

Een vertaling maken

Als u een aanvraag voor het vertalen van video's wilt indienen, moet u een HTTP PUT-aanvraagpad en -hoofdtekst maken volgens de volgende instructies:

  • Geef op Operation-Id: de Operation-Id waarde moet uniek zijn voor elke bewerking. Het zorgt ervoor dat elke bewerking afzonderlijk wordt bijgehouden. Vervang door [operationId] een bewerkings-id.

  • Geef translationIdop: de translationId waarde moet uniek zijn. Vervang door [translationId] een vertalings-id.

  • Stel de vereiste invoer in: Geef details op, zoals sourceLocale, targetLocale, voiceKinden videoFileUrl. Zorg ervoor dat u de video-URL van Azure Blob Storage hebt. Raadpleeg de ondersteunde bron- en doeltalen voor de talen die worden ondersteund voor videovertaling. U kunt de parameter instellen voiceKind op of PersonalVoicePlatformVoice . Hiervoor PlatformVoiceselecteert het systeem automatisch de meest geschikte vooraf samengestelde stem door de stem van de spreker in de video te koppelen aan vooraf gebouwde stemmen. Hiervoor PersonalVoicebiedt het systeem een model dat binnen een paar seconden spraakreplicatie van hoge kwaliteit genereert.

    Notitie

    Als u persoonlijke stem wilt gebruiken, moet u toegang aanvragen.

  • Vervang door [YourResourceKey] uw Spraak-resourcesleutel en vervang deze door [YourSpeechRegion] de spraakresourceregio.

Als u een vertaling maakt, wordt het vertaalproces niet gestart. U kunt beginnen met het vertalen van de video door een iteratie te maken. Het volgende voorbeeld is voor Windows Shell. Zorg ervoor dat u een escape-bestand & gebruikt als ^& de URL bevat &. In de volgende voorbeeldcode gebruiken we een openbare video-URL die u kunt gebruiken voor uw eigen tests.

curl -v -X PUT -H "Ocp-Apim-Subscription-Key: [YourResourceKey]" -H "Operation-Id: [operationId]" -H "Content-Type: application/json" -d "{\"displayName\": \"[YourDisplayName]\",\"description\": \"[OptionalYourDescription]\",\"input\": {\"sourceLocale\": \"[VideoSourceLocale]\",\"targetLocale\": \"[TranslationTargetLocale]\",\"voiceKind\": \"[PlatformVoice/PersonalVoice]\",\"speakerCount\": [OptionalVideoSpeakerCount],\"subtitleMaxCharCountPerSegment\": [OptionalYourPreferredSubtitleMaxCharCountPerSegment],\"exportSubtitleInVideo\": [Optional true/false],\"videoFileUrl\": \"https://speechstudioprodpublicsa.blob.core.windows.net/ttsvoice/VideoTranslation/PublicDoc/SampleData/es-ES-TryOutOriginal.mp4\"}}" "https://[YourSpeechRegion].api.cognitive.microsoft.com/videotranslation/translations/[translationId]?api-version=2024-05-20-preview" 

Belangrijk

Gegevens die zijn gemaakt via de API worden niet weergegeven in Speech Studio en de gegevens tussen de API en Speech Studio worden niet gesynchroniseerd.

U ontvangt een antwoordtekst in de volgende indeling:

{
  "input": {
    "sourceLocale": "zh-CN",
    "targetLocale": "en-US",
    "voiceKind": "PlatformVoice",
    "speakerCount": 1,
    "subtitleMaxCharCountPerSegment": 30,
    "exportSubtitleInVideo": true
  },
  "status": "NotStarted",
  "lastActionDateTime": "2024-09-20T06:25:05.058Z",
  "id": "mytranslation0920",
  "displayName": "demo",
  "description": "for testing",
  "createdDateTime": "2024-09-20T06:25:05.058Z"
}

De statuseigenschap moet van NotStarted status naar Running, en ten slotte naar Succeeded of Failed. U kunt de get-bewerking periodiek aanroepen op bewerkings-id-API totdat de geretourneerde status is Succeeded of Failed. Met deze bewerking kunt u de voortgang van het vertaalproces bijhouden.

Bewerking ophalen op bewerkings-id

Controleer de status van een specifieke bewerking met behulp van de bijbehorende bewerkings-id. De bewerkings-id is uniek voor elke bewerking, zodat u elke bewerking afzonderlijk kunt bijhouden.

Vervang [YourResourceKey] door uw Spraak-resourcesleutel, [YourSpeechRegion] door uw spraakresourceregio en [operationId] door de bewerkings-id die u wilt controleren.

curl -v -X GET -H "Ocp-Apim-Subscription-Key:[YourResourceKey]" "https://[YourSpeechRegion].api.cognitive.microsoft.com/videotranslation/operations/[operationId]?api-version=2024-05-20-preview" 

U ontvangt een antwoordtekst in de volgende indeling:

{
  "id": "createtranslation0920-1",
  "status": "Running"
}

Een iteratie maken

Als u uw video wilt vertalen of een iteratie wilt bijwerken voor een bestaande vertaling, moet u een HTTP PUT-aanvraagpad en hoofdtekst maken volgens de volgende instructies:

  • Geef op Operation-Id: De Operation-Id waarde moet uniek zijn voor elke bewerking, zoals het maken van elke iteratie. Vervang [operationId] door een unieke id voor deze bewerking.
  • Geef translationIdop: Als er meerdere iteraties worden uitgevoerd onder één vertaling, blijft de vertaal-id ongewijzigd.
  • Geef op iterationId: de iterationId waarde moet uniek zijn voor elke bewerking. Vervang door [iterationId] een iteratie-id.
  • Stel de vereiste invoer in: Geef details op, zoals speakerCount, subtitleMaxCharCountPerSegmentofexportSubtitleInVideowebvttFile . Standaard worden er geen ondertitels ingesloten in de uitvoervideo.
  • Vervang door [YourResourceKey] uw Spraak-resourcesleutel en vervang deze door [YourSpeechRegion] de spraakresourceregio.

Het volgende voorbeeld is voor Windows Shell. Zorg ervoor dat u een escape-bestand & gebruikt als ^& de URL bevat &.

curl -v -X PUT -H "Ocp-Apim-Subscription-Key: [YourResourceKey]" -H "Operation-Id: [operationId]"  -H "Content-Type: application/json" -d "{\"input\": {\"speakerCount\": [OptionalVideoSpeakerCount],\"subtitleMaxCharCountPerSegment\": [OptionalYourPreferredSubtitleMaxCharCountPerSegment],\"exportSubtitleInVideo\": [Optional true/false],\"webvttFile\": {\"Kind\": \"[SourceLocaleSubtitle/TargetLocaleSubtitle/MetadataJson]\", \"url\": \"[AzureBlobUrlWithSas]\"}}}" "https://[YourSpeechRegion].api.cognitive.microsoft.com/videotranslation/translations/[translationId]/iterations/[iterationId]?api-version=2024-05-20-preview"  

Notitie

Als u tijdens het maken van een iteratie al de optionele parameters speakerCountsubtitleMaxCharCountPerSegmenthebt opgegeven en exportSubtitleInVideo tijdens het maken van de vertaling, hoeft u deze niet opnieuw op te geven. De waarden nemen over van vertaalinstellingen. Zodra deze parameters zijn gedefinieerd bij het maken van een iteratie, overschrijven de nieuwe waarden de oorspronkelijke instellingen.

De webvttFile parameter is niet vereist bij het maken van de eerste iteratie. Vanaf de tweede iteratie moet u echter de webvttFile parameter opgeven in het iteratieproces. U moet het webvtt-bestand downloaden, de benodigde wijzigingen aanbrengen en het vervolgens uploaden naar uw Azure Blob-opslag. U moet de Blob-URL opgeven in de curl-code.

Gegevens die zijn gemaakt via de API worden niet weergegeven in Speech Studio en de gegevens tussen de API en Speech Studio worden niet gesynchroniseerd.

Het subtitelbestand kan de indeling WebVTT of JSON hebben. Als u niet zeker weet hoe u een WebVTT-bestand voorbereidt, raadpleegt u de volgende voorbeeldindelingen.


00:00:01.010 --> 00:00:06.030
Hello this is a sample subtitle.

00:00:07.030 --> 00:00:09.030
Hello this is a sample subtitle.

U ontvangt een antwoordtekst in de volgende indeling:

{
  "input": {
    "speakerCount": 1,
    "subtitleMaxCharCountPerSegment": 30,
    "exportSubtitleInVideo": true
  },
  "status": "Not Started",
  "lastActionDateTime": "2024-09-20T06:31:53.760Z",
  "id": "firstiteration0920",
  "createdDateTime": "2024-09-20T06:31:53.760Z"
}

U kunt de get-bewerking periodiek gebruiken operationId en aanroepen op basis van de api voor bewerkings-id's totdat de geretourneerde status is Succeeded of Failed. Met deze bewerking kunt u de voortgang van het maken van het iteratieproces controleren.

Een iteratie ophalen op iteratie-id

Gebruik de HTTP GET-aanvraag om details van een specifieke iteratie op te halen op basis van de bijbehorende id. Vervang [YourResourceKey] door uw Spraak-resourcesleutel, [YourSpeechRegion] door uw Spraak-resourceregio, [translationId] door de vertaal-id die u wilt controleren en [iterationId] door de iteratie-id die u wilt controleren.

curl -v -X GET -H "Ocp-Apim-Subscription-Key: [YourResourceKey]" "https://[YourSpeechRegion].api.cognitive.microsoft.com/videotranslation/translations/[translationId]/iterations/[iterationId]?api-version=2024-05-20-preview"  

U ontvangt een antwoordtekst in de volgende indeling:

{
  "input": {
    "speaker Count": 1,
    "subtitleMaxCharCountPerSegment": 30,
    "exportSubtitleInVideo": true
  },
  "result": {
    "translatedVideoFileUrl": "https://xxx.blob.core.windows.net/container1/video.mp4?sv=2023-01-03&st=2024-05-20T08%3A27%3A15Z&se=2024-05-21T08%3A27%3A15Z&sr=b&sp=r&sig=xxx",
    "sourceLocaleSubtitleWebvttFileUrl": "https://xxx.blob.core.windows.net/container1/sourceLocale.vtt?sv=2023-01-03&st=2024-05-20T08%3A27%3A15Z&se=2024-05-21T08%3A27%3A15Z&sr=b&sp=r&sig=xxx",
    "targetLocaleSubtitleWebvttFileUrl": "https://xxx.blob.core.windows.net/container1/targetLocale.vtt?sv=2023-01-03&st=2024-05-20T08%3A27%3A15Z&se=2024-05-21T08%3A27%3A15Z&sr=b&sp=r&sig=xxx",
    "metadataJsonWebvttFileUrl": "https://xxx.blob.core.windows.net/container1/metadataJsonLocale.vtt?sv=2023-01-03&st=2024-05-20T08%3A27%3A15Z&se=2024-05-21T08%3A27%3A15Z&sr=b&sp=r&sig=xxx"
  },
  "status": "Succeeded",
  "lastActionDateTime": "2024-09-20T06:32:59.933Z",
  "id": "firstiteration0920",
  "createdDateTime": "2024-09-20T06:31:53.760Z"
}

Een vertaling verwijderen op vertaal-id

Verwijder een specifieke vertaling die is geïdentificeerd door translationId. Met deze bewerking worden ook alle iteraties verwijderd die aan deze vertaling zijn gekoppeld. Vervang [YourResourceKey] door de spraakresourcesleutel, [YourSpeechRegion] door uw spraakresourceregio en [translationId] door de vertaal-id die u wilt verwijderen. Als deze niet handmatig wordt verwijderd, behoudt de service de vertaalgeschiedenis tot 31 dagen.

curl -v -X DELETE -H "Ocp-Apim-Subscription-Key: [YourResourceKey]" "https://[YourSpeechRegion].api.cognitive.microsoft.com/videotranslation/translations/[translationId]?api-version=2024-05-20-preview" 

De antwoordheaders bevatten HTTP/1.1 204 No Content als de verwijderaanvraag is geslaagd.

Aanvullende informatie

Deze sectie bevat curl-opdrachten voor andere API-aanroepen die hierboven niet in detail worden beschreven. U kunt elke API verkennen met behulp van de volgende opdrachten.

Vertalingen vermelden

Als u alle videovertalingen wilt weergeven die zijn geüpload en verwerkt in uw resourceaccount, maakt u een HTTP GET-aanvraag, zoals wordt weergegeven in het volgende voorbeeld. Vervang door YourResourceKey uw Spraak-resourcesleutel en vervang deze door YourSpeechRegion de spraakresourceregio.

curl -v -X GET -H "Ocp-Apim-Subscription-Key: [YourResourceKey]" "https://[YourSpeechRegion].api.cognitive.microsoft.com/videotranslation/translations?api-version=2024-05-20-preview"

Een vertaling ophalen op vertaal-id

Met deze bewerking wordt gedetailleerde informatie opgehaald over een specifieke vertaling, geïdentificeerd door de unieke vertaling translationId. Vervang [YourResourceKey] door de spraakresourcesleutel, [YourSpeechRegion] door uw spraakresourceregio en [translationId] door de vertaal-id die u wilt controleren.

curl -v -X GET -H "Ocp-Apim-Subscription-Key: [YourResourceKey]" "https://[YourSpeechRegion].api.cognitive.microsoft.com/videotranslation/translations/[translationId]?api-version=2024-05-20-preview" 

Iteraties weergeven

Alle iteraties voor een specifieke vertaling weergeven. Deze aanvraag bevat alle iteraties zonder gedetailleerde informatie. Vervang [YourResourceKey] door de spraakresourcesleutel, [YourSpeechRegion] door uw spraakresourceregio en [translationId] door de vertaal-id die u wilt controleren.

curl -v -X GET -H "Ocp-Apim-Subscription-Key: [YourResourceKey]" "https://[YourSpeechRegion].api.cognitive.microsoft.com/videotranslation/translations/[translationId]/iterations?api-version=2024-05-20-preview"  

HTTP-statuscode

In de sectie worden de HTTP-antwoordcodes en -berichten van de REST API voor videovertaling beschreven.

HTTP 200 OK

HTTP 200 OK geeft aan dat de aanvraag is geslaagd.

HTTP 204-fout

Een HTTP 204-fout geeft aan dat de aanvraag is geslaagd, maar dat de resource niet bestaat. Voorbeeld:

  • U hebt geprobeerd een vertaling te verkrijgen of te verwijderen die niet bestaat.
  • U hebt een vertaling verwijderd.

HTTP 400-fout

Hier volgen voorbeelden die kunnen leiden tot de 400-fout:

  • De bron- of doellandinstelling die u hebt opgegeven, valt niet onder de ondersteunde landinstellingen.
  • U hebt geprobeerd een F0 Speech-resource te gebruiken, maar de regio ondersteunt alleen de prijscategorie Standard Speech-resources.

HTTP 500-fout

HTTP 500 Interne serverfout geeft aan dat de aanvraag is mislukt. De hoofdtekst van het antwoord bevat het foutbericht.