aspose.info
TR

MPD Dosya Formatı Nedir? - .mpd Dosyaları Nasıl Oluşturulur ve Açılır?

Güncellendi

MPD (.mpd) Formatı: Medya Sunumu Açıklaması İçin Kapsamlı Bir Rehber

.mpd dosya uzantısı belirsiz görünebilir, ancak modern video akışında kritik bir rol oynar. YouTube veya Netflix’te bir video izlediyseniz ve internet hızınıza göre sorunsuz kalite ayarlamaları yaşadıysanız, MPD formatının arkasındaki teknolojiden dolaylı olarak faydalanmış olursunuz.

Bu makale, MPD formatına derinlemesine bir bakış sunar ve özellikle MPEG-DASH (Dynamic Adaptive Streaming over HTTP) akışında kullanılan Media Presentation Description üzerine odaklanır. Ne olduğunu, temel özelliklerini, nasıl oluşturulup açılacağını açıklayacak ve yaygın soruları ele alacağız. ".mpd" diğer dosya türlerine de referans olabildiğinden, bu rehber modern akış teknolojisindeki en önemli uygulamasına odaklanacaktır.

MPD (.mpd) Dosyası Nedir?

Çevrimiçi video akışı bağlamında, MPD dosyası Media Presentation Description anlamına gelir. MPEG-DASH için merkezi kontrol belgesi olarak işlev gören XML tabanlı bir manifest dosyasıdır; bu, uyarlanabilir bit hızı akışı için uluslararası bir standarttır. Bunu, bir video dosyasının ayrıntılı içindekiler tablosu ve dinamik haritası olarak düşünebilirsiniz.

Tek bir video dosyası yerine, bir MPD Media Presentation (Medya Sunumu) tanımlar, bu da medya içeriğini oluşturan yapılandırılmış bir veri kümesidir. Medya oynatıcıya (istemci) gerçek video ve ses verilerinin nerede bulunacağını söyler; bu veriler küçük, zaman temelli segmentlere bölünmüştür. MPD, bu segmentler için URL’leri veya URL şablonlarını sağlar ve istemcinin bunları HTTP üzerinden talep etmesine olanak tanır.

MPD Dosyasının Temel Özellikleri

MPD formatının gücü, sorunsuz ve yüksek kaliteli bir akış deneyimini mümkün kılma yeteneğinde yatar. Temel özellikleri MPEG-DASH standardı tarafından tanımlanır.

1. Uyarlanabilir Bit Hızı Akışı (ABR)

Bu, en kritik özelliktir. MPD, aynı içeriğin birden fazla Representations (Temsili) listesini sunar. Bir Temsil, videonun belirli bir bit hızı ve çözünürlükte (ör. 720p 2 Mbps, 1080p 5 Mbps) kodlanmış versiyonudur. Gerçek zamanlı ağ koşulları ve cihaz yeteneklerine göre, istemci bu temsiller arasında sorunsuz bir şekilde geçiş yapabilir ve tamponlamaya gerek kalmadan sürekli oynatım sağlar.

2. Hiyerarşik XML Yapısı

MPD, XML formatında bir metin dosyasıdır; bu da hem insanlar tarafından okunabilir hem de makineler tarafından ayrıştırılabilir olmasını sağlar. Bilgi, net bir hiyerarşi içinde düzenlenir:

  • Dönem: Bir dönem, medya sunumu içinde sürekli bir zaman aralığını temsil eder. Tüm bir film bir dönem olabilir veya farklı bölümler veya reklam araları için birden fazla döneme bölünebilir.
  • Uyarlama Seti: Bir dönem içinde, uyarlama seti aynı medya içeriği bileşeninin alternatif temsillerini, örneğin video akışı veya ses akışı gibi, bir araya toplar.
  • Temsil: Bu, medya bileşeninin belirli bir kodlanmış sürümünü tanımlar; bitrate, çözünürlük, codec ve kare hızı gibi ayrıntıları içerir.
  • Segment Bilgisi: Bu bölüm, medya segmentleriyle ilgili bilgileri içerir; örneğin süresi ve onları talep etmek için URL’nin nasıl oluşturulacağı gibi.

3. Canlı ve Talep Üzerine Akış Desteği

MPD formatı, hem isteğe bağlı içerikleri (örneğin bir film) hem de canlı akışları (örneğin bir spor etkinliği) tanımlayabilir. Bu, <MPD> etiketindeki type özniteliğiyle kontrol edilir. type="static" isteğe bağlı içerik için, type="dynamic" ise canlı yayınlar için kullanılır.

