GNU/Linux >> Linux Esercitazione >  >> Linux

Modifica dei sottotitoli in Linux

Sono stato un amante del cinema mondiale e regionale per decenni. I sottotitoli sono lo strumento essenziale che mi ha permesso di godermi i migliori film in varie lingue e da vari paesi.

Se ti piace guardare i film con i sottotitoli, potresti aver notato che a volte i sottotitoli non sono sincronizzati o non sono corretti.

Sapevi che puoi modificare i sottotitoli e migliorarli? Lascia che ti mostri alcune modifiche di base dei sottotitoli in Linux.

Estrazione dei sottotitoli dai dati dei sottotitoli

Intorno al 2012, 2013 sono venuto a conoscenza di uno strumento chiamato CCEextractor. Col passare del tempo, è diventato uno degli strumenti vitali per me, soprattutto se mi imbatto in un file multimediale in cui sono incorporati i sottotitoli.

CCExtractor analizza i file video e produce file di sottotitoli indipendenti dai dati dei sottotitoli.

CCExtractor è uno strumento multipiattaforma, gratuito e open source. Lo strumento è maturato un po' dai suoi anni di formazione ed è stato parte di GSOC e Google Code-in di tanto in tanto.

Lo strumento, per dirla semplicemente, è più o meno un insieme di script che funzionano uno dopo l'altro in un ordine serializzato per darti un sottotitolo estratto.

Puoi seguire le istruzioni di installazione per CCExtractor in questa pagina.

Dopo l'installazione, quando desideri estrarre i sottotitoli da un file multimediale, procedi come segue:

ccextractor <path_to_video_file>

L'output del comando sarà qualcosa del genere:

