Transmisja strumieniowa na żywo za pomocą usługi Azure Media Services w wersji 3

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.

Usługa Azure Media Services umożliwia dostarczanie wydarzeń na żywo klientom w chmurze platformy Azure. Aby przesyłać strumieniowo wydarzenia na żywo za pomocą usługi Media Services, należy skonfigurować koder wideo na żywo, który konwertuje sygnały z aparatu (lub innego urządzenia, takiego jak laptop) do kanału informacyjnego współtworzenia wysyłanego do usługi Media Services. Kanał informacyjny udziału może zawierać sygnały związane z reklamą, takie jak znaczniki SCTE-35. Aby uzyskać listę zalecanych koderów transmisji strumieniowej na żywo, zobacz kodery transmisji strumieniowej na żywo.

Jeśli wcześniej nie użyto kodera lokalnego, wypróbuj przewodnik Szybki start Tworzenie strumienia na żywo usługi Azure Media Services przy użyciu usługi OBS .

Dynamiczne pakowanie i dostarczanie

Dzięki usłudze Media Services możesz korzystać z dynamicznego tworzenia pakietów, co umożliwia wyświetlanie podglądu i emisji strumieni na żywo w formatach MPEG DASH, HLS i Smooth Streaming z kanału informacyjnego udziału. Twoi widzowie mogą odtwarzać transmisję strumieniową na żywo z dowolnymi odtwarzaczami zgodnymi ze standardem HLS, DASH lub Smooth Streaming. Zapoznaj się z listą przetestowanych graczy i wypróbuj przykłady odtwarzacza innych firm w usłudze Media Services.

Typy zdarzeń na żywo

Wydarzenia na żywo są pozyskiwane i przetwarzają kanały wideo na żywo. Wydarzenie na żywo można ustawić na jedną z następujących opcji:

Przekazywanie

W przypadku korzystania z przekazywanego wydarzenia na żywo (podstawowego lub standardowego) polegasz na lokalnym koderze na żywo w celu wygenerowania strumienia wideo o wielu szybkościach transmisji bitów i wysłania go jako kanału informacyjnego udziału do wydarzenia na żywo (przy użyciu protokołu wejściowego RTMP lub pofragmentowanego mp4). Wydarzenie na żywo przekazuje następnie przychodzący strumień wideo do dynamicznego spakatora (punktu końcowego przesyłania strumieniowego) bez dalszego przetwarzania. Wydarzenie na żywo przekazywane jest zoptymalizowane pod kątem długotrwałych wydarzeń na żywo lub 24x365 liniowych transmisji strumieniowej na żywo.

przekazywanie za pośrednictwem przesyłania strumieniowego

Kodowanie na żywo

Aby używać kodowania na żywo, skonfiguruj lokalny koder na żywo w celu wysyłania pojedynczego wideo o szybkości transmisji bitów (do agregacji 32 Mb/s) do wydarzenia na żywo (przy użyciu protokołu wejściowego RTMP lub pofragmentowanego protokołu MP4). Wydarzenie na żywo transkoduje przychodzący strumień o pojedynczej szybkości transmisji bitów do strumieni wideo o różnych szybkościach transmisji bitów. Poprawia to dostarczanie urządzeń do odtwarzania przy użyciu standardowych protokołów branżowych, takich jak MPEG-DASH, Apple HTTP Live Streaming (HLS) i Microsoft Smooth Streaming.

Przesyłanie strumieniowe kodowania na żywo

Opcje wydarzenia na żywo

Szyfrowanie dynamiczne

Szyfrowanie dynamiczne umożliwia dynamiczne szyfrowanie zawartości na żywo lub na żądanie za pomocą algorytmu AES-128 lub dowolnego z trzech głównych systemów zarządzania prawami cyfrowymi (DRM): Technologia PlayReady firmy Microsoft, Google Widevine i Apple FairPlay. Usługa Media Services udostępnia również usługę dostarczania kluczy AES i licencji DRM (PlayReady, Widevine i FairPlay) autoryzowanym klientom. Aby uzyskać więcej informacji, zobacz szyfrowanie dynamiczne.

Widevine jest usługą dostarczaną przez Google Inc. i podlega warunkom świadczenia usług i zasadom ochrony prywatności Google, Inc.

Filtrowanie dynamiczne

