«Человек посередине» водитель? - PullRequest
2 голосов
/ 18 июня 2009

У меня была идея, но я не знаю, можно ли это сделать:

Может ли быть возможным закодировать драйвер USB-камеры, который может мультиплексировать источник видео для любого программного обеспечения, которое нуждается в этом? этакий водитель "человек посередине":)

Ответы [ 5 ]

1 голос
/ 02 июля 2009

Это должно быть возможно и в модели драйвера Windows. Он называется «драйвер фильтра верхнего уровня» и находится между обычным драйвером и пользовательским пространством.

Базовый драйвер, по-видимому, является эксклюзивным, в то время как ваш фильтр не должен быть. Может быть, тогда стоит прочитать этот пост о том, как сделать драйверы (не) эксклюзивными.

1 голос
/ 18 июня 2009

Если вам нужен драйвер Linux, посмотрите драйвер обратной петли v4l:

http://www.lavrsen.dk/foswiki/bin/view/Motion/VideoFourLinuxLoopbackDevice

Должна быть возможность комбинировать это с некоторым кодом пользователя, чтобы делать то, что вы хотите.

Для Windows вы, вероятно, можете что-то делать в пространстве пользователя, используя DirectShow.

1 голос
/ 18 июня 2009

Да. Что касается того, как это зависит от системы. Вы даже не говорите, о какой ОС вы говорите. В любом случае Windows и Linux поддерживают драйверы, которые вызывают другие драйверы.

0 голосов
/ 18 июня 2009

Может захотеть посмотреть на чип FTDI http://www.ftdichip.com/

Имеется драйвер для многих ОС.

Также можно посмотреть на плату Arduino, на которой уже есть USB-чип. http://www.arduino.cc/.

0 голосов
/ 18 июня 2009

Хм, если это GNU / Linux, MacOS или любая другая поддерживаемая ОС, возможно, можно будет мультиплексировать узел устройства с достаточно простым модулем FUSE ... Если к завтрашнему дню не будет ответов по этой линии, я постараюсь стучать немного Perl (если я смогу найти свою камеру ...) :)

Я думал о кодировании чего-то подобного (как модуля ядра) некоторое время назад, но оно оказалось на заднем плане - идея была на самом деле для веб-камер, но могла быть применена для обеспечения мультиплексирования, абстрагирования узла устройства только для чтения. любой другой узел устройства, обеспечивающий поток данных ...

...