我使用以下脚本从 jpeg 图片制作电影:
#create movie
ffmpeg -i /home/philippe/Dropbox/Public/Cheiron/day/%d.jpg -r 25 -q:a 5 -pix_fmt yuv420p /home/philippe/Dropbox/Public/Cheiron/day/movie.mp4
它在终端上运行良好,但在 cron(使用计划任务)上运行不佳。
奇怪的是,类似的脚本没有使用 ffmpeg 而是使用 avconv,无论是手动还是使用 cron 都可以正常工作:
#create movie
avconv -f image2 -i /home/philippe/Dropbox/Public/Cheiron/day/%d.jpg -r 25 -c:v libx264 -crf 20 -pix_fmt yuv420p /home/philippe/Dropbox/Public/Cheiron/day/movie.mpeg
我通过 cron 运行的 ffmpeg 脚本有什么问题?
答案1
ffmpeg
如果您提供和命令的完整路径,它应该可以工作avconv
。您可以通过运行来获取它which
,例如which ffmpeg
。
我的服务器上没有安装上述任何一个程序,但我怀疑它们avconv
正在被PATH
使用cron
而ffmpeg
没有被安装。
答案2
哎呀...我忘记了 bash 脚本中的 -y,所以它一直在等待授权来覆盖前一个文件。抱歉。
希望这个错误能够对其他人有所帮助。;-)