Filtrowanie manifestów przy użyciu dynamicznego modułu packager

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 przypadku dostarczania zawartości przesyłania strumieniowego o adaptacyjnej szybkości transmisji bitów na urządzeniach czasami konieczne jest opublikowanie wielu wersji manifestu w celu określania docelowych możliwości urządzenia lub dostępnej przepustowości sieci. Dynamic Packager umożliwia określenie filtrów, które mogą filtrować określone koderki, rozdzielczości, szybkości bitów i kombinacje ścieżek dźwiękowych na bieżąco. Filtrowanie eliminuje potrzebę utworzenia wielu kopii. Wystarczy opublikować nowy adres URL z określonym zestawem filtrów skonfigurowanych do urządzeń docelowych (iOS, Android, SmartTV lub przeglądarek) oraz możliwości sieci (scenariusze o wysokiej przepustowości, urządzenia przenośne lub niskiej przepustowości). W takim przypadku klienci mogą manipulować przesyłaniem strumieniowym zawartości za pośrednictwem ciągu zapytania (określając dostępne filtry zasobów lub filtry konta) i używać filtrów do przesyłania strumieniowego określonych sekcji strumienia.

Niektóre scenariusze dostarczania wymagają upewnienia się, że klient nie może uzyskać dostępu do określonych ścieżek. Na przykład może nie chcesz publikować manifestu zawierającego ścieżki hd do określonej warstwy subskrybenta. A może chcesz usunąć określone ścieżki o adaptacyjnej szybkości transmisji bitów (ABR), aby zmniejszyć koszty dostarczania do określonego urządzenia, które nie skorzystałoby z dodatkowych ścieżek. W takim przypadku można skojarzyć listę wstępnie utworzonych filtrów z lokalizatorem przesyłania strumieniowego podczas tworzenia. Klienci nie mogą następnie manipulować sposobem przesyłania strumieniowego zawartości, ponieważ jest ona definiowana przez lokalizator przesyłania strumieniowego.

Filtrowanie można łączyć za pomocą określania filtrów w lokalizatorze przesyłania strumieniowego i dodatkowych filtrów specyficznych dla urządzenia, które klient określa w adresie URL. Ta kombinacja jest przydatna do ograniczania dodatkowych utworów, takich jak metadane lub strumienie zdarzeń, języki audio lub opisowe utwory audio.

Ta możliwość określania różnych filtrów w strumieniu zapewnia zaawansowane rozwiązanie do manipulowania manifestem dynamicznym w celu określania wielu scenariuszy przypadków użycia dla urządzeń docelowych. W tym temacie opisano pojęcia związane z manifestami dynamicznymi i przedstawiono przykłady scenariuszy, w których można użyć tej funkcji.

Uwaga

Manifesty dynamiczne nie zmieniają elementu zawartości i domyślnego manifestu dla tego zasobu.

Omówienie manifestów

Usługa Azure Media Services obsługuje protokoły HLS, MPEG DASH i Smooth Streaming. W ramach dynamicznego tworzenia pakietów manifesty klienta przesyłania strumieniowego (lista odtwarzania głównego HLS, opis prezentacji multimediów DASH [MPD] i smooth streaming) są generowane dynamicznie na podstawie selektora formatu w adresie URL. Aby uzyskać więcej informacji, zobacz protokoły dostarczania w typowym przepływie pracy na żądanie.

Pobieranie i badanie plików manifestu

Należy określić listę warunków właściwości śledzenia filtru w oparciu o to, które ścieżki strumienia (na żywo lub wideo na żądanie [VOD]) powinny być uwzględnione w dynamicznie utworzonym manifeście. Aby pobrać i zbadać właściwości utworów, należy najpierw załadować manifest Smooth Streaming.

Monitorowanie szybkości transmisji bitów strumienia wideo

Aby monitorować szybkość transmisji bitów strumienia wideo, możesz użyć strony demonstracyjnej usługi Azure Media Player . Na stronie pokazu są wyświetlane informacje diagnostyczne na karcie Diagnostyka :

Diagnostyka odtwarzacza multimediów platformy Azure

Przykłady: adresy URL z filtrami w ciągu zapytania

Filtry można stosować do protokołów przesyłania strumieniowego ABR: HLS, MPEG-DASH i Smooth Streaming. W poniższej tabeli przedstawiono kilka przykładów adresów URL z filtrami:

Protokół Przykład
HLS https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=m3u8-aapl,filter=myAccountFilter)
MPEG DASH https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(format=mpd-time-csf,filter=myAssetFilter)
Smooth Streaming https://amsv3account-usw22.streaming.media.azure.net/fecebb23-46f6-490d-8b70-203e86b0df58/bigbuckbunny.ism/manifest(filter=myAssetFilter)

Filtrowanie odwzorowań

