...

пятница, 21 июня 2013 г.

[Из песочницы] Как снять TimeLapse-видео длиной в год на Android-телефон

Всем нам хорошо знакома техника съемки медленных процессов, которая называется TimeLapse. Суть её заключается в том, чтобы делать фотографию через заданные промежутки времени, а затем собрать из множества фотографий видеоролик. Например, снимая фото раз в 6 секунд и склеив затем в видео с частотой кадров 25fps, мы ускорим время в 150 раз. Облака будут плыть по небу и кораблики по воде со скоростью реактивного самолёта, цветы — распускаться на глазах и т.д. Из статьи вы узнаете некоторые детали того, как можно снять TimeLapse вида из окна длиной в год на обычный телефон с Android.

Пример видео




Исходные данные:



  • Компьютер с жёстким диском объемом 2Тб под управлением Windows (разумеется, то же самое можно делать и в Linux, заменив планировщик на cron, а robocopy на rsync)

  • Телефон с Android любой версии, карточкой памяти любого объема и правами Root

  • Wi-Fi точка доступа




Съемка организовывается следующим образом:


  1. Телефон фиксируем на окне любыми подручными средствами типа тисков, подключаем к электричеству wi-fi, в настройках устанавливаем статический ip-адрес (или создаём резервацию dhcp на точке доступа), например, 192.168.0.123

  2. Устанавливаем на телефон программу Samba Filesharing и любую программу, способную снимать фотографии через заданные интервалы времени. Я использую купленную когда-то за $2 FastMotion Tamelapse, которую автор теперь почему-то удалил из Google Play. Есть ещё Lapse It и десятки других. Запускаем съемку, выбрав частоту, разрешение и качество снимков. В моём случае используются параметры «5 сек, 5 мегапикселей и jpeg 80%»

  3. На компьютере заходим на \\192.168.0.123\, находим директорию, в которую записываются снимки, в моём случае это \sdcard\DCIM\FastMotion\время_начала_съемки\, создаём bat-файл с текстом

    robocopy <\\IP_телефона\директория_с_фото> <директория на компьютере> /MOV

    Пример:

    robocopy \\192.168.0.123\sdcard\DCIM\FastMotion\2012-06-10_23-31-57 F:\2013-06-10_23-31-57 /MOV

  4. Добавляем указанный файл в планировщик Windows для выполнения каждые 5 минут

  5. Ждём несколько часов/дней/месяцев




Захотев собрать видеоролик из любого подмножества фотографий:


  1. Переименовываем их массовым переименованием (Ctrl+M в Total Commander-e или бесплатном Unreal Commander-е), называя их [C].jpg ([C] — это счётчик из 6 цифр, начинающийся с 0)

  2. Скачиваем ffmpeg

  3. Выполняем

    ffmpeg -r 25 -i %06d.jpg -s 1280x720 -vcodec libx264 -vpre hq -crf 25 output.mp4

    -r — частота кадров; -i — формат названия файлов; -s — разрешение видео; -vpre — пресет настроек кодека; -crf — уровень качества (от 18 до 28, меньше число — больше качество); разумеется, настройки можно подобрать и другие, например, использовать формат webm и кодек vp8

  4. Смотрим результат, монтируем видеоредакторами, делимся на YouTube :-)




Съёмка идёт почти непрерывно с сентября 2012 с несколькими перерывами по разным аварийным причинам. Более 3 млн фотографий занимают 1.5Тб.

Ранее вместо Samba Filesharing использовались разные FTP-серверы со стороны телефона, а на компьютере запускалась в консольном виде Filezilla, но этот способ был сложнее и менее надёжным, т.к. раз в несколько недель обязательно падал FTP-сервер (разные — «FTP Server», «SwiFtp», «MyMobiler»).


В солнечные дни в кадр попадало отражение белого подоконника в окне, помогла установка самодельной картонной бленды, благодаря которой телефон оказался изолированным от подоконника.


С наступлением весны фотоаппарат HTC Desire HD стал случайным образом выключаться через два часа — несколько дней после старта съемки (в т.ч. и в пасмурную погоду, поэтому я до конца не верил в перегрев, подозревая аккумулятор, блоки питания, профиль управления частотой процессора). Но причиной всё-таки оказался именно перегрев :-) В бленде было вырезано окошко 8х8 сантиметров и установлен компьютерный вентилятор с блоком питания 6В, выключения прекратились.


Один день представляет из себя примерно 13200 фотографий (т.е. фактически съемку в полном разрешении с учётом технических временных затрат удаётся вести только с частотой 5.54 сек) и занимает от 4 гигабайт короткими зимними днями и до 12Гб в солнечный июньский день при качестве 80%.


Мне ещё предстоит найти хороший софт для пакетной фильтрации миллионов фотографий от шума и выбирать из многих дней наиболее визуально привлекательные своими закатами и штормами. Фотошоп с встроенным фильтром шума не способен использовать четырёхядерный Core i7 больше, чем на 12.5-25%, хотя результат фильтрации получается визуально неплохим. На Athlon64 X2 4850e (2x2.5Ghz) фильтрация одного дня съемки от шума занимала примерно 48 часов, на Core i7 (4x3.8Ghz) — около 9 часов.


This entry passed through the Full-Text RSS service — if this is your content and you're reading it on someone else's site, please read the FAQ at fivefilters.org/content-only/faq.php#publishers. Five Filters recommends: 'You Say What You Like, Because They Like What You Say' - http://www.medialens.org/index.php/alerts/alert-archive/alerts-2013/731-you-say-what-you-like-because-they-like-what-you-say.html


Комментариев нет:

Отправить комментарий