non vorrei lavorare

ブログ名の通りです。javascript three.js mruby rust OCaml golang julialang blender

#trouble #solved #ffmpeg 連番って連番でないとno such file error!を食らう!

先日、我が家の春の模様替えの一環で購入した洋服棚の上に立つことを発見した息子が案の定、棚から落ちて鼻の下と、口の中を切ってしまったkjunichiです。

ハマっていたコマンド

avconv -i snap20130404%06d.jpg -vcodec libx264 -s 320x240 test.mp4

これ、実行すると、snap20130404%06d.jpgなんて存在しない!と怒られる!

仕方なく、以下を実行してされにハマった。。

avconv -i snap20130404*.jpg -vcodec libx264 -s 320x240 test.mp4

なんてしたら、即死 2ファイル名以降が全て同じファイル上書きされる!

連番に変換するPerlスクリプト書いて対処

avconv -i c%08d.jpg -vcodec libx264 -s 320x240 test.mp4

これでHTML5のVIDEOタグで再生できるH246な動画に無事変換できました!

snapYYYYMMDDhhmmssがどうやってできてるのかって?

cronで5分おきに回してる

crontab -l

*/5 * * * *  /home/pi/work/webapp/public/mycap.sh

fswebcamでキャプチャーを撮ってる

cat mycap.sh
fswebcam --save /home/pi/work/webapp/public/snap.jpg -r 800x600 -d /dev/video0 --jpeg 95                               
cp /home/pi/work/webapp/public/snap.jpg /home/pi/work/webapp/public/snap`date +%Y%m%d%H%M`.jpg

rename.pl

#!/usr/bin/perl
@list = `ls *.jpg`;
$counter = 0;
foreach (@list) {
chomp();
$newName = sprintf( "c%08d.jpg", $counter );
$cmdLine = "cp " . $_ . " " . $newName;
print $cmdLine . "\n";
print `$cmdLine`;
$counter++;
}