Высокоскоростное перекодирование данных изображения с камеры GIGE
У меня есть 8-мегапиксельная (3296 x 2472) камера GIGE, которая способна работать со скоростью около 25 кадров в секунду с 14-битными кадрами, закодированными байеровским кодированием.
У меня есть код (с использованием vimba api), который может захватывать кадры с полной скоростью и записывать необработанные данные на диск. Однако мы также хотим реализовать сетевой поток этого видеопотока и не иметь пропускной способности для трансляции кадров в необработанном наивном формате.
В конечном счете, я думаю, что хочу создать сетевой поток h.264 из фреймов, но я не уверен, что обычный компьютер сможет транскодировать его с той скоростью передачи данных, которую я использую. Поэтому я думаю, что мне может понадобиться графический процессор или другой аппаратный ускоритель.
Есть ли у кого-нибудь конкретные советы о том, с чего начать
1 ответ
GPU или FPGA, куда идти. Что лучше, зависит от ваших конкретных потребностей, но я думаю, что графические процессоры имеют больше смысла для большинства людей.
Взгляните на NVENC для библиотеки Nvidia, посвященной кодированию видео в реальном времени. Возможно, вам не придется слишком влажные руки.
Обратите внимание, что операция удаления дебайера также может выполняться на графическом процессоре, но я не уверен, сможете ли вы избежать передачи туда-обратно при использовании API-интерфейса NVENC - он может быть незначительным, хотя с этими числами.
обновление: теперь у amd есть библиотека