Panoramica dello streaming live con Servizi multimediali di AzureOverview of Live Streaming using Azure Media Services

Nota

A partire dal 12 maggio 2018 i canali live non supporteranno più il protocollo di inserimento del flusso di trasporto RTP/MPEG-2.Starting May 12, 2018, live channels will no longer support the RTP/MPEG-2 transport stream ingest protocol. Eseguire la migrazione da RTP/MPEG-2 ai protocolli di inserimento RTMP o MP4 frammentato (Smooth Streaming).Please migrate from RTP/MPEG-2 to RTMP or fragmented MP4 (Smooth Streaming) ingest protocols.

PanoramicaOverview

Quando si distribuiscono eventi Live Streaming con Servizi multimediali di Azure, sono generalmente necessari i componenti seguenti:When delivering live streaming events with Azure Media Services the following components are commonly involved:

  • Una fotocamera da usare per trasmettere un evento.A camera that is used to broadcast an event.
  • Un codificatore video attivo in grado di convertire i segnali provenienti dalla fotocamera in flussi inviati a un servizio di streaming live.A live video encoder that converts signals from the camera to streams that are sent to a live streaming service.

    Facoltativamente, più codificatori live con sincronizzazione dell'ora.Optionally, multiple live time synchronized encoders. In caso di eventi live critici per i quali sono richiesti livelli molto elevati di disponibilità e qualità dell'esperienza, è consigliabile usare codificatori ridondanti di tipo attivo-attivo con sincronizzazione dell'ora per ottenere un failover efficiente senza perdita di dati.For certain critical live events that demand very high availability and quality of experience, it is recommended to employ active-active redundant encoders with time synchronization to achieve seamless failover with no data loss.

  • Un servizio di streaming live che consenta di effettuare le seguenti operazioni:A live streaming service that enables you to do the following:

    • inserire contenuti live usando vari protocolli di streaming live (ad esempio RTMP o Smooth Streaming),ingest live content using various live streaming protocols (for example RTMP or Smooth Streaming),
    • (facoltativamente) codificare il flusso per il flusso a bitrate adattivo,(optionally) encode your stream into adaptive bitrate stream
    • visualizzare in anteprima il flusso live,preview your live stream,
    • registrare e archiviare il contenuto inserito perché possa essere riprodotto in streaming in un secondo momento (video on demand),record and store the ingested content in order to be streamed later (Video-on-Demand)
    • usare protocolli di streaming comuni (ad esempio, MPEG DASH, Smooth, HLS) per trasmettere i contenuti direttamente ai clienti o a una rete CDN (Content Delivery Network, rete per la distribuzione di contenuti) per una successiva ridistribuzione.deliver the content through common streaming protocols (for example, MPEG DASH, Smooth, HLS) directly to your customers, or to a Content Delivery Network (CDN) for further distribution.

Servizi multimediali di Microsoft Azure (AMS) offre la possibilità di inserire, visualizzare in anteprima, archiviare e fornire il contenuto in streaming live.Microsoft Azure Media Services (AMS) provides the ability to ingest, encode, preview, store, and deliver your live streaming content.

Quando si distribuiscono contenuti ai clienti, l'obiettivo è riuscire a trasmettere video di alta qualità a vari tipi di dispositivi in diverse condizioni di rete.When delivering your content to customers your goal is to deliver a high quality video to various devices under different network conditions. Per raggiungere questo obiettivo, usare codificatori live per codificare il flusso in un flusso video a bitrate multiplo (bitrate adattivo).To achieve this, use live encoders to encode your stream to a multi-bitrate (adaptive bitrate) video stream. Per garantire la trasmissione a diversi tipi di dispositivi, usare la funzione di creazione dinamica dei pacchetti di Servizi multimediali per riorganizzare dinamicamente il flusso in nuovi pacchetti creati con protocolli diversi.To take care of streaming on different devices, use Media Services dynamic packaging to dynamically re-package your stream to different protocols. Servizi multimediali supporta le tecnologie di streaming a bitrate adattivo seguenti: HTTP Live Streaming (HLS), Smooth Streaming e MPEG DASH.Media Services supports delivery of the following adaptive bitrate streaming technologies: HTTP Live Streaming (HLS), Smooth Streaming, MPEG DASH.

