Поделиться через


приложения-компаньоны Камера

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

Введение

Windows 11 предоставляет платформу приложений-компаньонов камеры, которая позволяет производителям разрабатывать приложения со следующими возможностями:

  • Возможность отображения и (или) изменения тех же параметров по умолчанию, что и страница параметров камеры (например, яркость, контрастность, фоновые эффекты и т. д.).

  • Возможность регистрировать, обновлять или удалять параметры значения по умолчанию для других элементов управления камерой, известных windows, но не предоставляются на странице параметров камеры (например, элемент управления Hue).

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

Когда камера регистрирует связанное приложение-компаньон, запись добавляется на страницу параметров камеры. Если приложение установлено, его можно запустить с страницы параметров камеры, а также появится ссылка на Microsoft Store, чтобы скачать ее.

Приложения-компаньоны имеют специальный доступ к API, который позволяет им регистрировать, обновлять или удалять значения по умолчанию, такие как страница параметров камеры.

Терминология и предварительные требования

Термин Определение
Сопутствующее приложение Пользовательское приложение, разработанное производителем камеры, которое позволяет настраивать и управлять камерой в дополнение к странице параметров камеры.
Текущее значение Значение элемента управления камерой, которое в настоящее время активно в isP камеры и хранится во временной памяти камеры.
Default value Начальное значение элемента управления камерой, которое хранится на диске и сохраняется для определенной камеры для определенной учетной записи пользователя на определенном компьютере.
HSA Приложение поддержки оборудования, поддерживаемая корпорацией Майкрософт, для автоматического скачивания и установки приложений, связанных с оборудованием, из Microsoft Store при подключении устройства.
NPU Единица нейронной обработки, выделенное оборудование, предназначенное для обработки рабочих нагрузок искусственного интеллекта с высокой пропускной способностью и эффективностью.
Эффекты Windows Studio Коллекция видеоэффектов, доступных на выборе компьютеров Windows с NP.
UVC Класс USB-видео, стандартизированный интерфейс для управления и потоковой передачи с usb-подключенных камер.

Требования к приложениям-компаньонам

Приложения-компаньоны должны быть упаковыты с удостоверением пакета. Приложение-компаньон также должно быть выпущено в Microsoft Store, что позволяет странице параметров камеры направлять клиентов в магазин устанавливать приложение, если оно еще не установлено.

Традиционные классические приложения без удостоверения пакета нельзя использовать в качестве приложения-компаньона.

Приложения-компаньоны как HSAs

Приложения-компаньоны также не требуются для настройки в качестве приложения поддержки оборудования, но настоятельно рекомендуется. HSAs — это специальные приложения в Microsoft Store, связанные с определенным аппаратным устройством. Когда устройство подключено к компьютеру, HSA автоматически загружается и устанавливается из Microsoft Store при наличии.

Связывание приложения-компаньона с камерой

Производитель камеры может связать приложение-компаньон, заполнив определенный ключ свойства устройства именем семейства пакетов (PFN) приложения-компаньона:

Имя. Тип Data
SCSVCamPfn REG_SZ <PFN>

Чтобы определить PFN приложения-компаньона, выполните команду Get-AppxPackage из PowerShell, например:

Get-AppxPackage -Name CompanionAppName

Чтобы связать приложение-компаньон с камерой, используйте дескриптор MSOS в камере UVC или директиву AddReg в INF драйвера камеры. Например, с помощью INF-файла:

[SocCaptureSim.RearCamera.AddReg]

HKR,,SCSVCamPfn,,%AppPFN%

...

[Strings]

AppPFN="Contoso.CameraCompanion_xxxxxxxx00000"

Если приложение-компаньон связан с камерой, страница параметров камеры содержит ссылку на приложение-компаньон в заголовке "Связанные параметры" страницы конкретных параметров камеры.

Если приложение-компаньон уже установлено, ссылка отображается на "Открыть {имя приложения-компаньона}". При щелчке приложение запускается.

Если приложение-компаньон еще не установлено, ссылка отображается для запуска Microsoft Store для скачивания и установки приложения.

Камера может быть связана только с одним приложением-компаньоном.

Запуск приложения-компаньона на странице параметров камеры

Когда страница параметров камеры запускает приложение-компаньон, символьная ссылка камеры передается в качестве контекста через аргументы Application.OnLaunched .

Аргумент Тип Data
cameraId Строка Символьная ссылка

Эта функция позволяет приложению-компаньону отображать правильные параметры камеры в следующих сценариях:

  1. Одно приложение-компаньон поддерживает несколько камер в одной системе (например, предоставленное OEM-приложение поддерживает камеры переднего и заднего устройств на планшете).

  2. У клиента есть две камеры одного и того же бренда, подключенные к своей системе, управляемой тем же приложением-компаньоном.

Запуск страницы параметров камеры из приложения-компаньона

