Dynamisk paketering i Media Services v3

media services-logotyp v3


Letar du efter Media Services v2-dokumentation?

Azure Media Services har inbyggd ursprungsserver och paketeringsfunktioner för att leverera innehåll i formaten HLS- och MPEG DASH-strömningsprotokoll. I AMS fungerar slutpunkten för direktuppspelning som "ursprungsservern" som skickar formaterat HLS- och DASH-innehåll till klientspelare som stöder direktuppspelning med anpassningsbar bithastighet med hjälp av de populära formaten. Slutpunkten för direktuppspelning stöder också många funktioner, till exempel just-in-time, dynamisk paketering med eller utan innehållsskydd, för att nå alla större enheter (t.ex. iOS- och Android-enheter).

De flesta webbläsare och mobila enheter på marknaden stöder och förstår strömningsprotokollen HLS eller DASH. Till exempel kräver iOS att dataströmmar levereras i HTTP Live Streaming-format (HLS) och Android-enheter stöder HLS samt MPEG DASH på vissa modeller (eller genom användning av spelaren på programnivå Exo player för Android-enheter.

I Media Services representerar en slutpunkt för direktuppspelning (ursprung) en dynamisk paketerings- och ursprungstjänst (just-in-time) som kan leverera live- och på-begäran-innehåll direkt till en klientspelarapp. Det använder ett av de vanliga protokollen för strömmande media som nämns i följande avsnitt. Dynamisk paketering är en funktion som är standard på alla slutpunkter för direktuppspelning.

Fördelarna med just-in-time-paketering är följande:

  • Du kan lagra alla dina filer i MP4-standardfilformat
  • Du behöver inte lagra flera kopior av statiska paketerade HLS- och DASH-format i bloblagring, vilket minskar mängden videoinnehåll som lagras och sänker dina totala lagringskostnader
  • Du kan omedelbart dra nytta av nya protokolluppdateringar och ändringar i specifikationerna när de utvecklas med tiden utan att behöva paketera om det statiska innehållet i katalogen
  • Du kan leverera innehåll med vår utan kryptering och DRM med samma MP4-filer i lagringen
  • Du kan filtrera eller ändra manifesten dynamiskt med enkla eller globala filter på tillgångsnivå för att ta bort specifika spår, upplösningar, språk eller ge kortare markeringsklipp från samma MP4-filer utan att koda om eller återge innehållet på nytt.

Förbereda dina källfiler för leverans

Om du vill dra nytta av dynamisk paketering måste du koda din mezzaninfil (källa) till en uppsättning MP4-filer med en eller flera bithastigheter (ISO Base Media 14496-12). Du måste ha en tillgång med de kodade MP4- och strömmande konfigurationsfilerna som krävs Media Services dynamisk paketering. Från den här uppsättningen MP4-filer kan du använda dynamisk paketering för att leverera video via de protokoll för direktuppspelningsmedia som beskrivs nedan.

Normalt använder du standardkodaren Azure Media Services för att generera det här innehållet med hjälp av förinställningar för Innehållsmedveten kodning eller förinställningar för anpassningsbar bithastighet. Båda genererar en uppsättning MP4-filer som är redo för strömning och dynamisk paketering. Du kan också välja att koda i en extern tjänst, lokalt eller på dina egna virtuella datorer eller serverlösa funktionsappar. Innehåll som kodas externt kan överföras till en tillgång för strömning förutsatt att det uppfyller kodningskraven för strömningsformat med anpassningsbar bithastighet. Ett exempelprojekt för att ladda upp en förkodad MP4 för strömning finns i .NET SDK-exemplen – se Strömma befintliga Mp4-filer.

Azure Media Services dynamisk paketering stöder endast video- och ljudfiler i MP4-containerformatet. Ljudfiler måste även kodas till en MP4-container när du använder alternativa codecs som Dolby.

Tips

Ett sätt att hämta MP4- och strömningskonfigurationsfilerna är att koda din mezzaninfil med Media Services. Vi rekommenderar att du använder förinställningen innehållsmedveten kodning för att generera de bästa anpassningsbara strömningsskikten och inställningarna för ditt innehåll. Se kodexempel för kodning med .NET SDK i mappen VideoEncoding

Om du vill göra videor i den kodade tillgången tillgängliga för uppspelning av klienter måste du publicera tillgången med hjälp av en positionerare för direktuppspelning och skapa lämpliga URL:er för HLS- och DASH-strömning. Genom att ändra det protokoll som används i URL-formatfrågan levererar tjänsten lämpligt strömningsmanifest (HLS, MPEG DASH.)

Därför behöver du bara lagra och betala för filerna i ett enda lagringsformat (MP4) och Media Services genererar och betjänar lämpliga HLS- eller DASH-manifest baserat på begäranden från dina klientspelare.

Om du planerar att skydda ditt innehåll med hjälp av Media Services dynamisk kryptering, se Strömningsprotokoll och krypteringstyper.

Leverera HLS

Dynamisk HLS-paketering

Strömningsklienten kan ange följande HLS-format. Vi rekommenderar att du använder CMAF-formatet för kompatibilitet med de senaste spelarna och iOS-enheterna. För äldre enheter är även v4- och v3-formaten tillgängliga genom att helt enkelt ändra formatsträngen.

Protokoll Formatsträng Exempel
HLS CMAF (rekommenderas) 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)

Anteckning

Tidigare riktlinjer från Apple rekommenderade att återställningen för nätverk med låg bandbredd var att tillhandahålla en ljudström. För närvarande genererar Media Services kodaren automatiskt ett ljudspår. Apples riktlinjer visar nu att endast ljudspåret inte ska inkluderas, särskilt för Apple TV-distribution. För att förhindra att spelaren som standard använder ett ljudspår föreslår vi att du använder taggen "audio-only=false" i URL:en som tar bort återgivningar av endast ljud i HLS, eller bara använder HLS-V3. Till exempel http://host/locator/asset.ism/manifest(format=m3u8-aapl,audio-only=false).

HLS-packningsgrad för VOD

Om du vill kontrollera packningsförhållandet för VOD-innehåll för äldre HLS-format kan du ange metadatataggen fragmentsPerHLSSegment i ism-filen för att kontrollera standardförhållandet 3:1 för TS-segment som levereras från de äldre v3- och v4 HLS-formatmanifesten. Den här inställningsändringen kräver att du ändrar .ism-filen i lagringen direkt för att justera packningsförhållandet.

Exempel på .ism-servermanifest med fragmentPerHLSSegment inställt på 1.

   <?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>

Leverera DASH

Dynamisk DASH-paketering

Strömningsklienten kan ange följande MPEG-DASH-format:

Protokoll Formatsträng Exempel
MPEG-DASH CMAF (rekommenderas) 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 (äldre) format=mpd-time-csf https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-csf)

Leverera Smooth Streaming manifest

Smooth Streaming dynamisk paketering

Strömningsklienten kan ange följande Smooth Streaming format:

Protokoll Anteckningar/exempel
Smooth Streaming https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest
Smooth Streaming 2.0 (äldre manifest) Som standard Smooth Streaming manifestformatet upprepningstaggen (r-tagg). Vissa spelare stöder dock inte r-tag . Klienter med dessa spelare kan använda ett format som inaktiverar r-taggen:

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

Anteckning

Smooth Streaming kräver att både ljud och video ska finnas i strömmen.

Arbetsflöde för strömning på begäran

Följande steg visar ett vanligt arbetsflöde Media Services strömning där dynamisk paketering används tillsammans med Standard-kodaren i Azure Media Services.

  1. Upload en indatafil som MP4, QuickTime/MOV eller något annat filformat som stöds. Den här filen kallas även för mezzanin- eller källfilen. En lista över format som stöds finns i Format som stöds av Standard Encoder.

  2. Koda din mezzaninfil till en H.264/AAC MP4-uppsättning med anpassningsbar bithastighet.

    Om du redan har kodade filer och bara vill kopiera och strömma filerna använder du API:erna CopyVideo och CopyAudio. En ny MP4-fil med ett strömningsmanifest (.ism-fil) skapas som ett resultat.

    Dessutom kan du bara generera .ism- och .ismc-filen på en förkodad fil, så länge den är kodad med rätt inställningar för direktuppspelning med anpassningsbar bithastighet (detta är vanligtvis 2 sekunders GOPs, nyckelramavstånd på 2 minuter och max samt kodning i konstant bithastighet (CBR).)

    Mer information om hur du genererar .ism (servermanifestet) och .ismc (klientmanifest) för strömning från en befintlig, förkodad MP4-fil finns i Ström befintliga Mp4 .NET SDK-exempel.

  3. Publicera den utdatatillgång som innehåller MP4-uppsättningen med anpassningsbar bithastighet. Du publicerar genom att skapa en positionerare för direktuppspelning.

  4. Skapa URL:er som riktar sig mot olika format (HLS, MPEG-DASH och Smooth Streaming). Slutpunkten för direktuppspelning tar hand om att betjäna rätt manifest och begäranden för alla dessa olika format.

Följande diagram visar strömning på begäran med dynamiskt paketeringsarbetsflöde.

Diagram över ett arbetsflöde för strömning på begäran med dynamisk paketering

Nedladdningssökvägen finns i bilden ovan för att visa dig att du kan ladda ned en MP4-fil direkt via slutpunkten för direktuppspelning (ursprung) (du anger den nedladdningsbara direktuppspelningsprincipen på strömningslokaliseraren).
Den dynamiska paketeraren ändrar inte filen. Du kan också använda Azure Blob Storage-API:er för att få åtkomst till en MP4 direkt för progressiv nedladdning om du vill kringgå funktionerna för slutpunkt för direktuppspelning (ursprung).

Koda till MP4:er med anpassningsbar bithastighet

Följande artiklar visar exempel på hur du kodar en video med Media Services:

Se listan över standardkodarindataformat och codecs som stöds.

Arbetsflöde för liveuppspelning

En livehändelse kan antingen ställas in på en genomströmning (en lokal livekodare skickar en dataström med flera bithastigheter) eller livekodning (en lokal livekodare skickar en dataström med enkel bithastighet).

Här är ett vanligt arbetsflöde för liveuppspelning med dynamisk paketering:

  1. Skapa en livehändelse.
  2. Hämta inmatnings-URL:en och konfigurera din lokala kodare så att den använder URL:en för att skicka bidragsflödet.
  3. Hämta förhandsgransknings-URL:en och använd den för att verifiera att indata från kodaren tas emot.
  4. Skapa en ny tillgång.
  5. Skapa liveutdata och använd tillgångsnamnet som du skapade.
    Liveutdata arkiverar dataströmmen till tillgången.
  6. Skapa en positionerare för direktuppspelning med de inbyggda strömningsprinciptyperna.
    Om du vill kryptera ditt innehåll kan du läsa Översikt över innehållsskydd.
  7. Lista sökvägarna på strömningslokaliseraren för att hämta url:erna som ska användas.
  8. Hämta värdnamnet för den slutpunkt för direktuppspelning som du vill strömma från.
  9. Skapa URL:er som är mål för olika format (HLS, MPEG-DASH och Smooth Streaming). Slutpunkten för direktuppspelning tar hand om att betjäna rätt manifest och begäranden för de olika formaten.

Det här diagrammet visar arbetsflödet för liveuppspelning med dynamisk paketering:

Diagram över ett arbetsflöde för direktkodning med dynamisk paketering

Information om liveuppspelning i Media Services v3 finns i Översikt över liveuppspelning.

Video codecs som stöds av dynamisk paketering

Dynamisk paketering stöder videofiler i MP4-containerfilformatet och innehåller video som är kodad med H.264 (MPEG-4 AVC eller AVC1) eller H.265 (HEVC, hev1 eller hvc1).

Anteckning

Upplösningar på upp till 4 000 och bildfrekvenser på upp till 60 bildrutor/sekund har testats med dynamisk paketering.

Ljud codecs som stöds av dynamisk paketering

Dynamisk paketering stöder också ljudfiler som lagras i MP4-filformatet som innehåller kodad ljudström i någon av följande codecs:

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

  • Dolby Digital Plus (förbättrad AC-3 eller E-AC3). Det kodade ljudet måste lagras i MP4-containerformat för att fungera med dynamisk paketering.

  • Dolby Atmos

    Strömmande Dolby Atmos-innehåll stöds för standarder som MPEG-DASH-protokollet med antingen COMMON Streaming Format (CSF) eller CMAF (Common Media Application Format) fragmenterad MP4 och via HTTP Live Streaming (HLS) med CMAF.

  • DTS
    DTS-codec som stöds av paketeringsformaten DASH-CSF, DASH-CMAF, HLS-M2TS och HLS-CMAF är:

    • DTS Digital Surround (dtsc)
    • DTS-HD High Resolution och DTS-HD Master Audio (dtsh)
    • DTS Express (dtse)
    • DTS-HD lossless (ingen kärna) (dtsl)

Dynamisk paketering stöder flera ljudspår med DASH eller HLS (version 4 eller senare) för strömmande tillgångar som har flera ljudspår med flera codecs och språk.

För alla ovanstående ljudkodare måste det kodade ljudet lagras i MP4-containerformat för att fungera med dynamisk paketering. Tjänsten stöder inte råa elementära strömfilformat på bloblagring (till exempel stöds inte följande – .dts, .ac3.)

Endast filer med .mp4 filnamnstillägget .mp4a stöds för ljudpaketering.

Begränsningar

iOS-begränsning för AAC 5.1-ljud

Apple iOS-enheter stöder inte 5.1 AAC-ljudkodning. Ljud med flera kanaler måste kodas med Dolby Digital eller Dolby Digital Plus-codecs.

Detaljerad information finns i SPECIFIKATION FÖR HLS-redigering för Apple-enheter.

Anteckning

Media Services stöder inte kodning av Ljudformat för Dolby Digital, Dolby Digital Plus eller Dolby Digital Plus med Dolby Atmos med flera kanaler.

Dolby Digital Audio

Media Services dynamisk paketering stöder för närvarande inte filer som innehåller Ac3-ljud (Dolby Digital) (eftersom detta anses vara en äldre codec av Dolby).

Manifesterar

I Media Services dynamisk paketering genereras de strömmande klientmanifesten för HLS, MPEG-DASH och Smooth Streaming dynamiskt baserat på formatfrågan i URL:en.

En manifestfil innehåller strömmande metadata som spårtyp (ljud, video eller text), spåra namn, start- och sluttid, bithastighet (egenskaper), spåra språk, presentationsfönstret (skjutfönster med fast varaktighet) och video-codec (FourCC). Den instruerar också spelaren att hämta nästa fragment genom att ange information om nästa uppspelningsbara videofragment som är tillgängliga och deras plats. Fragment (eller segment) är de faktiska "segmenten" av videoinnehåll.

Exempel

HLS

Här är ett exempel på en HLS-manifestfil, även kallad en HLS-huvudspelningslista:

#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

Här är ett exempel på en MPEG-DASH-manifestfil, även kallad MPEG-DASH Media Presentation Description (MPD):

<?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>

Smooth Streaming

Här är ett exempel på en Smooth Streaming manifestfil:

<?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>

Namngivning av spår i manifestet

Om ett namn på ett ljudspår anges i .ism-filen Media Services ett -element i en för att ange textinformationen för Label AdaptationSet det specifika ljudspåret. Ett exempel på DASH-manifestet för utdata:

<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>

Spelaren kan använda elementet Label för att visa i användargränssnittet.

Signalering av ljudbeskrivningsspår

Du kan lägga till ett uppläsningsspår i videon för att hjälpa klienter med nedsatt syn att följa videoinspelningen genom att lyssna på uppläsningen. Du måste kommentera ett ljudspår som en ljudbeskrivning i manifestet. Det gör du genom att lägga till parametrarna "hjälpmedel" och "roll" i .ism-filen. Det är ditt ansvar att ställa in dessa parametrar korrekt för att signalera ett ljudspår som en ljudbeskrivning. Du kan till exempel <param name="accessibility" value="description" /> lägga till och i <param name="role" value="alternate" .ism-filen för ett specifikt ljudspår.

Mer information finns i exemplet Så här signalerar du ett beskrivande ljudspår.

Smooth Streaming manifest

Om du spelar upp en Smooth Streaming dataström innehåller manifestet värden och Accessibility Role attribut för ljudspåret. Till exempel Role="alternate" Accessibility="description" skulle läggas till i elementet för att ange att det är en StreamIndex ljudbeskrivning.

DASH-manifest

För DASH-manifest skulle följande två element läggas till för att signalera ljudbeskrivningen:

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

HLS-spellista

För HLS v7 och (format=m3u8-cmaf) högre skulle spellistan AUTOSELECT=YES,CHARACTERISTICS="public.accessibility.describes-video" överföras när ljudbeskrivningsspåret signaleras.

Exempel

Mer information finns i Så här signalerar du ljudbeskrivningsspår.

Dynamisk manifestfiltrering

Om du vill styra antalet spår, format, bithastigheter och presentationstidsfönster som skickas till spelare kan du använda dynamisk filtrering med Media Services dynamiska paketeraren. Mer information finns i Förfiltrering av manifest med den dynamiska paketeraren.

Dynamisk kryptering för DRM

Du kan använda dynamisk kryptering för att dynamiskt kryptera ditt live- eller på-begäran-innehåll med AES-128 eller något av de tre större DRM-systemen (Digital Rights Management): Microsoft PlayReady, Google Widevine och Apple FairPlay. Media Services också en tjänst för att leverera AES-nycklar och DRM-licenser till auktoriserade klienter. Mer information finns i dynamisk kryptering.

Anteckning

Widevine är en tjänst som tillhandahålls av Google Inc. och omfattas av användningsvillkoren och sekretesspolicyn för Google, Inc.

Mer information

Ta en Azure Media Services community för att se olika sätt att ställa frågor, ge feedback och få uppdateringar om Media Services.

Behöver du hjälp?

Du kan öppna en supportbegäran genom att gå till Ny supportbegäran.

Nästa steg

Ladda upp, koda och strömma videor