Przesyłanie strumieniowe zawartości za pomocą integracji z usługą CDN
logo usługi
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żny
Ponieważ usługa Azure Media Services jest wycofywana od 30 czerwca 2024 r. i 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życia 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 zawartości o wysokiej przepustowości użytkownikom przez buforowanie zawartości w strategicznie umieszczonych węzłach fizycznych na całym świecie.
Usługa CDN buforuje zawartość strumieniową z usługi Media Services punktu końcowego przesyłania strumieniowego (źródła) na koder, na protokół przesyłania strumieniowego, szybkość transmisji bitów, format kontenera i szyfrowanie/drM. Dla każdej kombinacji codec-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ż zazwyczaj wiele osób obserwuje dokładnie to samo. Zawartość na żądanie może być nieco trudniejsza, ponieważ może istnieć popularna zawartość i niektóre, które nie są. Jeśli masz miliony zasobów wideo, w których żaden z nich nie jest popularny (tylko jeden lub dwa 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 usłudze 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 dla punktów końcowych przesyłania strumieniowego w warstwie Standardowa 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. Należą do nich:
- Maksymalna szybkość transmisji bitów używana do przesyłania strumieniowego
- Zachowanie przed buforem i przełączaniem odtwarzacza. Gracze próbują rozsyłać segmenty ze źródła i używać szybkości ładowania do obliczania 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 bezpiecznie oszacować maksymalne współbieżne strumienie, przyjmując maksymalną przepływność punktu końcowego przesyłania strumieniowego i dzieląc ją przez maksymalną szybkość transmisji bitów (przy założeniu, ż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 tym przypadku w najwyższej szybkości transmisji bitów obsługiwane jest około 200 współbieżnych strumieni. Pamiętaj, aby uwzględnić również wymagania dotyczące przepustowości dźwięku. Chociaż strumień audio może być przesyłany strumieniowo tylko na 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 CDN. Wyjaśniono również wstępne pobieranie (aktywne buforowanie) i Origin-Assist pojęcia CDN-Prefetch.
Zagadnienia dotyczące
- Punkt końcowy przesyłania strumieniowego
hostname
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 testowania zawartości z usługą CDN lub bez tej sieci, utwórz inny punkt końcowy przesyłania strumieniowego, który nie jest włączony.
Włączanie integracji z usługą Azure CDN
Ważny
Nie można włączyć usługi CDN dla kont platformy Azure w wersji próbnej ani kontach platformy Azure dla uczniów.
Integracja z usługą CDN jest włączona we wszystkich centrach danych platformy Azure z wyjątkiem regionów instytucji rządowych federalnych i Chin.
Po aprowizowaniu 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 znajdować się w stanie zatrzymany. Po uruchomieniu punktu końcowego przesyłania strumieniowego może upłynąć do czterech godzin, aby integracja usługi Azure CDN była włączona i aby zmiany mogły być aktywne we wszystkich punktach POP usługi CDN. Można jednak uruchomić punkt końcowy przesyłania strumieniowego i przesyłać strumieniowo bez przerw w działaniu punktu końcowego przesyłania strumieniowego. Po zakończeniu integracji strumień jest dostarczany z sieci CDN. W okresie aprowizacji punkt końcowy przesyłania strumieniowego będzie znajdować się w stanie początkowym i może być obserwowana obniżona wydajność.
Po utworzeniu standardowego punktu końcowego przesyłania strumieniowego jest on domyślnie skonfigurowany przy użyciu standardowego verizon. Możesz skonfigurować dostawców Premium Verizon lub Standardowa 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 from Verizon dla 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.
Nuta
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 w punkcie końcowym przesyłania strumieniowego wprowadzono zmiany DNS (ruch jest kierowany do usługi Azure CDN) przy użyciu 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 usługi CDN jest procesem reaktywnym. Jeśli sieć CDN może przewidzieć następny obiekt, który zostanie żądany, usługa 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ść.
Wstępne pobieranie stara się umieścić obiekty na "krawędzi Internetu", przewidując, że obiekty będą wkrótce żądane przez gracza, 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ć pobierany wstępnie.
- Usługa CDN wykonuje pobieranie wstępne i buforowanie (część CDN-prefetch). Sieć CDN musi również mieć "inteligencję", aby:
- określ źródło, czy jest to pobieranie wstępne, czy zwykłe pobieranie
- obsługa odpowiedzi 404
- i sposób na uniknięcie niekończącej się pętli pobierania wstępnego
Korzyści
Zalety funkcji
- Wstępne pobieranie poprawia jakość odtwarzania wideo przez wstępne pozycjonowanie przewidywanych segmentów wideo na krawędzi podczas odtwarzania, zmniejszenie opóźnienia do przeglądarki i skrócenie czasów pobierania segmentu wideo. Powoduje to szybsze uruchamianie wideo i mniejsze nagany wystąpień.
- Ta koncepcja ma zastosowanie do ogólnego scenariusza źródła cdN i nie jest ograniczona do nośnika.
- Usługa Akamai dodała tę funkcję do Akamai Cloud Embed (ACE).
Nuta
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ą wcześniej istniejącą umowę 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 sieci CDN dla nagłówków Origin-Assist CDN-Prefetch
(zarówno dla transmisji strumieniowej na żywo, jak i wideo na żądanie) jest dostępna dla klientów, którzy mają bezpośredni kontrakt z Akamai CDN. Funkcja obejmuje następujące wymiany nagłówków HTTP między usługą Akamai CDN a źródłami usługi Media Services:
Nagłówek HTTP | Wartości | Nadawca | Odbiornik | Cel |
---|---|---|---|---|
CDN-Origin-Assist-Prefetch-Enabled |
1 (wartość domyślna) lub 0 | CDN | Pochodzenie | Aby wskazać, że usługa CDN jest włączona wstępnie. |
CDN-Origin-Assist-Prefetch-Path |
Przykład: Fragments(video=14000000000,format=mpd-time-cmaf) |
Pochodzenie | CDN | Aby zapewnić ścieżkę pobierania wstępnego do usługi CDN. |
CDN-Origin-Assist-Prefetch-Request |
1 (żądanie wstępne) lub 0 (regularne żądanie) | CDN | Pochodzenie | Aby wskazać żądanie z usługi CDN, jest pobieranie wstępne. |
Aby zobaczyć część wymiany nagłówków w akcji, możesz wypróbować następujące kroki:
- 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ć
CDN-Origin-Assist-Prefetch-Enabled: 1
nagłówka w żądaniu. - W odpowiedzi powinien zostać wyświetlony nagłówek
CDN-Origin-Assist-Prefetch-Path
ze ścieżką względną jako jego wartością.
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 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 zainicjowanym 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 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ę, przeglądając nieprzetworzony manifest klienta, a następnie zwracany jako nagłówek odpowiedzi wstępnego pobierania usługi CDN. Dzięki temu 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żna pobrać wstępnie?
Nie, DASH MPD, lista odtwarzania głównego HLS, lista odtwarzania wariantów HLS lub gładki 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 obie te elementy, źródło usługi Media Services udostępnia tylko względne adresy URL dla ścieżki pobierania wstępnego, ponieważ nie ma widocznych 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 reklam po stronie serwera (SSAI)?
Dotyczy to oryginalnej/głównej zawartości (oryginalnej zawartości wideo przed wstawieniem reklamy), ponieważ SSAI nie zmienia znacznika czasu zawartości źródłowej ze źródła usługi Media Services. To, czy ta funkcja działa z zawartością reklam, zależy od tego, czy źródło reklamy obsługuje funkcję Origin-Assist. Jeśli na przykład zawartość reklamy jest również hostowana w usłudze Azure Media Services (tym samym lub oddzielnym pochodzeniu), zawartość reklam również zostanie pobrana wstępnie.
Czy ta funkcja działa z zawartością UHD/HEVC?
Tak.
Instrukcje, samouczki i przykłady
- Jak włączyć optymalizacje usługi CDN -Jak włączyć osłony źródła
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:
- Q & A
-
Stack Overflow. Tagowanie pytań przy użyciu
azure-media-services
. - @MSFTAzureMedia lub użyj @AzureSupport, aby poprosić o pomoc techniczną.
- Otwórz bilet pomocy technicznej za pośrednictwem witryny Azure Portal.