Risposte:
Sottotitoli perl coltellino svizzero (scorrere fino alla fine della pagina).
Qui puoi trovare più opzioni.
Inoltre, mplayer / mencoder ha alcune opzioni dumpXXXsub, che potrebbero funzionare. Non l'ho mai provato, ma leggendo l'uomo, dovrebbe funzionare. Esempio:
-dumpmpsub (MPlayer only)
Convert the given subtitle (specified with the -sub option) to MPlayer's subtitle format, MPsub. Creates a dump.mpsub file in the current directory.
Il programma open source Subtitle Edit ha un convertitore da riga di comando ed è disponibile sia per Windows che per Linux.
Sintassi :
SubtitleEdit /convert "pattern" "name-of-format-without-spaces"
Esempio 1 :
SubtitleEdit /convert sub1.srt sami
Risultato : converte sub1.srt in sub1.sub in formato SAMIEsempio 2 :
SubtitleEdit /convert *.srt adobeencore
Risultato : converte tutti i file .srt in formato Adobe Encore
Per Linux la riga di comando deve essere leggermente più lunga ...
Sintassi :
mono SubtitleEdit.exe /convert "pattern" "name-of-format-without-spaces"
... ma potrebbe essere facilmente racchiuso in una sceneggiatura.
libmono-winforms
per far funzionare la GUI (come indicato nel README) ... Forse c'è qualcosa in più che è necessario per il funzionamento della CLI ... ho ricevuto un AttachConsole...
errore. usando Ubuntu 10.04 ...
.ass
in SubRip (.srt) ... Solo una cosa che ho notato: produce \r\n
terminazioni di linea (CRLF), anche quando la fine della linea di origine è \n
... ma che raramente sarebbe un problema e si risolve facilmente con sed
se è necessario.
Cosa vuoi convertire esattamente? Se si trova tra i formati di sottotitoli, dipende dai formati di cui stai parlando. Quelli che sono basati su bitmap richiedono l'OCR per la conversione in formato testo e generalmente richiedono sempre l'input dell'utente per confermare l'accuratezza dell'OCR
Se si tratta di tutti i formati di testo, potrebbero essere utili Jubler o Aegisub
rinominare il nome del file usando sed
for i in ./*.ass ; do ffmpeg -i "$i" "$( echo "$i"|sed 's/\.ass//g' ).srt" ; done
se si desidera eliminare il .srt
file dopo la conversione, aggiungere semplicemente un comando rm in seguito.
for i in ./*.ass ; do ffmpeg -i "$i" "$( echo "$i"|sed 's/\.ass//g' ).srt" && rm -f "$i" ; done
big.assassins.assured
(più l'estensione)? Lo sed
nominerai bigassinsured
. Senza sed
e senza questo difetto: "${i%.ass}.srt"
.
#!/bin/bash
file="*.srt" # Find file
ffmpeg -i "$file" "${file%.*}.vtt" # Convert file
rm "$file" # Remove file .srt from your dir