Creazione dinamica dei pacchetti in Servizi multimediali versione 3
Avviso
Servizi multimediali di Azure verrà ritirato il 30 giugno 2024. Per altre informazioni, vedere la Guida al ritiro di AMS.
Servizi multimediali di Azure offre funzionalità predefinite per il server di origine e la creazione di pacchetti per distribuire contenuto in formati di protocollo di streaming HLS e MPEG DASH. In AMS l'endpoint di streaming funge da server "origin" che invia contenuti HLS e DASH formattati ai giocatori client che supportano lo streaming a bitrate adattivo usando questi formati diffusi. L'endpoint di streaming supporta anche molte funzionalità, ad esempio just-in-time, pacchetti dinamici con o senza protezione del contenuto, per raggiungere tutti i dispositivi principali (ad esempio iOS e Dispositivi Android).
La maggior parte dei browser e dei dispositivi mobili sul mercato supporta oggi e comprende i protocolli di streaming HLS o DASH. Ad esempio, iOS richiede che i flussi vengano recapitati in formato HTTP Live Streaming (HLS) e i dispositivi Android supportano HLS e MPEG DASH in determinati modelli (o tramite l'uso del lettore a livello di applicazione Exoplayer per dispositivi Android).
In Servizi multimediali un endpoint di streaming (origine) rappresenta un servizio di generazione e creazione di pacchetti dinamici (just-in-time) in grado di distribuire contenuti live e on demand direttamente a un'app di riproduzione client. Usa uno dei protocolli multimediali comuni di streaming indicati nella sezione seguente. La creazione dinamica dei pacchetti è una funzionalità standard di tutti gli endpoint di streaming.
I vantaggi della creazione di pacchetti just-in-time sono i seguenti:
- È possibile archiviare tutti i file in formato file MP4 standard.
- Non è necessario archiviare più copie di formati HLS e DASH statici nell'archiviazione BLOB che riduce la quantità di contenuto video archiviato e riduce i costi di archiviazione.
- È possibile sfruttare immediatamente i nuovi aggiornamenti del protocollo e le modifiche alle specifiche senza dover riconfezionare il contenuto statico nel catalogo.
- È possibile distribuire contenuto con o senza crittografia e DRM usando gli stessi file MP4 nell'archiviazione.
- È possibile filtrare o modificare dinamicamente i manifesti con semplici filtri a livello di asset o globali per rimuovere tracce, risoluzioni, lingue o clip di evidenziazione più brevi dagli stessi file MP4 senza codificare nuovamente o eseguire nuovamente il rendering del contenuto.
Per preparare i file di origine per la distribuzione
Per sfruttare i vantaggi della creazione dinamica dei pacchetti, codificare il file mezzanino (origine) in un set di file MP4 a velocità singola o multipla (ISO Base Media 14496-12). I file video codificati e i file di configurazione di streaming si trovano in un asset di output. Da questo set di file è possibile usare pacchetti dinamici per distribuire video tramite i protocolli multimediali di streaming.
In genere, si userà il codificatore standard di Servizi multimediali di Azure per generare questo contenuto usando i set di impostazioni di codifica con riconoscimento del contenuto o i set di impostazioni di velocità in bit adattiva. Entrambi generano un set di file MP4 pronti per lo streaming e la creazione dinamica di pacchetti.
In alternativa, è possibile scegliere di codificare usando un servizio esterno, locale o nelle proprie macchine virtuali o nelle app per le funzioni serverless. Il contenuto codificato esternamente può essere caricato in un asset per lo streaming, purché soddisfi i requisiti di codifica per i formati di streaming a bitrate adattivi. Un progetto di esempio di caricamento di un MP4 pre-codificato per lo streaming è disponibile negli esempi di .NET SDK, vedere Trasmettere i file Mp4 esistenti.
Il pacchetto dinamico di Servizi multimediali di Azure supporta solo file video e audio nel formato contenitore MP4. I file audio devono essere codificati in un contenitore MP4 anche quando si usano codec alternativi come Dolby.
Rendere disponibili video per lo streaming
Per rendere disponibili i video nell'asset codificato per la riproduzione, pubblicare l'asset usando un localizzatore di streaming e compilare gli URL di streaming HLS e DASH appropriati. Modificando il protocollo usato nella query di formato URL, il servizio fornirà il manifesto di streaming appropriato (HLS, MPEG DASH).
Di conseguenza, è necessario archiviare e pagare solo i file in formato di archiviazione singolo (MP4) e Servizi multimediali genereranno e serviranno i manifesti HLS o DASH appropriati in base alle richieste dei lettori client.
Se si prevede di proteggere il contenuto usando la crittografia dinamica di Servizi multimediali, vedere Protocolli di streaming e tipi di crittografia.
Distribuire HLS
Creazione dinamica di pacchetti HLS
Il client di streaming può specificare i formati HLS seguenti. È consigliabile usare il formato CMAF per la compatibilità con i dispositivi iOS e i giocatori più recenti. Per i dispositivi legacy, i formati v4 e v3 sono disponibili anche modificando semplicemente la stringa di query di formato.
Protocollo | Stringa di formato | Esempio |
---|---|---|
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) |
Nota
Le linee guida precedenti di Apple consigliavano che il fallback per le reti a larghezza di banda ridotta fornissero un flusso solo audio. Attualmente, il codificatore di Servizi multimediali genera automaticamente una traccia solo audio. Le linee guida apple ora dichiarano che la traccia solo audio non deve essere inclusa, soprattutto per la distribuzione di Apple TV. Per evitare che il lettore usi l'impostazione predefinita di una traccia solo audio, è consigliabile usare il tag "audio-only=false" nell'URL, che rimuove il rendering solo audio in HLS o semplicemente usa HLS-V3. Ad esempio: http://host/locator/asset.ism/manifest(format=m3u8-aapl,audio-only=false)
.
Rapporto di compressione HLS per VOD
Per controllare il rapporto di compressione del contenuto VOD per i formati HLS meno recenti, è possibile impostare il tag di metadati fragmentsPerHLSSegment nel file con estensione ism per controllare il rapporto di compressione predefinito 3:1 per i segmenti TS recapitati dai manifesti di formato V3 e v4 HLS precedenti. Questa modifica dell'impostazione richiede di modificare direttamente il file con estensione ism nell'archiviazione per modificare il rapporto di compressione.
Manifesto del server .ism di esempio con frammentiPerHLSSegment impostato su 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>
Consegna DASH
Pacchetto dinamico DASH
Il client di streaming può specificare i formati MPEG-DASH seguenti:
Protocollo | Stringa di formato | Esempio |
---|---|---|
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 (legacy) | format=mpd-time-csf | https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=mpd-time-csf) |
Distribuire manifesti smooth streaming
Creazione dinamica di Smooth Streaming
Il client di streaming può specificare i formati Smooth Streaming seguenti:
Protocollo | Note/esempi |
---|---|
Smooth Streaming | https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest |
Smooth Streaming 2.0 (manifesto legacy) | Per impostazione predefinita, il manifesto Smooth Streaming contiene il tag di ripetizione (r-tag). Alcuni lettori, tuttavia, non supportano il tag di ripetizione r-tag . I client con questi lettori possono usare un formato che disabilita gli r-tag:https://amsv3account-usw22.streaming.media.azure.net/21b17732-0112-4d76-b526-763dcd843449/ignite.ism/manifest(format=fmp4-v20) |
Nota
Smooth Streaming richiede che sia audio che video siano presenti nel flusso.
Flusso di lavoro dello streaming on demand
I passaggi seguenti indicano un flusso di lavoro comune di streaming di Servizi multimediali in cui viene usata la creazione dinamica dei pacchetti insieme al codificatore Standard in Servizi multimediali di Azure.
Caricare un file di input, ad esempio MP4, QuickTime/MOV o un altro formato di file supportato. Questo tipo di file è anche detto file di origine o mezzanine. Per l'elenco di formati supportati, vedere Formati supportati dal codificatore standard.
Codificare il file mezzanine in un set di file MP4 H.264/AAC a bitrate adattivo.
Se sono già presenti file codificati da copiare e trasmettere in streaming, usare le API CopyVideo e CopyAudio. Verrà quindi creato un nuovo file MP4 con un manifesto di streaming (file con estensione ism).
È inoltre possibile generare il file con estensione ism e ismc in un file pre-codificato, purché sia codificato usando le impostazioni corrette per lo streaming in bit adattivo (si tratta in genere di 2 secondi GOP, distanze del fotogramma chiave di 2 minuti e max e codifica CBR (Constant Bitrate).
Vedere l'esempio mp4 .NET SDK esistente per informazioni dettagliate su come generare il file MP4 (manifesto del server) e .ismc (manifesti client) per lo streaming da un file MP4 pre-codificato esistente.
Pubblicare l'asset di output contenente il set MP4 a bitrate adattivo. La pubblicazione avviene creando un localizzatore di streaming.
Creare URL destinati a formati diversi (HLS, MPEG-DASH e Smooth Streaming). L'endpoint di streaming si occupa di gestire il manifesto corretto e le richieste per tutti questi formati diversi.
Il percorso di download è presente nell'immagine precedente solo per mostrare che è possibile scaricare un file MP4 direttamente tramite l'endpoint di streaming (origine). I criteri di streaming scaricabili si specificano nel localizzatore di streaming.
Lo strumento per la creazione dinamica di pacchetti non altera il file. Se si vuole, è possibile usare le API di archiviazione BLOB di Azure per accedere a un MP4 direttamente per il download progressivo in modo da ignorare le funzionalità di endpoint di streaming (origine).
Eseguire la codifica in MP4 a velocità in bit adattiva
Gli articoli seguenti illustrano alcuni esempi di come codificare un video con Servizi multimediali:
- Usare la codifica compatibile con il contenuto.
- Esempi di codice per la codifica con codificatore Standard con .NET
Vedere l'elenco dei formati di input e dei codec del codificatore Standard supportati.
Flusso di lavoro dello streaming live
Un evento live può essere impostato su un pass-through (un codificatore live locale invia un flusso a bitrate multiplo) o sulla codifica live (un codificatore live locale invia un flusso a bitrate singolo).
Ecco un flusso di lavoro comune per lo streaming live con la creazione dinamica dei pacchetti:
- Creare un evento live.
- Ottenere l'URL di inserimento e configurare il codificatore a livello locale per usare l'URL per inviare il feed di contributo.
- Ottenere l'URL di anteprima e usarlo per verificare che l'input dal codificatore venga ricevuto.
- Creare un nuovo asset.
- Creare un output live e usare il nome dell'asset creato.
L'output live archivia il flusso nell'asset. - Creare un localizzatore di streaming con i tipi di criteri di streaming predefiniti.
Se si prevede di crittografare il contenuto, rivedere la Panoramica della protezione del contenuto. - Elencare i percorsi nel localizzatore di streaming per ottenere gli URL da usare.
- Ottenere il nome host per l'endpoint di streaming da cui si vuole trasmettere.
- Creare URL destinati a formati diversi (HLS, MPEG-DASH e Smooth Streaming). L'endpoint di streaming si occupa di gestire il manifesto corretto e le richieste per i diversi formati.
Per informazioni sullo streaming live in Servizi multimediali v3, vedere Panoramica dello streaming live.
Codec video supportati dalla creazione dinamica dei pacchetti
La creazione dinamica dei pacchetti supporta file video nel formato di file contenitore MP4 che contengono video codificati con H.264 (MPEG-4 AVC o AVC1) o H.265 (HEVC, hev1 o hvc1).
Nota
Con la creazione dinamica dei pacchetti sono state testate risoluzioni fino a 4K e frequenze dei fotogrammi fino a 60 fotogrammi al secondo.
Codec audio supportati dalla creazione dinamica dei pacchetti
La creazione dinamica dei pacchetti supporta anche i file audio archiviati nel formato contenitore di file MP4 che contengono il flusso audio codificato in uno dei codec seguenti:
AAC (AAC-LC, HE-AAC v1 o HE-AAC v2).
Dolby Digital Plus (Enhanced AC-3 o E-AC3). Per essere supportato dalla creazione dinamica dei pacchetti, l'audio codificato deve essere archiviato nel formato contenitore MP4.
Dolby Atmos
Lo streaming di contenuti Atmos Dolby è supportato per gli standard come il protocollo MPEG-DASH con MP4 frammentato CSF (Common Streaming Format) o CMAF (Common Media Application Format) e tramite HTTP Live Streaming (HLS) con CMAF.
DTS
I codec DTS supportati dai formati di creazione dei pacchetti DASH-CSF, DASH-CMAF, HLS-M2TS e HLS-CMAF sono:- DTS Digital Surround (dtsc)
- DTS-HD High Resolution e DTS-HD Master Audio (dtsh)
- DTS Express (dtse)
- DTS-HD Lossless (senza core) (dtsl)
La creazione dinamica dei pacchetti supporta più tracce audio con DASH o HLS (versione 4 o successive) per lo streaming di asset che hanno diverse tracce audio con più codec e linguaggi.
Per tutti i codec audio elencati sopra, l'audio codificato deve essere archiviato nel formato contenitore MP4 per essere supportato dalla creazione dinamica dei pacchetti. Il servizio non supporta i formati di file di flusso elementare non elaborato nell'archiviazione BLOB (ad esempio, il formato seguente non è supportato - .dts, .ac3).
Per la creazione di pacchetti audio sono supportati solo i file con estensione mp4 o mp4a.
Limitazioni
Limitazione di iOS per l'audio AAC 5.1
I dispositivi Apple iOS non supportano il codec audio AAC 5.1. L'audio multicanale deve essere codificato usando i codec Dolby Digital o Dolby Digital Plus.
Per informazioni dettagliate, vedere la specifica per la creazione di contenuti HLS per dispositivi Apple.
Nota
Servizi multimediali non supporta la codifica di formati audio multicanale Dolby Digital, Dolby Digital Plus o Dolby Digital Plus con Dolby Atmos.
Audio Dolby Digital
La creazione dinamica dei pacchetti di Servizi multimediali non supporta attualmente file che contengono audio Dolby Digital (AC3), perché questo è considerato un codec legacy di Dolby.
Manifesti
Nella creazione dinamica dei pacchetti di Servizi multimediali, i manifesti del client di streaming per HLS, MPEG-DASH e Smooth Streaming vengono generati dinamicamente in base alla query di formato nell'URL.
Un file manifesto include alcuni metadati di streaming, tra cui il tipo di traccia (audio, video o testo), il nome della traccia, l'ora di inizio e di fine, la velocità in bit (qualità), le lingue della traccia, la finestra di presentazione (finestra scorrevole di durata fissa) e un codec video (FourCC). Indica inoltre al lettore come recuperare il frammento successivo fornendo informazioni sui successivi frammenti video riproducibili disponibili e il relativo percorso. I frammenti (o segmenti) sono i "blocchi" effettivi di un contenuto video.
Esempi
HLS
Di seguito è riportato un esempio di file manifesto HLS, detto anche playlist master HLS:
#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
Di seguito è riportato un esempio di file manifesto MPEG-DASH, detto anche MPEG-DASH MPD (Media Presentation Description):
<?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
Di seguito è riportato un esempio di file manifesto Smooth Streaming:
<?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>
Denominazione delle tracce nel manifesto
Se nel file con estensione ism viene specificato un nome di traccia audio, Servizi multimediali aggiunge un elemento Label
all'interno di AdaptationSet
per specificare le informazioni di texturing per la traccia audio specifica. Esempio del manifesto DASH di output:
<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>
Il lettore può usare l'elemento Label
da visualizzare nell'interfaccia utente.
Segnalazione delle tracce di descrizione audio
È possibile aggiungere una traccia audio al video per aiutare i clienti con problemi di vista a seguire la registrazione ascoltando la narrazione. È necessario annotare una traccia audio come descrizione audio nel manifesto. A questo scopo, aggiungere i parametri "accessibility" e "role" al file con estensione ism. È responsabilità del cliente impostare correttamente questi parametri per segnalare una traccia audio come descrizione audio. Ad esempio, aggiungere <param name="accessibility" value="description" />
e <param name="role" value="alternate"
al file con estensione ism per una traccia audio specifica.s
Manifesto Smooth Streaming
Se si riproduce un flusso di Smooth Streaming, il manifesto conterrà i valori negli attributi Accessibility
e Role
per la traccia audio. Role="alternate" Accessibility="description"
verrebbe aggiunto ad esempio nell'elemento StreamIndex
per indicare che si tratta di una descrizione audio.
Manifesto DASH
Per il manifesto DASH, verranno aggiunti i due elementi seguenti per segnalare la descrizione audio:
<Accessibility schemeIdUri="urn:mpeg:dash:role:2011" value="description"/>
<Role schemeIdUri="urn:mpeg:dash:role:2011" value="alternate"/>
Playlist HLS
Per HLS V7 e versioni successive a (format=m3u8-cmaf)
, la playlist contiene AUTOSELECT=YES,CHARACTERISTICS="public.accessibility.describes-video"
quando viene segnalata la traccia della descrizione audio.
Filtro manifesto dinamico
Per controllare il numero di tracce, i formati, la velocità in bit e gli intervalli di tempo di presentazione che vengono inviati ai lettori, è possibile usare i filtri dinamici con la creazione dinamica dei pacchetti di Servizi multimediali. Per altre informazioni, vedere Filtro preliminare dei manifesti con la creazione dinamica dei pacchetti.
Crittografia dinamica per DRM
È possibile usare la crittografia dinamica per crittografare dinamicamente i contenuti live o on demand tramite AES-128 o con uno dei tre principali sistemi DRM (Digital Rights Management): Microsoft PlayReady, Google Widevine e Apple FairPlay. Servizi multimediali fornisce inoltre un servizio per la distribuzione di chiavi AES e licenze Digital Rights Management ai client autorizzati. Per altre informazioni, vedere Crittografia dinamica.
Nota
Widevine è un servizio fornito da Google Inc. e soggetto alle condizioni per l'utilizzo e all'informativa sulla privacy di Google Inc.
Guida e supporto tecnico
È possibile contattare Servizi multimediali con domande o seguire gli aggiornamenti tramite uno dei metodi seguenti:
- DOMANDE E RISPOSTE
-
Stack Overflow. Contrassegna le domande con
azure-media-services
. - @MSFTAzureMedia o usare @AzureSupport per richiedere supporto.
- Aprire un ticket di supporto tramite il portale di Azure.