Filtrowanie dynamiczne służy do kontrolowania liczby ścieżek, formatów, szybkości bitów i okien czasu prezentacji wysyłanych do graczy. Aby uzyskać więcej informacji, zobacz filtry i manifesty dynamiczne.

Transkrypcja na żywo

Transkrypcja na żywo to funkcja, której można używać z wydarzeniami na żywo, które są przekazywane lub kodowane na żywo. Aby uzyskać więcej informacji, zobacz transkrypcja na żywo. Po włączeniu tej funkcji usługa używa funkcji Zamiana mowy na tekst w usługach Cognitive Services do transkrypcji wypowiadanych słów w przychodzącym dźwięku do tekstu. Ten tekst jest następnie udostępniany do dostarczania wraz z wideo i audio w protokołach MPEG-DASH i HLS.

Ważne

W przypadku wydarzeń na żywo należy użyć rozmiarów GOP 2 sekund. Aby uzyskać poprawne dane transkrypcji na żywo, należy użyć rozmiarów GOP 4 sekund lub poniżej. Jeśli zdecydujesz się na użycie wyższego rozmiaru goP, dane transkrypcji mogą mieć wady, np. brakującą zawartość.

Zagadnienia dotyczące zabezpieczeń dotyczące podpisów, napisów i dostarczania metadanych o czasie

Funkcje szyfrowania dynamicznego i drM usługi Azure Media Services mają ograniczenia do rozważenia podczas próby zabezpieczenia dostarczania zawartości, która obejmuje transkrypcje na żywo, transkrypcje, napisy lub metadane czasowe. Podsystemy DRM, w tym PlayReady, FairPlay i Widevine, nie obsługują szyfrowania i licencjonowania ścieżek tekstowych. Brak szyfrowania DRM do szyfrowania tekstu ogranicza możliwość zabezpieczenia zawartości transkrypcji na żywo, ręcznych wstawionych podpisów, przekazanych napisów lub sygnałów metadanych z czasem, które mogą być wstawione jako oddzielne ścieżki.

Aby zabezpieczyć podpisy, napisy lub ścieżki metadanych w czasie, postępuj zgodnie z następującymi wytycznymi:

  1. Użyj szyfrowania AES-128 Clear Key. Podczas włączania szyfrowania klucza zwykłego AES-128 ścieżki tekstowe można skonfigurować do szyfrowania przy użyciu pełnej techniki szyfrowania "koperta", która jest zgodna z tym samym wzorcem szyfrowania co segmenty audio i wideo. Te segmenty można następnie odszyfrować przez aplikację kliencką po zażądaniu klucza odszyfrowywania z usługi Dostarczania kluczy usługi Media Services przy użyciu uwierzytelnionego tokenu JWT. Ta metoda jest obsługiwana przez usługę Azure Media Player, ale może nie być obsługiwana na wszystkich urządzeniach i może wymagać pewnych prac programistycznych po stronie klienta, aby upewnić się, że zakończy się pomyślnie na wszystkich platformach.
  2. Użyj uwierzytelniania tokenu usługi CDN, aby chronić tekst (napisy, podpisy, metadane) dostarczane przy użyciu krótkich tokenizowanych adresów URL, które są ograniczone do ustawień geograficznych, IP lub innych konfigurowalnych ustawień w portalu usługi CDN. Włącz funkcje zabezpieczeń usługi CDN przy użyciu usługi Verizon Premium CDN lub innej firmy CDN skonfigurowanej do łączenia się z punktami końcowymi przesyłania strumieniowego usługi Media Services.

Ostrzeżenie

Jeśli nie zastosujesz się do jednej z powyższych wytycznych, napisy, napisy lub tekst metadanych o czasie będą dostępne jako niezaszyfrowana zawartość, która może zostać przechwycona lub udostępniona poza zamierzoną ścieżką dostarczania klienta. Może to spowodować wyciek informacji. Jeśli obawiasz się, że zawartość podpisów lub napisów wyciekła w bezpiecznym scenariuszu dostarczania, skontaktuj się z zespołem pomocy technicznej usługi Media Services, aby uzyskać więcej informacji na temat powyższych wytycznych dotyczących zabezpieczania dostarczania zawartości.

Przepływ pracy transmisji strumieniowej na żywo

