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:
Meld u aan bij Speech Studio.
Selecteer het abonnement en de Spraak-resource waarmee u wilt werken.
Selecteer Videovertaling.
Selecteer Een project maken en beheren op de pagina Projecten maken.
Selecteer Spraaktype op de pagina Nieuw project.
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.
Upload uw videobestand door het videobestand te slepen en neer te trekken of het bestand handmatig te selecteren.
Zorg ervoor dat de video een .mp4-indeling heeft, kleiner dan 500 MB en korter is dan 60 minuten.
Geef de projectnaam op en selecteer Het aantal sprekers, de taal van de video, Vertalen naar taal.
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.
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.
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.
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.
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.
Gerelateerde inhoud
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.
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
: deOperation-Id
waarde moet uniek zijn voor elke bewerking. Het zorgt ervoor dat elke bewerking afzonderlijk wordt bijgehouden. Vervang door[operationId]
een bewerkings-id.Geef
translationId
op: detranslationId
waarde moet uniek zijn. Vervang door[translationId]
een vertalings-id.Stel de vereiste invoer in: Geef details op, zoals
sourceLocale
,targetLocale
,voiceKind
envideoFileUrl
. 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 instellenvoiceKind
op ofPersonalVoice
PlatformVoice
. HiervoorPlatformVoice
selecteert het systeem automatisch de meest geschikte vooraf samengestelde stem door de stem van de spreker in de video te koppelen aan vooraf gebouwde stemmen. HiervoorPersonalVoice
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.
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
: DeOperation-Id
waarde moet uniek zijn voor elke bewerking, zoals het maken van elke iteratie. Vervang[operationId]
door een unieke id voor deze bewerking. - Geef
translationId
op: Als er meerdere iteraties worden uitgevoerd onder één vertaling, blijft de vertaal-id ongewijzigd. - Geef op
iterationId
: deiterationId
waarde moet uniek zijn voor elke bewerking. Vervang door[iterationId]
een iteratie-id. - Stel de vereiste invoer in: Geef details op, zoals
speakerCount
,subtitleMaxCharCountPerSegment
ofexportSubtitleInVideo
webvttFile
. 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 speakerCount
subtitleMaxCharCountPerSegment
hebt 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.