In Servizi multimediali di Azure, la gestione di tutte le funzionalità di live streaming è affidata a entità Channel, Program e StreamingEndpoint, compresi inserimento, formattazione, DVR, sicurezza, scalabilità e ridondanza.In Azure Media Services, Channels, Programs, and StreamingEndpoints handle all the live streaming functionalities including ingest, formatting, DVR, security, scalability and redundancy.

Un canale rappresenta una pipeline per l'elaborazione di contenuto in streaming live.A Channel represents a pipeline for processing live streaming content. Un canale può ricevere i flussi di input live nei modi seguenti:A Channel can receive a live input streams in the following ways:

  • Un codificatore live locale invia un flusso RTMP o Smooth Streaming (MP4 frammentato) a bitrate multipli al canale configurato per il recapito pass-through.An on-premises live encoder sends multi-bitrate RTMP or Smooth Streaming (fragmented MP4) to the Channel that is configured for pass-through delivery. Il recapito pass-through avviene quando i flussi inseriti passano attraverso i canali senza altre elaborazioni.The pass-through delivery is when the ingested streams pass through Channels without any further processing. È possibile usare i codificatori live seguenti che generano output in formato Smooth Streaming a bitrate multipli: MediaExcel, Ateme, Imagine Communications, Envivio, Cisco ed Elemental.You can use the following live encoders that output multi-bitrate Smooth Streaming: MediaExcel, Ateme, Imagine Communications, Envivio, Cisco and Elemental. I codificatori live seguenti generano output in formato RTMP: Adobe Flash Media Live Encoder (FMLE), Telestream Wirecast, Haivision, Teradek e transcodificatori Tricaster.The following live encoders output RTMP: Adobe Flash Media Live Encoder (FMLE), Telestream Wirecast, Haivision, Teradek and Tricaster transcoders. Un codificatore live può anche inviare un flusso a bitrate singolo a un canale non abilitato per la codifica live, ma questa operazione non è consigliata.A live encoder can also send a single bitrate stream to a channel that is not enabled for live encoding, but that is not recommended. Quando richiesto, Servizi multimediali invia il flusso ai clienti.When requested, Media Services delivers the stream to customers.

    Nota

    L'uso di un metodo pass-through è il modo più economico per realizzare lo streaming live quando si eseguono più eventi per un lungo periodo di tempo e si è già investito in codificatori locali.Using a pass-through method is the most economical way to do live streaming when you are doing multiple events over a long period of time, and you have already invested in on-premises encoders. Vedere i dettagli sui prezzi .See pricing details.

  • Un codificatore live locale invia un flusso a bitrate singolo al canale abilitato per l'esecuzione della codifica live con Servizi multimediali in uno dei seguenti formati: RTMP o Smooth Streaming (MP4 frammentato).An on-premises live encoder sends a single-bitrate stream to the Channel that is enabled to perform live encoding with Media Services in one of the following formats: RTMP or Smooth Streaming (fragmented MP4). È supportato anche il formato RTP (MPEG-TS) ma, in questo caso, è necessario avere una connessione dedicata al data center di Azure.RTP (MPEG-TS) is also supported, provided you have a dedicated connection to the Azure data center. Con questo tipo di canali possono interagire i seguenti codificatori live con output RTMP: Telestream Wirecast, FMLE.The following live encoders with RTMP output are known to work with channels of this type: Telestream Wirecast, FMLE. Il canale esegue quindi la codifica live del flusso in ingresso a velocità in bit singola in un flusso video a più velocità in bit (adattivo).The Channel then performs live encoding of the incoming single bitrate stream to a multi-bitrate (adaptive) video stream. Quando richiesto, Servizi multimediali invia il flusso ai clienti.When requested, Media Services delivers the stream to customers.

