在 MAC OS X 中使用 ffmpeg 将文件夹中的 .mkv 文件批量转换为 .m4v 文件

在 MAC OS X 中使用 ffmpeg 将文件夹中的 .mkv 文件批量转换为 .m4v 文件

有没有办法在 Mac 中使用 ffmpeg 将文件夹中的 .mkv 文件批量转换为 .m4v 文件?

我设置了一项可以处理单个文件的服务,但我真的想对它们进行批处理。

我正在使用的“运行 Shell 脚本”是:

for f in "$@"
do
    /Users/username/Movies/ffmpeg -i "$f" -c:v copy -c:a copy "${f%.*}.m4v"
done

下面是我所拥有的适用于单个文件的屏幕截图:

在此处输入图片描述

答案1

@ldiastx,请看一下:

for f in *.mkv;do ffmpeg -i "$f" -c:v copy -c:a aac -b:a 256k "${f%mkv}mp4";done

或者如果您不需要重新编码:

for f in *.mkv;do ffmpeg -i "$f" -c copy "${f%mkv}mp4";done

如果您想将新文件放在单独的目录中:

mkdir output
for f in *.mkv;do ffmpeg -i "$f" -c:v copy -c:a aac -b:a 256k "output/${f%mkv}mp4";done

答案2

为了壳:

for f in *.mkv
   set fnew (string replace .mkv .mp4 $f)
   ffmpeg -i $f -c copy $fnew
end

相关内容