Używanie przesunięcia czasu i danych wyjściowych na żywo do tworzenia odtwarzania wideo na żądanie

Logo usługi Media Services w wersji 3


Ostrzeżenie

Usługa Azure Media Services zostanie wycofana 30 czerwca 2024 r. Aby uzyskać więcej informacji, zobacz Przewodnik po wycofaniu usługi AMS.

W usłudze Azure Media Services obiekt Live Output jest jak cyfrowy rejestrator wideo, który będzie przechwytywać i nagrywać strumień na żywo do elementu zawartości na koncie usługi Media Services. Zarejestrowana zawartość jest utrwalana w kontenerze zdefiniowanym przez zasób zasobu (kontener znajduje się na koncie usługi Azure Storage dołączonym do twojego konta). Dane wyjściowe na żywo umożliwiają również sterowanie niektórymi właściwościami wychodzącego strumienia na żywo, takimi jak ilość strumienia przechowywanego w nagraniu archiwum (na przykład pojemność rejestratora w chmurze) lub gdy widzowie mogą rozpocząć oglądanie strumienia na żywo. Archiwum na dysku jest okrągłym archiwum "okno", które przechowuje tylko ilość zawartości określonej we właściwości archiveWindowLength danych wyjściowych na żywo. Zawartość, która znajduje się poza tym oknem, jest automatycznie odrzucana z kontenera magazynu i nie można jej odzyskać. Wartość archiveWindowLength reprezentuje czas trwania przedziału czasu ISO-8601 (na przykład PTHH:MM:SS), który określa pojemność DVR. Wartość można ustawić z co najmniej jednej minuty na maksymalnie 25 godzin.

Relacja między wydarzeniem na żywo a jego danymi wyjściowymi na żywo jest podobna do tradycyjnej transmisji telewizyjnej, w tym kanale (wydarzenie na żywo) reprezentuje stały strumień wideo, a nagranie (dane wyjściowe na żywo) jest ograniczone do określonego segmentu czasu (na przykład wieczorne wiadomości od 18:30 do 19:00). Gdy strumień przepływa do wydarzenia na żywo, możesz rozpocząć wydarzenie przesyłania strumieniowego, tworząc element zawartości, dane wyjściowe na żywo i lokalizator przesyłania strumieniowego. Dane wyjściowe na żywo będą archiwizować strumień i udostępniać go widzom za pośrednictwem punktu końcowego przesyłania strumieniowego. Możesz utworzyć wiele danych wyjściowych na żywo (maksymalnie trzy) na żywo z różnymi długościami i ustawieniami archiwum. Aby uzyskać informacje o przepływie pracy transmisji strumieniowej na żywo, zobacz sekcję Ogólne kroki .

Używanie rejestratora DVR podczas zdarzenia

W tej sekcji omówiono sposób używania dvr podczas zdarzenia w celu kontrolowania, jakie części strumienia są dostępne dla "przewijanego".

Wartość archiveWindowLength określa, jak daleko w czasie osoba przeglądająca może przejść z bieżącej pozycji na żywo. Wartość archiveWindowLength określa również, jak długo manifesty klienta mogą rosnąć.

Załóżmy, że przesyłasz strumieniowo mecz piłki nożnej i ma ArchiveWindowLength zaledwie 30 minut. Widz, który zaczyna oglądać wydarzenie 45 minut po rozpoczęciu gry, może wrócić do najwyżej 15-minutowego znaku. Dane wyjściowe na żywo dla gry będą kontynuowane do momentu zatrzymania wydarzenia na żywo. Zawartość, która znajduje się poza archiwumWindowLength, jest stale odrzucana z magazynu i nie można jej odzyskać. W tym przykładzie wideo między rozpoczęciem zdarzenia a 15-minutowym znacznikem zostałoby wyczyszczone z rejestratora DVR i z kontenera w magazynie obiektów blob dla zasobu. Archiwum nie jest możliwe do odzyskania i jest usuwane z kontenera w usłudze Azure Blob Storage.

