转:http://www.rs-online.com/designspark/electronics/chn/blog/time-lapse-photography-with-the-raspberry-pi-camera
http://www.52pi.net/archives/1689
avconv -r 24 -i image%04d.jpg -r 24 -vcodec libx264 -vf scale=800:480 timelapse.mp4
mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:aspect=16/9:vbitrate=8000000 -vf scale=1920:1080 -o timelapse.avi -mf type=jpeg:fps=24 mf://@pics.list
使用新型树莓派摄像头以及树莓派型号 A 和电池组的简单延时摄像项目
我很早就想尝试延时摄像,因为种种原因一直未能如愿,当我有幸得到一个试制的树莓派摄像头时,没有任何理由可以拒绝!
配置 Raspbian
由于需要访问网络才能配置软件,所以使用了树莓派型号 B,其实本来可以通过 USB 网络适配器使用型号 A。
在 32GB SD 卡上安装 Raspbian 之后,我按照常规流程将软件包升级到最新版,并升级了固件。
为了启用对摄像头的支持,需要向 /boot/config.txt 添加以下两行命令:
start_file=start_x.elf
fixup_file=fixup_x.dat
我计划使用电池组为树莓派和摄像头的运行供电,为了降低功耗,我还通过添加以下命令尝试对 Pi 降频:
arm_freq=300
但是这样做对功耗的影响似乎微乎其微,各种报告表明,降低 ARM 内核的频率基本没有好处。
硬件安装
树莓派摄像头是手机上使用的一种 500 万像素定焦摄像头,通过一根柔性扁平电缆连接到树莓派的 CSI 端口。
使用型号 A 是因为它的功耗低,并且安放外壳小巧紧凑,连接摄像头的电缆通过 RJ45 插口孔伸到外部。
拍摄脚本
命令 /opt/vc/bin/raspistill 用于拍摄静态图片,我发现使用默认选项需要约 6 秒钟才能完成拍摄。
我编写了一个简单的脚本循环运行 raspistill:
ROLL=$(cat /var/tlcam/series)
SAVEDIR=/var/tlcam/stills
while [ true ]; do
filename=$ROLL-$(date -u +"%d%m%Y_%H%M-%S").jpg
/opt/vc/bin/raspistill -o $SAVEDIR/$filename
sleep 4;
done;
每次 Pi 启动时,初始化脚本都会读取 /var/tlcam/series 中存储的数字,并使其加 1。随后执行上述脚本,每 10 秒左右拍摄一张图片。
图片文件名由一个数字(取决于变量 $ROLL,能够快速确定来自哪一个引导序列)、一个连字符和日期时间组成。型号 A 没有实时时钟,因此日期和时间不准确,但这没太大关系。
功耗
摄像头闲置时的电流消耗测得为 117 毫安,工作时升高到约 286 毫安。
使用 3200 毫安/小时电池组时,根据计算应该可以轻松工作 12 小时。
首次运行
完成脚本测试、功耗测量和电池组充电之后,就可以开始首次运行了。树莓派和电池组放置在窗台上,摄像头用胶带粘在窗户上。
第二天早上取出 SD 卡,将 5518 个JPEG 文件复制到笔记本电脑。
使用静态图片编辑视频
结果发现最后三个图片文件为空白,很可能是因为在电池没电时,图片内容还没有离开文件系统缓存 (RAM)。
删除空文件之后,对剩余 5515 个文件创建了一个列表:
$ls *.jpg > stills.txt
随后使用 mencoder 软件创建 HD (1080p) MPEG-4 视频文件,以便上传到 YouTube:
$mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:aspect=16/9:vbitrate=8000000 -vf scale=1920:1080 -o tlcam.avi -mf type=jpeg:fps=24 mf://@stills.txt
从视频中可以发现,星期六早上一开始天气相当昏暗!但是傍晚时候变得明亮起来,在视频中持续了约 2 分钟。
摄像头刚刚运行了 15 个多小时,由于电池组是首次使用,可能尚未达到满电量。
改进空间
这次拍摄尝试主要涉及拍摄频率和以下 raspistill 选项:
- 图片尺寸,例如设置为最终视频使用的尺寸
- JPEG 图片质量
- 相机曝光模式,例如夜间模式
- 内置延时功能
其中一些选项可能会改进图片质量,其他一些选项可能有助于降低功耗。
对视频编码时,mencoder 选项也有大量尝试空间,或许还可以在编码之前进行静态图片的处理(例如使用 ImageMagick)。
结论
树莓派和摄像头共同为延时拍摄试验提供了一个极其灵活的平台,在接下来的几个月里,我相信我们会发现各种各样新奇有趣又创意十足的应用!
apt-get install mencoder
root@raspberrypi:/home/pi/PiMotion/2016/0821# ls *.jpg>pic.txt
root@raspberrypi:/home/pi/PiMotion/2016/0821# screen mencoder -nosound -ovc lavc -lavcopts vcodec=mpeg4:aspect=16/9:vbitrate=8000000 -vf scale=1920:1080 -o tlcam.avi -mf type=jpeg:fps=24 mf://@pic.txt