Subskrybuj, aby otrzymywać powiadomienia na temat nowych wpisów:

Stream Live jest teraz ogólnie dostępne

2022-09-21

7 min czytania
Ten post jest również dostępny w następujących językach: English, Рyсский i Español.

Mamy przyjemność ogłosić, że Stream Live wyszło z bety — jest teraz dostępne dla wszystkich i gotowe na ruch produkcyjny w dużej skali. Stream Live to funkcja Cloudflare Stream pozwalająca deweloperom budować funkcje wideo na żywo na stronach internetowych i w aplikacjach natywnych.

Stream Live is now Generally Available

Od czasu uruchomienia bety deweloperzy wykorzystują Stream do transmitowania na żywo koncertów najpopularniejszych artystów na świecie bezpośrednio do fanów, budowania zupełnie nowych platform dla twórców wideo, prowadzenia globalnej, dostępnej 24 godziny na dobę usługi OTT i nie tylko. W okresie bety Stream pozyskał miliony minut nagrań na żywo i dostarczył je użytkownikom na całym świecie.

Możecie powierzyć nam wielkie imprezy na żywo, ambitne platformy streamingowe czy aplikacje mobilne do publikacji wideo z milionami użytkowników — jesteśmy na nie gotowi.

Streaming na dużą skalę nie jest łatwy

Strumieniowanie na żywo wymaga ogromnej przepustowości. Przykładowo jedna godzina w rozdzielczości 1080p i prędkości 8 Mb/s potrzebuje aż 3,6 GB. Przy typowych cenach ruchu wychodzącego u dostawców usług w chmurze nawet niewielkie wideo może kosztować fortunę.

Wideo na żywo musi być kodowane na bieżąco, w czasie rzeczywistym. Konsumenci chcą je oglądać w telefonie, korzystając z sieci mobilnej o mniejszej przepustowości, większych opóźnieniach i często przerywanym połączeniu. Aby spełniać te oczekiwania, wideo na żywo musi być ponownie kodowane w czasie rzeczywistym w różnych rozdzielczościach, by umożliwić przejście na niższą rozdzielczość i dalsze odtwarzanie materiału. Bywa to dość skomplikowane (jakie wybrać szybkości transmisji bitów? które kodeki? ile?) i kosztowne — cała flota wirtualnych maszyn nie jest tania.

Ważna jest lokalizacja pozyskiwania – protokoły strumieniowania takie jak RTMPS wysyłają wideo przez TCP. Jeśli jeden pakiet zostanie porzucony lub utracony, całe połączenie musi się zatrzymać na czas jego odnalezienia i ponownego przesyłu. To zjawisko jest znane jako blokowanie się portów („head of line blocking”). Im dalej od serwera pozyskiwania znajduje się nadawca, tym więcej przeskoków, a więc i tym większe prawdopodobieństwo porzucenia lub utraty pakietów danych, co skutkuje opóźnieniami i buforowaniem po stronie widzów.

Lokalizacja dostawy również jest ważna — wideo na żywo muszą być zapisywane w pamięci podręcznej i obsługiwane z punktów obecności jak najbliższych widzom. Im dłuższa podróż po sieci, tym większa szansa buforowania lub obniżenia jakości.

Protokoły transmisji to kolejny problem — najpowszechniejszy protokół do strumieniowania na żywo, RTMPS, został porzucony w 2012 roku i sięga czasów formatu Flash we wczesnych latach 2000. Powstaje nowy standard, SRT, jednak na razie nie jest wszędzie wspierany. A Web RTC dopiero niedawno stał się jedną z możliwości w transmisji wideo w wysokiej rozdzielczości do wielu użytkowników.

Tradycyjnym rozwiązaniem jest połączyć oddzielne usługi w chmurze od różnych dostawców. Jeden zapewnia doskonałe dostarczanie treści, ale nie kodowanie. Inny oferuje interfejsy API lub sprzęt do kodowania, ale każe budować własną warstwę magazynu. Jako deweloper musisz nauczyć się wszystkiego o protokołach, kodekach, ustawieniach kodowania i procesach dostawy, a następnie napisać warstwę kodu pośredniczącego między nimi i potem nią zarządzać.

Dlatego zbudowaliśmy Stream Live, by strumieniowanie na żywo było tak łatwe, jak dodawanie znacznika do strony internetowej. Wideo na żywo stało się w ostatnich latach podstawowym elementem treści w Internecie i uważamy, że każdy deweloper powinien mieć narzędzia pozwalające dodawać je do strony internetowej lub aplikacji natywnej.

Stream pozwala Tobie i Twoim użytkownikom strumieniować wideo na żywo bezpośrednio do Cloudflare, by Cloudflare dostarczało je bezpośrednio widzom. Nie musisz martwić się kodowaniem, pamięcią czy dostawą — tylko zawartością, którą chcesz przesyłać.

Nasza sieć i sprzęt = rozwiązanie, które oferuje tylko Cloudflare

Nie jesteśmy jedyną firmą budującą interfejsy API do wideo na żywo, ale tylko my mamy własną globalną sieć i sprzęt, które sami kontrolujemy i optymalizujemy pod kątem wideo. To daje nam unikatowe możliwości, na przykład opóźnienie na całej trasie poniżej sekundy z wykorzystaniem RTMPS i SRT na dużą skalę.

Nowsze kodeki wideo wymagają wyspecjalizowanych koderów sprzętowych. Podczas gdy inni są ograniczeni możliwościami sprzętowymi dostawców publicznej chmury, my już instalujemy najnowszy sprzęt kodujący we własnych szafach, co umożliwi Ci dostarczanie wideo w wysokiej rozdzielczości przy jeszcze mniejszej przepustowości. Chcemy, by to, co obecnie potrafią tylko giganci branży wideo, było możliwe dla wszystkich naszych klientów — już w przyszłym tygodniu podzielimy się ekscytującymi informacjami w tym temacie.

Większość dostawców ogranicza liczbę lokalizacji, do których można jednocześnie przesyłać wiele strumieni wideo. Ponieważ obsługujemy własną sieć, nigdy nie było to dla nas problemem, a nasi klienci mogą przesyłać strumienie wideo do nieograniczonej liczby lokalizacji.

Własna sieć pozwala nam także wyceniać Stream na podstawie dostarczonych minut wideo — w przeciwieństwie do innych, nie płacimy stronie trzeciej za przepustowość, by potem sprzedawać ją własnym klientom z zyskiem. Powszechna praktyka pobierania opłat za przepustowość lub każdy gigabajt pamięci oznacza wyższe koszty przechowywania i dostarczania zawartości w wysokiej rozdzielczości. Gdyby zapytać dlaczego, zwykle okazuje się, że inni przenoszą własne struktury koszty na klientów.

Kodowanie wideo wymaga ogromnej mocy obliczeniowej, dostarczanie wymaga dużej przepustowości, a podczas pozyskiwania wideo na żywo istotna jest lokalizacja. Korzystając ze Stream, nie musisz martwić się ciągłym optymalizowaniem wydajności, znajdowaniem CDN czy dostosowywaniem konfiguracji. Stream zajmuje się wszystkim za Ciebie.

Uwolnij swoje wideo na żywo od modeli biznesowych wielkich platform

Niemal każda organizacja wykorzystuje wideo na żywo — do przyciągania klientów, transmitowania wydarzeń lub monetyzacji treści. Jednak większość z nich nie ma specjalistycznych zasobów technologicznych pozwalających samodzielnie dostarczać wideo na żywo w dużej skali, więc zamiast tego łączy wiele usług w chmurze niższego poziomu. Do dziś wielu największych twórców treści wideo, chcąc dotrzeć do widzów na żywo, musi polegać na garści aplikacji społecznościowych i usług streamingowych.

W przeciwieństwie do platform standardowych dostawców, którzy zmuszają do publikacji wideo w ich aplikacjach i usługach oraz dostosowania się do ich modelu biznesowego, Stream daje Ci pełną kontrolę nad materiałami, które są dostępne w Twojej aplikacji czy stronie, na dowolnym urządzeniu, na dużą skalę, bez zmuszania użytkowników do korzystania z usług stron trzecich.

Darmowe kodowanie. Darmowe pozyskiwanie. Darmowa analiza danych. Proste opłaty za minutę.

