问题
想要录屏记录一下每天的操作,但是一天下来十多G实在吃不消
于是想起,既然后期剪辑要加速,不如直接前期截图
解决
while [ 1 ] ;
do mkdir /e/每日截屏/`date +"%m-%d"` >/dev/null 2>&1;
ffmpeg -f gdigrab -i desktop -s 2240x720 /d/每日截屏/`date +"%m-%d"`/screenshot-`date +"%d %T" | sed -e "s/ /-/g; s/:/-/g"`.jpg >/dev/null 2>&1;
sleep 10 ;
done
这个脚本实际的运行当中,图片确实是截了,但是按照时间截的,又不是按顺序,于是串不起来变成视频。所以还需要一个脚本,把所有图按照创建时间顺序命名,然后转成中间件视频格式
STEMP=0
for i in `ls -l | grep -v '/'|awk -F" " '{print $9}'`;
do echo $i;
mv $i screenshot`printf "%05d" $STEMP`.jpg;let "STEMP += 1";
done
firstfile=`ls -l | grep '^-'|awk -F" " '{print $9}'|grep '[0-9][0-9][0-9][0-9]\.'|head -n 1`
index=`echo $firstfile|awk -F"." '{print $1}'|tail -c 5;`
encodefile=`echo $firstfile|sed "s/$index\./%04d\./"`
sstemp=`basename $PWD`
targetfile=../`echo $firstfile|head -c -10`_$sstemp'.mov'
ffmpeg -start_number $index -i $encodefile -vcodec mpeg4 -b 30M $targetfile -y
然后就可以获得带mpeg4编码的中间件了。