Använda tidsväxling och liveutdata för att skapa videouppspelning på begäran

Media Services-logotyp v3


Varning

Azure Media Services dras tillbaka den 30 juni 2024. Mer information finns i AMS-pensionsguiden.

I Azure Media Services är ett Live Output-objekt som en digital videoinspelare som fångar och spelar in din liveström till en tillgång i ditt Media Services-konto. Det registrerade innehållet sparas i containern som definierats av resursresursen (containern finns i det Azure Storage-konto som är kopplat till ditt konto). Med liveutdata kan du också styra vissa egenskaper för den utgående liveströmmen, till exempel hur mycket av strömmen som sparas i arkivinspelningen (till exempel kapaciteten för moln-DVR) eller när tittarna kan börja titta på liveströmmen. Arkivet på disken är ett cirkulärt "fönster" som endast innehåller den mängd innehåll som anges i egenskapen archiveWindowLength för liveutdata. Innehåll som faller utanför det här fönstret tas bort automatiskt från lagringscontainern och kan inte återställas. Värdet archiveWindowLength representerar en varaktighet för ISO-8601-tidsintervallet (till exempel PTHH:MM:SS), som anger DVR-kapaciteten. Värdet kan anges från minst en minut till högst 25 timmar.

Relationen mellan en livehändelse och dess liveutdata liknar traditionell TV-sändning, eftersom en kanal (livehändelse) representerar en konstant ström av video och en inspelning (Live Output) är begränsad till ett specifikt tidssegment (till exempel kvällsnyheter från 18:30 till 19:00). När strömmen flödar till livehändelsen kan du starta strömningshändelsen genom att skapa en tillgång, liveutdata och positionerare för direktuppspelning. Liveutdata arkiverar strömmen och gör den tillgänglig för tittare via slutpunkten för direktuppspelning. Du kan skapa flera liveutdata (högst tre) på en livehändelse med olika arkivlängder och inställningar. Information om arbetsflödet för liveuppspelning finns i avsnittet allmänna steg .

Använda en DVR under en händelse

I det här avsnittet beskrivs hur du använder en DVR under en händelse för att styra vilka delar av strömmen som är tillgängliga för "spola tillbaka".

Värdet archiveWindowLength avgör hur långt tillbaka i tiden en tittare kan gå från den aktuella livepositionen. Värdet archiveWindowLength avgör också hur länge klientmanifesten kan växa.

Anta att du strömmar en fotbollsmatch och att den bara har ArchiveWindowLength 30 minuter. En tittare som börjar titta på ditt evenemang 45 minuter efter att spelet startade kan försöka tillbaka till högst 15-minutersmarkeringen. Dina liveutdata för spelet fortsätter tills livehändelsen har stoppats. Innehåll som faller utanför arkivetWindowLength tas bort kontinuerligt från lagringen och kan inte återställas. I det här exemplet skulle videon mellan händelsens början och 15-minutersmarkeringen ha rensats från din DVR och från containern i Blob Storage för tillgången. Arkivet kan inte återställas och tas bort från containern i Azure Blob Storage.

En livehändelse stöder upp till tre liveutdata som körs samtidigt (du kan skapa högst 3 inspelningar/arkiv från en liveström samtidigt). Med det här stödet kan du publicera och arkivera olika delar av en händelse efter behov. Anta att du behöver sända ett linjärt flöde dygnet runt och skapa "inspelningar" av de olika programmen under dagen för att erbjuda kunderna innehåll på begäran för att komma ikapp. I det här scenariot skapar du först en primär liveutdata med ett kort arkivfönster på 1 timme eller mindre – det här är den primära liveström som tittarna skulle ställa in. Du skapar en positionerare för direktuppspelning för liveutdata och publicerar den till din app eller webbplats som live-feed. När livehändelsen körs kan du programmatiskt skapa en andra samtidig liveutdata i början av ett program (eller 5 minuter för tidigt för att tillhandahålla vissa referenser för att trimma senare). Denna andra liveutdata kan tas bort 5 minuter efter att programmet har avslutats. Med den här andra tillgången kan du skapa en ny positionerare för direktuppspelning för att publicera det här programmet som en tillgång på begäran i din apps katalog. Du kan upprepa den här processen flera gånger för andra programgränser eller markera att du vill dela som videor på begäran, samtidigt som "Live"-flödet från den första liveutdatan fortsätter att sända det linjära flödet.

Använda rewindowLength

Du kan också använda rewindWindowLength egenskapen för liveutdata för att styra hur lång tid ett visningsprogram kan söka bakåt under en livehändelse. Inställningen hjälper också till att minska manifeststorleken som levereras till klienten via nätverket under liveuppspelning. Det kan resultera i en mer effektiv liveuppspelningsupplevelse och minska minnesanvändningen på klienten. När liveutdata stoppas använder den arkiverade videon den ursprungliga längden på arkivfönstret som beskrivs ovan.

När dataströmmen är klar kan du komma åt den arkiverade filen i tillgången som definieras av egenskapen archiveWindowLength för liveutdata. På så sätt kan du ange en annan arkivvaraktighet än den tidigare "DVR-skjutfönstret" som är synlig för spelaren.

Detta är mycket användbart när du vill strömma med ett mycket litet tidsväxlingsfönster i spelaren, men vill arkivera hela livehändelsen till utdatatillgången.

Du kan ange rewindowLength till ett minsta värde på 60 sekunder.

Om du skapar en livehändelse med LowLatencyV2 är standardvärdet 30 minuter.

När du skickar en begäran om liveutdata ska du inkludera rewindwindowLength i egenskaperna. I REST-exemplet nedan används PT1H30M för att ange en längd på 1 timme och 30 minuter för att spola tillbaka fönstret.


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

Skapa ett arkiv för uppspelning på begäran

Live output-tillgången blir automatiskt en tillgång på begäran när liveutdata tas bort. Du måste ta bort alla liveutdata innan en livehändelse kan stoppas. (Du kan använda en valfri flagga removeOutputsOnStop för att automatiskt ta bort liveutdata vid stopp.) Användare kan strömma ditt arkiverade innehåll på begäran så länge du inte tar bort tillgången.

Anteckning

När du tar bort liveutdata tar du inte bort den underliggande tillgången och innehållet i tillgången.

Om du har publicerat tillgången för dina liveutdata med hjälp av en positionerare för direktuppspelning fortsätter livehändelsen (upp till DVR-fönsterlängden) att kunna visas tills positioneraren för direktuppspelning upphör att gälla eller tas bort, beroende på vilket som inträffar först.

Mer information finns i:

Få hjälp och support

Du kan kontakta Media Services med frågor eller följa våra uppdateringar med någon av följande metoder: