Gelişmiş Video oluşturucu
[Gelişmiş Video oluşturucu bu sayfada açıklanan bileşen eski bir özelliktir. MediaPlayer ve IMFMediaEngine bileşenleri aracılığıyla kullanıma sunulan Basit Video Oluşturucu (SVR) tarafından değiştirildi. Video içeriğini oynatmak için bu bileşenlerden birine veri göndermeniz ve yeni video işleyicinin örneğini oluşturmalarına izin vermelisiniz. Bu bileşenler Windows 10 ve Windows 11 için iyileştirilmiştir. Microsoft, mümkün olduğunda yeni kodun EVR yerine Windows'ta video medyası yürütmek için MediaPlayer veya alt düzey IMFMediaEngine API'lerini kullanmasını kesinlikle önerir. Microsoft, mümkünse yeni API'leri kullanmak için eski API'leri kullanan mevcut kodun yeniden yazılmasını önerir.]
Gelişmiş video işleyicisi (EVR), kullanıcının monitöründe video görüntüleyen bir bileşendir. EVR'nin iki sürümü vardır:
- Media Foundation uygulamaları için EVR medya havuzu.
- DirectShow uygulamaları için EVR filtresi.
Her iki sürüm de videoyu işlemek için aynı iç nesneleri kullanır ve aynı arabirimlerin çoğunu paylaşır.
EVR en fazla 16 video akışını karıştırabilir. İlk giriş akışı, başvuru akışı olarak adlandırılır. Başvuru akışı her zaman z sırasına göre ilk sırada görünür. Ek akışlar, alt akışları olarak adlandırılır ve başvuru akışının üzerinde karıştırılır. Uygulama, alt akışların z sırasını değiştirebilir, ancak z düzeninde hiçbir alt akış ilk olamaz.
Grafik sürücüsü hangi video biçimlerinin destekleneceğini belirler, ancak genellikle aşağıdakilerle sınırlıdır:
- Başvuru akışı: Piksel başına alfa içermeyen aşamalı veya daraltılmış YUV (NV12 veya YUY2 gibi); veya aşamalı RGB.
- Alt Akışlar: AYUV veya AI44 gibi piksel başına alfa ile aşamalı YUV.
Kullanılabilir alt akış biçimleri, başvuru akışının biçimine bağlı olabilir. Daha fazla bilgi için bkz. EVR Medya Türü Anlaşması.
EVR, giriş akışlarından kareleri işlemek üzere tek bir yüzeye birleştirmek için dahili olarak mikser adlı bir nesne kullanır. Karıştırıcı ayrıca, ayrıştırma ve renk düzeltmesi gerçekleştirir. Mikserden elde edilen çıkış, son bileşik video çerçevesidir. sunucusu adlı ikinci bir nesne video çerçevesini ekrana işler. Sunucu, çerçevelerin ne zaman işlendiğini zamanlar ve Direct3D cihazını yönetir. Bir uygulama, karıştırıcının veya sunucunun özel bir uygulamasını sağlayabilir.
Çıkış kare hızı, başvuru akışına kilitlenir. Alt akışlar yeni çerçeveler aldığında, karıştırıcı bunları tutar. Başvuru akışı yeni bir çerçeve aldığında, karıştırıcı bu çerçeveyi alt akış çerçeveleriyle birleştirir. (Başvuru akışı aralı ise, tam bir başvuru çerçevesi birden fazla medya örneği gerektirebilir.) Karıştırıcı bir başvuru çerçevesi beklerken bir alt akışın birden fazla çerçeve alması mümkündür. Bu durumda, karıştırıcı yalnızca önceki alt akış çerçevesini atar.
Sunucu Direct3D cihazını oluşturduğundan, cihazı DirectX Video Acceleration (DXVA) hizmetlerine erişmesi gereken diğer işlem hattı nesneleriyle paylaşmak da sorumludur. Özellikle EVR karıştırıcısı, videonun kodunu çözmek ve karıştırmak için DXVA video işleme hizmetlerini kullanır. EVR dışında yazılım kod çözücüleri hızlandırılmış video kod çözme için DXVA kullanabilir. Sunucu, Direct3D Cihaz Yöneticisiile Direct3D cihazını paylaşır. Aşağıdaki diyagramda EVR'nin iç mimarisi gösterilmektedir. (Gri renkle gölgelendirilmiş yazılım kod çözücü, EVR'nin bir parçası değildir.)
EVR Arabirimleri
EVR aşağıdaki arabirimleri destekler. Bu arabirimlerden bazıları karıştırıcı veya sunucu tarafından uygulanır. Her arabirim için başvuru konu başlığında arabirime bir işaretçinin nasıl alındığı açıklanır.
Arayüz | Açıklama |
---|---|
IEVRFilterConfig | EVR filtresindeki giriş pinlerinin sayısını ayarlar (yalnızca DirectShow). |
IEVRFilterConfigEx | EVR filtresini yapılandırır (yalnızca DirectShow). |
IEVRTrustedVideoPlugin | Korumalı video işlemek için bir EVR eklentisini etkinleştirir. |
IMFDesiredSample | EVR sunucunun karıştırıcıdan belirli bir çerçeve istemesini sağlar. |
IMFQualityAdvise | Kalite yöneticisinin EVR video kalitesini ayarlamasını sağlar. |
IMFTopologyServiceLookup | Özel bir karıştırıcının veya sunucunun EVR'den arabirim işaretçileri almasına olanak tanır. |
IMFVideoDeviceID | EVR karıştırıcısının veya sunucunun cihaz tanımlayıcısını döndürür. |
IMFVideoDisplayControl | EVR'nin video görüntüleme şeklini denetler. |
IMFVideoMixerBitmap | Alfa, statik bit eşlem görüntüsünü videoyla harmanlar. |
IMFVideoMixerControl | Gelişmiş Video oluşturucunun (EVR) video alt akışlarını nasıl karıştırır denetler. |
IMFVideoMixerControl2 | Video ayrıştırma tercihlerini denetler. |
IMFVideoPositionMapper | Giriş video akışındaki bir konumu çıkış video akışındaki ilgili konuma eşler. |
IMFVideoPresenter | EVR sunucusu tarafından kullanıma sunuldu. |
IMFVideoProcessor | Ayarlama, kirlilik filtreleri ve ayrıntı filtreleri dahil olmak üzere video işlemeyi denetler. |
IMFVideoRenderer | EVR'de bir mikser veya sunucu ayarlar. |
IMFVideoSampleAllocator | Video örnekleri ayırır. |
Bu Bölümde
Konu | Açıklama |
---|---|
DirectShow EVR Filtresi Kullanma | DirectShow uygulamasında EVR'yi kullanma. |
evr medya havuzu kullanarak | Bir Media Foundation uygulamasında EVR'yi kullanma. |
Video Görüntüleme Denetimlerini Kullanma | EVR'nin uygulama penceresinin içinde video görüntüleme şeklini denetleme. |
Video Mixer Denetimlerini Kullanma | EVR karıştırıcısının çalışma şeklini denetleme. |
EVR Medya Türü Anlaşması | EVR'nin giriş olarak kabul edebildiği video biçimlerini nasıl belirlediğini açıklar. |
Özel Karıştırıcılar | EVR için özel bir karıştırıcı yazma. |
EVR Sunucusu Yazma | EVR için özel sunucu yazma. |
İlgili konular