Witaj Gościu! ( Zaloguj | Rejestruj )

Forum PHP.pl

 
Reply to this topicStart new topic
> streaming video i live streaming jak zrobic?
adrianpl20
post 2.03.2014, 02:25:02
Post #1





Grupa: Zarejestrowani
Postów: 111
Pomógł: 16
Dołączył: 20.02.2014

Ostrzeżenie: (10%)
X----


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
Go to the top of the page
+Quote Post
jakub.drag
post 3.03.2014, 01:58:44
Post #2





Grupa: Zarejestrowani
Postów: 94
Pomógł: 9
Dołączył: 11.10.2010
Skąd: Kraków

Ostrzeżenie: (0%)
-----


Cześć wink.gif
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 wink.gif


--------------------
Podchodź pozytywnie do swojego kodu :)
Go to the top of the page
+Quote Post
sreg
post 22.12.2015, 12:45:55
Post #3





Grupa: Zarejestrowani
Postów: 2
Pomógł: 0
Dołączył: 19.05.2009

Ostrzeżenie: (0%)
-----


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
Go to the top of the page
+Quote Post
flasht
post 24.12.2015, 12:21:32
Post #4





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 4.03.2004

Ostrzeżenie: (0%)
-----


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.
Go to the top of the page
+Quote Post
Comandeer
post 24.12.2015, 12:37:12
Post #5





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


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ść.


--------------------
Go to the top of the page
+Quote Post
flasht
post 24.12.2015, 14:42:10
Post #6





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 4.03.2004

Ostrzeżenie: (0%)
-----


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.asp

Co 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.

Ten post edytował flasht 24.12.2015, 14:43:34
Go to the top of the page
+Quote Post
Comandeer
post 24.12.2015, 14:47:34
Post #7





Grupa: Zarejestrowani
Postów: 1 268
Pomógł: 254
Dołączył: 11.06.2009
Skąd: Świętochłowice

Ostrzeżenie: (0%)
-----


Co do W3Schools: nie. Po prostu nie wink.gif 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_formats

Co do YT: domyślnie serwuje WebM, które jest kodowane przy pomocy VP8/VP9. Stąd dodatek do wymuszenia H.264.


--------------------
Go to the top of the page
+Quote Post
flasht
post 24.12.2015, 22:49:04
Post #8





Grupa: Zarejestrowani
Postów: 101
Pomógł: 0
Dołączył: 4.03.2004

Ostrzeżenie: (0%)
-----


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 :/

Ten post edytował flasht 24.12.2015, 22:50:47
Go to the top of the page
+Quote Post
bastek8989
post 11.07.2021, 11:36:23
Post #9





Grupa: Zarejestrowani
Postów: 205
Pomógł: 1
Dołączył: 11.09.2006

Ostrzeżenie: (0%)
-----


Ż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 smile.gif).

Od strony Storma:

1. Załóż konto na https://www.stormstreaming.com/pl/
2. Zamów Trial Storm Streaming Server
3. Zainstaluj na swoim serwerze
4. Zamontuj player na swojej stronie
5. Zakładając, że chcesz streamować via swoja kamera ściągnij OBS'a
6. Rozpocznij nadawanie. Tutaj instrukcja jak podpiąć OBS pod Storm

Ten post edytował bastek8989 11.07.2021, 11:40:03


--------------------
Web-Anatomy.com - tworzenie serwisów internetowych oraz stron www z okolic Bielska-Białej. Zapraszam.
Go to the top of the page
+Quote Post

Reply to this topicStart new topic
1 Użytkowników czyta ten temat (1 Gości i 0 Anonimowych użytkowników)
0 Zarejestrowanych:

 



RSS Wersja Lo-Fi Aktualny czas: 29.04.2025 - 11:16