【发布时间】:2015-03-16 21:22:57
【问题描述】:
我在 mac 命令行上使用 for 循环将一堆 avi 转换为 mp4 我想把它放到一个 bash 脚本中,这样我就可以在任何给定的目录上运行脚本。
例如 {架子脚本名称} [目录}
让它做它的事。
我只是打开一个文本编辑器并添加
#!/bin/bash
然后是我的 for 循环和 ffmpeg 参数 然后结束这一切 菲?
然后让它可执行?就是这么简单。
@罗伯特·朗特里
非常感谢您的链接。这看起来对我很有用。我不熟悉连接,所以我永远不会找到这些信息。
看来我可以在命令行中给 ffmpeg 一堆文件,或者从文本文件中读取,ffmpeg 会将它们全部输出为一种格式,在我的例子中是 MP4。好吧,至少这是我认为它所做的。
“输入必须具有相同的帧大小,并且一些其他属性必须匹配”让我有点担心,我是否需要检查每部电影的帧速率以确保它们都匹配?
我的最终目标是在 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(可以改进吗?加快速度?)
从我得到的 avi 文件中生成高质量的 mp4 文件,但确实需要很长时间。因此,我最初寻求帮助创建脚本的原因。我打算在 avi 的文件夹上运行。
能够在每个非 mp4 文件上运行脚本并且每次都能获得很好的结果真是太好了 :) 但是对于不同的编解码器和帧速率等,我想这永远不可能。
我们将非常欢迎任何进一步的帮助或意见。
再次感谢。
【问题讨论】: