В данной статье разберем как сделать из дешевого модуля esp32-cam таймлапс камеру.
Для реализации понадобится:
Сам модуль esp32-cam: http://ali.pub/3f04uj
Программатор: http://ali.pub/3f156r
Прежде чем приступить к материалу, я Вас попрошу, если нравится то, что я делаю и хотите следить за моей деятельностью, то рекомендую подписаться на мой телеграмм канал: https://t.me/ypavla
Там я публикую новости о вышедших видео, статьях и разные устройства для умного дома и не только показываю.
Спасибо за внимание, теперь продолжим.
Что же такое таймлапс: это съемка видео с частотой, меньшей стандартной частоты съёмки и проекции, составляющей в кинематографе 24 кадра в секунду. При проекции полученного изображения с нормальной частотой движение объектов съёмки на экране выглядит ускоренным.(это статья из википедии).
Если подходить объективно, то обычно таймлапс используют для снятия красивых пейзажей, например восход и заказ солнца, или движение облаков. Но в модуле Esp32-cam камера мягко говоря неочень. Поэтому какую-то картинку красивую получить не получится. Но мы можем например таким образом снимать видео к примеру охранное, нам же необязательно все снимать в реальном времени.
Так как в данный пример работает путем снятия фото с определенной периодичностью, которую мы установим и сохранением данных фото на флешку. То мы получаем еще один плюс – это своего рода запись видео на флешку.
Ну что-ж давайте приступим к самой программе. Скачать ее можно по ссылке:https://github.com/bitluni/ESP32CamTimeLapse
Для загрузки данного скетча в наш модуль, нужно сделать несколько манипуляций.
Во первых, нужно чтоб содержимое архива которое мы скачали находилось в одной папке с самим скетчем, чтоб открылось все сразу в программе Arduino ide и выглядело следующим образом:
Второе, нам нужно в скетче вписать свои данные в поля:
const char *ssid = “**********”;
const char *password = “**********”;
Где ssid в скобочках мы пишем SSID нашей wi-fi сети к которой мы хотим чтоб контроллер подключался. И password там введем пароль от нашей wi-fi сети.
В третьих нужно выбрасть следующие настройки во вкладке “Инструменты”:
Как загрузить дополнительные платы, а конкретно для esp32 я описывал в этой статье.
Ну и в четвертых, нужно скачать все библиотеки которых у вас не хватает и если все равно ошибка будет выскакивать при компиляции, то необходимо обновить библиотеки до последних версий.
Чтоб загрузить скетч в модуль esp32-cam нужно подключить программатор по данной схеме:
После загрузки скетча и открытии монитора порта мы увидим какой ip адрес получит наш модуль:
Далее вбиваем адрес в браузер и попадаем в окно управления нашей камерой:
Здесь можно поиграться с разными эффектами, но самый основной пункт это “Time-Laps Interval [ms]:” здесь мы выставляем с какой периодичностью нужно делать снимки нашему модулю. В данном случае у меня стоит 5000мс что ровно 5 секундам.
Чтоб камера начала снимать, нужно нажать кнопку “Start Time-Laps” после этого у нас начнет загораться светодиод раз в 5 секунд сигнализируя тем самым когда делается снимок.
Также в мониторе Com порта будет писаться с каким именем сохранился снимок, все снимки имеют порядковый номер вида “pic00001.jpg , pic00002.jpg и так далее”. Все эти рисунки можно будет по окончании съемки наблюдать на micro sd карточке.
Следующим что нужно сделать, это собрать наши фото в видео файл. Самый простой способ я считаю это сделать с помощью простой программы FFmpeg. Данную программу можно скачать по ссылке: https://www.ffmpeg.org/download.html. Данная программа кроссплатформенная и ее можно на разные операционные системы установить. Для того чтоб собрать видео из фото нужно в папку с картинками закинуть файлик “ffmpeg.exe” ну этот пример для windows. Далее нам нужно открыть командную строку и перейти в папку с фото. У меня папка находится в корне диска “C” и называется папка “test1”. Чтоб в нее перейти нужно написать команду “cd C:\test1” после этого нам нужно прописать следующую команду
“ffmpeg -r 60 -f image2 -i pic%05d.jpg -vcodec libx264 -crf 10 -pix_fmt yuv420p lapse.mp4"
И у нас создастся файл с именем “lapse.mp4” в котором будет каждое фото это кадр.
Вот и все, после того как создастся файл его можно будет открыть и любоваться тем что наш TimeLapse наснимал.
Оригинал статьи по ссылке: https://bitluni.net/esp32camtimelapse
Также видео в котором я это все объясняю можно посмотреть по ссылке, там же в конце можно посмотреть демонстрацию таймлапс которое записал мой модуль с переодичностью кадр в 5 сеунд.: