web-dev-qa-db-ja.com

.sh ffmpegはCRONではなく手動で動作します

スクリプトを使用して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スクリプトの何が問題になっていますか?

2
Philippe P

ffmpegおよびavconvコマンドの完全なパスを指定すると機能するはずです。これを取得するには、whichを実行します(例:which ffmpeg)。

サーバーにこれらのプログラムのいずれもインストールされていませんが、avconvPATHが使用しているcronにあるのに対し、ffmpegは使用していないと思われます。

1

おっと... bashスクリプトで-yを忘れてしまったので、前のファイルを上書きするための認証を延々と待っていました。ごめんなさい。

うまくいけば、この間違いが他の人に役立つことを願っています。 ;-)

0
Philippe P