我有这个简单的命令。
for f in "$@";
do
ffmpeg -n -i "$f" -ss 00:00:0.123 -f image2 -vframes 1 /Volumes/Media\ Archs/FrameGrabs/yosemite.png
ffmpeg -n -i "$f" -vf "select=gt(scene\,0.049)" -vsync vfr /Volumes/Media\ Archs/FrameGrabs/yosemiteThumb%03d.png
done
在 shell 文件中工作,但是当我通过自动程序运行它时,它会产生。
The action “Run Shell Script” encountered an error: “-: line 4: ffmpeg: command not found
-: line 5: ffmpeg: command not found” ```
What am I doing wrong?
答案1
为了直接运行应用程序而不写入程序可执行文件的完整路径,必须将其添加到 $PATH 环境变量中。由于您可以在手动执行时运行该命令,因此我假设您这样做了。但由于使用 automator 时它不起作用,因此我断定 automator 不会查看 $PATH。
为了让它工作,我建议在脚本中写入整个路径并重试。然后“查找命令”应该没有问题,因此不再显示给定的错误消息。
答案2
我必须指出我的系统上 ffmpeg 的位置