Можно ли подключить все камеры, подключенные к Системе, вместе с их физическим адресом?Выбор камеры
Я не склонен к какому-либо определенному языку, хотя я предпочитаю C#.
Спасибо за помощь.
Можно ли подключить все камеры, подключенные к Системе, вместе с их физическим адресом?Выбор камеры
Я не склонен к какому-либо определенному языку, хотя я предпочитаю C#.
Спасибо за помощь.
Поскольку вы упоминаете C#, я собираюсь предположить, что вы имеете в виду Windows.
С точки зрения Windows неподвижные камеры практически полностью отличаются от видеокамер (но, что интересно, камеры и сканеры практически одинаковы).
Поскольку вы не упоминаете видео, я также предполагаю, что вы имеете в виду неподвижные камеры. Обычно вы работаете с неподвижными камерами (и сканерами) через Windows Image Acquisition (WIA). Чтобы отобразить камеры, вы обычно используете IStillImage::GetDeviceList
. Это вернет структуру STI_DEVICE_INFORMATION
, в которую входит член dwHardwareConfiguration
, чтобы указать тип используемого интерфейса (например, USB) и pszPortName
, чтобы определить конкретный порт, к которому подключена камера.
Если вы хотите отследить от этого имени порта что-то более «физическое», например, номер шины и т. Д., Вы должны (вероятно) иметь возможность использовать WMI_USBControllerDevice для отображения с устройства обратно на контроллер.
Если вы хотите иметь дело с видеокамерами, вы должны использовать capGetDriverDescription
, чтобы получить описание каждого установленного устройства захвата видео. В этом случае получение чего-то более близкого к «физическому» адресу значительно сложнее. capGetDriverDescription
даст вам имя водителя. Я полагаю, вы можете сделать обычный «материал» Windows, чтобы перечислять драйверы и сопоставлять имена, чтобы узнать что-то о рассматриваемом драйвере, но я не играл с этим, чтобы быть уверенным (например), какое имя оно дает вам (внутреннее имя драйвера, отображаемое имя или что).
Также обратите внимание, что с течением времени MS разработала около полудюжины различных мультимедийных интерфейсов, поэтому почти любой мультимедийный кошка может быть спрятан как минимум на полдюжины различных способов.
Спасибо за это очень хорошее объяснение. Я попробую использовать его. – Jayesh
все возможно с помощью правильного API и правильного кода. –
+1 Специализированные вопросы о знаниях, которые я не знаю, как отвечать, всегда завораживают меня. –
@ Muad'Dib, это то, что я ищу, API! :) – Jayesh