Видео Debayer с ffmpeg
Глядя на дебаер видео с ffmpeg. Я не могу найти способ сделать это без передачи необработанного видео между двумя экземплярами ffmpeg, потому что я не могу изменить формат пикселя моего входного видео "на месте" с серого на bayer_gbrg8. Итак, эта команда работает:
ffmpeg -i fr_losslessmovie_png_codec.avi -f image2pipe -pix_fmt gray \
-vcodec rawvideo - | ffmpeg -r 25 -f rawvideo -s 2048x700 \
-pix_fmt bayer_gbrg8 -i pipe:0 -y -pix_fmt yuv420p -b:v 25000k \
fr_debayer_compressed.mp4
Я бы дал исходному фильму этот формат пикселей, но не понял, что ffmpeg поддерживает байерное форматирование пикселей.
Я не видел этот точный вопрос онлайн и не нашел способа изменить формат пикселя с помощью видеофильтров и т. Д., Не думая, что я пытаюсь преобразовать данные. Я просто хочу изменить формат пикселя, который был назначен уже существующим серым данным.
Заранее спасибо! Эндрю
1 ответ
Я думаю, что поддержка байера была добавлена в ffmpeg для использования с демультиплексором MLV. Он автоматически удаляет файлы Magic Lantern из bayer_rggb16le в желаемое цветовое пространство. Это единственный способ, которым я знаю, для дебайера видео в ffmpeg. Поддержка в настоящее время очень базовая. Так что, если бы вы могли получить свое видео в контейнере MLV, вы могли бы удалить его следующим образом:
ffmpeg -i bayer-raw-input.mlv -pix_fmt yuv420p yuv-output.mp4