Przesyłanie strumieniowe zawartości za pomocą integracji usługi CDN

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.

Ważne

Ponieważ usługa Azure Media Services zostanie wycofana od 30 czerwca 2024 r., a usługa Azure CDN zostanie wycofana z usługi Azure CDN Standard z usługi Akamai 31 października 2023 r., najlepiej nie utworzyć nowych sieci CDN do użytku z usługą Azure Media Services. Zobacz przewodnik po ponawianiu prób usługi Azure Media Services.

Usługa Azure Content Delivery Network (CDN) oferuje deweloperom globalne rozwiązanie umożliwiające szybkie dostarczanie użytkownikom zawartości wymagającej wysokiej przepustowości przez zapisywanie zawartości w pamięci podręcznej w węzłach fizycznych strategicznie rozmieszczonych na całym świecie.

Sieć CDN buforuje zawartość strumieniową z punktu końcowego przesyłania strumieniowego usługi Media Services (źródła) na koder, na protokół przesyłania strumieniowego, szybkość transmisji bitów, format kontenera i szyfrowanie/drM. Dla każdej kombinacji koduc-streaming protocol-container format-bitrate-encryption będzie dostępna oddzielna pamięć podręczna CDN.

Popularna zawartość będzie obsługiwana bezpośrednio z pamięci podręcznej usługi CDN, o ile fragment wideo jest buforowany. Zawartość na żywo może być buforowana, ponieważ zwykle masz wiele osób obserwujących dokładnie to samo. Zawartość na żądanie może być nieco trudna, ponieważ możesz mieć popularną zawartość i niektóre, które nie są. Jeśli masz miliony zasobów wideo, gdzie żaden z nich nie jest popularny (tylko jeden lub dwóch widzów tygodniowo), ale masz tysiące osób oglądających wszystkie różne filmy, CDN staje się znacznie mniej skuteczne.

Należy również wziąć pod uwagę sposób działania adaptacyjnego przesyłania strumieniowego. Każdy pojedynczy fragment wideo jest buforowany jako własna jednostka. Załóżmy na przykład, że po raz pierwszy oglądany jest określony film wideo. Jeśli widz pomija oglądanie tylko kilka sekund tutaj i tam, tylko fragmenty wideo skojarzone z tym, co osoba oglądała, są buforowane w CDN. W przypadku adaptacyjnego przesyłania strumieniowego zwykle masz od 5 do 7 różnych szybkości transmisji bitów wideo. Jeśli jedna osoba obserwuje jedną szybkość transmisji bitów, a inna osoba obserwuje inną szybkość transmisji bitów, każda z nich jest buforowana oddzielnie w usłudze CDN. Nawet jeśli dwie osoby obserwują tę samą szybkość transmisji bitów, mogą być przesyłane strumieniowo za pośrednictwem różnych protokołów. Każdy protokół (HLS, MPEG-DASH, Smooth Streaming) jest buforowany oddzielnie. Dlatego każda szybkość transmisji bitów i protokół są buforowane oddzielnie, a tylko te fragmenty wideo, które zostały żądane, są buforowane.

Z wyjątkiem środowiska testowego zalecamy włączenie sieci CDN zarówno dla punktów końcowych przesyłania strumieniowego w warstwie Standardowa, jak i Premium. Każdy typ punktu końcowego przesyłania strumieniowego ma inny obsługiwany limit przepływności.

Trudno jest wykonać dokładne obliczenie maksymalnej liczby współbieżnych strumieni obsługiwanych przez punkt końcowy przesyłania strumieniowego, ponieważ uwzględniane są różne czynniki. Są one następujące:

  • Maksymalna szybkość transmisji bitów używana do przesyłania strumieniowego
  • Zachowanie przed buforem i przełączaniem odtwarzacza. Gracze próbują rozsyłać segmenty z źródła i użyć szybkości ładowania do obliczenia adaptacyjnego przełączania szybkości transmisji bitów. Jeśli punkt końcowy przesyłania strumieniowego zbliża się do nasycenia, czasy odpowiedzi mogą się różnić, a gracze zaczynają przełączać się na niższą jakość. Ponieważ zmniejsza to obciążenie odtwarzaczy punktów końcowych przesyłania strumieniowego, skaluj z powrotem do wyższej jakości, tworząc niepożądane wyzwalacze przełączania.

