Convertire SUB/IDX in SRT
La prima esecuzione scarica il lettore di testo: circa 4 MB più il modello linguistico, serviti da questo sito e poi messi in cache dal browser. Nulla viene caricato, e il risultato è letto da una macchina: rileggerlo prima di farci affidamento.
Opzioni
Un sottotitolo bitmap è un’immagine di testo, quindi le parole vanno rilette da lì. Dire al riconoscitore in che lingua sono scritti i sottotitoli: l’elenco copre tutte le lingue in cui è pubblicato questo sito. Sottotitoli russi letti con il modello inglese escono come rumore, non come russo. Viene scaricato solo il modello scelto (gli altri mai), quindi cambiare costa un download per lingua, poi in cache.
VobSub divide una traccia di sottotitoli in due file, e servono entrambi. Il file .sub contiene le immagini: una catena di pacchetti MPEG program stream, ognuno con una bitmap compressa con un codice a lunghezza di serie a due bit. Il file .idx contiene tutto il resto: la palette di sedici colori, la dimensione del fotogramma e una riga per sottotitolo con il suo orario di inizio e l’offset in byte dentro il .sub dove comincia la sua immagine. Trascinare solo il .sub non permette di sapere quanti sottotitoli ci sono; trascinare solo il .idx non dà alcuna immagine da leggere. Questa pagina prende la coppia e scrive un .srt.
Ogni pacchetto viene individuato da quell’offset in byte, quindi l’indice non è una comodità: è la mappa. Dentro il pacchetto due parole di intestazione danno la dimensione e la posizione di una sequenza di controllo; la sequenza imposta l’area di visualizzazione, sceglie quali quattro voci della palette riguardano i pixel e punta alla bitmap compressa. Il decodificatore percorre poi il codice a lunghezza di serie due volte, una per le righe pari e una per le dispari, perché VobSub memorizza separatamente i due campi di un fotogramma interlacciato. È per questo dettaglio che un decodificatore ingenuo produce un’immagine con una riga sì e una no. Le marche temporali vengono dal .idx, che è l’unico posto in cui esistono in forma utilizzabile. Un blocco finisce dove comincia il successivo; l’ultimo riceve due secondi, e l’elenco delle perdite registra quella scelta. I sottotitoli le cui immagini non producono testo leggibile vengono lasciati fuori e conteggiati, non scritti come righe vuote.
Il testo viene dall’OCR, il che significa che è una lettura e non una trascrizione. È qui che i sottotitoli DVD sono più difficili: sono stati composti con font bitmap piccoli e tag in corsivo per le voci fuori campo, e un riconoscitore non sa che una parola inclinata diversamente è la stessa parola. Rileggi il file. Scegli la lingua in cui sono i sottotitoli: il modello si sceglie per pagina, si scarica una volta e resta nella cache del browser. Nulla viene caricato: la coppia viene analizzata e riconosciuta in questa scheda, e le uniche richieste di rete sono per i file del riconoscitore, che questo sito serve da sé.
Domande frequenti
Perché questa pagina richiede due file quando ogni altro strumento qui ne richiede uno?
Perché VobSub memorizza una traccia in due file per progetto, non perché lo strumento voglia due ingressi. Il .sub contiene le bitmap; il .idx contiene la palette di sedici colori, la dimensione del fotogramma e l’offset di ogni immagine insieme al suo orario di inizio. Nessuno dei due file da solo può rispondere a «quanti sottotitoli ci sono e che cosa dicono». Se hai un .sub senza .idx, quella coppia è stata separata da qualche parte e l’indice va recuperato dal disco di origine prima che l’OCR sia possibile.
A che cosa puntano i numeri filepos nel file .idx?
A un offset in byte dentro il file .sub, all’inizio di un pacchetto MPEG program stream il cui identificatore di flusso lo marca come flusso privato: il tipo che i lettori DVD usano per i sottotitoli. L’offset non è un numero di sottotitolo e non è necessariamente monotono rispetto alle marche temporali in un disco insolito, ed è per questo che questa pagina ordina le voci per marca temporale invece di fidarsi dell’ordine in cui le righe compaiono nel file.
Perché alcune righe escono con le lettere sbagliate ma la lunghezza giusta?
Perché la palette e le forme vengono entrambe dall’immagine, e l’OCR risolve le forme a una dimensione fissa. I sottotitoli DVD sono spesso composti in un carattere piccolo, molto inclinato o molto grasso; una parola in corsivo — usata per il dialogo fuori campo e per i testi delle canzoni — è la vittima abituale, perché una versione inclinata di una lettera non è una lettera diversa per un essere umano ma è una forma diversa per un riconoscitore. Se le lunghezze coincidono e le lettere no, la soluzione è la rilettura, non un altro strumento.
La posizione sullo schermo del sottotitolo sopravvive nell’SRT?
No, e non c’è posto dove possa andare. VobSub memorizza la posizione come rettangolo dell’area di visualizzazione in coordinate a dodici bit dentro ogni pacchetto, e SRT non ha alcuna sintassi di posizionamento. La pagina usa il rettangolo per sapere dov’è l’inchiostro — il che aiuta l’OCR a ritagliare bene — e poi lo scarta. Se il tuo lettore ha bisogno di sottotitoli posizionati, ASS è il formato che può portare quell’informazione; un SRT con marcatori di posizione è una convenzione che alcuni lettori rispettano e altri stampano alla lettera.
Lo strumento dice che serve il file .idx, ma io ho solo il .sub. Si può ricostruire l’indice?
Non dal solo .sub, e non in modo affidabile dalle immagini. Gli offset si possono in linea di principio trovare scandendo i pacchetti di flusso privato, ma le marche temporali non si possono recuperare: vivono nel .idx e in nessun altro punto della coppia. Ricostruire un indice significa tornare al disco o al file VOB da cui la coppia è stata estratta, oppure usare il .idx originale se esiste ancora accanto a un’altra traccia. Indovinare i tempi produrrebbe un file che sembra corretto e deriva rispetto al video, il che è peggio di nessun file.
La coppia di file viene inviata da qualche parte mentre viene letta?
No. Entrambi i file vengono letti in memoria in questa scheda, decodificati qui e riconosciuti qui. L’unico download è il riconoscitore di testo, servito da questo sito e poi memorizzato dal browser. Puoi osservare il pannello Rete mentre una coppia viene elaborata: nessuna richiesta trasporta l’uno o l’altro file. Questo conta in particolare per VobSub, perché questi file di solito provengono da un disco che l’utente possiede e sono esattamente il tipo di materiale che non va consegnato a un servizio di conversione.