.tg {border-collapse:collapse;border-spacing:0;} .tg td{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; overflow:hidden;padding:10px 5px;word-break:normal;} .tg th{border-color:black;border-style:solid;border-width:1px;font-family:Arial, sans-serif;font-size:14px; font-weight:normal;overflow:hidden;padding:10px 5px;word-break:normal;} .tg .tg-c6q4{font-family:inherit;text-align:left;vertical-align:top} .tg .tg-dkn2{background-color:#CCC;font-family:inherit;text-align:left;vertical-align:top} .tg .tg-0fkh{background-color:#CCC;font-family:inherit;font-weight:bold;text-align:left;vertical-align:top} .tg .tg-3xvn{font-family:inherit;font-weight:bold;text-align:left;vertical-align:top}

Others Stream
Encoding $ per minute Free
Ingestion $ per GB Free
Analytics Separate product Free
Live recordings Minutes or hours later Instant
Storage $ per GB per minute stored
Delivery $ per GB per minute delivered

Inni

Stream

Kodowanie

$ za minutę

Za darmo

Pozyskiwanie

$ za GB

Za darmo

Analytics

Oddzielny produkt

Za darmo

Nagrania na żywo

curl -X POST \
-H "Authorization: Bearer <YOUR_API_TOKEN>" \
-d "{"recording": { "mode": "automatic" } }" \
https://api.cloudflare.com/client/v4/accounts/<YOUR_CLOUDFLARE_ACCOUNT_ID>/stream/live_inputs

Minuty lub godziny później

{
"result": {
"uid": "<UID_OF_YOUR_LIVE_INPUT>",
"rtmps": {
"url": "rtmps://live.cloudflare.com:443/live/",
"streamKey": "<PRIVATE_RTMPS_STREAM_KEY>"
},
...
}
}

Natychmiast

Przechowywanie

$ za GB

za minutę przechowywanych treści

Dostawa

$ za GB

za minutę dostarczonych treści

Inne platformy pobierają opłaty za pozyskiwanie i kodowanie. Często koszty różnią się w zależności od tego, skąd i dokąd przesyłane są treści, jaka jest szybkość transmisji bitów, ile klatek na sekundę ma wideo, a nawet z których centrów danych korzystasz.

import SwiftUI
import AVKit

struct MyView: View {
    // Change the url to the Cloudflare Stream HLS manifest URL
    private let player = AVPlayer(url: URL(string: "https://customer-9cbb9x7nxdw5hb57.cloudflarestream.com/8f92fe7d2c1c0983767649e065e691fc/manifest/video.m3u8")!)

    var body: some View {
        VideoPlayer(player: player)
            .onAppear() {
                player.play()
            }
    }
}

struct MyView_Previews: PreviewProvider {
    static var previews: some View {
        MyView()
    }
}

W Stream kodowanie i pozyskiwanie są darmowe. Inne platformy pobierają opłaty od przepustowości, co zniechęca do dostarczania widzom materiałów wysokiej jakości. Transmisja w wysokiej rozdzielczości kosztuje wówczas więcej.

W Stream nie musisz dopłacać za dostarczanie wideo w wysokiej rozdzielczości. Cennik Stream jest prosty – płacisz za przechowywane i dostarczone minuty wideo. A ponieważ płacisz za minutę, nie za gigabajt, możesz streamować w rozdzielczości najbardziej odpowiadającej Twoim widzom, nie martwiąc się kosztami przepustowości.

Inne platformy pobierają opłaty za analizę statystyk transmisji na żywo, wymagając zakupu dodatkowego produktu.

W Stream analiza jest całkowicie darmowa. Stream zapewnia interfejs API oraz pulpit nawigacyjny do analizy danych po stronie serwera oraz po stronie klienta, pod kątem danego wideo, twórcy, kraju itd. Analiza pozwala na przykład określić, którzy twórcy w aplikacji mają najpopularniejsze transmisje na żywo, jaką opłatę pobrać od klienta za jego zużycie albo gdzie treści gwałtownie zyskują popularność.

Inne platformy dodają nagrania na żywo lub możliwość przewijania jako oddzielne, dodatkowe funkcje, a nagrania są dostępne dopiero kilka minut lub nawet godzin po zakończeniu transmisji.

W Stream nagrania na żywo są wbudowane w usługę i dostępne natychmiast po zakończeniu transmisji. Gdy tylko transmisja na żywo staje się dostępna, działa zupełnie tak samo, jak każde wideo przesłane na Stream. Do zarządzania materiałami nagranymi z wyprzedzeniem oraz transmisjami na żywo służą te same interfejsy API.

Wbuduj wideo na żywo w stronę internetową lub aplikację w ciągu minut

Cloudflare Stream pozwala Tobie lub Twoim użytkownikom nadawać na żywo z wykorzystaniem tych samych protokołów i narzędzi, których używają twórcy na platformach takich jak YouTube czy Twitch, ale daje Ci pełną kontrolę nad dostępem do transmisji oraz ich prezentacją.

Krok 1: Utwórz wideo wejściowe

Utwórz wideo wejściowe na żywo z pulpitu nawigacyjnego Cloudflare lub wykorzystaj do tego interfejs API Stream:

Żądanie

Odpowiedź

Krok 2: Użyj klucza RTMPS z dowolnym oprogramowaniem do transmisji na żywo lub własną aplikacją natywną

Skopiuj klucz i adres URL RTMPS i użyj ich w aplikacji do transmisji strumieniowej. Zalecamy na początek Open Broadcaster Software (OBS), ale dowolny program zgodny z RTMPS lub SRT powinien również współpracować ze Stream Live.

Wprowadź adres URL RTMPS i klucz z kroku 1:

Krok 3: wyświetl podgląd transmisji na żywo w pulpicie nawigacyjnym Cloudflare

W pulpicie nawigacyjnym Stream, w ciągu sekund od rozpoczęcia transmisji, zobaczysz podgląd tego, co będą widzieli Twoi widzowie, a także status połączenia transmisji w czasie rzeczywistym.

Krok 4: dodaj odtwarzanie wideo na żywo do strony internetowej lub aplikacji

Transmituj wideo za pomocą naszego kodu osadzania Stream Player lub użyj dowolnego odtwarzacza wideo ze wsparciem dla HLS lub DASH — transmisje na żywo można odtwarzać na stronach internetowych lub w aplikacjach natywnych dla systemów iOS i Android.

Na przykład w iOS wystarczy dostarczyć AVPlayer adres URL manifestu HLS wejścia wideo, który można znaleźć przez interfejs API lub na pulpicie nawigacyjnym Stream.

Aby uruchomić pełną przykładową aplikację w XCode, postępuj zgodnie z tym przewodnikiem dostępnym w dokumentacji Stream dla deweloperów.

Firmy budują całe platformy wideo w oparciu o Stream

Deweloperzy chcą mieć kontrolę nad owocami swojej pracy, ale zwykle nie mają czasu na poznanie tematyki transmisji wideo od podszewki. A nawet eksperci od wideo budujący innowacyjne nowe platformy nie chcą zarządzać infrastrukturą transmisji na żywo.

Cała działalność Switcher Studio opiera się na transmisjach na żywo — ich aplikacja na iOS pozwala twórcom i firmom produkować pod własną marką transmisje na żywo z kilku kamer. Stream stanowi kluczowy element infrastruktury transmisji tej firmy. Sami mówią o nas tak:

„Switcher pomaga twórcom transmisji na żywo docierać do widzów od 2014 roku. Obecnie nasi użytkownicy tworzą ponad 100 000 ransmisji miesięcznie. W związku z rozwojem firmy potrzebowaliśmy skalowalnego rozwiązania umożliwiającego dostarczanie zawartości. Cloudflare oferuje bezpieczne, szybkie dostarczanie zawartości i umożliwiło nam dodanie do oferty nowych funkcji, takich jak multistreaming. Powierzenie infrastruktury Cloudflare Stream pozwala nam skupić się na narzędziach do produkcji na żywo, które odróżniają nas od konkurencji”.

Podczas bety Stream Live pracowaliśmy z licznymi klientami takimi jak Switcher, dla których wideo na żywo jest nie jedną z funkcji, a podstawą produktu. Nawet jako eksperci w wideo na żywo, zespół Switcher postanowił korzystać ze Stream, by skupić swoją uwagę na unikalnej wartości, którą tworzą dla klientów, zostawiając kwestię pozyskiwania, kodowania, nagrywania i dostarczania wideo na żywo Cloudflare.

Zacznij dodawać wideo na żywo do swojej strony internetowej lub aplikacji już dziś

Rejestracja i rozpoczęcie pierwszej transmisji na żywo z pulpitu nawigacyjnego Cloudflare zajmuje tylko kilka minut i nie wymaga kodu. Kiedy postanowisz budować własne funkcje wideo na żywo, będą na Ciebie czekać interfejsy API. Spróbuj — jesteśmy na Ciebie gotowi, bez względu na rozmiar Twojej widowni.

Chronimy całe sieci korporacyjne, pomagamy klientom sprawnie tworzyć aplikacje o skali internetowej, przyspieszamy działanie wszelkich witryn i aplikacji internetowych, zapobiegamy atakom DDoS, trzymamy hakerów z daleka oraz możemy pomóc Ci we wdrażaniu modelu Zero Trust.

Odwiedź stronę 1.1.1.1 na dowolnym urządzeniu i zacznij korzystać z naszej bezpłatnej aplikacji, dzięki której Twój Internet będzie szybszy i bezpieczniejszy.

Aby dowiedzieć się więcej o naszej misji budowania lepszego Internetu, przejdź tutaj . Jeśli interesuje Cię zmiana ścieżki kariery, sprawdź nasze wolne stanowiska.
GA WeekGeneral AvailabilityCloudflare StreamVideoWiad. o prod.Programiści

Obserwuj nas w serwisie X

Brendan Irvine-Broque|@irvinebroque
Cloudflare|@cloudflare

Powiązane wpisy

24 października 2024 13:00

Durable Objects aren't just durable, they're fast: a 10x speedup for Cloudflare Queues

Learn how we built Cloudflare Queues using our own Developer Platform and how it evolved to a geographically-distributed, horizontally-scalable architecture built on Durable Objects. Our new architecture supports over 10x more throughput and over 3x lower latency compared to the previous version....

09 października 2024 13:00

Improving platform resilience at Cloudflare through automation

We realized that we need a way to automatically heal our platform from an operations perspective, and designed and built a workflow orchestration platform to provide these self-healing capabilities across our global network. We explore how this has helped us to reduce the impact on our customers due to operational issues, and the rich variety of similar problems it has empowered us to solve....