ffmpeg for循环到bash脚本

时间:2015-03-16 21:22:58

标签: bash for-loop ffmpeg

我在mac命令行上使用for循环将一堆avi转换为mp4' s 我想把它放到一个bash脚本中,这样我就可以在任何给定的目录上运行脚本了。

例如{shelf script name} [directory}

让它做它的事。

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

#!/bin/bash

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

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

@Robert Rowntree

非常感谢您的链接。这看起来对我来说非常有用。我不熟悉连接,所以我从来没有找到这些信息。

似乎我可以在命令行给ffmpeg一堆文件或从文本文件中读取文件,ffmpeg会将它们全部输出为单一格式,在我的情况下是MP4' s。好吧,至少这是我认为它。

"输入必须具有相同的帧大小,并且少数其他属性必须匹配"我有点担心,我是否需要检查每部电影的帧率以确保它们都匹配?

我的最终目标是运行一个脚本,例如30个混合视频文件,avi,wmv,mkv,mpg等,然后输出到mp4,但我觉得这对我来说太复杂了。

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

ffmpeg -i input.avi -c:v libx264 -crf 19 -preset slow -c:aac -strict experimental -b:192k -ac 2 out.mp4(这可以改进吗?快点?)< / p>

从我的AVI中获得了高质量的mp4文件,但确实需要很长时间。因此,为什么我最初要求帮助创建脚本。我打算在avi的文件夹上运行。

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

将会大大收到任何进一步的帮助或意见。

再次感谢。

1 个答案:

答案 0 :(得分:-1)

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

man bash

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

相关问题