Next revision | Previous revision |
ffmpeg:only_keep_english [2023/10/30 11:04] – created peter | ffmpeg:only_keep_english [2023/10/30 17:13] (current) – [ffmpeg - Only keep English] peter |
---|
====== ffmpeg - Only keep English ====== | ====== ffmpeg - Only keep English ====== |
| |
| <code bash> |
| ffmpeg -i "input.mkv" -c copy -map 0:v -map 0:a:m:language:eng? -map 0:s:m:language:eng? -map 0:d? -map 0:t? "output.mkv" |
| ffmpeg -i "input.mkv" -map 0:v -map 0:a:m:language:eng? -c copy -c:s copy -map 0:s:m:language:eng? -map 0:d? -map 0:t? "output.mkv" |
| |
| or |
| |
| ffmpeg -i "input.mkv" -map 0:0 -map 0:a:m:language:eng? -c copy -c:s copy -map 0:s:m:language:eng? -map 0:d? -map 0:t? "output.mkv" |
| ffmpeg -i "input.mkv" -c copy -map 0:v -map 0:a:m:language:eng? -c:s copy -map 0:s:m:language:eng? -map 0:d? -map 0:t? "output.mkv" |
| </code> |
| |
| <WRAP info> |
| **NOTE:** |
| |
| * **-c:s copy**: Using stream copy to remux (no encoding). |
| * **-map 0:v**: Keep the existing Video. |
| * **-map 0:0**: Keep the existing map 0:0. (Assume this is the Video). |
| * **-map 0:a:m:language:eng?**: Keep only English Audio. (Optional only if Audio exists). |
| * **-map 0:s:m:language:eng?**: Keep only English Subtitles. (Optional only if Subtitles exist). |
| * **-map 0:d?**: Keep Data. (Optional only if Data exists). |
| * **-map 0:t?**: Keep Attachments. (Optional only if Attachments exists). |
| |
| </WRAP> |
| |
| ---- |
| |
| <code bash> |
| |
| # QUICK. |
| ffmpeg -i "input.mkv" -c copy -map 0:v -map 0:a:m:language:eng? -c:s copy -map 0:s:m:language:eng? -map 0:d? -map 0:t? "out1.mkv" |
| |
| # SLOW, BUT SLIGHTLY SMALLER. |
| ffmpeg -i "input.mkv" -c:v copy -map 0:v -map 0:a:m:language:eng? -c:s copy -map 0:s:m:language:eng? -map 0:d? -map 0:t? "output.mkv" |
| |
| # VERY SLOW, BUT SMALLER. |
| ffmpeg -i "input.mkv" -map 0:v -c:a copy -map 0:a:m:language:eng? -c:s copy -map 0:s:m:language:eng? -map 0:d? -map 0:t? "output.mkv" |
| |
| # EXTREMELY SLOW, BUT SMALLEST. |
| ffmpeg -i "input.mkv" -map 0:v -map 0:a:m:language:eng? -c:s copy -map 0:s:m:language:eng? -map 0:d? -map 0:t? "output.mkv" |
| ffmpeg -i "input.mkv" -map 0:v -map 0:a:m:language:eng? -map 0:s:m:language:eng? -map 0:d? -map 0:t? "output.mkv" |
| |
| </code> |
| |
| ---- |
| |
| ===== References ===== |
| |
| https://trac.ffmpeg.org/wiki/Map |
| |