ffmpeg:only_keep_english
ffmpeg - Only keep English
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"
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).
# 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"
References
ffmpeg/only_keep_english.txt · Last modified: 2023/10/30 17:13 by peter