Media Services v3'te dinamik paketleme

Media Services logosu v3


Uyarı

Azure Media Services 30 Haziran 2024'de kullanımdan kaldırılacaktır. Daha fazla bilgi için bkz. AMS Kullanımdan Kaldırma Kılavuzu.

Azure Media Services, HLS ve MPEG DASH akış protokolü biçimlerinde içerik sunmak için yerleşik kaynak sunucu ve paketleme özellikleri sağlar. AMS'de akış uç noktası , bu popüler biçimleri kullanarak uyarlamalı bit hızı akışını destekleyen istemci oynatıcılara biçimlendirilmiş HLS ve DASH içeriği gönderen "kaynak" sunucu işlevi görür. Akış Uç Noktası, tüm ana cihazlara (iOS ve Android cihazlar gibi) ulaşmak için tam zamanında, içerik korumasıyla veya içerik koruması olmadan dinamik paketleme gibi birçok özelliği de destekler.

Günümüzde piyasadaki çoğu tarayıcı ve mobil cihaz HLS veya DASH akış protokollerini desteklemektedir ve anlayabilir. Örneğin, iOS için akışların HTTP Canlı Akışı (HLS) biçiminde teslim edilmesi gerekir ve Android cihazlar belirli modellerde (veya Android cihazlar için uygulama düzeyi oynatıcı Exoplayer'ı kullanarak) HLS'yi ve MPEG DASH'i destekler.

Media Services'te akış uç noktası (kaynak), canlı ve isteğe bağlı içeriğinizi doğrudan bir istemci oynatıcı uygulamasına sunabilen dinamik (tam zamanında) paketleme ve kaynak hizmetini temsil eder. Aşağıdaki bölümde bahsedilen yaygın akış medya protokollerinden birini kullanır. Dinamik paketleme , tüm akış uç noktaları için standart olarak gelen bir özelliktir.

dinamik paketleme

Tam zamanında paketlemenin avantajları şunlardır:

  • Tüm dosyalarınızı standart MP4 dosya biçiminde depolayabilirsiniz.
  • Depolanan video içeriği miktarını azaltan ve depolama maliyetlerinizi düşüren statik paketlenmiş HLS ve DASH biçimlerinin birden çok kopyasını blob depolamada depolamanız gerekmez.
  • Kataloğunuzdaki statik içeriği yeniden paketlemeye gerek kalmadan yeni protokol güncelleştirmelerinden ve belirtimlerdeki değişikliklerden anında yararlanabilirsiniz.
  • Depolama alanında aynı MP4 dosyalarını kullanarak içeriği şifreleme ve DRM ile veya şifreleme olmadan teslim edebilirsiniz.
  • Belirli parçaları, çözünürlükleri, dilleri kaldırmak veya içeriği yeniden kodlamadan veya yeniden işlemeden aynı MP4 dosyalarından daha kısa vurgu klipleri sağlamak için basit varlık düzeyi veya genel filtrelerle bildirimleri dinamik olarak filtreleyebilir veya değiştirebilirsiniz.

Kaynak dosyalarınızı teslime hazırlamak için

Dinamik paketlemeden yararlanmak için ara (kaynak) dosyanızı bir dizi tek veya birden çok bit hızı MP4 (ISO Temel Medya 14496-12) dosyasına kodlayın . Kodlanmış video dosyaları ve akış yapılandırma dosyaları bir çıkış varlığında bulunur. Bu dosya kümesinden, akış medya protokolleri aracılığıyla video teslim etmek için dinamik paketleme kullanabilirsiniz.

Genellikle, bu içeriği İçerik Algılayan Kodlama ön ayarlarını veya Uyarlamalı Bit Hızı ön ayarlarını kullanarak oluşturmak için Azure Media Services standart kodlayıcısını kullanırsınız. Her ikisi de akış ve dinamik paketleme için hazır bir MP4 dosyaları kümesi oluşturur.

Alternatif olarak, bir dış hizmet, şirket içi veya kendi VM'lerinizde ya da sunucusuz işlev uygulamalarınızda kodlamayı seçebilirsiniz. Bit hızı uyarlamalı akış biçimleri için kodlama gereksinimlerini karşılaması koşuluyla dışarıdan kodlanmış içerik akış için bir varlığa yüklenebilir. Akış için önceden kodlanmış bir MP4'ü karşıya yükleme örnek projesi .NET SDK örneklerinde bulunabilir. Bkz. Mevcut Mp4 dosyalarını akışla aktarma.

Azure Media Services dinamik paketlemesi yalnızca MP4 kapsayıcı biçimindeki video ve ses dosyalarını destekler. Dolby gibi alternatif codec bileşenleri kullanılırken ses dosyalarının da bir MP4 kapsayıcısına kodlanması gerekir.

Videoların akış için kullanılabilir olmasını sağlama

Kodlanmış varlıktaki videoları kayıttan yürütme için istemcilerin kullanımına açmak için, akışı bulucu kullanarak varlığı yayımlayın ve uygun HLS ve DASH akış URL'lerini oluşturun. HIZMET, URL biçim sorgusunda kullanılan protokolü değiştirerek uygun akış bildirimini (HLS, MPEG DASH) teslim eder.

Sonuç olarak, dosyaları yalnızca tek depolama biçiminde (MP4) depolamanız ve ödemeniz gerekir ve Media Services, istemci oynatıcılarınızdan gelen isteklere göre uygun HLS veya DASH bildirimlerini oluşturur ve sunar.

İçeriğinizi Media Services dinamik şifrelemesini kullanarak korumayı planlıyorsanız bkz . Akış protokolleri ve şifreleme türleri.

HLS Teslim Et

HLS dinamik paketleme

Akış istemciniz aşağıdaki HLS biçimlerini belirtebilir. En son oyuncular ve iOS cihazlarıyla uyumluluk için CMAF biçimini kullanmanızı öneririz. Eski cihazlar için, yalnızca biçim sorgu dizesini değiştirerek v4 ve v3 biçimleri de kullanılabilir.

Protokol Biçimlendirme dizesi Örnek
HLS CMAF format=m3u8-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-cmaf)
HLS V4 format=m3u8-aapl https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-aapl)
HLS V3 format=m3u8-aapl-v3 https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=m3u8-aapl-v3)