Ogólnie rzecz biorąc, można oszacować maksymalne współbieżne strumienie, biorąc maksymalną przepływność punktu końcowego przesyłania strumieniowego i podzielić ją przez maksymalną szybkość transmisji bitów (zakładając, że wszyscy gracze używają najwyższej szybkości transmisji bitów). Na przykład można mieć punkt końcowy przesyłania strumieniowego w warstwie Standardowa, który jest ograniczony do 600 Mb/s i najwyższą szybkość transmisji bitów wynoszącą 3 MB/s. W takim przypadku około 200 współbieżnych strumieni jest obsługiwanych w najwyższej szybkości transmisji bitów. Pamiętaj, aby uwzględnić również wymagania dotyczące przepustowości dźwięku. Mimo że strumień audio może być przesyłany strumieniowo tylko przy 128 kps, łączna liczba strumieni przesyłania strumieniowego zwiększa się szybko po pomnożeniu go przez liczbę współbieżnych strumieni.

W tym temacie omówiono włączanie integracji usługi CDN. Wyjaśniono również wstępne pobieranie (aktywne buforowanie) i koncepcję origin-Assist CDN-Prefetch .

Zagadnienia do rozważenia

  • Punkt końcowy hostnameprzesyłania strumieniowego i adres URL przesyłania strumieniowego pozostają takie same, niezależnie od tego, czy włączono usługę CDN.
  • Jeśli potrzebujesz możliwości przetestowania zawartości za pomocą usługi CDN lub bez tej sieci, utwórz inny punkt końcowy przesyłania strumieniowego, który nie jest włączony przez usługę CDN.

Włączanie integracji usługi Azure CDN

Ważne

Nie można włączyć usługi CDN dla kont platformy Azure w wersji próbnej lub studenckiej.

Integracja usługi CDN jest włączona we wszystkich centrach danych platformy Azure z wyjątkiem regionów federalnych i chin.

Po aprowizacji punktu końcowego przesyłania strumieniowego z włączoną usługą CDN istnieje zdefiniowany czas oczekiwania w usłudze Media Services przed zakończeniem aktualizacji DNS w celu zamapowania punktu końcowego przesyłania strumieniowego na punkt końcowy usługi CDN.

Jeśli później chcesz wyłączyć/włączyć sieć CDN, punkt końcowy przesyłania strumieniowego musi być w stanie zatrzymania . Po uruchomieniu punktu końcowego przesyłania strumieniowego włączenie integracji usługi Azure CDN może potrwać do czterech godzin, a zmiany będą aktywne we wszystkich punktach POP usługi CDN. Możesz jednak uruchomić punkt końcowy przesyłania strumieniowego i przesyłać strumieniowo bez przerw w punkcie końcowym przesyłania strumieniowego. Po zakończeniu integracji strumień jest dostarczany z sieci CDN. W okresie aprowizacji punkt końcowy przesyłania strumieniowego będzie w stanie początkowym i może obserwować obniżoną wydajność.

Po utworzeniu punktu końcowego przesyłania strumieniowego w warstwie Standardowa jest ona domyślnie skonfigurowana w warstwie Standardowa Verizon. Można skonfigurować dostawców Premium Verizon lub Standard Akamai przy użyciu interfejsów API REST.

Integracja usługi Azure Media Services z usługą Azure CDN jest implementowana w usłudze Azure CDN firmy Verizon na potrzeby standardowych punktów końcowych przesyłania strumieniowego. Punkty końcowe przesyłania strumieniowego w warstwie Premium można skonfigurować przy użyciu warstwy Standardowa Verizon lub Premium Verizon. Standard Akamai można skonfigurować tylko przy użyciu interfejsów API REST lub zestawów SDK klienta.

Uwaga

Aby uzyskać szczegółowe informacje na temat usługi Azure CDN, zobacz Omówienie usługi CDN.

Określanie, czy wprowadzono zmianę DNS

Możesz określić, czy wprowadzono zmianę DNS w punkcie końcowym przesyłania strumieniowego (ruch jest kierowany do usługi Azure CDN) przy użyciu polecenia https://www.digwebinterface.com. Jeśli w wynikach zobaczysz azureedge.net nazwy domen, ruch jest teraz wskazywany na sieć CDN.

Origin-Assist CDN-Prefetch

Buforowanie sieci CDN jest procesem reaktywnym. Jeśli sieć CDN może przewidzieć następny obiekt, który zostanie żądany, sieć CDN może aktywnie żądać i buforować następny obiekt. Dzięki temu procesowi można osiągnąć trafienie w pamięci podręcznej dla wszystkich (lub większości) obiektów, co zwiększa wydajność.

Prefetching dąży do położenia obiektów na "skraju Internetu", przewidując, że obiekty będą żądane przez gracza nieuchronnie, zmniejszając tym samym czas dostarczenia tego obiektu do odtwarzacza.

Aby osiągnąć ten cel, punkt końcowy przesyłania strumieniowego (źródło) i sieć CDN muszą pracować ręcznie na kilka sposobów:

  • Źródło usługi Media Services musi mieć "inteligencję" (Origin-Assist), aby poinformować sieć CDN o tym, który obiekt ma być wstępnie pobierany.
  • Sieć CDN wykonuje wstępne pobieranie i buforowanie (część pobierania wstępnego CDN). Sieć CDN musi również mieć "inteligencję", aby:
    • określ źródło, czy jest to pobieranie wstępne, czy regularne pobieranie
    • obsługa odpowiedzi 404
    • i sposób, aby uniknąć niekończącej się pętli przed pobraniem

Korzyści

Zalety funkcji origin-Assist CDN-Prefetch obejmują:

  • Pobieranie wstępne poprawia jakość odtwarzania wideo przez wstępne pozycjonowanie przewidywanych segmentów wideo na brzegu podczas odtwarzania, zmniejszając opóźnienie do osoby przeglądającej i poprawiając czas pobierania segmentów wideo. Powoduje to szybszy czas uruchamiania wideo i mniejsze nagany wystąpień.
  • Ta koncepcja ma zastosowanie do ogólnego scenariusza źródła sieci CDN i nie jest ograniczona do nośnika.
  • Usługa Akamai dodała tę funkcję do aplikacji Akamai Cloud Embed (ACE) .

Uwaga

Ta funkcja nie ma jeszcze zastosowania do usługi Akamai CDN zintegrowanej z punktem końcowym przesyłania strumieniowego usługi Media Services. Jednak jest ona dostępna dla klientów usługi Media Services, którzy mają wstępnie istniejący kontrakt Akamai i wymagają niestandardowej integracji między usługą Akamai CDN a źródłem usługi Media Services.

Jak to działa

Obsługa Origin-Assist CDN-Prefetch sieci CDN dla nagłówków (zarówno transmisji strumieniowej na żywo, jak i wideo na żądanie) jest dostępna dla klientów, którzy mają bezpośredni kontrakt z usługą Akamai CDN. Ta funkcja obejmuje następujące wymiany nagłówków HTTP między usługą Akamai CDN a źródłem usługi Media Services:

Nagłówek HTTP Wartości Nadawca Odbiornik Przeznaczenie
CDN-Origin-Assist-Prefetch-Enabled 1 (wartość domyślna) lub 0 CDN Origin Aby wskazać, że usługa CDN jest włączona przed pobraniem.
CDN-Origin-Assist-Prefetch-Path Przykład:
Fragments(video=14000000000,format=mpd-time-cmaf)
Origin CDN Aby zapewnić ścieżkę pobierania wstępnego do usługi CDN.
CDN-Origin-Assist-Prefetch-Request 1 (żądanie wstępne) lub 0 (żądanie regularne) CDN Origin Aby wskazać żądanie z usługi CDN, jest pobieranie wstępne.

Aby wyświetlić część wymiany nagłówków w akcji, możesz spróbować wykonać następujące czynności:

  1. Użyj narzędzia Postman lub cURL, aby wysłać żądanie do źródła usługi Media Services dla segmentu audio lub wideo lub fragmentu. Pamiętaj, aby dodać nagłówek CDN-Origin-Assist-Prefetch-Enabled: 1 w żądaniu.
  2. W odpowiedzi powinien zostać wyświetlony nagłówek CDN-Origin-Assist-Prefetch-Path ze ścieżką względną jako jego wartość.

Obsługiwane protokoły przesyłania strumieniowego

Funkcja Origin-Assist CDN-Prefetch obsługuje następujące protokoły przesyłania strumieniowego na żywo i na żądanie:

  • HLS v3
  • HLS v4
  • HLS CMAF
  • DASH (CSF)
  • DASH (CMAF)
  • Płynne przesyłanie strumieniowe

Często zadawane pytania

  • Co zrobić, jeśli adres URL ścieżki pobierania wstępnego jest nieprawidłowy, aby pobieranie wstępne usługi CDN pobierało wartość 404?

    Sieć CDN buforuje tylko odpowiedź 404 przez 10 sekund (lub inną skonfigurowaną wartość).

  • Załóżmy, że masz wideo na żądanie. Jeśli włączono wstępne pobieranie usługi CDN, czy ta funkcja oznacza, że gdy klient zażąda pierwszego segmentu wideo, pobieranie wstępne rozpocznie pętlę w celu wstępnego pobrania wszystkich kolejnych segmentów wideo z tą samą szybkością transmisji bitów?

    Nie, pobieranie wstępne usługi CDN odbywa się tylko po żądaniu/odpowiedzi zainicjowanej przez klienta. Pobieranie wstępne usługi CDN nigdy nie jest wyzwalane przez pobieranie wstępne, aby uniknąć pętli pobierania wstępnego.

  • Czy funkcja Origin-Assist CDN-Prefetch jest zawsze włączona? Jak można go włączyć/wyłączyć?

    Ta funkcja jest domyślnie wyłączona. Klienci muszą włączyć ją za pośrednictwem interfejsu API Akamai.

  • W przypadku transmisji strumieniowej na żywo co się stanie Origin-Assist, jeśli następny segment lub fragment nie jest jeszcze dostępny?

    W takim przypadku źródło usługi Media Services nie zapewni CDN-Origin-Assist-Prefetch-Path nagłówka, a pobieranie wstępne usługi CDN nie zostanie wykonane.

  • Jak działa Origin-Assist CDN-Prefetch z filtrami manifestu dynamicznego?

    Ta funkcja działa niezależnie od filtru manifestu. Gdy następny fragment jest poza oknem filtru, jego adres URL będzie nadal znajdować się w nieprzetworzonym manifeście klienta, a następnie zwracany jako nagłówek odpowiedzi przed pobraniem usługi CDN. Dlatego usługa CDN uzyska adres URL fragmentu odfiltrowanego z manifestu DASH/HLS/Smooth. Jednak gracz nigdy nie wyśle żądania GET do CDN, aby pobrać ten fragment, ponieważ ten fragment nie jest uwzględniony w manifeście DASH/HLS/Smooth przechowywanym przez odtwarzacz (gracz nie wie, że fragment istnieje).

  • Czy lista odtwarzania DASH MPD/HLS/Manifest Smooth może zostać wstępnie pobrana?

    Nie, DASH MPD, lista odtwarzania głównego HLS, lista odtwarzania wariantów HLS lub płynny adres URL manifestu nie jest dodawany do nagłówka pobierania wstępnego.

  • Czy adresy URL pobierania wstępnego są względne lub bezwzględne?

    Chociaż usługa Akamai CDN zezwala na oba te elementy, źródło usługi Media Services udostępnia tylko względne adresy URL dla ścieżki pobierania z góry, ponieważ nie ma widocznej korzyści w korzystaniu z bezwzględnych adresów URL.

  • Czy ta funkcja działa z zawartością chronioną przez drM?

    Tak, ponieważ ta funkcja działa na poziomie HTTP, nie dekoduje ani nie analizuje żadnego segmentu/fragmentu. Nie obchodzi to, czy zawartość jest zaszyfrowana, czy nie.

  • Czy ta funkcja działa z funkcją Wstawiania po stronie serwera (SSAI)?

    Dotyczy to oryginalnej/głównej zawartości (oryginalnej zawartości wideo przed wstawieniem reklamy), ponieważ usługa SSAI nie zmienia sygnatury czasowej zawartości źródłowej ze źródła usługi Media Services. Niezależnie od tego, czy ta funkcja działa z zawartością reklam, zależy od tego, czy źródło reklamy obsługuje usługę Origin-Assist. Jeśli na przykład zawartość reklamy jest również hostowana w usłudze Azure Media Services (tym samym lub oddzielnym pochodzenia), zawartość reklam będzie również pobierana wstępnie.

  • Czy ta funkcja działa z zawartością UHD/HEVC?

    Tak.

Instrukcje, samouczki i przykłady

-Jak włączyć optymalizacje - usługi CDNJak włączyć tarczę pochodzenia

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: