2016-10-04 7 views
0

У меня есть веб-камера Logitech, которая потоков 1080p @ 30 кадров в секунду, используя сжатие MJPG через USB2.0. Мне нужно написать этот необработанный поток на жесткий диск или отправить по сети. Мне НЕ нужно его распаковывать. OpenCV дает мне распакованные фреймы, поэтому мне нужно их сжать. Это приводит к большим потерям утилизации ЦП. Как получить исходный поток MJPEG вместо этого, поскольку он исходит от камеры? (Windows 7, Visual Studio, C++)как получить необработанный поток MJPG с веб-камеры

+0

Сложения : В моем случае данные могут оставаться в пространстве ядра. Мне просто нужно перенести его из драйвера веб-камеры usb в драйвер файловой системы/сети io с минимально возможными накладными расходами и задержкой процессора. Даже если это предполагает эксклюзивный доступ камеры. Это было сделано раньше? Есть ли какой-то рабочий пример? – xakepp35

ответ

1

Windows, родной видео захвата, связанных с APIs DirectShow и Media Foundation позволяют захватывать видео с веб-камеры в оригинальном формате. Это естественная задача для этих API и выполняется простым способом (в частности, если веб-камера получает сжатый M-JPEG канал с аппаратным сжатием, вы можете иметь это программно).

Вы свободны делать все, что вы хотите с данными впоследствии: распаковка, передавать по сети, составляет Motion JPEG через ответ HTTP кормить и т.д.