$ cextractor $something.mkv
CCExtractor 0.87, Carlos Fernandez Sanz, Volker Quetschke.
Parti di televideo tratte da telxcc di Petr Kutalek
————————————————— ———————–
Input:$something.mkv
[Estratto:1] [Modalità flusso:Rilevamento automatico]
[Programma:Auto] [Modalità Hauppage:No] [Usa codice MythTV:Auto ]
[Modalità di temporizzazione:Auto] [Debug:No] [Input buffer:No]
[Usa pic_order_cnt_lsb per H.264:No] [Stampa tracce decoder CC:No ]
[Formato target:.srt] [Codifica:UTF-8] [Ritardo:0] [Linee di taglio:No]
[Aggiungi dati colore carattere:Sì] [Aggiungi composizione carattere:Sì]
[Convert case:No] [Video-edit join:No]
[Ora di inizio dell'estrazione:non impostata (dall'inizio)]
[Ora di fine dell'estrazione:non impostata (alla fine)]
[Streaming live:No] [Frequenza di clock:90000]
[Pagina televideo:Rilevamento automatico]
[Testo iniziale crediti:nessuno]
[Modalità di quantizzazione:funzione interna di CCExtractor]
————————————————— ————–
File di apertura:$something.mkv
Il file sembra essere un contenitore Matroska/WebM
Analisi dei dati in modalità Matroska
Tipo di documento:matroska
Scala timecode:1000000
App di muxing:libebml v1.3.1 + libmatroska v1.4.2
App di scrittura:mkvmerge v8.2.0 ("World of Adventure") 64bit
Titolo:$qualcosa
Voce traccia:
Numero traccia:1
UID:1
Digita:video
ID codec:V_MPEG4/ISO/AVC
Linguaggio:mal
Nome:$qualcosa
Voce traccia:
Numero traccia:2
UID:2
Digita:audio
ID codec:A_MPEG/L3
Linguaggio:mal
Nome:$qualcosa
Voce traccia:
Numero traccia:3
UID:somenumber
Digita:subtitle
ID codec:S_TEXT/UTF8
Nome:$qualcosa
99% | 144:34
100% | 144:34
File di output:$something_eng.srt
Fatto, tempo di elaborazione =6 secondi
Problemi? Apri un ticket qui
https://github.com/CCExtractor/ccextractor/issues
visualizza rawccextractor-output.txt ospitato con ❤ da GitHub

Fondamentalmente esegue la scansione del file multimediale. In questo caso, ha rilevato che il file multimediale è in malyalam e che il contenitore multimediale è an .mkv contenitore. Ha estratto il file dei sottotitoli con lo stesso nome del file video aggiungendo _eng ad esso.

CCExtractor è uno strumento meraviglioso che può essere utilizzato per migliorare i sottotitoli insieme a Modifica sottotitoli che condividerò nella prossima sezione.

Lettura interessante:c'è un'interessante sinossi dei sottotitoli in vicaps che racconta e condivide perché i sottotitoli sono importanti per noi. Entra anche nei dettagli della realizzazione di film per coloro che sono interessati a questi argomenti.

Modifica dei sottotitoli con lo strumento Editor sottotitoli

Probabilmente sai che la maggior parte dei sottotitoli sono in .srt formato . La cosa bella di questo formato è ed era che potevi caricarlo nel tuo editor di testo e apportare piccole correzioni.

A srt il file è simile a questo quando viene lanciato in un semplice editor di testo :

1
00:00:00,959 –> 00:00:13,744
"THE CABINET
DI DR. CALIGARI"
2
00:00:40,084 –> 00:01:02,088
UN RACCONTO sulla ricomparsa moderna di un mito dell'XI secolo
che coinvolge la strana e misteriosa influenza
di un monaco saltimbanco su un sonnambulo.
visualizza rawsample-subtitle.txt ospitato con ❤ da GitHub

Il sottotitolo dell'estratto che ho condiviso è tratto da un bel vecchio film tedesco intitolato Il gabinetto del dottor Caligari (1920)

Subtitleeditor è uno strumento meraviglioso quando si tratta di modificare i sottotitoli. L'editor dei sottotitoli è e può essere utilizzato per manipolare la durata del tempo, il frame rate del file dei sottotitoli in modo che sia sincronizzato con il file multimediale, la durata delle pause intermedie e molto altro. Condividerò qui alcune delle modifiche di base dei sottotitoli.

Per prima cosa installa subtitleeditor nello stesso modo in cui hai installato cextractor, usando il tuo metodo di installazione preferito. In Debian, puoi usare questo comando:

sudo apt install subtitleeditor

Una volta installato, vediamo alcuni degli scenari comuni in cui è necessario modificare un sottotitolo.

Manipolazione della frequenza dei fotogrammi per la sincronizzazione con il file multimediale

Se scopri che i sottotitoli non sono sincronizzati con il video, uno dei motivi potrebbe essere la differenza tra la frequenza dei fotogrammi del file video e il file dei sottotitoli.

Come fai a sapere i frame rate di questi file, allora?

Per ottenere la frequenza dei fotogrammi di un file video, puoi utilizzare lo strumento mediainfo. Potrebbe essere necessario installarlo prima utilizzando il gestore di pacchetti della distribuzione.

Usare mediainfo è semplice:

$ mediainfo somefile.mkv | grep Frame
 Format settings                          : CABAC / 4 Ref Frames
 Format settings, ReFrames                : 4 frames
 Frame rate mode                          : Constant
 Frame rate                               : 25.000 FPS
 Bits/(Pixel*Frame)                       : 0.082
 Frame rate                               : 46.875 FPS (1024 SPF)

Ora puoi vedere che il framerate del file video è 25.000 FPS. L'altro Frame-rate che vediamo è per l'audio. Anche se posso condividere il motivo per cui particolari fps vengono utilizzati nella codifica video, nella codifica audio ecc. Sarebbe un argomento diverso. C'è molta storia ad esso associata.

Il prossimo passo è scoprire il frame rate del file dei sottotitoli e questo è un po' complicato.

Di solito, la maggior parte dei sottotitoli sono in formato zippato. Decomprimere l'archivio .zip insieme al file dei sottotitoli che termina con qualcosa.srt. Insieme ad esso, di solito c'è anche un file .info con lo stesso nome che a volte potrebbe avere il frame rate del sottotitolo.

In caso contrario, di solito è una buona idea andare su un sito e scaricare i sottotitoli da un sito che contiene tali informazioni sulla frequenza dei fotogrammi. Per questo specifico file tedesco, utilizzando Opensubtitle.org

Come puoi vedere nel link, il frame rate del sottotitolo è di 23.976 FPS. Ovviamente, non funzionerà bene con il mio file video con frame rate 25.000 FPS.

In questi casi, puoi modificare la frequenza dei fotogrammi del file dei sottotitoli utilizzando lo strumento Editor sottotitoli:

Seleziona tutti i contenuti dal file dei sottotitoli facendo CTRL+A. Vai a Tempi -> Cambia framerate e cambia frame rate da 23.976 fps a 25.000 fps o qualunque cosa desideri. Salva il file modificato.

Modifica della posizione iniziale di un file di sottotitoli

A volte il metodo di cui sopra può essere sufficiente, a volte anche se non sarà sufficiente.

Potresti trovare alcuni casi in cui l'inizio del file dei sottotitoli è diverso da quello del film o di un file multimediale mentre la frequenza dei fotogrammi è uguale .

In questi casi, procedi come segue:

Seleziona tutti i contenuti dal file dei sottotitoli facendo CTRL+A. Vai a Orari -> Seleziona Sposta sottotitolo.

Modifica la nuova posizione iniziale del file dei sottotitoli. Salva il file modificato.

Se vuoi essere più preciso, usa mpv per vedere il film o il file multimediale e fai clic sul tempo, se fai clic sulla barra del tempo che mostra quanto è trascorso il film o il file multimediale, facendo clic su di esso si rivelerà anche il microsecondo.

Di solito mi piace essere preciso, quindi cerco di essere il più preciso possibile. È molto difficile in MPV poiché il tempo di reazione umano è impreciso. Se voglio essere super preciso, uso qualcosa come Audacity, ma poi questo è un altro gioco con la palla poiché puoi fare molto di più con esso. Potrebbe essere qualcosa da esplorare anche in un futuro post sul blog.

Durata della manipolazione

A volte anche fare entrambe le cose non è sufficiente e devi anche ridurre o aggiungere la durata per sincronizzarlo con il file multimediale. Questo è uno dei lavori più noiosi in quanto devi fissare individualmente la durata di ogni frase. Questo può accadere soprattutto se hai frame rate variabili nel file multimediale (al giorno d'oggi è raro ma ottieni comunque tali file).

In uno scenario del genere, potrebbe essere necessario modificare la durata manualmente e l'automazione non è possibile. Il modo migliore è riparare il file video (non è possibile senza degradare la qualità video) o ottenere video da un'altra fonte con una qualità superiore e quindi transcodificarlo con le impostazioni che preferisci. Anche questo, sebbene sia un'impresa importante su cui potrei far luce in qualche futuro post sul blog.

Conclusione

Quello che ho condiviso sopra è più o meno sul miglioramento dei file di sottotitoli esistenti. Se dovessi iniziare un graffio, hai bisogno di un sacco di tempo. Non l'ho condiviso affatto perché un film o qualsiasi materiale video di circa un'ora può facilmente richiedere da 4-6 ore o anche di più a seconda delle abilità del sottotitolatore, della pazienza, del contesto, del gergo, degli accenti, di madrelingua inglese, traduttore ecc. Tutto ciò fa la differenza per la qualità dei sottotitoli.

Spero che tu lo trovi interessante e d'ora in poi gestirai i tuoi sottotitoli leggermente meglio. Se hai suggerimenti da aggiungere, lascia un commento qui sotto.



Linux
  1. Nozioni di base su Linux:una guida per principianti alla modifica del testo con vim

  2. Le 10 migliori applicazioni di editing multimediale per Linux

  3. Cinelerra GG Infinity – Un software di editing video gratuito per Linux

  4. Comando Linux mv

  5. Linux du comando

I migliori editor di foto per Linux

Modifica delle immagini sulla riga di comando di Linux con ImageMagick

I migliori strumenti per acquisire e modificare schermate in Linux

Linux vs Unix

15 migliori software di editing video per sistema Linux

Quali applicazioni di editing video sono disponibili in Linux?