Aby zrozumieć przepływ pracy transmisji strumieniowej na żywo w usłudze Media Services w wersji 3, należy najpierw przejrzeć i zrozumieć następujące pojęcia:

Ogólne kroki

  1. Na koncie usługi Media Services upewnij się, że punkt końcowy przesyłania strumieniowego (źródło) jest uruchomiony.

  2. Utwórz wydarzenie na żywo.
    Podczas tworzenia zdarzenia można określić, aby go automatycznie uruchomić. Możesz też uruchomić zdarzenie, gdy wszystko będzie gotowe do rozpoczęcia przesyłania strumieniowego.
    Gdy autostart ma wartość true, wydarzenie na żywo zostanie uruchomione zaraz po utworzeniu. Rozliczenia są uruchamiane natychmiast po uruchomieniu wydarzenia na żywo. Aby zatrzymać dalsze rozliczenia, należy jawnie wywołać metodę Zatrzymaj zasób wydarzenia na żywo. Aby uzyskać więcej informacji, zobacz Stany wydarzeń na żywo i rozliczenia.

  3. Pobierz adresy URL pozyskiwania i skonfiguruj koder lokalny, aby używał adresu URL do wysyłania kanału informacyjnego udziału.
    Zobacz zalecane kodery na żywo.

  4. Pobierz adres URL podglądu i użyj go, aby sprawdzić, czy dane wejściowe z kodera są rzeczywiście odbierane.

  5. Utwórz nowy obiekt elementu zawartości .

    Każde dane wyjściowe na żywo są skojarzone z elementem zawartości, który jest używany do rejestrowania wideo w skojarzonym kontenerze usługi Azure Blob Storage.

  6. Utwórz dane wyjściowe na żywo i użyj utworzonej nazwy elementu zawartości, aby można było zarchiwizować strumień w zasobie.

    Dane wyjściowe na żywo są uruchamiane w momencie utworzenia i zatrzymywane podczas usuwania. Po usunięciu danych wyjściowych na żywo nie usuwasz bazowego elementu zawartości i zawartości w zasobie.

  7. Utwórz lokalizator przesyłania strumieniowego z wbudowanymi typami zasad przesyłania strumieniowego.

    Aby opublikować dane wyjściowe na żywo, należy utworzyć lokalizator przesyłania strumieniowego dla skojarzonego elementu zawartości.

  8. Wyświetl listę ścieżek lokalizatora przesyłania strumieniowego , aby wrócić adresy URL do użycia (są to deterministyczne).

  9. Pobierz nazwę hosta dla punktu końcowego przesyłania strumieniowego (Origin), z którego chcesz przesyłać strumieniowo.

  10. Połącz adres URL z kroku 8 z nazwą hosta w kroku 9, aby uzyskać pełny adres URL.

  11. Jeśli chcesz przestać wyświetlać wydarzenie na żywo , musisz zatrzymać przesyłanie strumieniowe wydarzenia i usunąć lokalizator przesyłania strumieniowego.

  12. Aby po zakończeniu strumieniowego przesyłania zdarzeń, wyczyścić udostępnione wcześniej zasoby, postępuj zgodnie z poniższą procedurą.

    • Zatrzymaj wypychanie strumienia z kodera.
    • Zatrzymaj wydarzenie na żywo. Po zatrzymaniu wydarzenia na żywo nie będą naliczane żadne opłaty. W razie potrzeby ponownego uruchomienia kanał będzie miał ten sam adres URL pozyskiwania, więc nie trzeba będzie ponownie konfigurować kodera.
    • Możesz zatrzymać punkt końcowy przesyłania strumieniowego, chyba że chcesz nadal udostępniać archiwum wydarzenia na żywo jako strumień na żądanie. Jeśli wydarzenie na żywo jest w stanie zatrzymania, nie będą naliczane żadne opłaty. Jeśli jednak punkt końcowy przesyłania strumieniowego jest nadal uruchomiony, będą naliczane opłaty.

Zasób, do którego dane wyjściowe na żywo są archiwizowane, 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.

Porada

Zapoznaj się z samouczkiem dotyczącym transmisji strumieniowej na żywo. Artykuł analizuje kod, który implementuje kroki opisane powyżej.

Inne ważne artykuły

Transmisja strumieniowa na żywo — często zadawane pytania

Zobacz pytania dotyczące transmisji strumieniowej na żywo w często zadawanych pytaniach.

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: