Aracılığıyla paylaş


Kamera eşlikçisi uygulamaları

Bu makalede, kamera üreticilerinin kamerayı yapılandırabilen ve varsayılan görüntü ayarlarını yapabilen özel uygulamalar oluşturmasına yönelik bir genişletilebilirlik özelliği olan yardımcı uygulamalar açıklanmaktadır.

Giriş

Windows 11, üreticilerin aşağıdaki özelliklere sahip uygulamalar geliştirmesine olanak tanıyan bir kamera eşlikçisi uygulama çerçevesi sağlar:

  • Kamera ayarları sayfasının desteklediği varsayılan değer ayarlarını görüntüleme ve/veya değiştirme özelliği (örneğin Parlaklık, Karşıtlık, Arka plan efektleri vb.).

  • Windows tarafından bilinen ancak kamera ayarları sayfasında (örneğin Hue denetimi) gösterilmemiş diğer kamera denetimleri için varsayılan değer ayarlarını kaydetme, güncelleştirme veya silme olanağı.

  • Üreticiye özel kamera denetimleri için varsayılan değer ayarlarını kaydetme, güncelleştirme veya silme özelliği (örneğin, bir kamera üreticisinin özel aydınlatma ayarı efekti için açık/kapalı denetimi).

Bir kamera ilişkili bir yardımcı uygulamayı kaydettirdiğinde, kamera ayarları sayfasına bir giriş eklenir. Uygulama yüklüyse kamera ayarları sayfasından başlatılabilir, aksi takdirde indirmek için Microsoft Store bağlantısı görüntülenir.

Yardımcı uygulamalar, kamera ayarları sayfası gibi varsayılan değerleri kaydetmelerine, güncelleştirmelerine veya silmelerine olanak tanıyan bir API'ye özel erişime sahiptir.

Terminoloji ve önkoşullar

Süre Tanım
Yardımcı uygulama Kamera üreticisi tarafından geliştirilen ve kamera ayarları sayfasına ek olarak bir kameranın yapılandırılmasına ve yönetilmesine izin veren özel bir uygulama.
Geçerli değer Şu anda kameranın Görüntü Sinyal İşlemcisi'nde etkin olan ve kameranın geçici belleğinde tutulan bir kamera denetiminin değeri.
Varsayılan değer Diskte depolanan ve belirli bir kamera için, belirli bir kullanıcı hesabı için belirli bir bilgisayarda kaydedilen bir kamera denetiminin başlangıç değeri.
HSA Donanım Desteği Uygulaması, cihaz bağlandığında Microsoft Store'dan donanımla ilişkili uygulamaları otomatik olarak indirmek ve yüklemek için Microsoft tarafından desteklenen bir çerçevedir.
NPU (Sinir İşlem Ünitesi) Sinir İşleme Birimi, yüksek aktarım hızı ve verimlilik ile yapay zeka iş yüklerini işlemek için tasarlanmış özel donanım.
Windows Studio Efektleri NPU'ları olan belirli Windows bilgisayarlarda kullanılabilen video efektleri koleksiyonu.
UVC USB bağlantılı kameralardan kontrol ve akış için standartlaştırılmış arabirim olan USB Video Sınıfı.

Yardımcı uygulama gereksinimleri

Eşlikçi uygulamalar paketlenmiş uygulamalar bir paket kimliğine sahip olmalıdır. Yardımcı uygulamanın Microsoft Store'da da yayımlanması gerekir. Bu, kamera ayarları sayfasının müşterilere henüz yüklenmediyse uygulamayı yüklemeleri için Microsoft Store'a yönlendirmesine olanak tanır.

Paket kimliği olmayan geleneksel masaüstü uygulamaları yardımcı uygulama olarak kullanılamaz.

HSA olarak yardımcı uygulamalar

Yardımcı uygulamaların donanım destek uygulaması olarak yapılandırılması da gerekmez, ancak kesinlikle önerilir. HSA'lar, Microsoft Store'da belirli bir donanım cihazıyla ilişkilendirilmiş özel uygulamalardır. Bu cihaz bir bilgisayara bağlandığında, kullanılabilir olduğunda HSA otomatik olarak Microsoft Store'dan indirilir ve yüklenir.

Yardımcı uygulamayı kamerayla ilişkilendirme

Kamera üreticisi, yardımcı uygulamayı, belirli bir Cihaz Özelliği anahtarını uygulamanın Paket Aile Adı (PFN) ile doldurarak ilişkilendirebilir.

İsim Türü Data
SCSVCamPfn REG_SZ <PFN>

Yardımcı uygulamanın PFN'sini tanımlamak için PowerShell'den Get-AppxPackage komutunu çalıştırın, örneğin:

Get-AppxPackage -Name CompanionAppName

Eşlikçi uygulamayı bir kamerayla ilişkilendirmek için, UVC kamerada MSOS tanımlayıcısını veya kamera sürücüsünün INF'sindeki AddReg yönergesini kullanın. Örneğin, INF dosyasını kullanarak:

[SocCaptureSim.RearCamera.AddReg]

HKR,,SCSVCamPfn,,%AppPFN%

...

[Strings]

AppPFN="Contoso.CameraCompanion_xxxxxxxx00000"

Bir yardımcı uygulama bir kamerayla ilişkilendirildiğinde, kamera ayarları sayfasında kameranın belirli ayarlar sayfasının "İlgili ayarlar" başlığı altında eşlikçi uygulamanın bağlantısı bulunur.

Yardımcı uygulama zaten yüklüyse, " {companion app name}" öğesini açın" bağlantısı görüntülenir. Tıklandığında uygulama başlatılır.

Yardımcı uygulama henüz yüklü değilse, uygulamayı indirip yüklemek için Microsoft Store'u başlatan bir bağlantı görüntülenir.

Bir kamerayla ilişkilendirilmiş yalnızca bir yardımcı uygulama olabilir.

Kamera ayarları sayfasından bir yardımcı uygulama başlatma

Kamera ayarları sayfası yardımcı uygulamayı başlattığında, kameranın sembolik bağlantısı Application.OnLaunched bağımsız değişkenleri üzerinden bağlam olarak iletilir.

Tartışma Türü Data
cameraId Dize Sembolik Bağlantı

Bu işlev, yardımcı uygulamanın aşağıdaki senaryolar altında doğru kameranın ayarlarını görüntülemesine olanak tanır:

  1. Tek bir yardımcı uygulama, tek bir sistemdeki birden çok kamerayı destekler (örneğin, OEM tarafından sağlanan bir uygulama tablette Ön ve Arka kameraları destekler).

  2. Bir müşterinin, sistemlerine bağlı olan ve aynı eşlikçi uygulama tarafından yönetilen iki aynı (veya aynı marka) kamera vardır.

Eşlikçi uygulamasından kamera ayarları sayfasını başlatma

Yardımcı uygulama, derin bağlantı URI'sini kullanarak Windows kamera ayarları sayfasını başlatabilir. Daha fazla bilgi için bkz. Kamera ayarlarını başlatma sayfası.

Yardımcı uygulamalardan varsayılan değerleri yapılandırma

Eşlikçi bir uygulama, geçerli kullanıcının varsayılan değer yapılandırmasını yapılandırmak için IMFCameraConfigurationManager API'sini kullanabilir. Bu API, yardımcı uygulamanın yapılandırılmış tüm varsayılan değerleri okumasına (örneğin, kamera ayarları sayfasını kullanan kullanıcı tarafından ayarlanan varsayılan değerler), varsayılan değerleri değiştirmesine, yeni varsayılan değerleri kaydetmesine veya kaydedilen varsayılan değerleri kaldırmasına olanak tanır.

Varsayılan değerler, sistemin veritabanında KS Özellik GUID'sinin ve karşılık gelen değerin çifti olarak kaydedilir. Bu, mimarinin KS Özelliğinin tanımından bağımsız olmasını sağlar. Bu esneklik, yardımcı uygulamanın aşağıdaki ayarlardan herhangi biri için varsayılan değerleri ayarlamasına, düzenlemesine veya silmesine olanak tanır:

  • Kamera ayarları sayfası kullanılarak da yapılandırılabilen ayarlar (örneğin Parlaklık, Karşıtlık, Arka plan efektleri vb.)

  • Windows tarafından bilinen ancak kamera ayarları sayfasından (örneğin Hue denetimi) gösterilmemiş diğer kamera denetimleri için ayarlar

  • Üreticiye özel kamera kontrolleri için ayarlar (örneğin, kamera üreticisinin özel aydınlatma ayarı efektine ait açık/kapalı kontrol)

Eşlikçi bir uygulamadan parlaklığı yapılandırma

Bir kameranın yakalanan görüntünün etkin parlaklığını kontrol etmenin birkaç yolu vardır. Örneğin, görüntüye basit bir kazanç uygulanarak parlaklık artırılabilir veya kameranın pozlama süresi artırılarak artırılabilir.

Windows, basit kazanç denetimleri göz önünde bulundurularak tasarlanmış eski parlaklık denetimini (KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS) destekler. Windows, kameranın Otomatik Pozlama algoritmasına pozitif veya negatif pozlama değeri sapmasını komuta etmek için tasarlanmış bir pozlama telafisi denetimini (KSPROPERTY_CAMERACONTROL_EXTENDED_EVCOMPENSATION) de destekler.

Kamera tarafından hangi Parlaklık denetiminin kullanıldığına bakılmaksızın, parlaklık, kamerada 'ortalandığında' nötr olacak şekilde uygulanmalı ve müşteri değeri yükselterek veya düşürerek bir değişiklik uygulayabilmelidir. En iyi görüntü kalitesi için, kameraların pozlama telafisi denetimini desteklemesi kesinlikle önerilir, böylece bir müşteri kamera ayarları sayfasında veya eşlikçi bir uygulamada Parlaklık denetimini ayarlarsa, kameraya herhangi bir zamanda aydınlatma koşullarından bağımsız olarak pozlamaya sabit pozitif veya negatif bir sapma uygulama komutu uygulanır.

Daha fazla bilgi için , kameranın hangi denetimi uyguladığına bağlı olarak kamera ayarları sayfasında Parlaklık denetiminin davranışı için kamera ayarları sayfasına bakın. Eşlikçi bir uygulama da Parlaklık kaydırıcısı sunuyorsa, kamera ayarları sayfasındaki Parlaklık kaydırıcısı ile yardımcı uygulama arasında eşitleme yapmak için mantığı çoğaltmak kritik önem taşır.

Aşağıdaki bağlı yardımcı uygulama örneği, bu mantığın bir başvuru uygulamasını içerir.

Gerçek zamanlı geçerli değer değişikliklerini izleme

Eşlikçi bir uygulama kamera ayarları sayfasıyla aynı anda çalışıyorsa, eşlikçi uygulama aynı anda paylaşılan modda çalışırken bir önizleme görüntülemek için müşteri kamera ayarları sayfasını kullanarak varsayılan değeri değiştirebilir. Bu durumda, eşlikçi uygulamanın eşitlenmiş durumda kalabilmesi için denetimlerin varsayılan değerindeki değişiklikleri izlemesi tercih edilir.

Bunu yapmak için yardımcı uygulama, ilgilendiğiniz denetimlerin Geçerli Değeri 'ne (KS Özellikleri) yapılan değişiklikleri izlemek için IMFCameraControlMonitor kullanabilir. Bu değişiklikler şunlardan kaynaklanabilir:

  • Bir kamera uygulaması (örneğin, Microsoft Teams) kamerayı kullanıyor ve denetimin Geçerli Değeri'ne bir değişiklik yapıyor.

  • Kamera ayarları sayfası kamerayı kullanıyor ve bir denetimin varsayılan değerinde (Geçerli Değeri de güncelleştirir) bir değişiklik yapıyor.

Bu API, IMFCameraConfigurationManager API'sini kullanarak bir ilgi alanı denetimi için varsayılan değeri yeniden okumak ve varsayılan değerler değiştiyse kullanıcı arabirimini güncelleştirmek için tetikleyici olarak kullanılabilir.

Yardımcı uygulama örnekleri

GitHub'da örnek bir yardımcı uygulama mevcuttur: CameraSettingsExternalSettingsApp örneği. Bu örnek, Karşıtlık, Parlaklık ve Arka Plan Segmentasyonu için varsayılan değeri değiştirmek için IMFCameraConfigurationManager API'sinin nasıl kullanılacağını gösterir.

İlgi denetimlerinde yapılan değişiklikleri izlemek için IMFCameraControlMonitor API'sinin nasıl kullanılacağını gösteren başka bir örnek uygulama GitHub'da mevcuttur: ControlMonitorApp örneği.

Ayrıca bakınız

Application.OnLaunched

Kamera ayarları sayfası

CameraSettingsExternalSettingsApp örneği

ControlMonitorApp örneği

Get-AppxPackage

Donanım Destek Uygulaması

IMFCameraConfigurationManager

IMFCameraControlMonitor

KSPROPERTY_VIDEOPROCAMP_BRIGHTNESS

KSPROPERTY_CAMERACONTROL_EXTENDED_EVCOMPENSATION

Kamera ayarları sayfasını başlatma

MSOS tanımlayıcısı

Paketlenmiş uygulamalar