4

据我所知,命令参数的顺序无关紧要,但在这里我看到了其他东西:

ffmpeg -f avi -i "s02e01.mkv" vcodec mpeg4 -b 4000k -acodec libmp3lame -ab 320k "converted.avi" 

这是结果:

s02e01.mkv: Operation not permitted

但是在更改“-f”和“-i”的位置后一切正常:

ffmpeg -i "s02e01.mkv" -f avi vcodec mpeg4 -b 4000k -acodec libmp3lame -ab 320k "converted.avi" 

这里有什么问题?

4

1 回答 1

4

由程序决定如何处理给定的命令行输入。大多数程序并不关心它们的顺序,因为它们在功能上是不同的。但是在某些标志可以选择性地影响其他标志的情况下,最简单的实现方法是通过输入排序。ffmpeg 就是这样一个程序。它的手册页说:

作为一般规则,选项应用于下一个指定文件。因此,顺序很重要,您可以在命令行中多次使用相同的选项。

gcc 是另一个可以抓住你的程序;它的手册页说:

您可以混合使用选项和其他参数。在大多数情况下,您使用的顺序无关紧要。当您使用多个相同类型的选项时,顺序确实很重要。例如,如果您多次指定 -L,则会按指定的顺序搜索目录。此外,-l 选项的位置也很重要。

于 2013-06-26T08:13:48.330 回答