Приложение-компаньон может запустить страницу параметров камеры Windows с помощью URI глубокой связи. Дополнительные сведения см . на странице "Запуск параметров камеры".

Настройка значений по умолчанию из вспомогательных приложений

Приложение-компаньон может использовать API МВФ Камера ConfigurationManager для настройки конфигурации значения по умолчанию текущего пользователя. Этот API позволяет приложению-компаньону считывать все настроенные значения по умолчанию (например, значения по умолчанию, заданные пользователем с помощью страницы параметров камеры), изменять значения по умолчанию, регистрировать новые значения по умолчанию или удалять сохраненные значения по умолчанию.

Значения по умолчанию регистрируются в базе данных системы в виде пары GUID свойства KS и соответствующего значения. Это позволяет архитектуре быть не зависят от определения свойства KS. Эта гибкость позволяет приложению-компаньону задавать, изменять или удалять значения по умолчанию для любого из следующих параметров:

  • Параметры, которые также настраиваются с помощью страницы параметров камеры (например, яркость, контрастность, фоновые эффекты и т. д.)

  • Параметры для других элементов управления камерой, известных в Windows, но не предоставляются на странице параметров камеры (например, элемент управления Hue)

  • Параметры для элементов управления камерой изготовителя (например, для пользовательского эффекта корректировки освещения изготовителя камеры)

Настройка яркости из приложения-компаньона

Существует несколько способов для камеры для управления эффективной яркостью захваченного изображения. Например, яркость может быть увеличена путем применения простого получения к изображению, или его можно увеличить, увеличив время экспозиции камеры.

Windows поддерживает устаревший элемент управления яркости (KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS), разработанный с помощью простых элементов управления получением в виду. Windows также поддерживает функцию управления компенсацией воздействия (KSPROPERTY_CAMERACONTROL_EXTENDED_EVCOMPENSATION), предназначенную для управления положительным или отрицательным значением воздействия на алгоритм автоматического воздействия камеры.

Независимо от того, какой элемент управления яркостью используется камерой, он должен быть реализован в камере таким образом, что при "центре", яркость нейтраличена, и что клиент может применить смещение путем повышения или снижения значения. Для оптимального качества изображения настоятельно рекомендуется для камер поддерживать управление компенсацией воздействия, чтобы, если клиент настраивает элемент управления яркостью на странице параметров камеры или в приложении-компаньоне, камера получает команду применить фиксированное положительное или отрицательное смещение к воздействию независимо от условий освещения в любое время.

Дополнительные сведения см. на странице параметров камеры для поведения элемента управления "Яркость" на странице параметров камеры, на основе которой используется элемент управления камерой. Если приложение-компаньон также предлагает ползунок "Яркость", важно реплика выполнять синхронизацию между ползунок "Яркость" на странице параметров камеры и приложением-компаньоном.

Приведенный ниже пример приложения-компаньона содержит эталонную реализацию этой логики.

Мониторинг изменений текущего значения в режиме реального времени

Если приложение-компаньон работает одновременно со страницей параметров камеры, возможно, что клиент может изменить значение по умолчанию с помощью страницы параметров камеры, а приложение-компаньон одновременно работает в общем режиме для отображения предварительного просмотра. В этом случае желательно, чтобы приложение-компаньон отслеживал изменения значения элементов управления по умолчанию, чтобы он оставался в синхронизации.

Для этого приложение-компаньон может использовать МВФ Камера ControlMonitor для отслеживания изменений в текущем значении элементов управления (KS Properties). Эти изменения могут произойти из-за следующих изменений:

  • Приложение камеры (например, Microsoft Teams) использует камеру и изменяет текущее значение элемента управления.

  • Страница параметров камеры использует камеру и изменяет значение по умолчанию элемента управления (которое также обновляет текущее значение).

Этот API можно использовать в качестве триггера для повторного чтения значения по умолчанию для контроля интереса с помощью API МВФ Камера ConfigurationManager и обновления пользовательского интерфейса при изменении значений по умолчанию.

Примеры приложений-компаньонов

Пример приложения-компаньона доступен на сайте GitHub: Камера Параметры External Параметры App. В этом примере показано, как использовать API МВФ Камера ConfigurationManager для изменения значения по умолчанию для контрастности, яркости и сегментации фона.

Другое пример приложения, демонстрирующее использование API МВФ Камера ControlMonitor для мониторинга изменений, интересующих вас, доступно на сайте GitHub: ControlMonitorApp.

См. также

Application.OnLaunched

страница параметров Камера

пример Камера Параметры External Параметры App

Пример ControlMonitorApp

Get-AppxPackage

Приложение поддержки оборудования

МВФ Камера ConfigurationManager

МВФ Камера ControlMonitor

KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS

KSPROPERTY_CAMERACONTROL_EXTENDED_EVCOMPENSATION

Запуск страницы параметров камеры

Дескриптор MSOS

Упакованные приложения