4. Çoklu Akış Senkronizasyonu

Modern medya genellikle video, farklı dillerde ses ve altyazı gibi birden fazla iz içerir. MPD, bu tüm bileşenleri tanımlayabilir ve yapısı, istemcinin oynatma sırasında bunları mükemmel bir şekilde senkronize etmesini sağlar.

5. İçerik Koruması ve Kimlik Doğrulama

MPD dosyaları, Dijital Hak Yönetimi (DRM) ve içerik doğrulama öğelerini içerebilir ve telif hakkıyla korunan materyalleri korumanın standart bir yolunu sağlar.

MPD Dosyası Nasıl Oluşturulur

MPD dosyası oluşturma, “DASHing” ya da “paketleme” olarak bilinen bir süreçtir. Bu, medya dosyanızı (örneğin bir MP4) MPEG-DASH standardına göre bölmeyi ve otomatik olarak MPD manifestosunu oluşturmayı içerir.

Bunun için en yaygın araç GPAC’ın MP4Box’ıdır. İşte komutun basitleştirilmiş bir örneği:

MP4Box -dash 2000 sample.mp4 -out sample.mpd

Bu komutta:

  • -dash 2000 segment süresini 2000 milisaniye (2 saniye) olarak ayarlar.
  • sample.mp4 giriş video dosyanızdır.
  • -out sample.mpd çıktı manifest dosyasının adını belirtir.

Önemli Not: Çıktı dosyasının uzantısı .mpd olmalı, .mp4 değil. Bu, karışıklığa yol açabilecek yaygın bir hatadır.

Daha karmaşık senaryolar için birden fazla ses ve video izi, farklı profiller ve URL şablonları belirtebilirsiniz. Örneğin, komut birden fazla izi işlemek ve canlı akış profili oluşturmak için genişletilebilir:

MP4Box -dash 2000 -profile dashavc264:live -bs-switching multi -url-template video.mp4#trackID=1:id=vid0 audio.mp4#trackID=2:id=aud0 -out sample.mpd

Örnek MPD Kod Yapısı

İşte temel bir MPD dosyasının XML formatında nasıl göründüğü:

<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" 
     type="static" 
     mediaPresentationDuration="PT10M" 
     minBufferTime="PT1.5S" 
     profiles="urn:mpeg:dash:profile:isoff-on-demand:2011">
  
  <Period duration="PT10M">
    <AdaptationSet mimeType="video/mp4" codecs="avc1.4D401E">
      <Representation id="video_1" bandwidth="500000" width="640" height="360">
        <BaseURL>video-360.mp4</BaseURL>
        <SegmentBase indexRange="1000-2000"/>
      </Representation>
      <Representation id="video_2" bandwidth="1500000" width="1280" height="720">
        <BaseURL>video-720.mp4</BaseURL>
        <SegmentBase indexRange="3000-4000"/>
      </Representation>
    </AdaptationSet>
    
    <AdaptationSet mimeType="audio/mp4" codecs="mp4a.40.2">
      <Representation id="audio_1" bandwidth="128000">
        <BaseURL>audio.mp4</BaseURL>
        <SegmentBase indexRange="5000-6000"/>
      </Representation>
    </AdaptationSet>
  </Period>
</MPD>

MPD Dosyaları Oluşturmak İçin Alternatif Araçlar

MP4Box en popüler olmasına rağmen, kullanabileceğiniz diğer araçlar şunlardır:

AraçAçıklamaPlatform
FFmpeg-f dash seçeneğini kullanarak DASH segmentleri ve MPD dosyaları oluşturabilirÇapraz platform
Bento4MP4 ve DASH paketleme için bir araç setiÇapraz platform
Shaka PackagerGoogle’ın DASH ve HLS için açık kaynak paketleme aracıÇok platformlu
AWS Elemental MediaConvertBulut tabanlı paketleme hizmetiBulut

FFmpeg Kullanarak Örnek

ffmpeg -i input.mp4 -c:v libx264 -c:a aac -f dash -seg_duration 2 output.mpd

MPD Dosyası Nasıl Açılır

Bir .mpd dosyasını nasıl açacağınız, tamamen ne amaçla kullanıldığına bağlıdır.

Akış İçin (MPEG-DASH MPD)

  • Web Players: Bir MPD dosyasını VLC veya Windows Media Player gibi standart bir medya oynatıcıda MP4 dosyası gibi “açamazsınız”. Bunun yerine, bir MPD DASH uyumlu medya oynatıcı tarafından açılır. Örneğin, birçok web uygulamasına entegre edilmiş açık kaynak Dash.js oynatıcıdır. MPEG-DASH kullanan bir web sitesini ziyaret ettiğinizde, web oynatıcı arka planda MPD dosyasını okuyup işleyerek video segmentlerini alır ve oynatır.

  • Dash.js ile Test Etme: Dash.js referans oynatıcısını kullanarak bir MPD dosyasını test edebilirsiniz; bu oynatıcı https://reference.dashif.org/dash.js/ adresinde mevcuttur. MPD dosyanızın URL’sini yapıştırmanız yeterlidir, oynatıcı içeriği akışa almaya çalışacaktır.

Kodu Görüntülemek İçin

  • Metin Düzenleyicileri: Bir XML dosyası olduğu için, bir MPD dosyasını herhangi bir metin düzenleyicide açarak yapısını ve içeriğini inceleyebilirsiniz. Bu, geliştiriciler ve kalite güvence testçileri için faydalıdır. Notepad (Windows), TextEdit (Mac) veya VS Code, Sublime Text ya da Notepad++ gibi daha gelişmiş bir kod editörü kullanabilirsiniz.

Diğer .mpd Dosya Türleri Hakkında Önemli Açıklama

  • Microsoft Project Veritabanı: Bu, Microsoft Project tarafından proje yönetimi verilerini depolamak için kullanılan eski bir formattır. Yalnızca belirli, genellikle daha eski, Microsoft Project sürümleriyle veya MPXJ gibi üçüncü‑taraf kütüphanelerle açılabilir.

  • File List Creator Çalma Listesi: Bazı eski yazılımlar çalma listesi dosyaları için .mpd uzantısını kullanır ve bu dosyalar metin düzenleyicileriyle açılabilir.

Kullanım Durumları ve Uygulamalar

Talep Üzerine Video (VOD) Hizmetleri

Netflix, Amazon Prime ve Disney+ gibi platformlar, filmleri ve TV şovlarını sunmak için MPD manifestolarıyla MPEG‑DASH kullanır. MPD, bu hizmetlerin birden fazla kalite seviyesini sunmasına ve her kullanıcının internet bağlantısına uyum sağlamasına olanak tanır.

Canlı Yayın

Spor etkinlikleri, haber kanalları ve konserler, dinamik MPD dosyaları kullanılarak canlı olarak yayınlanır. Manifest, yeni segmentler kullanılabilir hale geldikçe gerçek zamanlı olarak güncellenir ve izleyicilerin olayları anında izlemelerini sağlar.

Gözetim ve Güvenlik

IP kameralar ve güvenlik sistemleri, izleme istasyonlarına ve mobil cihazlara canlı görüntü akışı sağlamak için MPD dosyalarını kullanır; ağ koşulları dalgalansa bile güvenilir oynatım sağlar.

E-Öğrenme Platformları

Eğitim platformları, video dersleri sunmak için DASH akışını kullanır; öğrencilerin bağlantı kalitesine bakılmaksızın içeriklere sorunsuz erişmesini, tamponlama sorunları yaşamamasını sağlar.

MPEG-DASH’te MPD Kullanmanın Avantajları

1. Açık Standart

Apple’ın HLS (HTTP Live Streaming) protokolünün aksine, MPEG-DASH açık bir uluslararası standarttır; bu da onu platform bağımsız ve geniş çapta desteklenen bir teknoloji yapar.

2. Verimli Bant Genişliği Kullanımı

Kaliteyi dinamik olarak ayarlayarak, MPD veri tüketimini en aza indirir ve hem sağlayıcılar hem de kullanıcılar için maliyet tasarrufu sağlar.

3. Sorunsuz Geçişler

Segment tabanlı yaklaşım, kalite seviyeleri arasında sorunsuz geçişlere olanak tanır; bu da izleyicinin tamponlama veya kalite düşüşlerinden kaynaklanan hayal kırıklığını azaltır.

4. Çoklu CDN Desteği

MPD dosyaları birden fazla BaseURL içerebilir; bu sayede içerik, yedeklilik ve yük dengeleme amacıyla birden çok CDN’den dağıtılabilir.

5. Reklam Yerleştirme

Dinamik MPD’ler, sunucu tarafı reklam eklemeyi mümkün kılar; reklamlar canlı akışa veya VOD içeriğine sorunsuz bir şekilde entegre edilir.

Sınırlamalar ve Dikkat Edilmesi Gerekenler

1. DRM Karmaşıklığı

MPD DRM’yi desteklese de, bunu farklı cihazlar ve tarayıcılarda doğru bir şekilde uygulamak zorlayıcı olabilir.

2. İstemci Tarafı Gereksinimleri

İstemci (oynatıcı) DASH uyumlu olmalıdır. Tüm eski oynatıcılar ek JavaScript kütüphaneleri olmadan MPEG-DASH’i desteklemez.

3. Gecikme

MPD ile canlı akış genellikle 6-30 saniye gecikmeye sahiptir. Ultra düşük gecikmeli uygulamalar (örneğin video konferans) için WebRTC gibi diğer protokoller daha uygun olabilir.

4. Dosya Boyutu Ek Yükü

XML yapısı ayrıntılı olabilir ve ikili manifest formatlarına göre bir miktar ek yük ekler.

Gelecek Trendleri

1. Düşük Gecikmeli DASH (LL-DASH)

DASH Endüstri Forumu, gecikmeyi azaltmak için uzantılar tanıttı ve gerçek zamanlıya yakın akış deneyimlerini mümkün kıldı.

2. CMCD Entegrasyonu

Common Media Client Data (CMCD) entegrasyonu, MPD oynatıcılarının CDN’lerle oynatma verilerini paylaşarak daha iyi performans optimizasyonu sağlamasına olanak tanır.

3. 8K ve HDR Desteği

Video kalitesi geliştikçe, MPD’ler daha yüksek çözünürlükleri, HDR’yi ve daha geniş renk gamlarını destekleyecek şekilde genişletiliyor.

4. Sunucu Tarafı Reklam Ekleme (SSAI)

Gelişmiş MPD manipülasyonları, reklamları manifest içine doğrudan sorunsuz bir şekilde eklemeye olanak tanır ve daha akıcı reklam deneyimleri oluşturur.

Sonuç

MPD formatı, modern akışın adı konmamış kahramanıdır. Dosya uzantısı diğer veri formatlarıyla karıştırılabilse de, MPEG-DASH içindeki Media Presentation Description rolü, internet üzerinde günlük olarak keyifle izlediğimiz uyarlanabilir, yüksek kaliteli video akışlarını güçlendirir. İyi yapılandırılmış XML formatı ve birden fazla temsil ile ayrıntılı segment bilgisi sağlama temel prensipleri, sağlam, ölçeklenebilir ve kullanıcı dostu bir akış deneyimi garantiler.

İster bir içerik sağlayıcı, ister bir akış platformu geliştiren bir geliştirici, ister sadece meraklı bir teknoloji meraklısı olun, MPD formatını anlamak, her sorunsuz video oynatma deneyiminin arkasındaki sofistike teknolojiye dair size içgörü sağlar.

Sıkça Sorulan Sorular (SSS)

1. Bir DASH MPD dosyasını görüntülemek için hangi yazılıma ihtiyacım var? MPEG-DASH’i destekleyen bir medya oynatıcıya ihtiyacınız var; örneğin dash.js gibi DASH uyumlu bir oynatıcıya sahip bir web tarayıcısı. Standart bir video oynatıcıyla doğrudan açamazsınız.

2. MPD dosyası MP4 dosyasıyla aynı mı? Hayır. MP4 dosyası, gerçek kodlanmış ses ve video verilerini içerir. MPD dosyası ise medyanın içeriğini tanımlayan ve oynatıcıya bu verinin daha küçük segmentlerini nerede bulacağını söyleyen bir manifest (manifest dosyası)dır.

3. MPD dosyasının yapısı nedir? MPD, <Period>, <AdaptationSet>, <Representation> ve <SegmentInfo> öğelerini içeren hiyerarşik bir yapıya sahip bir XML dosyasıdır ve medyayı düzenlemek ve tanımlamak için kullanılır.

4. Kendi videomdan bir MPD dosyası oluşturabilir miyim? Evet, videonuzu bölmek ve karşılık gelen MPD dosyasını otomatik olarak oluşturmak için GPAC’ın MP4Box’ı veya FFmpeg gibi açık kaynaklı araçları kullanabilirsiniz.

5. MPD kullandığımda oynatıcı neden daha az tamponlama yapıyor? Çünkü MPD, oynatıcının ağ koşullarınıza uyum sağlamasına izin verir. Hızınız düşerse, oynatıcı MPD’den daha düşük kaliteli bir temsili talep edebilir, böylece daha küçük veri parçaları indirerek tamponlamayı önler.

Referanslar ve Kaynaklar