Usare time-shifting e output live per creare la riproduzione di video su richiesta

Logo di Servizi multimediali v3


Avviso

Servizi multimediali di Azure verrà ritirato il 30 giugno 2024. Per altre informazioni, vedere la Guida al ritiro di AMS.

In Servizi multimediali di Azure, un oggetto Output live è simile a un registratore video digitale che intercetta e registra il flusso live in un asset nell'account di Servizi multimediali. Il contenuto registrato viene salvato in modo permanente nel contenitore definito dalla risorsa Asset (il contenitore si trova nell'account di archiviazione di Azure collegato all'account). L'output live consente anche di controllare alcune proprietà del flusso live in uscita, ad esempio la quantità di flusso mantenuta nella registrazione dell'archivio (ad esempio, la capacità del DVR cloud) o quando gli utenti possono iniziare a guardare il flusso live. L'archivio su disco è una "finestra" di archiviazione circolare che contiene solo la quantità di contenuto specificata nella proprietà archiveWindowLength dell'output live. Il contenuto che non rientra in questa finestra viene automaticamente eliminato dal contenitore di archiviazione e non è recuperabile. Il valore archiveWindowLength rappresenta una durata iso-8601 di intervallo (ad esempio, PTHH:MM:SS), che specifica la capacità del DVR. Il valore può essere impostato da un minimo di un minuto a un massimo di 25 ore.

La relazione tra un evento live e i relativi output live è simile alla tradizionale trasmissione televisiva, in quanto un canale (evento live) rappresenta un flusso costante di video e una registrazione (output live) ha come ambito un segmento di tempo specifico (ad esempio, notizie serali dalle 17:30 alle 17:00). Dopo aver eseguito il flusso nell'evento live, è possibile iniziare l'evento di streaming creando un asset, un output live e un localizzatore di streaming. L'output live archivierà il flusso e lo renderà disponibile agli utenti tramite l'endpoint di streaming. È possibile creare più output live (tre al massimo) su un evento live con lunghezze e impostazioni di archivio diverse. Per informazioni sul flusso di lavoro di streaming live, vedere la sezione passaggi generali .

Uso di un DVR durante un evento

Questa sezione illustra come usare un DVR durante un evento per controllare quali parti del flusso sono disponibili per "riavvolgimento".

Il archiveWindowLength valore determina l'intervallo di tempo in cui un visualizzatore può passare dalla posizione dinamica corrente. Il archiveWindowLength valore determina anche per quanto tempo i manifesti client possono crescere.

Si supponga di trasmettere una partita di calcio e che abbia solo ArchiveWindowLength 30 minuti. Un visualizzatore che inizia a guardare l’evento 45 minuti dopo l’inizio della partita può tornare indietro al massimo fino all’indicatore di 15 minuti. Gli output live per il gioco continueranno fino all'arresto dell'evento live. Il contenuto che non rientra nell'archivioWindowLength viene continuamente rimosso dalla risorsa di archiviazione ed è non recuperabile. In questo esempio il video tra l'inizio dell'evento e il contrassegno di 15 minuti sarebbe stato eliminato dal DVR e dal contenitore nell'archivio BLOB per l'asset. L'archivio non è recuperabile e viene rimosso dal contenitore nell'archivio BLOB di Azure.

Un evento live supporta fino a tre output live contemporaneamente (è possibile creare al massimo 3 registrazioni/archivi da un flusso live contemporaneamente). Questo supporto consente di pubblicare e archiviare parti diverse di un evento in base alle esigenze. Ad esempio, immaginiamo di dover trasmettere un feed lineare live 24x7 e di creare "registrazioni" dei diversi programmi nel corso della giornata da offrire ai clienti come contenuto visualizzabile su richiesta. Per questo scenario, si crea prima di tutto un output live primario con una breve finestra di archiviazione di 1 ora o meno. Si tratta del flusso live principale in base al quale i visualizzatori si adattano. È necessario creare un localizzatore di streaming per questo output live e pubblicarlo nell'app o nel sito Web come feed "Live". Mentre l'evento live è in esecuzione, è possibile creare a livello di codice un secondo output live simultaneo all'inizio di un programma (o 5 minuti prima per fornire alcuni handle per il trimming successivo). Questo secondo output live può essere eliminato 5 minuti dopo la fine del programma. Con questo secondo asset, puoi creare un nuovo localizzatore di streaming per pubblicare questo programma come asset on demand nel catalogo dell'app. È possibile ripetere questo processo più volte per altri limiti del programma o elementi di rilievo da condividere come video su richiesta, mentre il feed "Live" dal primo output live continua a trasmettere il feed lineare.

Uso di rewindWindowLength

È anche possibile utilizzare la rewindWindowLength proprietà per un output live per controllare la quantità di tempo in cui un visualizzatore può cercare all'indietro durante un evento live. L'impostazione consente anche di ridurre le dimensioni del manifesto recapitate al client in rete durante lo streaming live. Può comportare un'esperienza di streaming live più efficiente e ridurre l'utilizzo della memoria nel client. Dopo l'arresto dell'output live, il video archiviato userà la lunghezza della finestra di archiviazione originale descritta in precedenza.

Al termine del flusso, è possibile accedere al file archiviato nell'asset definito dalla proprietà archiveWindowLength per l'output live. In questo modo è possibile impostare una durata di archiviazione diversa rispetto alla durata precedente della "finestra temporale scorrevole DVR" visibile al lettore.

Questa operazione è molto utile quando si vuole eseguire lo streaming con una finestra di spostamento temporale molto piccola nel lettore, ma si vuole archiviare l'intero evento live nell'asset di output.

È possibile impostare rewindWindowLength su un valore minimo di 60 secondi.

Se si crea un evento live usando LowLatencyV2, il valore predefinito è 30 minuti.

Quando si invia una richiesta per un output live, includere rewindWindowLength nelle proprietà. Nell'esempio REST riportato di seguito, PT1H30M viene usato per indicare 1 ora e 30 minuti di lunghezza della finestra di riavvolgimento.


{
  "properties": {
    "description": "test live output 1",
    "assetName": "6f3264f5-a189-48b4-a29a-a40f22575212",
    "archiveWindowLength": "PT5M",
    "rewindWindowLength": "PT1H30M",
    "manifestName": "testmanifest",
    "hls": {
      "fragmentsPerTsSegment": 5
    }
  }

Creazione di un archivio per la riproduzione su richiesta

L'asset Di output live diventa automaticamente un asset su richiesta quando l'output live viene eliminato. È necessario eliminare tutti gli output live prima che un evento live possa essere arrestato. È possibile usare un flag facoltativo removeOutputsOnStop per rimuovere automaticamente gli output live all'arresto. Gli utenti possono trasmettere in streaming il contenuto archiviato su richiesta, purché non si elimini l'asset.

Nota

Quando si elimina l'output live, non si eliminano l'asset e il contenuto sottostanti nell'asset.

Se l'asset dell'output live è stato pubblicato usando un localizzatore di streaming, l'evento live (fino alla lunghezza della finestra DVR) continuerà a essere visualizzabile fino alla scadenza o all'eliminazione del localizzatore di streaming, a qualsiasi punto.

Per altre informazioni, vedere:

Guida e supporto tecnico

È possibile contattare Servizi multimediali con domande o seguire gli aggiornamenti tramite uno dei metodi seguenti: