diff --git a/simple-ffmpeg-subtitle-extract-%28no-ocr%29.md b/simple-ffmpeg-subtitle-extract-%28no-ocr%29.md new file mode 100644 index 0000000..4b5dac7 --- /dev/null +++ b/simple-ffmpeg-subtitle-extract-%28no-ocr%29.md @@ -0,0 +1,15 @@ +``` +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; +``` \ No newline at end of file