Verwenden Sie diesen Workflow, um Untertiteldateien aus Videos zu erstellen. Weydub unterstützt zwei Extraktionswege:
- OCR-Extraktion für fest eingebrannte Untertitel, die bereits im Videobild sichtbar sind.
- ASR-Extraktion für gesprochene Dialoge in der Audiospur.
Möchten Sie die Ausgabequalität prüfen, bevor Sie mit der Entwicklung beginnen? Probieren Sie den entsprechenden Weydub-Web-Workflow aus: Untertitel generieren.
Eine Erklärung auf Systemebene zur temporalen Video-OCR, zur Filterung von Szenentext und zur untertitelgerechten ASR-Segmentierung finden Sie unter KI-Untertitelerstellung mit Video-OCR und ASR.
Endpunkt
POST /v-w-c/gateway/ve/work/freeDie Untertitelextraktion erfolgt asynchron. Speichern Sie body.idProject und body.dataList[].id, und verwenden Sie anschließend das Modell für asynchrone Aufgaben für Polling, Callbacks, das Verhalten bei Wiederholungsversuchen und die Signierung von Callbacks.
Zugriff und Beschränkungen
| Regel | Anforderung |
|---|---|
| Kontozugriff | Der grundlegende Video-API-Zugriff muss aktiviert sein. Die OCR-/ASR-Extraktion gehört üblicherweise zur Familie der Videoaufgaben, die Kontorichtlinie kann jedoch weiterhin die Batchgröße oder erweiterte Optionen beschränken. |
| Quellvideo | Verwenden Sie eine stabile, öffentlich zugängliche HTTPS-URL. Die derzeitigen festen Obergrenzen für Videos betragen 15 Minuten pro Datei und 1000 MB pro Datei. |
| Abrechnung | Video-Workflows werden in Einheiten von 30 Sekunden abgerechnet. Clips, die kürzer als 30 Sekunden sind, werden als 30 Sekunden abgerechnet. |
| Fehlgeschlagene Aufgabe | Wenn für den endgültigen Status processStatus > 1 gilt, werden keine Credits abgezogen. |
| Aufbewahrung | Untertiteldateien und gerenderte Assets unterliegen den Web-Aufbewahrungsregeln von Weydub. Standardmäßig werden Quell- und gerenderte Assets aus den letzten 30 Tagen aufbewahrt. Laden Sie nach dem Callback Kopien zur dauerhaften Aufbewahrung herunter. |
Zwischen OCR und ASR wählen
| Modus | Verwenden, wenn | Erforderliches Signal | Typische Ausgabe |
|---|---|---|---|
| OCR-Extraktion fest eingebrannter Untertitel | Untertitel sind in das Bild eingebrannt, üblicherweise am unteren Rand des Bildes. | needChineseOcclude: 14, videoInpaintMasks, videoInpaintLang, lang. | srcSrtUrl, tgtSrtUrl. |
| ASR-Sprachextraktion | Dialoge sind in der Audiospur vorhanden und Sie benötigen ein Transkript mit Zeitstempeln. | needWanyin: 1, wyTaskType: "ONLY_ASR", wyNeedText: 0. | srcSrtUrl, tgtSrtUrl. |
Verwenden Sie OCR nicht, um Videos zu transkribieren, die ausschließlich Sprache enthalten. Verwenden Sie ASR nicht, um lautlose, fest eingebrannte Untertitel auszulesen.
Payload für die OCR-Untertitelextraktion
Verwenden Sie OCR, wenn Untertitel bereits in das Videobild eingebettet sind.
{
"urls": ["https://example.com/video.mp4"],
"needChineseOcclude": 14,
"videoInpaintLang": "en",
"lang": "en",
"videoInpaintMasks": "[{\"type\":\"trans_only_ocr\",\"region\":[[0,0.8],[1,0.8],[1,1],[0,1]]}]",
"extraOptions": "{\"extra_inpaint_config\":{\"auto_correct_on\":false,\"strip_last_punct_on\":true,\"scene_filter_on\":false}}",
"callback": "https://your-domain.example/webhooks/weydub"
}Hinweise:
needChineseOccludemuss14sein.videoInpaintMasksist für die OCR-Extraktion erforderlich und sollte vor dem Signieren eine kompakte JSON-Zeichenfolge sein.typesolltetrans_only_ocrsein.- Setzen Sie
langauf denselben Wert wievideoInpaintLang, wenn keine Übersetzung erforderlich ist. - Die Koordinaten sind auf den Bereich von
0bis1normiert und in folgender Reihenfolge angeordnet: oben links, oben rechts, unten rechts, unten links.
OCR-Masken
Verwenden Sie eine oder mehrere Masken, wenn der sichtbare Untertitelbereich bekannt ist. Zeitlich begrenzte Masken tragen dazu bei, dass vorübergehende Handlungshinweise oder Registrierungstexte nicht als Dialog extrahiert werden.
| Feld | Typ | Erforderlich | Beschreibung |
|---|---|---|---|
type | string | Ja | Verwenden Sie trans_only_ocr für die OCR-Untertitelextraktion. |
region | array | Ja | Vier normalisierte Punkte: [[x1,y1],[x2,y2],[x3,y3],[x4,y4]]. |
start | number | Nein | Startzeit in Sekunden. Lassen Sie das Feld weg oder verwenden Sie 0, wenn die Maske von Anfang an gilt. |
end | number | Nein | Endzeit in Sekunden. Nützlich, wenn eine Maske nur für das Intro gilt. |
to_end | number | Nein | Anzahl der Sekunden vor dem Videoende. Bevorzugen Sie eine explizite Angabe für end, sofern diese bekannt ist. |
Häufig verwendete Bereiche:
| Szenario | Bereich |
|---|---|
| Vertikales 16:9-Untertitelband | [[0,0.56],[1,0.56],[1,0.76],[0,0.76]] |
| Standardmäßiger horizontaler Untertitelbereich | [[0,0.8],[1,0.8],[1,1],[0,1]] |
| Benutzerdefiniertes unteres Band | [[0,0.7],[1,0.7],[1,0.95],[0,0.95]] |
OCR-Optionen
Mit extraOptions.extra_inpaint_config lässt sich die OCR-Bereinigung anpassen:
| Option | Typ | Beschreibung |
|---|---|---|
auto_correct_on | boolean | Gibt an, ob erkannter Untertiteltext automatisch korrigiert werden soll. |
strip_last_punct_on | boolean | Gibt an, ob abschließende Satzzeichen aus jeder Untertitelzeile entfernt werden sollen. |
scene_filter_on | boolean | Gibt an, ob Szenentext, der kein Dialog ist, herausgefiltert werden soll. Diese Option ist bei der Untertitelextraktion für Englisch und andere Nicht-CJK-Sprachen häufig deaktiviert, wenn der gesamte sichtbare Untertiteltext erfasst werden soll. |
Belassen Sie extraOptions als kompakten JSON-String für öffentliche API-Payloads, sofern Ihr Kontovertrag nichts anderes vorsieht.
ASR-Payload für die Untertitelextraktion
Verwenden Sie ASR, wenn das Video Sprachinhalte enthält und Sie ein zeitcodiertes Transkript benötigen.
{
"urls": ["https://example.com/video.mp4"],
"needWanyin": 1,
"sourceLang": "en",
"lang": "en",
"wyTaskType": "ONLY_ASR",
"needWyEdit": 0,
"wyNeedText": 0,
"extraOptions": "{\"asr_speaker_detect_on\":true,\"extra_video_translate_config\":{\"remove_last_punct_on\":true}}",
"callback": "https://your-domain.example/webhooks/weydub"
}Hinweise:
wyTaskTypemussONLY_ASRsein.wyNeedText: 0bedeutet, dass Untertitel nicht in ein neues Video gerendert werden.needWyEdit: 0deaktiviert für diesen Extraktionsauftrag das Verhalten für die manuelle Bearbeitung/Pro-Draft-Erstellung.sourceLangist die gesprochene Sprache.langist die Ausgabesprache der Untertitel; verwenden Sie denselben Code, wenn keine Übersetzung erforderlich ist.
ASR-Optionen
| Option | Typ | Beschreibung |
|---|---|---|
asr_speaker_detect_on | boolean | Aktiviert die Sprechererkennung, sofern sie unterstützt wird. Nützlich für Dialoge mit mehreren Sprechern. |
extra_video_translate_config.remove_last_punct_on | boolean | Entfernt abschließende Satzzeichen aus erzeugten Untertitelzeilen. |
Parameter
| Parameter | OCR | ASR | Beschreibung |
|---|---|---|---|
urls | Erforderlich | Erforderlich | Öffentliche Video-URLs. Verwenden Sie im Produktivbetrieb stabile HTTPS-URLs. |
needChineseOcclude | 14 | Nicht verwendet | OCR-Modus zur Untertitelextraktion. |
videoInpaintLang | Erforderlich | Nicht verwendet | Sprache des sichtbaren Untertiteltexts. |
videoInpaintMasks | Erforderlich | Nicht verwendet | Kompakte JSON-Zeichenfolge zur Beschreibung von OCR-Regionen. |
extraOptions | Optional | Optional | Kompakte JSON-Zeichenfolge für die OCR-Bereinigung oder ASR-Optionen. |
needWanyin | Nicht verwendet | 1 | Aktiviert die Sprachverarbeitung für ASR. |
sourceLang | Optional | Erforderlich | Gesprochene Sprache/Quellsprache. |
lang | Erforderlich | Erforderlich | Ausgabesprache der Untertitel. Verwenden Sie denselben Wert wie für die Quellsprache, wenn keine Übersetzung erforderlich ist. |
wyTaskType | Nicht verwendet | ONLY_ASR | Aufgabentyp ausschließlich für ASR. |
needWyEdit | Nicht verwendet | 0 | Deaktiviert den Ablauf für manuelle Bearbeitung/Pro-Entwürfe bei der Extraktion. |
wyNeedText | Nicht verwendet | 0 | Untertitel nicht in ein neues Video rendern. |
callback | Optional | Optional | Webhook-URL für den asynchronen Abschluss. |
uid | Optional | Optional | Ihre Benutzer-/Kundenkennung, wenn für Ihr Konto die Nachverfolgung von Unterbenutzern verwendet wird. |
Ausgaben
Erfolgreiche Extraktionsaufgaben können Folgendes zurückgeben:
srcSrtUrltgtSrtUrlprocessStatusprocessProgresspaidPoint- Metadaten zur Aufgabe unter dem zurückgegebenen Arbeitselement
Für die Extraktion mit OCR und ASR muss kein neues Video gerendert werden. Fragen Sie den Status ab, bis processStatus === 1 erreicht ist, bevor Sie srcSrtUrl oder tgtSrtUrl lesen.
Callbacks senden die Nutzlast des Arbeitselements direkt, ohne den äußeren code / msg / body-Wrapper, der bei Polling-Antworten verwendet wird.
Hinweise für Agenten
- Wählen Sie OCR für eingebrannten Untertiteltext und ASR für gesprochene Dialoge.
- Halten Sie
videoInpaintMasksundextraOptionsvor dem Signieren kompakt und als Zeichenfolgen serialisiert. - Senden Sie OCR-Maskenarrays nur dann als native Arrays, wenn Ihr Kontovertrag dies vorsieht.
- Verwenden Sie die Enum-Abfrage (
POST /v-w-c/enum/query2), um die derzeit unterstützten Werte fürsourceLangundLangabzurufen; dieser Enum-Endpunkt erfordert keine Signierung. - Fragen Sie den Status ab, bis
processStatusden Wert1hat, bevor SiesrcSrtUrlodertgtSrtUrllesen. - Speichern Sie die Untertiteldateien vor der Aufbewahrungsbereinigung.