Możesz zakodować zasób do wielu profilów kodowania (H.264 Baseline, H.264 High, AACL, AACH, Dolby Digital Plus) i wiele szybkości bitów jakości. Jednak nie wszystkie urządzenia klienckie będą obsługiwać wszystkie profile i szybkości bitów twojego zasobu. Na przykład starsze urządzenia z systemem Android obsługują tylko listę punktów odniesienia H.264 i AACL. Wysyłanie wyższych szybkości transmisji bitów do urządzenia, które nie może uzyskać korzyści z marnotrawstwa przepustowości i obliczeń urządzeń. Takie urządzenie musi dekodować wszystkie podane informacje, tylko w celu skalowania go w dół na potrzeby wyświetlania.

Za pomocą manifestu dynamicznego można tworzyć profile urządzeń (takie jak urządzenia przenośne, konsola lub HD/SD) oraz dołączyć ścieżki i cechy, które mają być częścią każdego profilu. Jest to nazywane filtrowaniem odwzorowań. Na poniższym diagramie przedstawiono przykład.

diagram filtru odwzorowania 2

W górnej części poniższego diagramu przedstawiono manifest HLS dla zasobu bez filtrów. (Zawiera wszystkie siedem odwzorowań). W lewym dolnym rogu diagram przedstawia manifest HLS, do którego zastosowano filtr o nazwie "ott". Filtr "ott" określa usunięcie wszystkich szybkości bitów poniżej 1 Mb/s, więc dolne dwa poziomy jakości zostały usunięte w odpowiedzi. W prawym dolnym rogu diagram przedstawia manifest HLS, do którego zastosowano filtr o nazwie "mobile". Filtr "mobile" określa usuwanie odwzorowań, w których rozdzielczość jest większa niż 720p, więc dwa odwzorowania 1080p zostały usunięte.

diagram filtru odwzorowania

Usuwanie ścieżek językowych

Twoje zasoby mogą zawierać wiele języków audio, takich jak angielski, hiszpański, francuski itd. Zazwyczaj zestaw SDK odtwarzacza zarządza domyślnym wyborem ścieżki audio i dostępnymi utworami audio na wybór użytkownika.

Opracowywanie takich zestawów SDK odtwarzacza jest trudne, ponieważ wymaga różnych implementacji w strukturach odtwarzacza specyficznych dla urządzenia. Ponadto na niektórych platformach interfejsy API odtwarzacza są ograniczone i nie zawierają funkcji wyboru dźwięku, w której użytkownicy nie mogą wybierać ani zmieniać domyślnej ścieżki audio. Dzięki filtrom zasobów można kontrolować zachowanie, tworząc filtry, które zawierają tylko żądane języki audio.

diagram filtru języka

Przycinanie początku elementu zawartości

W większości zdarzeń transmisji strumieniowej na żywo operatory uruchamiają kilka testów przed rzeczywistym zdarzeniem. Na przykład mogą zawierać łupek podobny do tego przed rozpoczęciem wydarzenia: "Program rozpocznie się chwilowo".

Jeśli program archiwizowa, dane testowe i łupków są również archiwizowane i uwzględniane w prezentacji. Jednak te informacje nie powinny być wyświetlane klientom. Za pomocą manifestu dynamicznego można utworzyć filtr czasu rozpoczęcia i usunąć niepożądane dane z manifestu.

diagram filtru przycinania

Tworzenie podkropów (widoków) z archiwum na żywo

Wiele wydarzeń na żywo trwa długo, a archiwum na żywo może obejmować wiele zdarzeń. Po zakończeniu wydarzenia na żywo nadawcy mogą chcieć podzielić archiwum na żywo w logiczne sekwencje uruchamiania i zatrzymywania.

Te programy wirtualne można publikować oddzielnie bez przetwarzania archiwum na żywo i nie tworzyć oddzielnych zasobów (co nie przynosi korzyści z istniejących buforowanych fragmentów w sieci CDN). Przykładami takich programów wirtualnych są kwartały gry w piłkę nożną lub koszykówkę, innings w baseballu lub indywidualne wydarzenia dowolnego programu sportowego.

Za pomocą manifestu dynamicznego można tworzyć filtry przy użyciu czasów rozpoczęcia/zakończenia i tworzyć widoki wirtualne w górnej części archiwum na żywo.

diagram filtru subsclips

Oto przefiltrowany zasób:

Diagram filtru narciarskiego

Dostosowywanie okna prezentacji (DVR)

Obecnie usługa Azure Media Services oferuje archiwizację cykliczną, w której czas trwania można skonfigurować między 1 minutą a 25 godzinami. Filtrowanie manifestu może służyć do tworzenia kroczącego okna DVR w górnej części archiwum bez usuwania nośnika. Istnieje wiele scenariuszy, w których nadawcy chcą zapewnić ograniczone okno DVR, aby przenieść się z krawędzią na żywo i jednocześnie zachować większe okno archiwizacji. Nadawca może chcieć użyć danych, które są poza oknem DVR, aby wyróżnić klipy, lub może chcieć udostępnić różne okna DVR dla różnych urządzeń. Na przykład większość urządzeń przenośnych nie obsługuje dużych okien DVR (można mieć 2-minutowe okno DVR dla urządzeń przenośnych i godzinę dla klientów stacjonarnych).

diagram filtru dvr

Dostosowywanie funkcji LiveBackoff (pozycja na żywo)

Filtrowanie manifestu może służyć do usuwania kilku sekund z dynamicznej krawędzi programu na żywo. Filtrowanie umożliwia nadawcom watch prezentacji w punkcie publikacji w wersji zapoznawczej i tworzenie punktów wstawiania anonsów przed odebraniem strumienia przez osoby przeglądające (poparte przez 30 sekund). Nadawcy mogą następnie wypychać te reklamy do struktur klientów w czasie, aby otrzymywać i przetwarzać informacje przed szansą reklam.

Oprócz obsługi reklam, ustawienie back-off na żywo może służyć do dostosowywania pozycji widzów, aby gdy klienci dryfowali i trafili na żywą krawędź, nadal mogą pobierać fragmenty z serwera. W ten sposób klienci nie otrzymają błędu HTTP 404 lub 412.

diagram filtru live backoff

Łączenie wielu reguł w jednym filtrze

Można połączyć wiele reguł filtrowania w jednym filtrze. Można na przykład zdefiniować "regułę zakresu", aby usunąć slates z archiwum na żywo, a także odfiltrować dostępne szybkości transmisji bitów. Podczas stosowania wielu reguł filtrowania wynik końcowy to przecięcie wszystkich reguł.

diagram filtru wielu reguł

Łączenie wielu filtrów (kompozycja filtru)

Można również połączyć wiele filtrów w jednym adresie URL. W poniższym scenariuszu pokazano, dlaczego warto połączyć filtry:

  1. Musisz filtrować cechy wideo dla urządzeń przenośnych, takich jak Android lub iPad (w celu ograniczenia jakości wideo). Aby usunąć niepożądane cechy, utworzysz filtr konta odpowiedni dla profilów urządzeń. Możesz użyć filtrów kont dla wszystkich zasobów w ramach tego samego konta usługi Media Services bez dalszego skojarzenia.
  2. Chcesz również przyciąć czas rozpoczęcia i zakończenia zasobu. Aby wykonać przycinanie, utworzysz filtr zasobu i ustawisz godzinę rozpoczęcia/zakończenia.
  3. Chcesz połączyć oba te filtry. Bez kombinacji należy dodać filtrowanie jakości do filtru przycinania, co utrudniłoby użycie filtru.

Aby połączyć filtry, ustaw nazwy filtrów na adres URL manifestu/listy odtwarzania w formacie rozdzielanym średnikami. Załóżmy, że masz filtr o nazwie MyMobileDevice , który filtruje cechy, i masz inną nazwę MyStartTime , aby ustawić określony czas rozpoczęcia. Można połączyć maksymalnie trzy filtry.

Istotne zagadnienia i ograniczenia

  • Wartości forceEndTimestamp, presentationWindowDuration i liveBackoffDuration nie powinny być ustawiane dla filtru VOD. Są one używane tylko w scenariuszach filtrowania na żywo.

  • Manifest dynamiczny działa w granicach języka GOP (klatkach kluczowych), więc przycinanie ma dokładność języka GOP.

  • Możesz użyć tej samej nazwy filtru dla filtrów kont i zasobów. Filtry zasobów mają wyższy priorytet i zastąpią filtry kont.

  • W przypadku zaktualizowania filtru może upłynąć do 2 minut, aby punkt końcowy przesyłania strumieniowego odświeżył reguły. W przypadku użycia filtrów do obsługi zawartości (i buforowania zawartości w serwerach proxy i pamięciach podręcznych CDN) aktualizacja tych filtrów może spowodować awarie odtwarzacza. Zalecamy wyczyszczenie pamięci podręcznej po zaktualizowaniu filtru. Jeśli ta opcja nie jest możliwa, rozważ użycie innego filtru.

  • Klienci muszą ręcznie pobrać manifest i przeanalizować dokładny sygnaturę czasową rozpoczęcia i skalę czasu.

    • Aby określić właściwości utworów w zasobie, pobierz i zbadaj plik manifestu.
    • Formuła ustawiania właściwości sygnatury czasowej filtru zasobu to:
      startTimestamp = <godzina rozpoczęcia w manifeście> i <oczekiwany czas rozpoczęcia filtru w sekundach> * skala czasu

Uzyskiwanie pomocy i obsługi technicznej

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