Wydarzenie na żywo obsługuje maksymalnie trzy współbieżne uruchamianie danych wyjściowych na żywo (w tym samym czasie można utworzyć maksymalnie 3 nagrania/archiwa z jednego strumienia na żywo). Ta obsługa umożliwia publikowanie i archiwizowanie różnych części zdarzenia zgodnie z potrzebami. Załóżmy, że musisz emitować kanał liniowy 24x7 na żywo i tworzyć "nagrania" różnych programów przez cały dzień, aby oferować klientom jako zawartość na żądanie do oglądania zaległości. W tym scenariuszu najpierw utworzysz podstawowe dane wyjściowe na żywo z krótkim oknem archiwum zawierającym co najmniej 1 godzinę — jest to podstawowy strumień na żywo, do którego dostroią się osoby przeglądające. Należy utworzyć lokalizator przesyłania strumieniowego dla tych danych wyjściowych na żywo i opublikować go w aplikacji lub witrynie internetowej jako kanał informacyjny "Na żywo". Gdy wydarzenie na żywo jest uruchomione, możesz programowo utworzyć drugie współbieżne dane wyjściowe na żywo na początku programu (lub 5 minut wcześniej, aby zapewnić niektóre dojścia do przycinania później). Drugie dane wyjściowe na żywo można usunąć 5 minut po zakończeniu programu. Za pomocą tego drugiego elementu zawartości można utworzyć nowy lokalizator przesyłania strumieniowego, aby opublikować ten program jako zasób na żądanie w katalogu aplikacji. Ten proces można powtarzać wiele razy dla innych granic programu lub wyróżniać, które chcesz udostępniać jako filmy wideo na żądanie, a kanał informacyjny "Na żywo" z pierwszego danych wyjściowych na żywo nadal emituje kanał liniowy.

Korzystanie z funkcji rewindWindowLength

Możesz również użyć rewindWindowLength właściwości danych wyjściowych na żywo, aby kontrolować czas, przez jaki widz może wyszukiwać do tyłu podczas wydarzenia na żywo. Ustawienie pomaga również zmniejszyć rozmiar manifestu dostarczony do klienta przez sieć podczas transmisji strumieniowej na żywo. Może to spowodować zwiększenie wydajności środowiska transmisji strumieniowej na żywo i zmniejszenie użycia pamięci na kliencie. Po zatrzymaniu transmisji danych wyjściowych na żywo zarchiwizowane wideo będzie używać oryginalnej długości okna archiwum opisanego powyżej.

Po zakończeniu przesyłania strumieniowego możesz uzyskać dostęp do zarchiwizowanego pliku w elemencie zawartości zdefiniowanym przez właściwość archiveWindowLength dla danych wyjściowych na żywo. Dzięki temu można ustawić inny czas trwania archiwum od poprzedniego czasu trwania "okna przewijania DVR", który jest widoczny dla odtwarzacza.

Jest to bardzo przydatne w przypadku przesyłania strumieniowego z bardzo małym oknem zmiany czasu w odtwarzaczu, ale chcesz zarchiwizować całe wydarzenie na żywo z zasobem wyjściowym.

Możesz ustawić wartość minimalnąwindWindowLength na wartość minimalną wynoszącą 60 sekund.

Jeśli tworzysz wydarzenie na żywo przy użyciu klasy LowLatencyV2, wartość domyślna to 30 minut.

Po wysłaniu żądania dla danych wyjściowych na żywo dołącz ponowniewindWindowLength we właściwościach. W poniższym przykładzie REST PT1H30M służy do wskazania 1 godziny i 30 minut długości okna przewijania.


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

Tworzenie archiwum do odtwarzania na żądanie

Zasób danych wyjściowych na żywo automatycznie staje się elementem zawartości na żądanie po usunięciu danych wyjściowych na żywo. Aby można było zatrzymać wydarzenie na żywo, należy usunąć wszystkie dane wyjściowe na żywo. (Możesz użyć opcjonalnej flagi removeOutputsOnStop , aby automatycznie usunąć dane wyjściowe na żywo po zatrzymaniu). Użytkownicy mogą przesyłać strumieniowo zarchiwizowana zawartość na żądanie, o ile nie usuniesz zasobu.

Uwaga

Po usunięciu danych wyjściowych na żywo nie usuwasz bazowego elementu zawartości i zawartości w zasobie.

Jeśli element zawartości danych wyjściowych na żywo został opublikowany przy użyciu lokalizatora przesyłania strumieniowego, wydarzenie na żywo (do długości okna DVR) będzie nadal widoczne do momentu wygaśnięcia lub usunięcia lokalizatora przesyłania strumieniowego, w zależności od tego, co nastąpi wcześniej.

Aby uzyskać więcej informacji, zobacz:

Uzyskiwanie pomocy i obsługi technicznej

Możesz skontaktować się z usługą Media Services z pytaniami lub postępować zgodnie z naszymi aktualizacjami, korzystając z jednej z następujących metod: