スクリプトを使用して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スクリプトの何が問題になっていますか?
ffmpeg
およびavconv
コマンドの完全なパスを指定すると機能するはずです。これを取得するには、which
を実行します(例:which ffmpeg
)。
サーバーにこれらのプログラムのいずれもインストールされていませんが、avconv
はPATH
が使用しているcron
にあるのに対し、ffmpeg
は使用していないと思われます。
おっと... bashスクリプトで-yを忘れてしまったので、前のファイルを上書きするための認証を延々と待っていました。ごめんなさい。
うまくいけば、この間違いが他の人に役立つことを願っています。 ;-)