Водитель “Человека посередине”?
Вопрос
У меня была идея, но я не знаю, возможно ли это сделать :
Возможно ли закодировать драйвер usb cam, который может мультиплексировать источник видео в любое программное обеспечение, которому это необходимо?этакий водитель "человек посередине" :)
Решение
Если вам нужен драйвер Linux, посмотрите драйвер обратной петли v4l:
http://www.lavrsen.dk/foswiki/bin/view / Motion / VideoFourLinuxLoopbackDevice
Должна быть возможность комбинировать это с некоторым кодом пользователя, чтобы делать то, что вы хотите.
Для Windows вы, вероятно, можете что-то делать в пространстве пользователя, используя DirectShow.
Другие советы
ДА.Что касается того, насколько это зависит от системы.Вы даже не говорите, о какой операционной системе идет речь.Во всяком случае, и Windows, и linux поддерживают драйверы, которые вызывают другие драйверы.
Это должно быть возможно и в модели драйвера Windows. Он называется «драйвер фильтра верхнего уровня» и находится между обычным драйвером и пользовательским пространством.
Основной драйвер, по-видимому, является эксклюзивным, в то время как ваш фильтр не должен быть. Тогда было бы целесообразно прочитать этот блог в как сделать драйверы (не) эксклюзивными.
Хм, если это GNU / Linux, MacOS или любая другая поддерживаемая ОС, возможно, можно будет мультиплексировать узел устройства с достаточно простым модулем FUSE ... Если к завтрашнему дню нет ответов по этому поводу, я постараюсь стучать немного Perl (если я смогу найти свою камеру ...) :)
Некоторое время назад я думал о кодировании чего-то подобного (в виде модуля ядра), но оно оказалось на заднем плане - идея была на самом деле для веб-камер, но ее можно было бы применить, чтобы обеспечить мультиплексирование, абстрагирование узла устройства только для чтения. любой другой узел устройства, обеспечивающий поток данных ...
Возможно, захотите взглянуть на чип FTDI http://www.ftdichip.com/
Есть драйвер для многих ОС.
Также можно посмотреть на плату Arduino, на которой уже есть USB-чип. http://www.arduino.cc/ .