我在一个文件夹中有很多视频,我想用一个命令将它们全部压缩。
要压缩我使用的一个视频:
sudo apt-get install ffmpeg
ffmpeg -i input.mp4 output.mp4
但是,如果我有很多要压缩的视频怎么办?我尝试了以下方法:
ffmpeg -i ./videos ./compressed-videos
但后来我得到这个错误:
./videos: Is a directory
我在一个文件夹中有很多视频,我想用一个命令将它们全部压缩。
要压缩我使用的一个视频:
sudo apt-get install ffmpeg
ffmpeg -i input.mp4 output.mp4
但是,如果我有很多要压缩的视频怎么办?我尝试了以下方法:
ffmpeg -i ./videos ./compressed-videos
但后来我得到这个错误:
./videos: Is a directory
我会
for
为此目的使用 bash 循环 - 假设您在父目录中,其中包含目录videos/
和compressed/
:或者,如果您想将任何类型的视频文件转换为 mkv,您可以使用:
在上面的例子中:
${var##*/}
将输出最后一个斜杠之后的所有字符/
,因此只保留不带路径的文件名;${f%.*}
将输出最后一个点之前的所有字符,因此将保留路径和文件名,但将删除文件扩展名。然后命令替换$(basename "/path/name")
将只输出名称而不输出路径。参考: