Dinamikus csomagolás a Media Services v3-ban
AMS-webhely | Kódminták | Hibaelhárítási útmutató
Az Azure Media Services beépített forráskiszolgálói és csomagolási képességeket biztosít a tartalmak HLS- és MPEG DASH streamelési protokollformátumokban való továbbításához. Az AMS-ben a streamvégpont az "origin" kiszolgálóként működik, amely formázott HLS- és DASH-tartalmat küld az ügyféllejátszóknak, amelyek támogatják az adaptív sávszélességű streamelést ezen népszerű formátumok használatával. A streamvégpont számos funkciót támogat, például az igény szerinti, dinamikus csomagolást tartalomvédelemmel vagy anélkül, hogy az összes fő eszközt elérhesse (például iOS- és Android-eszközöket).
A legtöbb böngésző és mobileszköz jelenleg támogatja és érti a HLS- vagy DASH-streamelési protokollokat. Például az iOS megköveteli, hogy a streamek HTTP Live Streaming (HLS) formátumban legyenek kézbesítve, és az Android-eszközök támogatják a HLS-t és az MPEG DASH-t bizonyos modelleken (vagy az alkalmazásszintű lejátszó Exoplayer androidos eszközökön való használatával).
A Media Servicesben a streamvégpontok (forrás) egy dinamikus (igény szerinti) csomagolási és forrásszolgáltatást jelentenek, amely közvetlenül egy ügyféllejátszó alkalmazásba képes eljuttatni az élő és igény szerinti tartalmakat. A következő szakaszban említett egyik gyakori streamelési médiaprotokollt használja. A dinamikus csomagolás olyan funkció, amely minden streamvégponton szabványos.
Az igény szerint történő csomagolás előnyei a következők:
- Az összes fájlt szabványos MP4 fájlformátumban tárolhatja.
- Nem kell több példányt tárolnia a statikus csomagolású HLS- és DASH-formátumokról a Blob Storage-ban, ami csökkenti a tárolt videotartalmak mennyiségét, és csökkenti a tárolási költségeket.
- Azonnal kihasználhatja az új protokollfrissítéseket és a specifikációk módosítását anélkül, hogy újra kellene csomagolnia a statikus tartalmat a katalógusban.
- A tartalmakat titkosítással és DRM nélkül is kézbesítheti ugyanazokkal az MP4-fájlokkal a tárolóban.
- A jegyzékfájlokat dinamikusan szűrheti vagy módosíthatja egyszerű eszközszintű vagy globális szűrőkkel, hogy eltávolítson bizonyos számokat, felbontásokat, nyelveket, vagy rövidebb kiemelt klipeket biztosítson ugyanabból az MP4-fájlból anélkül, hogy újrakódolná vagy újra renderelné a tartalmat.
A forrásfájlok előkészítése kézbesítésre
A dinamikus csomagolás előnyeinek kihasználásához kódolja a mezzanine (forrás) fájlt egy vagy több bitsebességű MP4 (ISO Base Media 14496-12) fájlokba. A kódolt videofájlok és a streamelési konfigurációs fájlok egy kimeneti objektumban lesznek elhelyezve. Ebből a fájlkészletből dinamikus csomagolást használhat a videók streamelési média protokollon keresztüli továbbítására.
Általában az Azure Media Services standard kódolóját fogja használni a tartalomtudatos kódolási készletek vagy az adaptív bitráta-készletek használatával történő létrehozásához. Mindkettő létrehoz egy MP4-fájlkészletet, amely készen áll a streamelésre és a dinamikus csomagolásra.
Másik lehetőségként dönthet úgy is, hogy külső szolgáltatással, helyszíni vagy saját virtuális gépekkel vagy kiszolgáló nélküli függvényalkalmazásokkal kódol. A külső kódolású tartalmak feltölthetők streamelési objektumokba, feltéve, hogy megfelelnek az adaptív sávszélességű streamelési formátumokra vonatkozó kódolási követelményeknek. A .NET SDK-mintákban elérhető egy példaprojekt az előre kódolt MP4 feltöltésére a streameléshez – lásd: Meglévő MP4-fájlok streamelése.
Az Azure Media Services dinamikus csomagolása csak MP4 tárolóformátumban támogatja a video- és hangfájlokat. A hangfájlokat mp4-tárolóba is kódolni kell, ha olyan alternatív kodekeket használ, mint a Dolby.
Videók elérhetővé tétele streameléshez
Ha a kódolt objektumban lévő videókat elérhetővé szeretné tenni az ügyfelek számára lejátszás céljából, tegye közzé az objektumot egy Streaming Locator használatával, és hozza létre a megfelelő HLS- és DASH-streamelési URL-címeket. Az URL-formátumú lekérdezésben használt protokoll módosításával a szolgáltatás a megfelelő streamelési jegyzékfájlt (HLS, MPEG DASH) kézbesíti.
Ennek eredményeképpen csak egyetlen tárolási formátumban (MP4) kell tárolnia és fizetnie a fájlokért, és a Media Services létrehozza és kiszolgálja a megfelelő HLS- vagy DASH-jegyzékfájlokat az ügyfél lejátszóinak kérései alapján.
Ha dinamikus Media Services-titkosítással szeretné védeni a tartalmakat, olvassa el a Streamelési protokollok és titkosítási típusok című témakört.
HLS kézbesítése
HLS dinamikus csomagolás
A streamelési ügyfél a következő HLS-formátumokat adhatja meg. Javasoljuk, hogy a CMAF formátumot használja a legújabb lejátszókkal és iOS-eszközökkel való kompatibilitás érdekében. Örökölt eszközök esetén a v4 és a v3 formátum is elérhető a lekérdezési sztring formázásának egyszerű módosításával.
Protokoll | Sztring formátuma | Példa |
---|---|---|
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) |
Megjegyzés
Az Apple korábbi irányelvei azt javasolták, hogy az alacsony sávszélességű hálózatok esetében a tartalék szolgáltatás csak hangalapú streamet biztosítson. Jelenleg a Media Services kódolója automatikusan létrehoz egy csak hangsávot. Az Apple irányelvei szerint a csak hangsávot nem szabad belefoglalni, különösen az Apple TV-disztribúció esetében. Annak érdekében, hogy a lejátszó ne állítson be csak hangsávot, javasoljuk, hogy használja a "audio-only=false" címkét az URL-címben, amely eltávolítja a csak hangalapú megjelenítést a HLS-ben, vagy egyszerűen használja a HLS-V3-t. Például: http://host/locator/asset.ism/manifest(format=m3u8-aapl,audio-only=false)
.
HLS csomagolási arány VOD-hoz
A VOD-tartalom régebbi HLS-formátumokhoz való csomagolási arányának szabályozásához állítsa be a fragmentsPerHLSSegment metaadatcímkét az .ism fájlban a régebbi v3 és v4 HLS formátumú jegyzékekből szállított TS-szegmensek alapértelmezett 3:1-s csomagolási arányának szabályozásához. Ehhez a beállításhoz közvetlenül módosítania kell a tárolóban lévő .ism fájlt a csomagolási arány módosításához.
Példa .ism-kiszolgáló jegyzékfájlja fragmentsPerHLSSegment 1 értékre állítva.
<?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 kézbesítése
DASH dinamikus csomagolás
A streamelési ügyfél a következő MPEG-DASH formátumokat adhatja meg:
Protokoll | Sztring formátuma | Példa |
---|---|---|
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 (örökölt) | format=mpd-time-csf | https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-csf) |
Smooth Streaming-jegyzékfájlok kézbesítése
Smooth Streaming dinamikus csomagolás
A streamelési ügyfél a következő Smooth Streaming-formátumokat adhatja meg:
Protokoll | Megjegyzések/példák |
---|---|
Smooth Streaming | https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest |
Smooth Streaming 2.0 (örökölt jegyzék) | Alapértelmezés szerint a Smooth Streaming jegyzékformátuma tartalmazza az ismétlődő címkét (r-tag). Azonban egyes játékosok nem támogatják a r-tag . Az ilyen játékosokkal rendelkező ügyfelek olyan formátumot használhatnak, amely letiltja az r-címkét:https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=fmp4-v20) |
Megjegyzés
A zökkenőmentes streameléshez hang- és videofájlnak is jelen kell lennie a streamben.
Igény szerinti streamelési munkafolyamat
Az alábbi lépések egy gyakori Media Services-streamelési munkafolyamatot mutatnak be, ahol dinamikus csomagolást használnak az Azure Media Services standard kódolójával együtt.
Töltsön fel egy bemeneti fájlt, például MP4-et, QuickTime/MOV-t vagy más támogatott fájlformátumot. Ezt a fájlt mezzanine-nek vagy forrásfájlnak is nevezik. A támogatott formátumok listáját a Standard Kódoló által támogatott formátumok című témakörben találja.
Kódolja a mezzanine-fájlt egy H.264/AAC MP4 adaptív bitsebesség-készletbe.
Ha már rendelkezik kódolt fájlokkal, és csak át szeretné másolni és streamelni a fájlokat, használja a következőt: CopyVideo és CopyAudio API-k. Ennek eredményeként létrejön egy streamelési jegyzékfájllal (.ism fájl) rendelkező új MP4-fájl.
Emellett létrehozhatja az .ism és az .ismc fájlt egy előre kódolt fájlon, feltéve, hogy a megfelelő beállításokkal van kódolva az adaptív sávszélességű streameléshez (ez általában 2 másodperces GOP-k, kulcskeretek távolsága 2s perc és max, valamint állandó bitsebesség (CBR) mód kódolása.)
A meglévő Mp4 .NET SDK-minta streameléséhez tekintse meg az .ism (kiszolgálójegyzék) és az .ismc (ügyféljegyzékek) meglévő, előre kódolt MP4-fájlból való streameléséhez szükséges adatait.
Tegye közzé az adaptív sávszélességű MP4-készletet tartalmazó kimeneti objektumot. A közzétételhez létre kell hoznia egy streamelési lokátort.
Különböző formátumokat (HLS, MPEG-DASH és Smooth Streaming) célzó URL-címek létrehozása. A streamvégpont gondoskodik a megfelelő jegyzékfájl és kérések kiszolgálásáról a különböző formátumok esetében.
A letöltési útvonal csak azért jelenik meg a fenti képen, hogy bemutassa, hogy közvetlenül a streamvégponton (forráson) keresztül tölthet le egy MP4-fájlt (megadhatja a letölthető streamelési szabályzatot a streamelési lokátorban).
A dinamikus csomagoló nem módosítja a fájlt. Ha meg szeretné kerülni a streamvégpont (forrás) funkcióit, igény szerint használhatja az Azure Blob Storage API-kat az MP4-hez való közvetlen hozzáféréshez a fokozatos letöltéshez.
Kódolás adaptív sávszélességű MP4-ek számára
Az alábbi cikkek példákat mutatnak be arra, hogyan kódolhat egy videót a Media Services használatával:
- Használjon tartalomérzékeny kódolást.
- Kódminták a Standard Encoderrel való kódoláshoz a .NET használatával
Tekintse meg a támogatott Standard Encoder bemeneti formátumok és kodekek listáját.
Élő streamelési munkafolyamat
Az élő eseményeket átengedheti (egy helyszíni élő kódoló több sávszélességű streamet küld), vagy élő kódolásra (egy helyszíni élő kódoló egyetlen sávszélességű streamet küld).
Íme egy gyakori munkafolyamat az élő streameléshez dinamikus csomagolással:
- Hozzon létre egy élő eseményt.
- Kérje le a betöltési URL-címet, és konfigurálja a helyszíni kódolót, hogy az URL-címmel küldje el a hozzájárulási hírcsatornát.
- Kérje le az előnézeti URL-címet, és annak ellenőrzéséhez, hogy a kódoló bemenete megérkezett-e.
- Hozzon létre egy új objektumot.
- Hozzon létre egy élő kimenetet, és használja a létrehozott objektumnevet.
Az élő kimenet archiválja a streamet az objektumba. - Hozzon létre egy streamelési lokátort a beépített streamelési szabályzattípusokkal.
Ha titkosítani szeretné a tartalmat, tekintse át a Tartalomvédelem áttekintését. - Listázhatja a streamelési lokátor elérési útjait a használni kívánt URL-címek lekéréséhez.
- Kérje le annak a streamvégpontnak a gazdagépnevét, amelyről streamelni szeretne.
- Különböző formátumokat (HLS, MPEG-DASH és Smooth Streaming) célzó URL-címek létrehozása. A streamvégpont gondoskodik a megfelelő jegyzékfájl és a különböző formátumokra vonatkozó kérések kiszolgálásáról.
További információ a Media Services v3-ban történő élő streamelésről: Élő streamelés áttekintése.
A dinamikus csomagolás által támogatott videokodekek
A dinamikus csomagolás támogatja az MP4 tárolófájlformátumú videofájlokat, amelyek H.264 (MPEG-4 AVC vagy AVC1) vagy H.265 (HEVC, hev1 vagy hvc1) kódolású videókat tartalmaznak.
Megjegyzés
A legfeljebb 4K felbontást és a legfeljebb 60 képkocka/másodperc képkockasebességet dinamikus csomagolással teszteltük.
Dinamikus csomagolással támogatott hangkodekek
A dinamikus csomagolás az MP4-fájltároló formátumban tárolt hangfájlokat is támogatja, amelyek kódolt hangstreamet tartalmaznak az alábbi kodekek egyikében:
AAC (AAC-LC, HE-AAC v1 vagy HE-AAC v2).
Dolby Digital Plus (Enhanced AC-3 vagy E-AC3). A dinamikus csomagolás használatához a kódolt hangot MP4 tárolóformátumban kell tárolni.
Dolby Atmos
A Dolby Atmos-tartalmak streamelése olyan szabványok esetében támogatott, mint a Common Streaming Format (CSF) vagy a Common Media Application Format (CMAF) töredezett MP4 protokollal rendelkező MPEG-DASH protokoll, valamint HTTP Live Streaming (HLS) és CMAF használatával.
DTS
A DASH-CSF, DASH-CMAF, HLS-M2TS és HLS-CMAF csomagolási formátumok által támogatott DTS-kodekek a következők:- DTS Digital Surround (dtsc)
- DTS-HD nagy felbontású és DTS-HD master audio (dtsh)
- DTS Express (dtse)
- DTS-HD veszteségmentes (mag nélkül) (dtsl)
A dinamikus csomagolás több hangsávot támogat a DASH vagy HLS (4-es vagy újabb verzió) használatával olyan streamelési eszközökhöz, amelyek több hangsávot és több kodeket és nyelvet használnak.
A fenti hangkodekek mindegyikéhez a kódolt hangot MP4 tárolóformátumban kell tárolni a dinamikus csomagolás használatához. A szolgáltatás nem támogatja a nyers elemi streamfájl-formátumokat a Blob Storage-ban (például az alábbiak nem támogatottak : .dts, .ac3).)
Csak az .mp4a kiterjesztésű .mp4 fájlokat támogatja a hangcsomagolás.
Korlátozások
iOS-korlátozások az AAC 5.1-hangra
Az Apple iOS-eszközök nem támogatják az 5.1 AAC hangkodek használatát. A többcsatornás hangot Dolby Digital vagy Dolby Digital Plus kodekekkel kell kódolni.
Részletes információkért lásd: HLS szerzői specifikáció apple-eszközökhöz.
Megjegyzés
A Media Services nem támogatja a Dolby Digital, a Dolby Digital Plus vagy a Dolby Digital Plus kódolását Dolby Atmos többcsatornás hangformátumokkal.
Dolby Digital audio
A Media Services dinamikus csomagolása jelenleg nem támogatja a Dolby Digital (AC3) hangfájlokat tartalmazó fájlokat (mivel ezt a Dolby örökölt kodeknek tekinti).
Rakományjegyzék
A Media Services dinamikus csomagolásban a HLS, AZ MPEG-DASH és a Smooth Streaming streamelési ügyféljegyzéke dinamikusan jön létre az URL-címben található formátumlekérdezés alapján.
A jegyzékfájl tartalmazza a streamelési metaadatokat, például a követés típusát (hang, videó vagy szöveg), a követés nevét, a kezdési és befejezési időpontot, a sávszélességet (minőségeket), a követés nyelveit, a bemutatóablakot (rögzített időtartamú csúszóablak) és a videokodeket (FourCC). Arra is utasítja a lejátszót, hogy kérje le a következő töredéket azáltal, hogy információkat ad meg a következő lejátszható videótöredékekről, amelyek elérhetők, és azok helyét. A töredékek (vagy szegmensek) a videótartalom tényleges "darabjai".
Példák
HLS
Íme egy példa egy HLS-jegyzékfájlra, más néven HLS-fő lejátszási listára:
#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
Íme egy példa egy MPEG-DASH jegyzékfájlra, más néven MPEG-DASH médiamegjelenítéses leírásra (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
Íme egy példa egy Smooth Streaming-jegyzékfájlra:
<?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>
Sávok elnevezése a jegyzékfájlban
Ha az .ism fájlban meg van adva egy hangsáv neve, a Media Services hozzáad egy Label
elemet AdaptationSet
a fájlhoz, hogy megadja az adott hangsáv szöveges adatait. Példa a kimeneti DASH-jegyzékre:
<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>
A játékos az elemet használhatja a Label
felhasználói felületen való megjelenítéshez.
Jelátviteli hang leírása sávok
Kísérőszöveget is hozzáadhat a videóhoz, hogy a látássérült ügyfelek a kísérőszöveg meghallgatásával kövessék a videófelvételt. A jegyzékfájlban hangleírásként kell megjegyzést fűznie a hangsávhoz. Ehhez adja hozzá az "accessibility" és a "role" paramétereket az .ism fájlhoz. Az Ön felelőssége, hogy helyesen állítsa be ezeket a paramétereket, hogy hangleírásként jelezzen egy hangsávot. Adja hozzá <param name="accessibility" value="description" />
például a és <param name="role" value="alternate"
a fájlt az .ism fájlhoz egy adott hangsávhoz.
Smooth Streaming jegyzékfájl
Ha smooth streaming streamet játszik le, a jegyzékfájl értékeket Accessibility
és Role
attribútumokat hordoz a hangsávhoz. Például a Role="alternate" Accessibility="description"
rendszer hozzáadja az StreamIndex
elemhez, hogy jelezze, hogy ez egy hangleírás.
DASH-jegyzékfájl
A DASH-jegyzékfájlhoz a következő két elem lesz hozzáadva a hangleírás jelzéséhez:
<Accessibility schemeIdUri="urn:mpeg:dash:role:2011" value="description"/>
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="alternate"/>
HLS-lejátszási lista
A HLS v7 és újabb (format=m3u8-cmaf)
verziók esetében a lejátszási lista akkor lesz elhozva AUTOSELECT=YES,CHARACTERISTICS="public.accessibility.describes-video"
, ha a hangleírási sáv jelzést ad.
Dinamikus jegyzékfájl-szűrés
A lejátszóknak küldött zeneszámok, formátumok, sávszélességek és megjelenítési időablakok számának szabályozásához használhat dinamikus szűrést a Media Services dinamikus csomagkezelőjével. További információ: Jegyzékfájlok előszűrése a dinamikus csomagolóval.
Dinamikus titkosítás DRM-hez
Dinamikus titkosítással dinamikusan titkosíthatja élő vagy igény szerinti tartalmait az AES-128 vagy a három fő digitálisjog-kezelési (DRM) rendszer bármelyikével: Microsoft PlayReady, Google Widevine és Apple FairPlay. A Media Services egy olyan szolgáltatást is biztosít, amely AES-kulcsokat és DRM-licenceket biztosít a jogosult ügyfeleknek. További információ: Dinamikus titkosítás.
Megjegyzés
A Widevine a Google Inc. által nyújtott szolgáltatás, amelyre a Google, Inc. szolgáltatási feltételei és adatvédelmi irányelvei vonatkoznak.
Súgó és támogatás
Kérdéseivel kapcsolatba léphet a Media Services szolgáltatással, vagy követheti a frissítéseket az alábbi módszerek egyikével:
- Q & A
- Stack Overflow. Kérdések címkézése a következővel:
azure-media-services
. - @MSFTAzureMediavagy @AzureSupport használatával kérhet támogatást.
- Nyisson meg egy támogatási jegyet a Azure Portal keresztül.