Utilizza questo flusso di lavoro per creare file di sottotitoli da un video. Weydub supporta due metodi di estrazione:
- Estrazione tramite OCR dei sottotitoli impressi già visibili nel fotogramma del video.
- Estrazione tramite ASR dei dialoghi parlati nella traccia audio.
Vuoi verificare la qualità dell'output prima di procedere? Prova il flusso di lavoro web Weydub corrispondente: Genera sottotitoli.
Per una spiegazione a livello di sistema del Video OCR temporale, del filtraggio del testo nelle scene e della segmentazione ASR pronta per i sottotitoli, consulta Generazione di sottotitoli tramite IA con Video OCR e ASR.
Endpoint
POST /v-w-c/gateway/ve/work/freeL'estrazione dei sottotitoli è asincrona. Salva body.idProject e body.dataList[].id, quindi utilizza Modello per le attività asincrone per il polling, la gestione dei tentativi, il comportamento dei callback e la firma dei callback.
Accesso e limiti
| Regola | Requisito |
|---|---|
| Accesso dell'account | L'accesso all'API video principale deve essere abilitato. L'estrazione OCR/ASR fa generalmente parte della famiglia di attività video, ma la policy dell'account può comunque limitare le dimensioni dei batch o le opzioni avanzate. |
| Video sorgente | Utilizza un URL pubblico e stabile tramite HTTPS. Gli attuali limiti massimi per i video sono di 15 minuti per file e 1000 MB per file. |
| Fatturazione | I flussi di lavoro video vengono fatturati in unità da 30 secondi. I clip di durata inferiore a 30 secondi vengono conteggiati come 30 secondi. |
| Attività non riuscita | Se al termine si verifica processStatus > 1, non viene detratto alcun credito. |
| Conservazione | I file dei sottotitoli e le risorse renderizzate seguono le regole di conservazione web di Weydub. Per impostazione predefinita, vengono conservate le risorse sorgente/renderizzate degli ultimi 30 giorni. Scarica copie permanenti dopo il callback. |
Scegli OCR o ASR
| Modalità | Quando utilizzarla | Segnale richiesto | Output tipico |
|---|---|---|---|
| Estrazione di sottotitoli impressi con OCR | I sottotitoli sono impressi nell'immagine, generalmente nella parte inferiore del fotogramma. | needChineseOcclude: 14, videoInpaintMasks, videoInpaintLang, lang. | srcSrtUrl, tgtSrtUrl. |
| Estrazione del parlato tramite ASR | Il dialogo è presente nella traccia audio ed è necessaria una trascrizione con indicazioni temporali. | needWanyin: 1, wyTaskType: "ONLY_ASR", wyNeedText: 0. | srcSrtUrl, tgtSrtUrl. |
Non utilizzare OCR per trascrivere video contenenti esclusivamente parlato. Non utilizzare ASR per leggere sottotitoli impressi in video privi di audio.
Payload per l'estrazione OCR dei sottotitoli
Usa OCR quando i sottotitoli sono già incorporati nell'immagine video.
{
"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"
}Note:
needChineseOccludedeve essere14.videoInpaintMasksè obbligatorio per l'estrazione OCR e dovrebbe essere una stringa JSON compatta prima della firma.typedovrebbe esseretrans_only_ocr.- Imposta
languguale avideoInpaintLangquando non è necessaria alcuna traduzione. - Le coordinate sono normalizzate da
0a1, nell'ordine: angolo superiore sinistro, angolo superiore destro, angolo inferiore destro, angolo inferiore sinistro.
Maschere OCR
Usa una o più maschere quando l'area visibile dei sottotitoli è nota. Le maschere delimitate temporalmente aiutano a evitare che indizi temporanei sulla trama o testi di registrazione vengano estratti come dialoghi.
| Campo | Tipo | Obbligatorio | Descrizione |
|---|---|---|---|
type | string | Sì | Usa trans_only_ocr per l'estrazione OCR dei sottotitoli. |
region | array | Sì | Quattro punti normalizzati: [[x1,y1],[x2,y2],[x3,y3],[x4,y4]]. |
start | number | No | Tempo di inizio in secondi. Ometti il campo o usa 0 quando la maschera si applica fin dall'inizio. |
end | number | No | Tempo di fine in secondi. Utile quando una maschera si applica solo all'introduzione. |
to_end | number | No | Secondi prima della fine del video. Se noto, è preferibile specificare esplicitamente end. |
Aree comuni:
| Scenario | Area |
|---|---|
| Fascia verticale 16:9 per i sottotitoli | [[0,0.56],[1,0.56],[1,0.76],[0,0.76]] |
| Area standard orizzontale per i sottotitoli | [[0,0.8],[1,0.8],[1,1],[0,1]] |
| Fascia inferiore personalizzata | [[0,0.7],[1,0.7],[1,0.95],[0,0.95]] |
Opzioni OCR
extraOptions.extra_inpaint_config consente di regolare la pulizia OCR:
| Opzione | Tipo | Descrizione |
|---|---|---|
auto_correct_on | boolean | Indica se correggere automaticamente il testo riconosciuto dei sottotitoli. |
strip_last_punct_on | boolean | Indica se rimuovere la punteggiatura finale da ogni riga dei sottotitoli. |
scene_filter_on | boolean | Indica se filtrare il testo di scena non appartenente ai dialoghi. Questa opzione è spesso disabilitata per l'estrazione dei sottotitoli in inglese e in altre lingue non CJK quando si desidera acquisire tutto il testo visibile dei sottotitoli. |
Mantieni extraOptions come stringa JSON compatta per i payload API pubblici, salvo diversa indicazione nel contratto del tuo account.
Payload per l'estrazione dei sottotitoli ASR
Usa ASR quando il video contiene parlato e hai bisogno di una trascrizione temporizzata.
{
"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"
}Note:
wyTaskTypedeve essereONLY_ASR.wyNeedText: 0indica di non eseguire il rendering dei sottotitoli in un nuovo video.needWyEdit: 0disabilita il flusso di modifica manuale/pro-draft per questa attività di estrazione.sourceLangè la lingua parlata.langè la lingua di output dei sottotitoli; usa lo stesso codice quando non è necessaria alcuna traduzione.
Opzioni ASR
| Opzione | Tipo | Descrizione |
|---|---|---|
asr_speaker_detect_on | boolean | Abilita il rilevamento dei parlanti, quando supportato. Utile per i dialoghi con più parlanti. |
extra_video_translate_config.remove_last_punct_on | boolean | Rimuove la punteggiatura finale dalle righe generate dei sottotitoli. |
Parametri
| Parametro | OCR | ASR | Descrizione |
|---|---|---|---|
urls | Obbligatorio | Obbligatorio | URL pubblici dei video. In produzione, usa URL HTTPS stabili. |
needChineseOcclude | 14 | Non utilizzato | Modalità di estrazione OCR dei sottotitoli. |
videoInpaintLang | Obbligatorio | Non utilizzato | Lingua del testo visibile dei sottotitoli. |
videoInpaintMasks | Obbligatorio | Non utilizzato | Stringa JSON compatta che descrive le regioni OCR. |
extraOptions | Facoltativo | Facoltativo | Stringa JSON compatta per la pulizia OCR o per le opzioni ASR. |
needWanyin | Non utilizzato | 1 | Abilita l'elaborazione del parlato per ASR. |
sourceLang | Facoltativo | Obbligatorio | Lingua parlata/di origine. |
lang | Obbligatorio | Obbligatorio | Lingua dei sottotitoli di output. Usa lo stesso valore della lingua di origine quando non è necessaria alcuna traduzione. |
wyTaskType | Non utilizzato | ONLY_ASR | Tipo di attività esclusivamente ASR. |
needWyEdit | Non utilizzato | 0 | Disabilita il flusso di modifica manuale/pro-draft per l'estrazione. |
wyNeedText | Non utilizzato | 0 | Non eseguire il rendering dei sottotitoli in un nuovo video. |
callback | Facoltativo | Facoltativo | URL del webhook per il completamento asincrono. |
uid | Facoltativo | Facoltativo | Il tuo identificatore utente/cliente quando il tuo account utilizza il tracciamento dei sottoutenti. |
Output
Le attività di estrazione completate correttamente possono restituire:
srcSrtUrltgtSrtUrlprocessStatusprocessProgresspaidPoint- metadati dell'attività inclusi nell'elemento di lavoro restituito
Le estrazioni OCR e ASR non richiedono il rendering di un nuovo video. Esegui il polling fino a quando processStatus === 1, prima di leggere srcSrtUrl o tgtSrtUrl.
I callback inviano direttamente il payload dell'elemento di lavoro, senza il wrapper esterno code / msg / body utilizzato nelle risposte di polling.
Note per gli agenti
- Scegli OCR per il testo dei sottotitoli incorporato nel video; scegli ASR per i dialoghi parlati.
- Mantieni
videoInpaintMaskseextraOptionsin formato compatto e serializzati come stringhe prima della firma. - Non inviare gli array di maschere OCR come array nativi, a meno che il contratto del tuo account non lo preveda.
- Usa la query enum (
POST /v-w-c/enum/query2) per recuperare informazioni aggiornate sul supporto disourceLangeLang; questo endpoint enum non richiede la firma. - Esegui il polling finché
processStatusnon è1, prima di leggeresrcSrtUrlotgtSrtUrl. - Salva i file dei sottotitoli prima della pulizia prevista dai criteri di conservazione.