A partire dalla versione 2.10 di Servizi multimediali, quando si crea un canale è possibile specificare in che modo il canale riceverà il flusso di input e se eseguirà o meno la codifica live del flusso.Starting with the Media Services 2.10 release, when you create a Channel, you can specify in which way you want for your channel to receive the input stream and whether or not you want for the channel to perform live encoding of your stream. Sono disponibili due opzioni:You have two options:

  • Nessuno (pass-through): specificare questo valore se si prevede di usare un codificatore live locale che genera un flusso a bitrate multiplo (un flusso pass-through).None (pass-through) – Specify this value, if you plan to use an on-premises live encoder which will output multi-bitrate stream (a pass-through stream). In questo caso, il flusso in ingresso viene passato all'output senza codifica.In this case, the incoming stream passed through to the output without any encoding. Questo è il comportamento di un canale prima della versione 2.10.This is the behavior of a Channel prior to 2.10 release.
  • Standard - scegliere questo valore se si prevede di usare Servizi multimediali per codificare il flusso live a velocità in bit singola in un flusso a più velocità in bit.Standard – Choose this value, if you plan to use Media Services to encode your single bitrate live stream to multi-bitrate stream. Questo metodo è il più vantaggioso per aumentare rapidamente le unità in caso di eventi non frequenti.This method is more economical for scaling up quickly for infrequent events. Tenere presente che la codifica live è soggetta a un costo e che se si lascia un canale di codifica live impostato sullo stato "In esecuzione", vengono aggiunti nuovi costi alla fatturazione.Be aware that there is a billing impact for live encoding and you should remember that leaving a live encoding channel in the "Running" state will incur billing charges. Per evitare costi orari aggiuntivi, quindi, è consigliabile arrestare immediatamente i canali in esecuzione al termine dell'evento in streaming live.It is recommended that you immediately stop your running channels after your live streaming event is complete to avoid extra hourly charges.

Confronto tra tipi di canaleComparison of Channel Types

Nella tabella seguente vengono confrontati i due tipi di canale supportati in Servizi MultimedialiFollowing table provides a guide to comparing the two Channel types supported in Media Services

FunzionalitàFeature Canale pass-throughPass-through Channel Canale standardStandard Channel
Input a bitrate singolo codificato in bitrate multipli nel cloudSingle bitrate input is encoded into multiple bitrates in the cloud No No Yes
Risoluzione massima, numero di livelliMaximum resolution, number of layers 1080p, 8 livelli, oltre 60 fps1080p, 8 layers, 60+fps 720p, 6 livelli, 30 fps720p, 6 layers, 30 fps
Protocolli di inputInput protocols RTMP, Smooth StreamingRTMP, Smooth Streaming RTMP, Smooth Streaming e RTPRTMP, Smooth Streaming, and RTP
PrezzoPrice Vedere la pagina dei prezzi e fare clic sulla scheda "Video live"See the pricing page and click on "Live Video" tab Vedere la pagina dei prezziSee the pricing page
Tempo di esecuzione massimoMaximum run time 24 x 724x7 8 ore8 hours
Supporto per l'inserimento di slateSupport for inserting slates No No Yes
Supporto per annunci pubblicitariSupport for ad signaling No No Yes
Pass-through di sottotitoli CEA 608/708Pass-through CEA 608/708 captions Yes Yes
Possibilità di recuperare brevi fasi di stallo in feed di contributoAbility to recover from brief stalls in contribution feed Yes No (senza dati di input, il canale avvierà lo slate dopo 6 secondi)No (Channel will begin slating after 6+ seconds w/o input data)
Supporto per GOP di input non uniformiSupport for non-uniform input GOPs Yes No: l'input deve essere fisso (GOP di 2 secondi)No – input must be fixed 2sec GOPs
Supporto per input con frequenza dei fotogrammi variabileSupport for variable frame rate input Yes No: l'input deve essere una frequenza di fotogrammi fissa.No – input must be fixed frame rate.
Sono tollerate lievi variazioni, ad esempio durante scene ad alta velocità.Minor variations are tolerated, for example, during high motion scenes. Il codificatore, tuttavia, non può scendere a 10 fotogrammi al secondo.But encoder cannot drop to 10 frames/sec.
Arresto automatico dei canali in caso di perdita del feed di inputAuto-shutoff of Channels when input feed is lost No No Dopo 12 ore, nessun programma è in esecuzioneAfter 12 hours, if there is no Program running

