ffmpeg for 循环进入 bash 脚本

ffmpeg for loop into bash script

我在 mac 命令行上使用 for 循环将一堆 avi 文件转换为 mp4 文件 我想将其放入 bash 脚本中,这样我就可以 运行 任何给定目录中的脚本。

例如{架子脚本名称} [目录}

让它发挥作用。

我是否只打开文本编辑器并添加

#!/bin/bash

然后是我的 for 循环和 ffmpeg 参数 然后结束这一切 菲?

然后让它可执行?就这么简单

@罗伯特朗特里

非常感谢link。这看起来对我很有用。我不熟悉连接,所以我永远不会找到该信息。

看来我可以在命令行给 ffmpeg 一堆文件或从文本文件中读取,ffmpeg 会将它们全部输出为单一格式,在我的例子中是 MP4。好吧,至少这是我认为它所做的。

"The inputs have to be of the same frame size, and a handful of other attributes have to match" 让我有点担心,我是否需要检查每部电影的帧率以确保它们都匹配?

我的最终目标是 运行 一个脚本,比如 30 个混合视频文件,avi、wmv、mkv、mpg 等,并将其输出为 mp4,但我认为这太复杂了我。

我通常只是将 mkv 重新打包为 mp4,质量和大小都很好,我对结果和速度很满意。但是,我只是尝试重新打包上述 avi,但质量很差且像素化。我四处寻找,终于找到了这个例子;

ffmpeg -i input.avi -c:v libx264 -crf 19 -preset slow -c:a aac -strict experimental -b:a 192k -ac 2 out.mp4(可以改进吗? Sped起来?)

它可以从我已有的 avi 文件中生成高质量的 mp4 文件,但确实需要很长时间。这就是为什么我最初寻求帮助创建脚本的原因。我打算 运行ning 在 avi 的文件夹中。

能够在每个非 mp4 文件上 运行 一个脚本并且每次都有很好的结果 :) 但是使用不同的编解码器和帧速率等我想这永远不可能。

我们将不胜感激任何进一步的帮助或意见。

再次感谢。

是的,就这么简单。您应该阅读 bash 的手册页,即

man bash

还有一些关于 shell 在线编程的内容。