Not

Apple'ın önceki yönergeleri düşük bant genişliğine sahip ağlarda geri dönüşün yalnızca ses akışı sağlamak olduğunu önermektedir. Şu anda Media Services kodlayıcısı otomatik olarak yalnızca ses parçası oluşturur. Apple yönergeleri artık özellikle Apple TV dağıtımı için yalnızca ses parçasının dahil edilmemesi gerektiğini belirtmektedir. Oynatıcının varsayılan olarak yalnızca ses parçasına geçmesini önlemek için URL'de HLS'de yalnızca ses işlemesini kaldıran "audio-only=false" etiketini kullanmanızı veya yalnızca HLS-V3 kullanmanızı öneririz. Örneğin, http://host/locator/asset.ism/manifest(format=m3u8-aapl,audio-only=false).

VOD için HLS paketleme oranı

Eski HLS biçimleri için VOD içeriğinin paketleme oranını denetlemek için,.ism dosyasındaki fragmentsPerHLSSegment meta veri etiketini, eski v3 ve v4 HLS biçim bildirimlerinden teslim edilen TS segmentleri için varsayılan 3:1 paketleme oranını denetlemek üzere ayarlayabilirsiniz. Bu ayar değişikliği, paketleme oranını ayarlamak için depolamadaki .ism dosyasını doğrudan değiştirmenizi gerektirir.

Parçalarla örnek .ism sunucu bildirimiPerHLSSegment 1 olarak ayarlandı.

   <?xml version="1.0" encoding="utf-8" standalone="yes"?>
   <smil xmlns="http://www.w3.org/2001/SMIL20/Language">
      <head>
         <meta name="formats" content="mp4" />
         <meta name="fragmentsPerHLSSegment" content="1"/>
      </head>
      <body>
         <switch>
         ...
         </switch>
      </body>
   </smil>

DASH teslim et

DASH dinamik paketleme

Akış istemciniz aşağıdaki MPEG-DASH biçimlerini belirtebilir:

Protokol Biçimlendirme dizesi Örnek
MPEG-DASH CMAF format=mpd-time-cmaf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-cmaf)
MPEG-DASH CSF (eski) format=mpd-time-csf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-csf)

Kesintisiz Akış bildirimleri sunma

Kesintisiz Akış dinamik paketleme

Akış istemciniz aşağıdaki Kesintisiz Akış biçimlerini belirtebilir:

Protokol Notlar/örnekler
Kesintisiz Akış https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest
Kesintisiz Akış 2.0 (eski bildirim) Varsayılan olarak Kesintisiz Akış bildirim biçimi yineleme etiketini (r-tag) içerir. Ancak, bazı oyuncular desteklemez r-tag. Bu oynatıcılara sahip istemciler, r etiketini devre dışı bırakmak için bir biçim kullanabilir:

https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=fmp4-v20)

Not

Kesintisiz Akış, akışınızda hem ses hem de video bulunması gerekir.

İsteğe bağlı akış iş akışı

Aşağıdaki adımlarda, Azure Media Services'te Standart Kodlayıcı ile birlikte dinamik paketlemenin kullanıldığı yaygın bir Media Services akış iş akışı gösterilmektedir.

  1. MP4, QuickTime/MOV gibi bir giriş dosyasını veya desteklenen başka bir dosya biçimini karşıya yükleyin. Bu dosya, asma kat veya kaynak dosya olarak da adlandırılır. Desteklenen biçimlerin listesi için bkz. Standart Kodlayıcı Tarafından Desteklenen Biçimler.

  2. Asma dosyanızı H.264/AAC MP4 uyarlamalı bit hızı kümesine kodlar.

    Zaten kodlanmış dosyalarınız varsa ve yalnızca dosyaları kopyalayıp akışa almak istiyorsanız şunu kullanın: CopyVideo ve CopyAudio API'leri. Sonuç olarak akış bildirimi (.ism dosyası) içeren yeni bir MP4 dosyası oluşturulur.

    Buna ek olarak, bit hızı uyarlamalı akış için doğru ayarlar kullanılarak kodlanmış olduğu sürece önceden kodlanmış bir dosyada .ism ve .ismc dosyasını oluşturabilirsiniz (bu genellikle 2 saniyelik GOP'lar, 2s dk ve maksimum Anahtar kare uzaklıkları ve Sabit Bit Hızı (CBR) modu kodlamasıdır.)

    Var olan, önceden kodlanmış bir MP4 dosyasından akış için .ism (sunucu bildirimi) ve .ismc (istemci bildirimleri) oluşturma hakkında ayrıntılı bilgi için mevcut Mp4 .NET SDK örneğine bakın.

  3. Bit hızı uyarlamalı MP4 kümesini içeren çıkış varlığını yayımlayın. Akış bulucu oluşturarak yayımlarsınız.

  4. Farklı biçimleri (HLS, MPEG-DASH ve Kesintisiz Akış) hedefleyen URL'ler oluşturun. Akış uç noktası, tüm bu farklı biçimler için doğru bildirimi ve istekleri sunmayla ilgilenir.

İndirme yolu, bir MP4 dosyasını doğrudan akış uç noktası (kaynak) üzerinden indirebileceğinizi göstermek için yukarıdaki görüntüde bulunur (akış bulucuda indirilebilir akış ilkesini belirtirsiniz).
Dinamik paketleyici dosyayı değiştirmiyor. İsteğe bağlı olarak, akış uç noktası (kaynak) özelliklerini atlamak istiyorsanız aşamalı indirme için doğrudan MP4'e erişmek için Azure blob depolama API'lerini kullanabilirsiniz.

Bit hızı uyarlamalı MP4'lere kodlama

Aşağıdaki makalelerde Media Services ile video kodlama örnekleri gösterilmektedir:

Desteklenen Standart Kodlayıcı giriş biçimleri ve codec bileşenleri listesine bakın.

Canlı akış iş akışı

Canlı etkinlik geçiş (şirket içi canlı kodlayıcı birden çok bit hızı akışı gönderir) veya canlı kodlama (şirket içi canlı kodlayıcı tek bit hızlı akış gönderir) olarak ayarlanabilir.

Dinamik paketleme ile canlı akış için yaygın bir iş akışı aşağıdadır:

  1. Canlı etkinlik oluşturun.
  2. Alma URL'sini alın ve katkı akışını göndermek için URL'yi kullanmak üzere şirket içi kodlayıcınızı yapılandırın.
  3. Önizleme URL'sini alın ve kodlayıcıdan gelen girişin alındığını doğrulamak için kullanın.
  4. Yeni bir varlık oluşturun.
  5. Canlı çıkış oluşturun ve oluşturduğunuz varlık adını kullanın.
    Canlı çıkış, akışı varlığa arşivler.
  6. Yerleşik akış ilkesi türleriyle bir akış bulucu oluşturun.
    İçeriğinizi şifrelemek istiyorsanız İçerik korumasına genel bakış bölümünü gözden geçirin.
  7. Kullanılacak URL'leri almak için akış bulucudaki yolları listeleyin.
  8. Akış yapmak istediğiniz akış uç noktasının ana bilgisayar adını alın.
  9. Farklı biçimleri (HLS, MPEG-DASH ve Kesintisiz Akış) hedefleyen URL'ler oluşturun. Akış uç noktası, farklı biçimler için doğru bildirimi ve istekleri sunmayla ilgilenir.

Media Services v3'te canlı akış hakkında bilgi için bkz. Canlı akışa genel bakış.

Dinamik Paketleme tarafından desteklenen video codec'leri

Dinamik paketleme, MP4 kapsayıcı dosyası biçiminde olan ve H.264 (MPEG-4 AVC veya AVC1) veya H.265 (HEVC, hev1 veya hvc1) ile kodlanmış video içeren video dosyalarını destekler.

Not

4K'ya kadar çözünürlükler ve 60 kare/saniyeye kadar kare hızları dinamik paketleme ile test edilmiştir.

Dinamik paketleme tarafından desteklenen ses codec bileşenleri

Dinamik paketleme, aşağıdaki codec'lerden birinde kodlanmış ses akışı içeren MP4 dosya kapsayıcı biçiminde depolanan ses dosyalarını da destekler:

  • AAC (AAC-LC, HE-AAC v1 veya HE-AAC v2).

  • Dolby Digital Plus (Gelişmiş AC-3 veya E-AC3). Kodlanmış sesin Dinamik Paketleme ile çalışabilmesi için MP4 kapsayıcı biçiminde depolanması gerekir.

  • Dolby Atmos

    Dolby Atmos içeriğinin akışı, Ortak Akış Biçimi (CSF) veya Ortak Medya Uygulaması Biçimi (CMAF) parçalanmış MP4 ve CMAF ile HTTP Canlı Akışı (HLS) aracılığıyla MPEG-DASH protokolü gibi standartlar için desteklenir.

  • DTS
    DASH-CSF, DASH-CMAF, HLS-M2TS ve HLS-CMAF paketleme biçimleri tarafından desteklenen DTS codec bileşenleri şunlardır:

    • DTS Digital Surround (dtsc)
    • DTS-HD Yüksek Çözünürlüklü ve DTS-HD Ana Ses (dtsh)
    • DTS Express (dtse)
    • DTS-HD Kayıpsız (çekirdeksiz) (dtsl)

Dinamik paketleme, birden çok codec'e ve dile sahip birden çok ses parçasına sahip akış varlıkları için DASH veya HLS (sürüm 4 veya üzeri) ile birden çok ses parçası destekler.

Yukarıdaki tüm ses codec bileşenleri için kodlanmış sesin Dinamik Paketleme ile çalışabilmesi için MP4 kapsayıcı biçiminde depolanması gerekir. Hizmet blob depolamada ham temel akış dosyası biçimlerini desteklemez (örneğin, aşağıdakiler desteklenmez- .dts, .ac3.)

Ses paketleme için yalnızca .mp4a uzantısı .mp4 olan dosyalar desteklenir.

Sınırlamalar

AAC 5.1 seste iOS sınırlaması

Apple iOS cihazları 5.1 AAC ses codec'ini desteklemez. Çok kanallı sesin Dolby Digital veya Dolby Digital Plus codec bileşenleri kullanılarak kodlanması gerekir.

Ayrıntılı bilgi için bkz. Apple cihazları için HLS yazma belirtimi.

Not

Media Services Dolby Digital, Dolby Digital Plus veya Dolby Digital Plus ile Dolby Atmos çok kanallı ses biçimlerinin kodlanmalarını desteklemez.

Dolby Digital ses

Media Services dinamik paketlemesi şu anda Dolby Digital (AC3) ses içeren dosyaları desteklememektedir (bu, Dolby tarafından eski bir codec olarak kabul edildiği için).

Bildirim

Media Services dinamik paketlemesinde HLS, MPEG-DASH ve Kesintisiz Akış için akış istemci bildirimleri, URL'deki biçim sorgusuna göre dinamik olarak oluşturulur.

Bildirim dosyası izleme türü (ses, video veya metin), izleme adı, başlangıç ve bitiş saati, bit hızı (nitelikler), dilleri izleme, sunu penceresi (sabit sürenin kayan penceresi) ve video codec'i (FourCC) gibi akış meta verilerini içerir. Ayrıca mevcut olan bir sonraki oynatılabilir video parçaları ve konumları hakkında bilgi sağlayarak oyuncuya bir sonraki parçayı almasını da emreder. Parçalar (veya segmentler), video içeriğinin gerçek "öbekleridir".

Örnekler

HLS

Aşağıda, HLS ana çalma listesi olarak da adlandırılan bir HLS bildirim dosyası örneği verilmişti:

#EXTM3U
#EXT-X-VERSION:4
#EXT-X-MEDIA:TYPE=AUDIO,GROUP-ID="audio",NAME="aac_eng_2_128041_2_1",LANGUAGE="eng",DEFAULT=YES,AUTOSELECT=YES,URI="QualityLevels(128041)/Manifest(aac_eng_2_128041_2_1,format=m3u8-aapl)"
#EXT-X-STREAM-INF:BANDWIDTH=536608,RESOLUTION=320x180,CODECS="avc1.64000d,mp4a.40.2",AUDIO="audio"
QualityLevels(381048)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=536608,RESOLUTION=320x180,CODECS="avc1.64000d",URI="QualityLevels(381048)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=884544,RESOLUTION=480x270,CODECS="avc1.640015,mp4a.40.2",AUDIO="audio"
QualityLevels(721495)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=884544,RESOLUTION=480x270,CODECS="avc1.640015",URI="QualityLevels(721495)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=1327398,RESOLUTION=640x360,CODECS="avc1.64001e,mp4a.40.2",AUDIO="audio"
QualityLevels(1154816)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=1327398,RESOLUTION=640x360,CODECS="avc1.64001e",URI="QualityLevels(1154816)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=2413312,RESOLUTION=960x540,CODECS="avc1.64001f,mp4a.40.2",AUDIO="audio"
QualityLevels(2217354)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=2413312,RESOLUTION=960x540,CODECS="avc1.64001f",URI="QualityLevels(2217354)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=3805760,RESOLUTION=1280x720,CODECS="avc1.640020,mp4a.40.2",AUDIO="audio"
QualityLevels(3579827)/Manifest(video,format=m3u8-aapl)
#EXT-X-I-FRAME-STREAM-INF:BANDWIDTH=3805760,RESOLUTION=1280x720,CODECS="avc1.640020",URI="QualityLevels(3579827)/Manifest(video,format=m3u8-aapl,type=keyframes)"
#EXT-X-STREAM-INF:BANDWIDTH=139017,CODECS="mp4a.40.2",AUDIO="audio"
QualityLevels(128041)/Manifest(aac_eng_2_128041_2_1,format=m3u8-aapl)

MPEG-DASH

MpEG-DASH Medya Sunu Açıklaması (MPD) olarak da adlandırılan MPEG-DASH bildirim dosyası örneği aşağıda verilmiştır:

<?xml version="1.0" encoding="UTF-8"?>
<MPD xmlns="urn:mpeg:dash:schema:mpd:2011" xmlns:xsi="https://www.w3.org/2001/XMLSchema-instance" profiles="urn:mpeg:dash:profile:isoff-live:2011" type="static" mediaPresentationDuration="PT1M10.315S" minBufferTime="PT7S">
   <Period>
      <AdaptationSet id="1" group="5" profiles="ccff" bitstreamSwitching="false" segmentAlignment="true" contentType="audio" mimeType="audio/mp4" codecs="mp4a.40.2" lang="en">
         <SegmentTemplate timescale="10000000" media="QualityLevels($Bandwidth$)/Fragments(aac_eng_2_128041_2_1=$Time$,format=mpd-time-csf)" initialization="QualityLevels($Bandwidth$)/Fragments(aac_eng_2_128041_2_1=i,format=mpd-time-csf)">
            <SegmentTimeline>
               <S d="60160000" r="10" />
               <S d="41386666" />
            </SegmentTimeline>
         </SegmentTemplate>
         <Representation id="5_A_aac_eng_2_128041_2_1_1" bandwidth="128041" audioSamplingRate="48000" />
      </AdaptationSet>
      <AdaptationSet id="2" group="1" profiles="ccff" bitstreamSwitching="false" segmentAlignment="true" contentType="video" mimeType="video/mp4" codecs="avc1.640020" maxWidth="1280" maxHeight="720" startWithSAP="1">
         <SegmentTemplate timescale="10000000" media="QualityLevels($Bandwidth$)/Fragments(video=$Time$,format=mpd-time-csf)" initialization="QualityLevels($Bandwidth$)/Fragments(video=i,format=mpd-time-csf)">
            <SegmentTimeline>
               <S d="60060000" r="10" />
               <S d="42375666" />
            </SegmentTimeline>
         </SegmentTemplate>
         <Representation id="1_V_video_1" bandwidth="3579827" width="1280" height="720" />
         <Representation id="1_V_video_2" bandwidth="2217354" codecs="avc1.64001F" width="960" height="540" />
         <Representation id="1_V_video_3" bandwidth="1154816" codecs="avc1.64001E" width="640" height="360" />
         <Representation id="1_V_video_4" bandwidth="721495" codecs="avc1.640015" width="480" height="270" />
         <Representation id="1_V_video_5" bandwidth="381048" codecs="avc1.64000D" width="320" height="180" />
      </AdaptationSet>
   </Period>
</MPD>

Kesintisiz Akış

Aşağıda Kesintisiz Akış bildirim dosyası örneği verilmişti:

<?xml version="1.0" encoding="UTF-8"?>
<SmoothStreamingMedia MajorVersion="2" MinorVersion="2" Duration="703146666" TimeScale="10000000">
   <StreamIndex Chunks="12" Type="audio" Url="QualityLevels({bitrate})/Fragments(aac_eng_2_128041_2_1={start time})" QualityLevels="1" Language="eng" Name="aac_eng_2_128041_2_1">
      <QualityLevel AudioTag="255" Index="0" BitsPerSample="16" Bitrate="128041" FourCC="AACL" CodecPrivateData="1190" Channels="2" PacketSize="4" SamplingRate="48000" />
      <c t="0" d="60160000" r="11" />
      <c d="41386666" />
   </StreamIndex>
   <StreamIndex Chunks="12" Type="video" Url="QualityLevels({bitrate})/Fragments(video={start time})" QualityLevels="5">
      <QualityLevel Index="0" Bitrate="3579827" FourCC="H264" MaxWidth="1280" MaxHeight="720" CodecPrivateData="0000000167640020ACD9405005BB011000003E90000EA600F18319600000000168EBECB22C" />
      <QualityLevel Index="1" Bitrate="2217354" FourCC="H264" MaxWidth="960" MaxHeight="540" CodecPrivateData="000000016764001FACD940F0117EF01100000303E90000EA600F1831960000000168EBECB22C" />
      <QualityLevel Index="2" Bitrate="1154816" FourCC="H264" MaxWidth="640" MaxHeight="360" CodecPrivateData="000000016764001EACD940A02FF9701100000303E90000EA600F162D960000000168EBECB22C" />
      <QualityLevel Index="3" Bitrate="721495" FourCC="H264" MaxWidth="480" MaxHeight="270" CodecPrivateData="0000000167640015ACD941E08FEB011000003E90000EA600F162D9600000000168EBECB22C" />
      <QualityLevel Index="4" Bitrate="381048" FourCC="H264" MaxWidth="320" MaxHeight="180" CodecPrivateData="000000016764000DACD941419F9F011000003E90000EA600F14299600000000168EBECB22C" />
      <c t="0" d="60060000" r="11" />
      <c d="42375666" />
   </StreamIndex>
</SmoothStreamingMedia>

Bildirimdeki parçaları adlandırma

.ism dosyasında bir ses parçası adı belirtilirse, Media Services belirli bir ses parçasının metin bilgilerini belirtmek için içine bir LabelAdaptationSet öğesi ekler. Çıkış DASH bildirimi örneği:

<AdaptationSet codecs="mp4a.40.2" contentType="audio" lang="en" mimeType="audio/mp4" subsegmentAlignment="true" subsegmentStartsWithSAP="1">
  <Label>audio_track_name</Label>
  <Role schemeIdUri="urn:mpeg:dash:role:2011" value="main"/>
  <Representation audioSamplingRate="48000" bandwidth="131152" id="German_Forest_Short_Poem_english-en-68s-2-lc-128000bps_seg">
    <BaseURL>German_Forest_Short_Poem_english-en-68s-2-lc-128000bps_seg.mp4</BaseURL>
  </Representation>
</AdaptationSet>

Oynatıcı kullanıcı arabiriminde Label görüntülemek için öğesini kullanabilir.

Sinyal sesli açıklama parçaları

Görme engelli istemcilerin anlatımı dinleyerek video kaydını takip etmelerine yardımcı olmak için videonuza bir anlatım parçası ekleyebilirsiniz. Bildirimde ses parçasına açıklama olarak açıklama eklemeniz gerekir. Bunu yapmak için .ism dosyasına "erişilebilirlik" ve "rol" parametreleri ekleyin. Ses parçasına sesli açıklama olarak sinyal vermek için bu parametreleri doğru ayarlamak sizin sorumluluğunuzdadır. Örneğin, belirli bir ses parçası için .ism dosyasına ve <param name="role" value="alternate" ekleyin <param name="accessibility" value="description" />

Kesintisiz Akış bildirimi

Kesintisiz Akış akışı oynatıyorsanız bildirim, bu ses parçasının ve özniteliklerinin değerlerini AccessibilityRole taşır. Örneğin, Role="alternate" Accessibility="description" bir sesli açıklama olduğunu belirtmek için öğesine eklenir StreamIndex .

DASH bildirimi

DASH bildirimi için, ses açıklamasına sinyal vermek için aşağıdaki iki öğe eklenir:

<Accessibility schemeIdUri="urn:mpeg:dash:role:2011" value="description"/>
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="alternate"/>

HLS çalma listesi

HLS v7 ve üzeri (format=m3u8-cmaf)için, sesli açıklama parçası sinyal verildiğinde çalma listesi taşınacak AUTOSELECT=YES,CHARACTERISTICS="public.accessibility.describes-video" .

Dinamik Bildirim filtreleme

Oyunculara gönderilen parça, biçim, bit hızı ve sunum süresi pencerelerinin sayısını denetlemek için Media Services dinamik paketleyicisi ile dinamik filtreleme kullanabilirsiniz. Daha fazla bilgi için bkz. Dinamik paketleyici ile bildirimleri önceden filtreleme.

DRM için dinamik şifreleme

Canlı veya isteğe bağlı içeriğinizi AES-128 veya üç büyük dijital hak yönetimi (DRM) sisteminden herhangi biriyle dinamik olarak şifrelemek için dinamik şifreleme kullanabilirsiniz: Microsoft PlayReady, Google Widevine ve Apple FairPlay. Media Services ayrıca yetkili istemcilere AES anahtarlarını ve DRM lisanslarını teslim etmeye yönelik bir hizmet sağlar. Daha fazla bilgi için bkz. dinamik şifreleme.

Not

Widevine, Google Inc. tarafından sağlanan ve Google, Inc.'in hizmet koşullarına ve Gizlilik Politikasına tabi olan bir hizmettir.

Yardım ve destek alma

Aşağıdaki yöntemlerden birini kullanarak Media Services ile iletişime geçebilir veya güncelleştirmelerimizi izleyebilirsiniz: