bashの限界…
毎月、月初は各Raspberry Piが撮りためた画像をムービーに変換する次のスクリプトをcronに登録して、走らせている。
1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 |
Script to make time series images into video cd /home/kimi/Pictures/rasp_zero_zeta/ # 先月を取得 folder_name=`date -d "`date '+%Y-%m-01'` 1 months ago" '+%Y%m'` # ディレクトリを作成し、該当する画像を移動後、カレントディレクトリを変更 mkdir -p "${folder_name}" mv ${folder_name}*.jpg ./${folder_name} cd ${folder_name} # 空のファイルを消去 find . -empty -delete # 連番のファイル名につけ直し ls | awk '{printf " mv %s pic%05d.jpg\n", $0, NR}' | bash # 画像を動画に変換 ffmpeg -f image2 -r 15 -i pic%05d.jpg -r 15 -an -vcodec libx264 -pix_fmt yuv420p -loglevel quiet ${folder_name}.mp4 # 動画を移動 mv "${folder_name}.mp4" ../2023/"${folder_name}_zero_zeta.mp4" |
Raspberry Pi zero zetaのスクリプトがエラーで動画が生成されていなかった。エラーはメールに出力されるが、次の様なコメントがメールにあった。
1 |
/rasp_zero_zeta/monthly_scpt.sh: 行 10: /usr/bin/mv: 引数リストが長すぎます |
ファイルの数が多すぎたようだ、およそ64000ファイル。
あと、10月31日のファイルが見当たらないとのエラーが別のRaspberry PIで2件あった。スクリプトの改良が必要そうだ。