Небольшая заметка о том, как взять Olympus, включить цейтраферную съёмку и собрать таймлапс-видео северного сияния с помощью пары Unix-утилит.

Если хоть немного увлекаться съёмками северных сияний или астрофотографией, то рано или поздно возникает желание записать видео со звёздным небом, где видно либо вращение Земли, либо сполохи северного сияния. Понятное дело, что сколь бы большой ни была SD-карта внутри фотоаппарата — места на ней всё равно не хватит, если просто включить запись видео и не трогать штатив всю ночь.

Но выход есть! Вместо записи очередного 4K 60fps ролика можно снимать один кадр с таким же разрешением, но, допустим, раз в 15 секунд. А потом склеить все получившиеся фото в одно видео, которое ожидаемо будет меньше по размеру, и при этом, даже с частотой съёмки в 0.0666(6) кадра в секунду — вращение Земли по прежнему будет видно.

Настройка фотоаппарата (Olympus E-M10 II)

Интервальная съёмка в Olympus E-M10 II включается через «Меню съёмки 1»:

Количество кадров
Выставлять по вкусу, ориентируясь на расчётную длительность работы камеры. Меньше 30 кадров лучше не выставлять, иначе итоговое видео будет слишком коротким и малосодержательным.

Ожидание
2 секунды, чтобы успели затухнуть колебания штатива от нажатия на кнопку спуска.

Интервал
Выставлять в зависимости от динамичности снимаемой сцены. Например, для съёмки северного сияния стоит выставлять его в 1-2 секунды. Чем больше интервал, тем сильнее будет остывать фотоаппарат между спусками затвора и тем меньше будет шумов на итоговом снимке.

Сборку видео из снимков на фотоаппарате стоит отключить — всё равно ничего хорошего из этого не получится. Снимки надо обрабатывать, возможно захочется использовать для видео FPS, отличный от предлагаемых инженерами Олимпуса.

Обработка RAW-файлов

Полученные гигабайты фотографий надо будет обработать: обрезать их под соотношение сторон 16:9, подкрутить экспокоррекцию, HSV, настройки шумодава, угол поворота изображения и т.п.

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

Потом выбираются все файлы и к ним применяется сохранённый профиль: ПКМ — «Обработка операций профиля» — «Применить» — «Мои профили» — имя сохранённого профиля. Обработанные файлы надо поместить в очередь на обработку и запустить их в работу.

Сборка timelapse-видео

В силу исторических причин, для работы с видео я использовал mencoder — перекодировщик от команды MPlayer’а. И лишь для одного узкого случая — для Инстаграма — пришлось использовать ffmpeg.

Для склейки видео из обработанных jpg-файлов, в каталоге с этими файлами надо запустить следующую команду:

mencoder mf://*.jpg -mf w=4616:h=3464:fps=10:type=jpg -ovc lavc -lavcopts
vcodec=msmpeg4v2:vbitrate=16000:keyint=15:mbd=2:trell -oac copy -o lapse.avi

В опции -mf w=4616:h=3464:fps=10:type=jpg нужно указать ширину и высоту используемых jpg-файлов. Там же можно настроить частоту кадров в итоговом видео и тип используемых изображений, если он отличен от JPEG.

Подготовка видео для Instagram

Для Instagram требуется видео в формате MP4, к тому же — не в огромном разрешении 4616x3464.

Чтобы получить из jpg-файлов таймлапс в меньшем разрешении, можно использовать команду:

mencoder mf://*.jpg -mf w=4616:h=3464:fps=10:type=jpg -ovc lavc -lavcopts
vcodec=msmpeg4v2:vbitrate=16000:keyint=15:mbd=2:trell -oac copy -vf
scale=1154:-10 -o lapse_scaled.avi

которая отличается от предыдущей лишь опцией -vf scale=1154:-10, где 1154 — горизонтальное разрешение отмасштабированного видео. Вертикальное разрешение будет вычислено автоматически, на основе разрешения исходных кадров.

А для перекодирования видео в MP4 для Instagram, используется следующая команда:

ffmpeg -i lapse_scaled.avi lapse_scaled.mp4