Utilizzo di canali che ricevono il flusso live a bitrate multiplo da codificatori locali con il metodo pass-throughWorking with Channels that receive multi-bitrate live stream from on-premises encoders (pass-through)

Il diagramma seguente illustra le parti principali della piattaforma AMS coinvolte nel flusso di lavoro pass-through .The following diagram shows the major parts of the AMS platform that are involved in the pass-through workflow.

Flusso di lavoro live

Per altre informazioni, vedere l'articolo relativo all' uso di canali che ricevono il flusso live a velocità in bit multipla da codificatori locali.For more information, see Working with Channels that Receive Multi-bitrate Live Stream from On-premises Encoders.

Uso di canali abilitati per l'esecuzione della codifica live con Servizi multimediali di AzureWorking with Channels that are enabled to perform live encoding with Azure Media Services

Il seguente diagramma mostra i componenti principali della piattaforma AMS interessati dal flusso di lavoro di streaming live dove un canale è abilitato a eseguire la codifica live con Servizi multimediali.The following diagram shows the major parts of the AMS platform that are involved in Live Streaming workflow where a Channel is enabled to perform live encoding with Media Services.

Flusso di lavoro live

Per altre informazioni, vedere Uso di canali abilitati per l'esecuzione della codifica live con Servizi multimediali di Azure.For more information, see Working with Channels that are Enabled to Perform Live Encoding with Azure Media Services.

CanaleChannel

In Servizi multimediali le entità Channelsono responsabili dell'elaborazione dei contenuti in streaming live.In Media Services, Channels are responsible for processing live streaming content. Un'entità Channel, o canale, fornisce un endpoint di input (URL di inserimento) che può essere a sua volta fornito al transcodificatore live.A Channel provides an input endpoint (ingest URL) that you then provide to a live transcoder. Un'entità Channel riceve flussi di input live dal trascodificatore live e li rende disponibili per lo streaming mediante uno o più StreamingEndpoints.The channel receives live input streams from the live transcoder and makes it available for streaming through one or more StreamingEndpoints. I canali forniscono anche un endpoint di anteprima(URL di anteprima) che consente di visualizzare in anteprima e convalidare il flusso prima dell'ulteriore elaborazione e del recapito.Channels also provide a preview endpoint (preview URL) that you use to preview and validate your stream before further processing and delivery.

È possibile ottenere l'URL di inserimento e l'URL di anteprima quando si crea il canale.You can get the ingest URL and the preview URL when you create the channel. Per ottenere questi URL, non è necessario che il canale sia nello stato avviato.To get these URLs, the channel does not have to be in the started state. Quando si è pronti per avviare l'inserimento di dati da un transcodificatore live nel canale, il canale deve essere avviato.When you are ready to start pushing data from a live transcoder into the channel, the channel must be started. Una volta che il transcodificatore live inizia a inserire i dati, è possibile visualizzare in anteprima il flusso.Once the live transcoder starts ingesting data, you can preview your stream.

Ogni account di Servizi multimediali può contenere più entità Channel, Program e StreamingEndpoint.Each Media Services account can contain multiple Channels, multiple Programs, and multiple StreamingEndpoints. In base alle esigenze di sicurezza e alla larghezza di banda, i servizi di StreamingEndpoint possono essere dedicati a uno o più canali.Depending on the bandwidth and security needs, StreamingEndpoint services can be dedicated to one or more channels. Qualsiasi StreamingEndpoint può effettuare il pull da qualsiasi canale.Any StreamingEndpoint can pull from any Channel.

ProgrammaProgram

