922| 0
|
[ESP8266/ESP32] ESP32摄像头延时摄影 |
本帖最后由 贾森 于 2024-2-17 15:45 编辑 延时摄影是将一系列固定间隔拍摄的照片合成为时间流影片的技术,常用来表现人们难以察觉的变化和自然环境的动态过程。我们尝试用ESP32-CAM(Ai-Thinker)开发板来制作延时摄影作品。若以编程方式实现定时拍摄并保存照片到SD卡,需要对ESP32编程有所了解。可以参考入门教程:使用Arduino IDE 2.0开发ESP32摄像头模块(https://www.nodematrix.cn/programming-esp32-camera-with-arduino-ide/)。 这里,我们选择一种不需要编程的简便方法,使用Node-Camera固件(https://www.nodematrix.cn/firmware/)。Node-Camera固件使用说明详解介绍了固件功能(https://www.nodematrix.cn/docs/node-camera/)。 定时拍摄只需简单设置: 1. 在系统设置界面的Feature标签中启用SD卡支持。 2. 在Capture标签中启用定时抓拍(Timing Trigger),设置间隔(例如5秒),并启用Save to SD Card选项。 3. 保存并重启使设置生效。进入设置界面,在Tools标签中打开Timing,固件即以设置间隔拍照并保存到SD卡中。要停止拍摄时,关闭Timing即可。拍摄的照片可以在SD卡界面查看。 获取照片后,需要在电脑上合成视频。可以取下SD卡,将照片复制到电脑,用视频编辑软件进行合成。相信网上有不少教程可以参考。我们准备用一个看上去稍麻烦,实际可能更简单的办法,利用脚本自动完成以下两步动作:
脚本是一种粗犷的编程方式,其本身不实现复杂功能,但脚本可以调用外部程序,并将这些程序的功能串联起来,以实现特定目标。我们的脚本会调用两个外部程序,一个用于下载照片的curl,另一个用于合成视频的ffmpeg。这两个程序都不需要安装,将下载的zip文件解压到指定目录即可。 curl下载:https://curl.se/windows ffmpeg下载:https://www.gyan.dev/ffmpeg/builds 假设将curl解压到D:\curl,ffmpeg解压到D:\ffmpeg,目录结构如下: 为了在脚本中调用程序,要把程序可执行文件的路径添加到Windows环境变量Path中。 完成以上步骤之后,打开命令行窗口执行:curl -V 和 ffmpeg -version,查看程序版本以验证是否一切正常。 最终脚本在这里下载(https://www.nodematrix.cn/downloads/lapse.zip),建议解压到单独目录(例如D:\lapse)。共有3个脚本文件:
执行脚本前,请修改脚本变量以符合实际环境,包括:Node-Camera的实际IP地址、保存下载照片的目录和输出的视频文件名。
脚本可由命令行或双击执行。若不需要对照片做进一步处理,则执行lapse.cmd即自动下载照片并合成视频。以下视频由5秒间隔拍摄的250张照片合成。
也可以先执行download.cmd将SD卡的照片下载到本地目录,对照片做进一步处理后,执行order.cmd将文件名序列化,再利用ffmpeg由命令行合成视频:
最后,脚本文件带有详细的注释,或许你想要扩展一下。Good Luck! 原文:https://www.nodematrix.cn/esp32-lapse/ |
© 2013-2024 Comsenz Inc. Powered by Discuz! X3.4 Licensed