Add ffmpeg
22
ffmpeg.md
Normal file
22
ffmpeg.md
Normal file
@@ -0,0 +1,22 @@
|
|||||||
|
Oneliners (e afins) uteis de FFMPEG pra lembrar
|
||||||
|
|
||||||
|
* Converter SSA pra SRT
|
||||||
|
```
|
||||||
|
for f in *.ssa; do ffmpeg -i "$f" "${f%.ssa}.srt"; done
|
||||||
|
```
|
||||||
|
* Extrair legendas embarcadas no container de video (sem ocr, só funciona com formatos de texto)
|
||||||
|
```
|
||||||
|
EXT=mkv;
|
||||||
|
for F in *${EXT}; do
|
||||||
|
while read L FI SI LN SF; do
|
||||||
|
[[ -z $LN ]] && continue;
|
||||||
|
L=$(( L - 1 ));
|
||||||
|
FN=${F%.$EXT}.$LN.srt;
|
||||||
|
ffmpeg -i "$F" -map $FI:s:$L -c:s srt tmp.srt;
|
||||||
|
|
||||||
|
sed -e 's/<[^>]*>//g' -e 's/{[^}]*}//g' tmp.srt > "$FN";
|
||||||
|
rm tmp.srt;
|
||||||
|
read FI SI LN SF <<< '';
|
||||||
|
done < <(ffprobe "$F" 2>&1 | sed -nr '/Subtitle:/s/^.*Stream #([0-9]):([0-9])\(([a-z-]+)\).*Subtitle: ([a-z]+) .*$/\1 \2 \3 \4/p' | cat -n);
|
||||||
|
done;
|
||||||
|
```
|
||||||
Reference in New Issue
Block a user