Скорее всего, не будет никакого независимого от платформы способа сделать то, что вам нужно.Если есть, то, вероятно, это связано с использованием языка высокого уровня, который, вероятно, не подойдет.
Я не знаю о платформе linux, но я разработчик C ++ / windows / COM / DirectShow, которыйработает с видеоприложениями на основе Интернета.
На платформе Windows устройства захвата обмениваются данными через COM и DirectShow.
Общий обзор захвата видео в Windows см. в VideoCapture раздел MSDN.
Посмотрите Выбор устройства захвата для получения информации о том, как перечислить устройства захвата в вашей системе.Вам нужно будет перечислить устройства в категории CLSID_VideoInputDeviceCategory, чтобы (программно) обнаружить веб-камеру в качестве устройства видеоввода - в этой категории может быть много устройств.
Устройства захвата видео имеют «FriendlyName»чтобы помочь идентифицировать вашу веб-камеру, которую вы можете сохранить и извлечь устройство для дальнейшего использования.
Получив устройство, в вашем запросе говорилось, что вы хотите настроить устройство.Проверьте Настройка устройства видеозахвата .
DirectShow - один из самых полных (и трудных) API-интерфейсов Microsoft для изучения. Форум разработчиков MSDN по DirectShow очень активен и удобен для новичков, и я настоятельно рекомендую вам проверить его.
Наконец, графы захвата - не самая простая вещь для построения в DirectShow, яНачните с простого графика воспроизведения - например, воспроизведите файл мультимедиа с диска и перейдите оттуда к графику.
Проект VLC с открытым исходным кодом и кросс-платформенный, и использует DirectShow.для воспроизведения на платформе Windows.
Удачи!