如何强制让ffmpeg进入非交互模式?

34
有时候你希望使用ffmpeg时询问是否覆盖文件,有时候仅希望脚本在出现问题时失败。比如说,不要依赖于标准输入来回答问题。
1个回答

49
请参阅 https://ffmpeg.org/ffmpeg.html#Main-options

-stdin - 启用标准输入上的交互。 默认情况下,如果检测到管道,则启用此功能。

-nostdin - 显式禁用控制台交互。 如果没有使用 -y,这将导致 ffmpeg 在目标文件存在时出错。

-y - 覆盖输出文件


4
如果你希望它总是覆盖原文件,那么这样做就可以了。如果你更喜欢出现错误的话,那么就使用-nostdin选项。 - ubershmekel
@slhck,仅使用“-y”是不够的。FFmpeg仍然会吃掉一些字符,这会导致shell脚本中出现奇怪的错误。 - Velkan
你似乎需要使用-nostdin -y来覆盖。 - GlynD
在bash脚本中运行此命令并从命令行调用脚本,ffmpeg仍将输出到终端。 - Freedo
@Freedo 如果你想要重定向输出,你可以使用shell重定向 ffmpeg ... > output.log 2>&1 (如果你想让错误信息也记录在日志文件中,就需要加上 2>&1)。 - Alexis Wilke

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接