【发布时间】:2020-05-19 10:56:33
【问题描述】:
我在一个文件夹中有一堆 mp4 文件,其中一些嵌入了字幕,我想删除它们(从文件中删除字幕),但问题是有些文件没有字幕,所以我正在寻找for 循环中的一些 if 语句:
for n in *.mp4; do ffmpeg -i n -map 0 -map -0:s -c copy n; done
这个命令适用于所有文件,但我只需要对有字幕的文件执行它。
【问题讨论】:
我在一个文件夹中有一堆 mp4 文件,其中一些嵌入了字幕,我想删除它们(从文件中删除字幕),但问题是有些文件没有字幕,所以我正在寻找for 循环中的一些 if 语句:
for n in *.mp4; do ffmpeg -i n -map 0 -map -0:s -c copy n; done
这个命令适用于所有文件,但我只需要对有字幕的文件执行它。
【问题讨论】:
首先测试是否存在字幕,然后执行 remux。
for n in *.mp4; do ffmpeg -i "$n" -map 0:s -c copy -f null - && ffmpeg -i "$n" -map 0 -map -0:s -c copy "out_$n"; done
【讨论】: