Начну с того, что недавно я купил Canon EOS M - это беззеркалка от Canon. Кишки у фотика от Canon EOS 650D. 18 Мпикс матрица, возможность съёмки видео в 1920x1080@25p в mp4 (avchd, h264 кодек). Современно, ничего принципиально нового, выдающегося. Вес со штатным объективом 18-55 (f3.5 - 6.5), картой памяти и аккумулятором - 510г.
К этому фотику, как почти ко всей линейке Canon EOS, есть дополнительная прошивка, значительно расширяющая базовую. Звать её Magic Latner, легко гуглится по названию.
В числе прочих плюсов, которые даёт прошивка, есть возможность записи RAW-видео. В этом режиме фотик снимает последовательность 14бит кадров в dng-раве (без дебаеризации). Складывает их в один большой файл с расширением RAW.
К фотику я докупил быструю... реально быструю и дорогую SD карточку. Железо фотика, а именно контроллер SD-карты позволяет прокачивать лишь около 38 МБайт/с, хоть карта поддерживает вдвое большую скорость (до 95 МБайт/с). Плюс существуют ограничения разрешения съёмки именно на этом фотике. В итоге максимальный полученный кадр 1728 х 584. Если его увеличить по вертикали в 1.66 раза, то получится 16:9 почти что FullHD (1920x1080). Для моей задачи (съёмка видео с радиоуправляемого "вертолёта") не так важна частота кадров именно 25, так что я уменьшил её до 22 кадров в секунду, а потом при обработке чуток ускоряю видео до желаемых 25 кадров в секунду.
При 22 fps и разрешении 1728 х 584 я получаю поток 14бит рава с допустимой для интерфейса фотика скоростью 35.9 МБайт/с. Видео пишется стабильно, без залипаний, пропусков и сбоев. Можно чуть опустить разрешение, подняв fps до 25.
Есть программка на компе, которая из этого большого RAWa достаёт кучу DNG файлов, складывает их в папочку, давая им имена файлов в соответствии с номером кадра в видеоряде.
К сожалению, некоторые пиксели используются кэноном для гибридной фокусировки. В её суть я не вникал, но негативный эффект ощущаю. Он заключается в чёрных / белых точках на каждом кадре, расположенных определённым, слава богам, одинаковым на каждом кадре, образом.
Чтобы найти маску, я отснял видеоряд, который потом перевёл в DNG, потом в fit'ы и сложил FitStacker'ом без sigma clipping (термины из астрофото). Это усреднило и размазало всё реальное изображение, выделив именно искомых "врагов" - пиксели гибридной фокусировки.
Дальше я написал мелкую PHP-программу, которая рисует "мастердарк". Там чёрным то, что трогать не надо, чистА белым то, что нужно интерполировать из соседей. Тынц на прогу.
Запустил её на своей виртуалке, получил png. Его в cosmeticCorrection. И вот из исходного кадра получил такой кадр. Я довооолен :).
Похожее решение уже существует в виде java-программы, но мне не понравилось как она работает.
WorkFlow (последовательность действий) достаточно мудрёная, но не сложнее не так давно любимого мною астрофото :)
- отснял видео;
- флешку достал, скопировал себе огромный файл *raw;
- запустил raw2cdng.1.3.0.exe, в её окошко драг-дропнул этот *raw, получил папку с кучей dng-файлов;
- в PixInsight перевёл их в fitы через Script / Batch Processing / Batch FormatConversion;
- применил удаление "битья" по маске - через Script / Utilities / Cosmetic Corrections;
- обычная для астрфото калибровка биасом (выдержки мелкие, так что дарк не нужен) и флетом;
- перевёл фиты в tiff через тот же скрипт парой шагов раньше;
- пакетно подровнял тифы в фотошопе. Кривая, ББ, виньентирование, шумодав, .... Сохранил в других хороших тифах;
- набор тифов в роли видеоряда понимает Adobe AfterEffect.
В AE уже можно сохранить видео в Loseless avi, который можно монтировать в Premiere. Конечно, после окончательной цветокоррекции и, главное, зачем вся эта возня с равом, после окончательных кривых, использующих 14бит ДД :).
Прошло чуток времени. Я отснял первый полноценный десятиминутный ролик в RAW-видео и ... упарился обрабатывать как сам написал выше. :) Плюс я пока очень слабо разбираюсь в постобработке и получается ... не очень хорошо. Случайно узнал, что dcraw поддерживает карту битых пикселей. Модифицировал программку, чтобы она составила файлик со списком координат "битья" в виде текстового файла и натравил dcraw на все dng файлы так
do.cmd содержит: for %%f in (*.dng) do dcraw.exe -P bad -w -q 3 -6 -T -H 2 %%f
bad, сгенерённый пхп-прогой, содержит: 6 208 0 14 208 0 22 208 0 30 208 0 .... и т.п.
Запускаю do.cmd, в том же каталоге лежат raw-файлы и dcraw с библиотеками. По уму надо, конечно, всё настроить иначе, но для теста подойдёт.
Получаю там же кучу уже логарифмизированных тифов. Их переношу в другой каталог для обработки и перевода в видеоряд.
Подкупает простотой. Смущает сужением ДД из-за гамма-коррекции в dcraw. Конечно, её можно отключить и править кривыми при постобработке... Думается мне, что это куда более верный workflow. Его и попробую на следующем ролике. |