Un programma consente di controllare la pubblicazione e l'archiviazione di segmenti in un flusso live.A Program enables you to control the publishing and storage of segments in a live stream. I programmi sono gestiti dai canali.Channels manage Programs. La relazione tra queste due entità è molto simile a quella che intercorre tra di essi nei media tradizionali, in cui un canale è costituito da un flusso costante di contenuti, mentre un programma ha come ambito una serie di eventi programmati sul canale.The Channel and Program relationship is very similar to traditional media where a channel has a constant stream of content and a program is scoped to some timed event on that channel. È possibile specificare il numero di ore per cui si vuole mantenere il contenuto registrato per il programma impostando la proprietà ArchiveWindowLength .You can specify the number of hours you want to retain the recorded content for the program by setting the ArchiveWindowLength property. Il valore impostato può essere compreso tra 5 minuti e 25 ore.This value can be set from a minimum of 5 minutes to a maximum of 25 hours.

La proprietà ArchiveWindowLength determina anche il limite di tempo per cui i client possono eseguire ricerche a ritroso nel tempo dalla posizione live corrente.ArchiveWindowLength also dictates the maximum amount of time clients can seek back in time from the current live position. I programmi possono essere eseguiti per la quantità di tempo specificata, ma il contenuto che va oltre la durata prevista viene scartato in modo continuo.Programs can run over the specified amount of time, but content that falls behind the window length is continuously discarded. Il valore della proprietà determina anche il tempo per cui i manifesti client possono crescere.This value of this property also determines how long the client manifests can grow.

Ogni programma è associato a un asset.Each program is associated with an Asset. Per pubblicare il programma, è necessario creare un localizzatore per l'asset associato.To publish the program you must create a locator for the associated asset. Con questo localizzatore sarà possibile creare un URL di streaming da fornire ai client.Having this locator will enable you to build a streaming URL that you can provide to your clients.

Un canale supporta fino a tre programmi in esecuzione simultanea, in modo da poter creare più archivi dello stesso flusso in ingresso.A channel supports up to three concurrently running programs so you can create multiple archives of the same incoming stream. Questo consente di pubblicare e archiviare parti diverse di un evento a seconda delle necessità.This allows you to publish and archive different parts of an event as needed. Si consideri ad esempio uno scenario in cui un'azienda richiede l'archiviazione di 6 ore di un programma e la trasmissione solo degli ultimi 10 minuti.For example, your business requirement is to archive 6 hours of a program, but to broadcast only last 10 minutes. A tale scopo, è necessario creare due programmi in esecuzione contemporaneamente.To accomplish this, you need to create two concurrently running programs. Un programma è impostato per l'archiviazione di 6 ore dell'evento, ma non viene pubblicato.One program is set to archive 6 hours of the event but the program is not published. L'altro programma è impostato per l'archiviazione di 10 minuti e viene pubblicato.The other program is set to archive for 10 minutes and this program is published.

Implicazioni relative alla fatturazioneBilling Implications

Un canale avvia la fatturazione non appena il suo stato viene impostato su "In esecuzione" tramite l'API.A channel begins billing as soon as it's state transitions to "Running" via the API.

La tabella seguente illustra il mapping degli stati del canale agli stati di fatturazione nell'API e nel portale di Azure.The following table shows how Channel states map to billing states in the API and Azure portal. È possibile che gli stati visualizzati nell'API risultino leggermente diversi da quelli dell'interfaccia del portale.Note that the states are slightly different between the API and Portal UX. Non appena un canale viene impostato sullo stato "In esecuzione" tramite l'API o sullo stato "Pronto" o "Streaming" nel portale di Azure, viene attivata la fatturazione.As soon as a channel is in the "Running" state via the API, or in the "Ready" or "Streaming" state in the Azure portal, billing will be active.

Per sospendere l'attività di fatturazione del canale, è necessario interrompere il canale tramite l'API o nel portale di Azure.To stop the Channel from billing you further, you have to Stop the Channel via the API or in the Azure portal. L'utente ad è responsabile dell'interruzione dei canali al termine dell'utilizzo del canale.You are responsible for stopping your channels when you are done with the channel. La mancata interruzione del canale comporta infatti il proseguimento della fatturazione.Failure to stop the channel will result in continued billing.

Nota

