Wydarzenia na żywo w usłudze Media Services

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.

Porada

W przypadku migracji z interfejsów API usługi Media Services w wersji 2 jednostka wydarzenia na żywo zastępuje kanał w wersji 2, a dane wyjściowe na żywo zastępują program.

Wydarzenia na żywo

Zdarzenia na żywo pozyskują i przetwarzają kanały wideo na żywo. Podczas tworzenia wydarzenia na żywo tworzony jest punkt końcowy pozyskiwania. Punkt końcowy pozyskiwania używa sygnału na żywo z kodera zdalnego. Zdalny koder na żywo wysyła kanał informacyjny do wejściowego punktu końcowego przy użyciu protokołu wejściowego RTMP lub Smooth Streaming (pofragmentowany-MP4). W przypadku protokołu pozyskiwania RTMP zawartość może być wysyłana w postaci przezroczystej (rtmp://) lub bezpiecznie zaszyfrowanej w sieci wire(rtmps://). W przypadku protokołu pozyskiwania smooth streaming obsługiwane schematy adresów URL to http:// lub https://.

Domyślna alokacja to 5 wydarzeń na żywo na konto usługi Media Services. Jeśli chcesz zwiększyć ten limit, utwórz bilet pomocy technicznej w Azure Portal.

Typy zdarzeń na żywo

Wydarzenie na żywo można ustawić na podstawowy lub standardowy kodowanie przekazywane lub na żywo. Typy są ustawiane podczas tworzenia przy użyciu typu kodowania zdarzeń na żywo.

  • Podstawowe przekazywanie: lokalny koder na żywo wysyła strumień o wielu szybkościach transmisji bitów. Podstawowe przekazywanie jest ograniczone do szczytowego ruchu przychodzącego 5 Mb/s, 8-godzinnego okna DVR, a transkrypcja na żywo nie jest obsługiwana.
  • Standard przekazywania: lokalny koder na żywo wysyła strumień o wielokrotnej szybkości transmisji bitów. Standardowy przekazywanie ma wyższe limity pozyskiwania, 25-godzinne okno DVR i obsługę transkrypcji na żywo.
  • Standardowa: lokalny koder na żywo wysyła strumień o pojedynczej szybkości transmisji bitów do wydarzenia na żywo, a usługa Media Services tworzy wiele strumieni szybkości transmisji bitów. Jeśli kanał informacyjny udziału ma rozdzielczość 720p lub wyższą, ustawienie wstępne Default720p zakoduje zestaw par rozdzielczości/szybkości bitów 6.
  • Premium 1080p: lokalny koder na żywo wysyła strumień o pojedynczej szybkości transmisji bitów do wydarzenia na żywo, a usługa Media Services tworzy wiele strumieni o szybkości transmisji bitów. Ustawienie wstępne Default1080p określa zestaw wyjściowy par rozdzielczości/szybkości bitów.

Uwaga

Maksymalna szybkość klatek to 30 kl./s dla kodowania w warstwie Standardowa i Premium.

Wydarzenie na żywo z przekazywaniem

W przypadku korzystania z podstawowego lub standardowego zdarzenia przekazywanego na żywo używasz lokalnego kodera na żywo do generowania strumienia wideo o wielu szybkościach transmisji bitów i wysyłania go do wydarzenia na żywo (przy użyciu protokołu RTMP lub pofragmentowanego protokołu MP4). Następnie wydarzenie na żywo jest przesyłane przez przychodzące strumienie wideo bez dalszego przetwarzania. Wydarzenie na żywo przekazywane jest zoptymalizowane pod kątem długotrwałych wydarzeń na żywo lub 24 x 365 liniowych transmisji strumieniowej na żywo. Podczas tworzenia tego typu wydarzenia na żywo określ przekazywanie "basic" lub "standard".

Kanał informacyjny można wysyłać przy rozdzielczościach do 4K i z szybkością 60 klatek na sekundę, z koderami audio H.264/AVC lub H.265/HEVC (tylko smooth pozyskiwanie) oraz koderami audio AAC (AAC-LC, HE-AACv1 lub HE-AACv2). Aby uzyskać więcej informacji, zobacz Porównanie typów zdarzeń na żywo.

Uwaga

Użycie metody przekazywania to najbardziej ekonomiczny sposób wykonywania transmisji strumieniowej na żywo w przypadku wykonywania wielu zdarzeń przez długi czas i zainwestowano już w kodery lokalne. Zobacz Szczegóły cennika .

Wydarzenie na żywo kodowania na żywo

W przypadku korzystania z kodowania na żywo można skonfigurować lokalny koder na żywo w celu wysyłania pojedynczego wideo o szybkości transmisji bitów do wydarzenia na żywo (przy użyciu protokołu RTMP lub Fragmented-Mp4). Następnie skonfigurujesz wydarzenie na żywo, aby kodować przychodzący strumień o pojedynczej szybkości transmisji bitów do strumienia wideo o różnej szybkości transmisji bitów. Dzięki temu dane wyjściowe są dostępne do dostarczania do odtwarzania urządzeń za pośrednictwem protokołów, takich jak MPEG-DASH, HLS i Smooth Streaming.

W takim przypadku można wysyłać kanał informacyjny tylko przy rozdzielczości do 1080p przy szybkości 30 klatek na sekundę, z koderem audio H.264/AVC i koderem audio AAC (AAC-LC, HE-AACv1 lub HE-AACv2). Aby uzyskać więcej informacji, zobacz Porównanie typów zdarzeń na żywo.

Opcje przesyłania strumieniowego HLS i DASH o małym opóźnieniu

Aby uzyskać szczegółowe informacje na temat uzyskiwania małych opóźnień przy użyciu kodowania zdarzeń na żywo, zobacz opcje przesyłania strumieniowego HLS o małych opóźnieniach (LL-HLS) i DASH orazprzewodnik po najlepszych rozwiązaniach dotyczących transmisji strumieniowej na żywo.

Rozdzielczość i szybkość transmisji bitów kodowania na żywo

Rozdzielczości i szybkości transmisji bitów w wynikowych danych wyjściowych z kodera na żywo są określane przez ustawienie wstępne:

  • Jeśli używasz standardowego kodera na żywo, ustawienie wstępne Default720p określa zestaw sześciu par rozdzielczości/bitów, przechodząc z 720p z 3,5 Mb/s w dół do 192p przy 200 kb/s.
  • W przypadku korzystania z kodera na żywo Premium1080p ustawienie wstępne Default1080p określa zestaw sześciu par rozdzielczości/bitów, przechodząc z 1080p z 3,5 Mb/s w dół do 180p przy 200 kb/s.

Aby uzyskać informacje, zobacz Ustawienia wstępne systemu.

Uwaga

Jeśli musisz dostosować ustawienie wstępne kodowania na żywo, otwórz bilet pomocy technicznej za pośrednictwem witryny Azure Portal. Należy określić żądaną tabelę rozdzielczości/szybkości bitów wideo i szybkości bitów audio. W przypadku wideo sprawdź, czy istnieje tylko jedna warstwa na 720p i co najwyżej 6 warstw wideo. W przypadku dźwięku można dostosować przy użyciu następujących dyskretnych szybkości bitów audio AAC (96k, 112k, 128k, 160k, 192k, 224k, 256k, 320k, 384k, 448k, 512k). Dozwolone jest wiele ścieżek dźwiękowych o różnych szybkościach bitów i można je uwzględnić w niestandardowym ustawieniu wstępnym. Określ również, że żądasz niestandardowego ustawienia wstępnego w bilecie pomocy technicznej.

Zobacz interfejs API REST dla elementu LiveEventEncodingType lub .Net, Node.JS lub zestawów SDK języka Python . Ponadto możesz wypróbować przykładowy kod wydarzenia na żywo.

Opcje wydarzenia na żywo

Podczas tworzenia wydarzenia na żywo można określić następujące opcje:

  • Nazwa i opis.
  • W przypadku kodowania w warstwie Standardowa i Premium możesz wybrać tryb rozproszania zakodowanego wideo:
    • Brak: Ściśle uwzględnia rozdzielczość danych wyjściowych określoną w ustawieniu kodowania bez uwzględniania współczynnika proporcji pikseli lub współczynnika proporcji ekranu wejściowego wideo.
    • AutoSize: zastępuje rozdzielczość danych wyjściowych i zmienia ją tak, aby była zgodna z współczynnikiem proporcji wyświetlania danych wejściowych bez uzupełniania. Jeśli na przykład dane wejściowe to 1920x1080, a ustawienie wstępne kodowania prosi o 1280 x 1280 x 1280, wartość w ustawieniu wstępnym zostanie zastąpiona, a dane wyjściowe będą mieć wartość 1280x720, która utrzymuje współczynnik proporcji wejściowych 16:9.
    • Autodopasowanie: dopełnia dane wyjściowe (skrzynką litera lub polem filaru), aby uhonorować rozdzielczość danych wyjściowych, zapewniając jednocześnie, że aktywny region wideo w danych wyjściowych ma taki sam współczynnik proporcji jak dane wejściowe. Jeśli na przykład dane wejściowe to 1920x1080, a ustawienie wstępne kodowania prosi o 1280 x 1280 x 1280, dane wyjściowe będą mieć wartość 1280x1280, która zawiera wewnętrzny prostokąt 1280 x 720 w proporcji 16:9, z regionami pola filaru 280 pikseli szerokości po lewej i prawej.
  • Protokół przesyłania strumieniowego Przesyłanie strumieniowe RTMP lub Smooth. Uwaga: nie można zmienić opcji protokołu, gdy wydarzenie na żywo lub skojarzone z nim dane wyjściowe na żywo są uruchomione. Jeśli potrzebujesz różnych protokołów, utwórz oddzielne wydarzenie na żywo dla każdego protokołu przesyłania strumieniowego.
  • Identyfikator wejściowy , który jest globalnie unikatowym identyfikatorem strumienia wejściowego zdarzeń na żywo.
  • Statyczny prefiks nazwy hosta , który zawiera brak (w tym przypadku zostanie użyty losowy 128-bitowy ciąg szesnastkowy), użyj nazwy wydarzenia na żywo lub użyj nazwy niestandardowej. Jeśli zdecydujesz się użyć nazwy klienta, ta wartość to niestandardowy prefiks nazwy hosta.
  • Interwał klatek klucza wejściowego, czyli czas trwania (w sekundach) każdego segmentu multimediów w danych wyjściowych HLS. Wartość powinna być liczbą całkowitą inną niż zero w zakresie od 0,5 do 20 sekund. Wartość domyślna to 2 sekundy, jeśli żadna z interwałów klatek wejściowych lub wyjściowych nie jest ustawiona. Interwał klatek kluczowych jest dozwolony tylko dla zdarzeń przekazywania.
  • Autostart. Gdy autostart ma wartość true, wydarzenie na żywo zostanie uruchomione po utworzeniu. Rozliczenie rozpoczyna się natychmiast po uruchomieniu wydarzenia na żywo. Aby zatrzymać dalsze rozliczenia, musisz jawnie zatrzymać wydarzenie na żywo. Możesz też rozpocząć wydarzenie, gdy wszystko będzie gotowe do rozpoczęcia przesyłania strumieniowego.
  • Ograniczenia adresów IP dotyczące pozyskiwania i podglądu. Możesz zdefiniować adresy IP, które mogą pozyskiwać wideo do tego wydarzenia na żywo. Jako dozwolone adresy IP można podać pojedynczy adres IP (na przykład „10.0.0.1”), zakres adresów IP przy użyciu adresu IP i maski podsieci CIDR (na przykład „10.0.0.1/22”) lub zakres adresów IP przy użyciu adresu IP i maski podsieci w notacji z kropką dziesiętną (na przykład, „10.0.0.1(255.255.252.0)”).
    • Jeśli nie określono żadnych adresów IP i nie ma definicji reguły, żaden adres IP nie będzie dozwolony. Aby zezwolić na jakikolwiek adres IP, utwórz regułę i ustaw wartość 0.0.0.0/0. Adresy IP muszą być w jednym z następujących formatów: Adresy IPV4 lub IPv6 z czterema liczbami lub zakresem adresów CIDR. Aby uzyskać więcej informacji na temat korzystania z protokołu IPv4 lub IPv6, zobacz Ograniczanie dostępu do licencji DRM i dostarczanie kluczy AES przy użyciu list dozwolonych adresów IP.
    • Jeśli chcesz włączyć określone adresy IP na własnych zaporach lub ograniczyć dane wejściowe do wydarzeń na żywo na adresy IP platformy Azure, pobierz plik JSON z zakresów adresów IP centrum danych Platformy Azure. Aby uzyskać szczegółowe informacje o tym pliku, wybierz sekcję Szczegóły na stronie.
  • Transkrypcja na żywo , która jest domyślnie wyłączona. Aby uzyskać więcej informacji na temat transkrypcji na żywo, przeczytaj transkrypcję na żywo.

Tryb wstrzymania

Podczas tworzenia wydarzenia na żywo można ustawić go na tryb wstrzymania. Zdarzenie jest w trybie wstrzymania, ale można edytować opis i prefiks statycznej nazwy hosta, a także ograniczyć ustawienia dostępu do danych wejściowych i zapoznawczych. Tryb wstrzymania jest nadal trybem rozliczanym, ale jest wyceniany inaczej niż w przypadku uruchamiania transmisji strumieniowej na żywo.

Aby uzyskać więcej informacji, zobacz Stany wydarzeń na żywo i rozliczenia.

Dane wyjściowe na żywo

Po skonfigurowaniu strumienia z kodera lokalnego 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 zarchiwizować strumień i udostępnić go odbiorcom za pośrednictwem punktu końcowego przesyłania strumieniowego.

Pytania dotyczące danych wyjściowych zdarzeń na żywo

Zobacz pytania dotyczące wydarzeń na żywo w często zadawanych pytaniach. Aby uzyskać informacje na temat limitów przydziałów zdarzeń na żywo, zobacz limity przydziału i limity

Więcej szczegółów na temat konfigurowania wydarzeń na żywo

Reguły nazewnictwa

  • Maksymalna nazwa wydarzenia na żywo to 32 znaki.
  • Nazwa powinna być zgodna z tym wzorcem wyrażeń regularnych : ^[a-zA-Z0-9]+(-*[a-zA-Z0-9])*$.

Zobacz również Konwencje nazewnictwa punktów końcowych przesyłania strumieniowego.

Porada

Aby zagwarantować unikatowość nazwy wydarzenia na żywo, można wygenerować identyfikator GUID, a następnie usunąć wszystkie łączniki i nawiasy klamrowe (jeśli istnieją). Ciąg będzie unikatowy we wszystkich wydarzeniach na żywo, a jego długość wynosi 32.

Adresy URL pozyskiwania wydarzeń na żywo

Po utworzeniu wydarzenia na żywo można pobrać adresy URL pozyskiwania, które należy udostępnić lokalnemu koderowi na żywo. Koder na żywo używa tych adresów URL do wprowadzenia strumienia na żywo. Aby uzyskać więcej informacji, zobacz Zalecane lokalne kodery na żywo.

Uwaga

Od wersji interfejsu API 2020-05-01 adresy URL "vanity" są znane jako statyczne nazwy hostów (useStaticHostname: true)

Uwaga

Aby adres URL pozyskiwania był statyczny i przewidywalny do użycia w konfiguracji kodera sprzętowego, ustaw właściwość useStaticHostname na wartość true i ustaw właściwość accessToken na ten sam identyfikator GUID dla każdego tworzenia.

  • Niestatyczna nazwa hosta

    Niestatyczna nazwa hosta jest trybem domyślnym w usłudze Media Services w wersji 3 podczas tworzenia elementu LiveEvent. Wydarzenie na żywo można przydzielić nieco szybciej, ale adres URL pozyskiwania potrzebny do kodowania na żywo sprzętu lub oprogramowania będzie losowy . Adres URL zmieni się, jeśli zatrzymasz/uruchomisz wydarzenie na żywo. Niestatyczne nazwy hostów są przydatne tylko w scenariuszach, w których użytkownik końcowy chce przesyłać strumieniowo przy użyciu aplikacji, która musi bardzo szybko uzyskać wydarzenie na żywo, a dynamiczny adres URL pozyskiwania nie jest problemem.

    Jeśli aplikacja kliencka nie musi wstępnie wygenerować adresu URL pozyskiwania przed utworzeniem wydarzenia na żywo, niech usługa Media Services automatycznie wygeneruje token dostępu dla wydarzenia na żywo.

  • Statyczne nazwy hostów

    Tryb statycznej nazwy hosta jest preferowany przez większość operatorów, którzy chcą wstępnie skonfigurować sprzęt lub oprogramowanie do kodowania na żywo przy użyciu adresu URL pozyskiwania RTMP, który nigdy nie zmienia się podczas tworzenia lub zatrzymywania/uruchamiania określonego wydarzenia na żywo. Te operatory chcą predykcyjnego adresu URL pozyskiwania protokołu RTMP, który nie zmienia się w czasie. Jest to również bardzo przydatne, gdy trzeba wypchnąć statyczny adres URL pozyskiwania RTMP do ustawień konfiguracji urządzenia kodowania sprzętowego, takiego jak BlackMagic Atem Mini Pro, lub podobne narzędzia do kodowania sprzętu i produkcji.

    Uwaga

    W Azure Portal statyczny adres URL nazwy hosta nosi nazwę "Statyczny prefiks nazwy hosta".

    Aby określić ten tryb w interfejsie API, ustaw wartość useStaticHostNametrue na wartość w czasie tworzenia (wartość domyślna to false). Gdy useStaticHostname parametr ma wartość true, hostnamePrefix określa pierwszą część nazwy hosta przypisanej do podglądu wydarzenia na żywo i pozyskiwania punktów końcowych. Końcowa nazwa hosta będzie kombinacją tego prefiksu, nazwy konta usługi multimediów i krótkiego kodu centrum danych usługi Azure Media Services.

    Aby uniknąć losowego tokenu w adresie URL, należy również przekazać własny token dostępu (LiveEventInput.accessToken) w czasie tworzenia. Token dostępu musi być prawidłowym ciągiem identyfikatora GUID (z łącznikami lub bez łączników). Po ustawieniu trybu nie można go zaktualizować.

    Token dostępu musi być unikatowy dla regionu platformy Azure i konta usługi Media Services. Jeśli aplikacja musi używać statycznego adresu URL pozyskiwania nazwy hosta, zachęcamy do zawsze tworzenia nowego wystąpienia identyfikatora GUID do użycia z określoną kombinacją regionu, konta usługi Media Services i wydarzenia na żywo.

    Użyj następujących interfejsów API, aby włączyć statyczny adres URL nazwy hosta i ustawić token dostępu na prawidłowy identyfikator GUID (na przykład "accessToken": "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7").

    Język Włączanie statycznego adresu URL nazwy hosta Określanie tokenu dostępu
    REST properties.useStaticHostname LiveEventInput.useStaticHostname
    Interfejs wiersza polecenia --use-static-hostname --access-token
    .NET LiveEvent.useStaticHostname LiveEventInput.AccessToken

Reguły nazewnictwa adresów URL pozyskiwania na żywo

  • Losowy ciąg poniżej to 128-bitowa liczba szesnastkowa (która składa się z 32 znaków 0–9 a–f).
  • token dostępu: prawidłowy ciąg identyfikatora GUID ustawiony podczas korzystania z ustawienia statycznej nazwy hosta. Na przykład "1fce2e4b-fb15-4718-8adc-68c6eb4c26a7".
  • nazwa strumienia: wskazuje nazwę strumienia dla określonego połączenia. Wartość nazwy strumienia jest zwykle dodawana przez używany koder na żywo. Koder na żywo można skonfigurować tak, aby używał dowolnej nazwy do opisania połączenia, na przykład: "video1_audio1", "video2_audio1", "stream".

Ostrzeżenie

Jeśli używasz znaków specjalnych lub spacji w nazwie strumienia, pozyskiwanie na żywo zakończy się niepowodzeniem. Zobacz Media Services resource naming conventions (Konwencje nazewnictwa zasobów usługi Media Services) w temacie Omówienie pojęć dla deweloperów.

Adres URL pozyskiwania nazwy hosta niestatyczny

RTMP

rtmp://<random 128bit hex string>.channel.media.azure.net:1935/live/<auto-generated access token>/<stream name>
rtmp://<random 128bit hex string>.channel.media.azure.net:1936/live/<auto-generated access token>/<stream name>
rtmps://<random 128bit hex string>.channel.media.azure.net:2935/live/<auto-generated access token>/<stream name>
rtmps://<random 128bit hex string>.channel.media.azure.net:2936/live/<auto-generated access token>/<stream name>

Smooth streaming

http://<random 128bit hex string>.channel.media.azure.net/<auto-generated access token>/ingest.isml/streams(<stream name>)
https://<random 128bit hex string>.channel.media.azure.net/<auto-generated access token>/ingest.isml/streams(<stream name>)

Statyczny adres URL pozyskiwania nazwy hosta

W poniższych ścieżkach <live-event-name> oznacza nazwę nadaną zdarzeniu lub nazwę niestandardową używaną podczas tworzenia wydarzenia na żywo.

RTMP

rtmp://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:1935/live/<your access token>/<stream name>
rtmp://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:1936/live/<your access token>/<stream name>
rtmps://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:2935/live/<your access token>/<stream name>
rtmps://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net:2936/live/<your access token>/<stream name>

Smooth streaming

http://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net/<your access token>/ingest.isml/streams(<stream name>)
https://<live event name>-<ams account name>-<region abbrev name>.channel.media.azure.net/<your access token>/ingest.isml/streams(<stream name>)

Adres URL podglądu zdarzeń na żywo

Po rozpoczęciu odbierania kanału informacyjnego udziału na żywo możesz użyć jego punktu końcowego w wersji zapoznawczej, aby wyświetlić podgląd i sprawdzić, czy odbierasz strumień na żywo przed dalszym publikowaniem. Po sprawdzeniu, czy strumień w wersji zapoznawczej jest dobry, możesz użyć wydarzenia na żywo, aby udostępnić strumień na żywo na potrzeby dostarczania za pośrednictwem co najmniej jednego (wstępnie utworzonego) punktu końcowego przesyłania strumieniowego. Aby to osiągnąć, utwórz nowe dane wyjściowe na żywo na żywo na wydarzeniu na żywo.

Ważne

Przed kontynuowaniem upewnij się, że film wideo przepływa do adresu URL podglądu.

Długotrwałe operacje zdarzeń na żywo

Aby uzyskać szczegółowe informacje, zobacz długotrwałe operacje.

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: