2010-08-25 2 views
3

Можно ли подключить все камеры, подключенные к Системе, вместе с их физическим адресом?Выбор камеры

Я не склонен к какому-либо определенному языку, хотя я предпочитаю C#.

Спасибо за помощь.

+0

все возможно с помощью правильного API и правильного кода. –

+0

+1 Специализированные вопросы о знаниях, которые я не знаю, как отвечать, всегда завораживают меня. –

+0

@ Muad'Dib, это то, что я ищу, API! :) – Jayesh

ответ

3

Поскольку вы упоминаете C#, я собираюсь предположить, что вы имеете в виду Windows.

С точки зрения Windows неподвижные камеры практически полностью отличаются от видеокамер (но, что интересно, камеры и сканеры практически одинаковы).

Поскольку вы не упоминаете видео, я также предполагаю, что вы имеете в виду неподвижные камеры. Обычно вы работаете с неподвижными камерами (и сканерами) через Windows Image Acquisition (WIA). Чтобы отобразить камеры, вы обычно используете IStillImage::GetDeviceList. Это вернет структуру STI_DEVICE_INFORMATION, в которую входит член dwHardwareConfiguration, чтобы указать тип используемого интерфейса (например, USB) и pszPortName, чтобы определить конкретный порт, к которому подключена камера.

Если вы хотите отследить от этого имени порта что-то более «физическое», например, номер шины и т. Д., Вы должны (вероятно) иметь возможность использовать WMI_USBControllerDevice для отображения с устройства обратно на контроллер.

Если вы хотите иметь дело с видеокамерами, вы должны использовать capGetDriverDescription, чтобы получить описание каждого установленного устройства захвата видео. В этом случае получение чего-то более близкого к «физическому» адресу значительно сложнее. capGetDriverDescription даст вам имя водителя. Я полагаю, вы можете сделать обычный «материал» Windows, чтобы перечислять драйверы и сопоставлять имена, чтобы узнать что-то о рассматриваемом драйвере, но я не играл с этим, чтобы быть уверенным (например), какое имя оно дает вам (внутреннее имя драйвера, отображаемое имя или что).

Также обратите внимание, что с течением времени MS разработала около полудюжины различных мультимедийных интерфейсов, поэтому почти любой мультимедийный кошка может быть спрятан как минимум на полдюжины различных способов.

+0

Спасибо за это очень хорошее объяснение. Я попробую использовать его. – Jayesh

Смежные вопросы