Quando si usano i canali Standard, Servizi multimediali di Azure arresterà automaticamente eventuali canali con stato ancora "In esecuzione" 12 ore dopo la perdita del feed di input in assenza di programmi in esecuzione.When working with Standard channels, AMS will auto shutoff any Channel that is still in “Running” state 12 hours after the input feed is lost, and there are no Programs running. Verrà tuttavia addebitato comunque il tempo in cui il canale è rimasto in stato "In esecuzione".However, you will still be billed for the time the Channel was in “Running” state.

Stati del canale e relativi metodi di mapping alla modalità di fatturazioneChannel states and how they map to the billing mode

Si tratta dello stato attuale del canale.The current state of a Channel. I valori possibili sono:Possible values include:

  • Arrestato.Stopped. Lo stato iniziale del canale dopo la creazione (se nel portale non è stata selezionata l'opzione di avvio automatico.) In questo stato non viene eseguita alcuna attività di fatturazione.This is the initial state of the Channel after its creation (unless autostart was selected in the portal.) No billing occurs in this state. In questo stato le proprietà del canale possono essere aggiornate ma lo streaming non è consentito.In this state, the Channel properties can be updated but streaming is not allowed.
  • Avvio in corso.Starting. È in corso l'avvio del canale.The Channel is being started. In questo stato non viene eseguita alcuna attività di fatturazione.No billing occurs in this state. In questo stato non è consentito alcun aggiornamento o streaming.No updates or streaming is allowed during this state. Se si verifica un errore, il canale torna allo stato Interrotto.If an error occurs, the Channel returns to the Stopped state.
  • In esecuzione.Running. Il canale è in grado di elaborare flussi live.The Channel is capable of processing live streams. La fatturazione è ora attiva.It is now billing usage. È necessario interrompere il canale per sospendere la fatturazione.You must stop the channel to prevent further billing.
  • Arresto in corso.Stopping. È in corso l'interruzione del canale.The Channel is being stopped. In questo stato di transizione non viene eseguita alcuna attività di fatturazione.No billing occurs in this transient state. In questo stato non è consentito alcun aggiornamento o streaming.No updates or streaming is allowed during this state.
  • Eliminazione in corso.Deleting. È in corso l'eliminazione del canale.The Channel is being deleted. In questo stato di transizione non viene eseguita alcuna attività di fatturazione.No billing occurs in this transient state. In questo stato non è consentito alcun aggiornamento o streaming.No updates or streaming is allowed during this state.

La tabella seguente illustra il mapping degli stati del canale alla modalità di fatturazione.The following table shows how Channel states map to the billing mode.

Stato del canaleChannel state Indicatori dell'interfaccia utente del portalePortal UI Indicators Fatturazione?Is it Billing?
Avvio in corsoStarting Avvio in corsoStarting No (stato temporaneo)No (transient state)
In esecuzioneRunning Pronto (nessun programma in esecuzione)Ready (no running programs)
oppureor
Streaming (almeno un programma in esecuzione)Streaming (at least one running program)
YES
StoppingStopping StoppingStopping No (stato temporaneo)No (transient state)
ArrestatoStopped ArrestatoStopped No No

Percorsi di apprendimento di Servizi multimedialiMedia Services learning paths

Altre informazioni sui percorsi di apprendimento di Servizi multimediali di Azure:Read about the Azure Media Services learning paths:

Fornire commenti e suggerimentiProvide feedback

Usare il forum di suggerimenti degli utenti per fornire commenti e suggerimenti su come migliorare Servizi multimediali di Azure.Use the User Voice forum to provide feedback and make suggestions on how to improve Azure Media Services. È anche possibile passare direttamente a una delle categorie seguenti:You also can go directly to one of the following categories:

Specifica per l'inserimento live di un flusso MP4 frammentato con Servizi multimediali di AzureAzure Media Services Fragmented MP4 Live Ingest Specification

Uso di canali abilitati per l'esecuzione della codifica live con Servizi multimediali di AzureWorking with Channels that are Enabled to Perform Live Encoding with Azure Media Services

Uso di canali che ricevono il flusso live a più velocità in bit da codificatori localiWorking with Channels that Receive Multi-bitrate Live Stream from On-premises Encoders

Quote e limitazioni.Quotas and limitations.

Concetti su Servizi multimediali di AzureMedia Services Concepts