Not
Bu sayfaya erişim yetkilendirme gerektiriyor. Oturum açmayı veya dizinleri değiştirmeyi deneyebilirsiniz.
Bu sayfaya erişim yetkilendirme gerektiriyor. Dizinleri değiştirmeyi deneyebilirsiniz.
Bilgisayarlarla kullanılmak üzere tasarlanan video verileri genellikle progresif, yani her çerçeve tek bir görüntü şeklinde kodlanır. Televizyonlar gibi bazı cihazlar bir kareyi aynı anda değil, iki görüntü olarak görüntüler. Resimlerden veya alanlardan biri çift numaralı satırların tümünü içerir. Diğer alan, tek numaralı satırların tümünün verilerini içerir. Kare başına birden fazla alanla kodlanmış video, çift alan ile tek alan arasında geçiş yaparak işlendiğinden, araya alınmış olarak adlandırılır.
Geçmişte, Windows Media Video codec bileşeniyle kodlamadan önce, araya alınan video içeriğinin her zaman arası kaldırılmıştı. Bununla birlikte, Windows Media 9 Serisi ile başlayarak video kodlayıcı desteği, önce aşamalı içeriğe dönüştürmeden, iç içe geçmiş görüntüleri sıkıştırmayı destekler. İçeriğin televizyon gibi bir araya getirilmiş bir ekranda işlenmesi durumunda kodlanmış bir dosyada araya alma işleminin sürdürülmesi önemlidir. Windows Media tabanlı içerik desteği DVD oynatıcılara, set üstü kutulara ve diğer ev elektronik ürünlerine yayıldığı için bu özellik giderek daha fazla önem taşıyor.
Ara video kodlamanın ve sunmanın en kolay yolu, Windows Media Format SDK'sını kullanarak uygulamanızı geliştirmek ve içeriği ASF dosyalarında depolamaktır. Çerçevelerle ilgili iç içe geçmiş bilgiler, ASF içeriğinde iyi çalışan ancak diğer kapsayıcılarda desteklenmesi biraz daha karmaşık olan veri birimi uzantıları kullanılarak codec'e aktarılır. Veri birimi uzantıları hakkında daha fazla bilgi için bkz. Veri Birimi Uzantılarını Kullanma.
Ara kodlamayı desteklemek için iki önemli adım vardır: çerçeve bilgilerini kodlayıcıya alma ve bilgileri işleme uygulamasına teslim etme. Bu adımlar aşağıdaki paragraflarda açıklanmıştır.
Geçmeli Video ve Kodlayıcı
Videoyu sürekli aralıklı kodlama ile kodlamanın ilk adımı, kodlayıcıyı birbiriyle bağlantılı alanları kodlamak için yapılandırmaktır. Bunu yapmak için MFPKEY_INTERLACEDCODINGENABLED özelliğini TRUEolarak ayarlayın. Bu işlem, kodlayıcıyı geçişli örnekleri almaya hazırlar. Her giriş örneği her iki alanı da içermelidir.
Geçişli kodlamayı etkinleştirdikten sonra kodlayıcıyla işlediğiniz her örnekte bir veri birimi uzantısı eklenmelidir. Beklenen veri birimi uzantısı olmayan örneklerin aşamalı olduğu varsayılır. Uzantıyı tanımlayan GUID D590DC20-07BC-436C-9CF7-F3BBFBF1A4DC. Windows Media Format SDK'sının nesneleri tarafından geçirilen değerler aşağıdaki tabloda tanımlanmıştır.
| Değer | Açıklama |
|---|---|
| 0x00000020 | Örneğin, önce alt alanla kodlandığını belirtir. Bu değer yalnızca aralanmış değerle birleştirildiğinde anlamlıdır. |
| 0x00000040 | Örneğin üst alanın önce kodlandığını belirtir. Bu değer yalnızca örgülü değerle birleştirildiğinde anlamlıdır. |
| 0x00000080 | Örneğin aralı olduğunu belirtir. Codec DPO'ları için anlamlı olan tek değer budur. |
İlk iki değerden biri, örnekte ayarlanmadan önce bit düzeyinde VEYA kullanılarak her zaman 0x80 ile birleştirilir. Ancak kodlayıcı yalnızca 0x80 denetler ve uzantının geri kalanını göz ardı eder. Uzantı örneği aralıklı olarak tanımlarsa, kodlayıcı sıkıştırılmış akışta örneğin aralıklı düzenini korur ve kod çözücünün aralık kareleri tanımlayabilmesi için akışa bir gösterge bayrağı ekler. Her geçişli örnek işaretlenir, böylece progresif ve geçişli karışımı olan kaynak içerik birlikte bir veri akışına kodlanabilir.
Windows Media Format SDK yazıcı nesnesi, işleme sırasında kullanılmak üzere ASF kapsayıcısının veri bölümüne yazdığı örneklerde içerik türü veri birimi uzantılarını içerir.
Taraklı Video Okuma ve İşleme
Kod çözücü, kodlayıcı tarafından akışta ayarlanan bayrağı temel alarak örgülü örnekleri tanımlar. Varsayılan olarak, çözücü örneklerin iç içe geçirilmesini kaldırır ve kademeli çıkışlar verir. Oyuncu uygulaması, MFPKEY_DECODER_DEINTERLACING özelliğini ayarlayarak, geçişlerin korunduğu çıkışları işlemek için kod çözücüyü yapılandırabilir.
Örgülü video oynatma zorluğu, kod çözücü örnekleri teslim ettikten sonra ortaya çıkar. oluşturucu (bir cihazdaki video kartı veya yonga), hangi alanın hangi alan olduğunu bilmeden video içeriğini düzgün bir şekilde görüntüleyemez. Windows Media Format SDK kullanan uygulamalarda içerik türü veri birimi uzantısı sıkıştırılmamış örneklerden alınır ve cihaza geçirilebilir.
Codec nesnelerini doğrudan kullanırken, bu veri aktarımının hiçbiri otomatik değildir. Hem arabellek nesnelerinizde hem de kodlanmış içeriğiniz için kullandığınız kapsayıcıda veri birimi uzantısı desteği uygulamanız gerekir. En yaygın medya kapsayıcısı türleri (AVI gibi), örnek düzeyinde meta verileri desteklemez. Verileri dosyada depolamak ve tek tek örneklerle ilişkilendirmek için kendi sisteminizi uygulayabilirsiniz, ancak yalnızca özelleştirilmiş bir okuyucu bunları alabilir.
Not
MFPKEY_INTERLACEDCODINGENABLED özelliğini TRUE olarak ayarlamak ve ardından içerik türü veri birimi uzantısı eklenmiş hiçbir örnek göndermemek kodlayıcının kilitlenmesine neden olabilir. Kodlayıcıyı, yalnızca teslim etmek üzere geçişli örnekleriniz varsa, geçişli kodlama için ayarlayın.
İlgili konular