adrianpl20
2.03.2014, 02:25:02
Witam. Chciałbym się dowiedzieć:
1. Jak działa live streaming (osobny serwer pobiera obraz i wysyła do innych, które nadają do użytkowników?)
2. Jak policzyć maksymalną liczbę użytkowników oglądających live?
3. Jak taki streaming live robi się na telefonach, smartfonach, żeby tego pakietu nie pożarło w 10 sekund i to wifi żeby nie zamuliło neta innym?
4. Jak działa streaming wideo, np. oglądanie na stronie filmów, jak ekino, playtube itd. (wiem, że mają wideo z innych hostingów, ale załóżmy, że mają filmy na swoich serwerach) ?
5. Czy są jakieś metody, jakiś sposób cache, aby ograniczyć zużywanie transferu na serwerach, oraz aby użytkownik mógł oglądać wideo nawet na słabszym necie (nawet kosztem jakości, jak to na youtube jest) ?
Szukałem tutaj na forum, ale wątki z 2008-2009 roku, jakiś tam z 2013 ale nic nie ma o tym, o co zapytałem.
Z góry dziękuję za pomoc.
help
jakub.drag
3.03.2014, 01:58:44
Cześć

Odpowiem na to co wiem na pewno.
Ad. 1 W najprostszym przypadku, komputer klienta wysyła obraz strumieniowo na serwer, następnie z serwera użytkownicy pobierają strumień do siebie. Serwer może zapisywać strumień (i np. po zakończeniu transmisji udostepnić go jako film) lub od razu usuwać.
Ad. 2 Serwery w czasie rzeczywistym konwerują strumień na różne formaty i jakości (podobnie robi YouTube po przesłaniu filmu).
Ad. 4 Najczęściej są to po prostu zwykłe serwisy hostujące pliki, udostępniające dla plików filmowych odtwarzacz flash do wstawienia na stronę (np. JW Player)
Mam nadzieję, że pomogłem
sreg
22.12.2015, 12:45:55
Wracam do tematu może nie najnowszego, ale ...
uzupełniając -
pkt.1 nadajesz na serwer główny np. w formacie rtmp i tam sygnał jest przesyłany już do odbiorców końcowych. Oczywiście im większa ilość odbiorców tym serwer musi być wydajniejszy. Niemniej przy większych realizachach stosuje się tak zwany serwer brzegowy oraz kilka, kilkanście, kilkaset serwerów edge- które kopiują sygnał i udostępniają poprzez siebie- taki CDN, a główny serwer bada tylko obciążenie serwerów edge i przesyła do tych które są np. najmniej obciżone
pkt.3 serwer sam konwertuje obraz do mobile i w ustawieniach serwera można określić jakość stremu rtsp- czyli na urządzenia mobilne
pkt.5 tak można włączyć transkoder w serwerze, a Klientom udostępnić tylko jakość prze konwertowaną na niższy bitrate, ale chyba łatwiej jest po prostu wysyłać niższą jakosć i nie obciążać serwera.
Jeżeli poszukujesz gotowego rozwiązania zerknij tutaj:
onestream.pl/serwer-streamingu-wynajem/
Konfiguracja serwera nie jest procesem trudnym- niemniej na polskich forach nie znajdziesz na nie odpowiedzi.
Sebastian
flasht
24.12.2015, 12:21:32
W skrócie odpowiadając na wszystkie Twoje pytania:
Streaming to nic innego jak binarne dane lecące z odpowiednimi znacznikami (meta w video) i headerami. Nie jest możliwe bez dekodera (zależnie od formatu video) ustawianie w locie jakości połączenia. Nie jest w ogóle możliwe cacheowanie czegoś takiego. Generalnie PHP raczej słabo się nadaje do tego typu zadań, jeśli nie ma wsparcia odpowiedniego modułu (zazwyczaj jest to moduł Apache, czasem zupełnie oddzielny serwer streamingowy).
Jeśli chodzi o puszczanie na stronie... Wygląda to tak, że player video HTML5 zachowuje się bardzo podobnie do zwykłego programu typu VLC. Z jednym dość poważnym zastrzeżeniem - bardzo ograniczoną liczbą formatów, jakie jest w stanie odtworzyć.... taka mała tabelka:
Browser MP4 WebM Ogg
Internet Explorer YES NO NO
Chrome YES YES YES
Firefox YES YES YES
Safari YES NO NO
Opera YES (from Opera 25) YES YES
Warto zauważyć, że MP4 to bardzo szerokie pojęcie i jeśli nie będzie w odpowiednim formacie (np. H.264, choć Youtube używa VP8/VP9).
Ja zastanowił bym się nad jakimś rozwiązaniem komercyjnym (jeśli chodzi o serwer), ponieważ nie spotkałem się jeszcze z w pełni działającym darmowym modułem.
Comandeer
24.12.2015, 12:37:12
Cytat
np. H.264, choć Youtube używa VP8/VP9
Hm… AFAIK YT używa H.264 do MP4 i VP8/VP9 dla WebM. A IE też odtworzy WebM, jeśli w systemie jest taka możliwość.
flasht
24.12.2015, 14:42:10
Cytat(Comandeer @ 24.12.2015, 12:37:12 )

Hm… AFAIK YT używa H.264 do MP4 i VP8/VP9 dla WebM. A IE też odtworzy WebM, jeśli w systemie jest taka możliwość.
Źródło tabelki:
http://www.w3schools.com/html/html5_video.aspCo do YT, nie upieram się... możliwe, że coś się zmieniło w tej kwestii... tylko po co wtedy to:
https://chrome.google.com/webstore/detail/h...cghkekgioiakgal ? Zdaje się być aktualne.
Comandeer
24.12.2015, 14:47:34
Co do W3Schools: nie. Po prostu nie

Odnośnie multimediów powypisywali takie bzdury, że aż się płakać chce (np. połowa zdarzeń dla
video jest pomylona…). Dokładniejsza i sensowniejsza tabelka jest – jak chyba zawsze w tych sprawach – na MDN:
https://developer.mozilla.org/en-US/docs/We...d_media_formatsCo do YT: domyślnie serwuje WebM, które jest kodowane przy pomocy VP8/VP9. Stąd dodatek do wymuszenia H.264.
flasht
24.12.2015, 22:49:04
Odnosząc się jeszcze do wcześniejszego... sprawdziłem IE... wygląda na to, że się to nadal zgadza... IE11 - nie chce czytać nic poza H.264.
Tak czy siak, chodziło mi o to, że aby obsłużyć te wszystkie przeglądarki, trzeba wybrać dobry format. A H.264 wcale nie jest takie przyjemne w obsłudze niestety :/
bastek8989
11.07.2021, 11:36:23
Żeby zaimplementować na swojej stornie funkcję live streamingu na początek potrzebne Ci będzie oprogramowanie do zainstalowania na serwerze.
Do wyboru masz Wowza (ma ugruntowaną pozycję na rynku i jest chyba najpopularniejszym rozwiązaniem) lub Storm Streaming Server (nasze rodzime oprogramowanie, pracuję przy jego tworzeniu

).
Od strony Storma:
1. Załóż konto na
https://www.stormstreaming.com/pl/2. Zamów
Trial Storm Streaming Server3.
Zainstaluj na swoim serwerze4.
Zamontuj player na swojej stronie5. Zakładając, że chcesz streamować via swoja kamera
ściągnij OBS'a6. Rozpocznij nadawanie.
Tutaj instrukcja jak podpiąć OBS pod Storm
To jest wersja lo-fi głównej zawartości. Aby zobaczyć pełną wersję z większą zawartością, obrazkami i formatowaniem proszę
kliknij tutaj.