W jaki sposób odtwarzacze multimediów strumieniowych, działające na stronach HTML i obsługiwane przez serwery HTML, ustanawiają połączenia strumieniowe (RTSP itp.) Z serwerami multimediów strumieniowych (obsługującymi żądania RTSP)?
Typowe zastosowania
Wydaje się, że RTSP jest obecnie częściej używany w aplikacjach / interfejsach urządzeń, które bezpośrednio transmitują na żywo (np. Kamera IP) lub ponownie streamują (jak silnik), niż do przesyłania strumieniowego zapisanych plików multimedialnych z fizycznej lokalizacji za pośrednictwem interfejsu odtwarzania internetowego HTTP z wbudowany odtwarzacz.
Wygląda na to, że RTSP jest protokołem stanowym i używa przesyłania strumieniowego w większym stopniu niż TCP, a także jako urządzenia serwerowego (takiego jak kamera IP), który jest podłączony do sieci TCP / IP i wysyła strumienie przez UDP itp. Następnie łączysz się z tymi kanałami (serwerem) jako klient w tej samej sieci i możesz wysyłać żądania RTSP, aby odpowiednio je wykorzystać.
Mimo że pod pewnymi względami podobny do HTTP, RTSP definiuje sekwencje kontrolne przydatne w kontrolowaniu odtwarzania multimediów. Podczas gdy HTTP jest
bezstanowy , RTSP ma stan; identyfikator jest używany, gdy jest potrzebny do śledzenia równoczesnych sesji. Podobnie jak HTTP, RTSP używa TCP do utrzymywania połączenia typu end-to-end i chociaż większość komunikatów kontrolnych RTSP jest wysyłanych przez klienta do serwera, niektóre polecenia przemieszczają się w innym kierunku (tj. Z serwera na klienta).
Przedstawiono tutaj podstawowe żądania RTSP. Dostępne są również niektóre typowe żądania HTTP, takie jak żądanie OPCJE. Domyślny numer portu warstwy transportowej to 554 [3] zarówno dla TCP, jak i UDP, ten ostatni jest rzadko używany do żądań sterowania.
źródło
Bezstanowy protokół nie wymaga od serwera zachowania informacji o sesji ani statusu każdego partnera komunikacji przez czas trwania wielu żądań. W przeciwieństwie do protokołu, który wymaga utrzymania stanu wewnętrznego na serwerze jest znany jako
stanowej protokołu.
Wadą bezpaństwowości jest to, że może być konieczne dołączenie dodatkowych informacji do każdego żądania, a te dodatkowe informacje będą musiały zostać zinterpretowane przez serwer.
źródło
Przepływ logiczny
Sposób, w jaki rozumiem przepływ mediów strumieniowych w tej formie, to:
- serwer, na którym znajduje się treść medialna, kapsułkuje, kompresuje, koduje itp. zawartość danych wideo / audio w odpowiednich formatach i segmentach do dostarczania strumieniowego
- serwer WWW, który nasłuchuje połączeń w celu uzyskania dostępu do mediów strumieniowych, dostarczy wszystkie zasoby potrzebne do strumieniowego przesyłania mediów
- klient żąda i pobiera odpowiednie zasoby i pliki, a następnie montuje je w sposób ciągły w celu odtwarzania za pomocą skonfigurowanego wskaźnika adresu URL i innych parametrów. Oprogramowanie do odtwarzania na poziomie klienta składa pakiety przesyłane po kolei, aby umożliwić prawidłowe odtwarzanie zawartości.
Ogólne porównanie HTTP i RTSP znajduje się w sekcji Technologie przesyłania strumieniowego poniżej.
Ponadto
W poniższej sekcji 10 powodów, dla których nigdy nie powinieneś hostować własnych filmów , zacytowałem części, które prowadzą do tego, aby pomóc Ci odpowiedzieć „ogólnie” bez pytania.
Zasadniczo mówi, że strona internetowa, która ma wbudowane sterowanie odtwarzaczem multimediów, będzie:
- (1) wykrywają ustawienia przeglądarki internetowej klienta po „połączeniu i żądaniu” od klienta i
- (2) spowoduje to ustawienie kodeka i innych ustawień wykrywania po stronie klienta na odpowiednie wartości parametrów, a następnie
- (3) będzie przesyłać strumieniowo wideo bezpośrednio z serwera przesyłania strumieniowego, na którym hostujesz pliki wideo i audio, na podstawie dalszego kodu we wbudowanych konfiguracjach odtwarzacza multimediów, wskazując adres URL pliku multimedialnego na hostowanym serwerze.
Przeglądarka klienta musi odebrać dane z serwera i przekazać je do aplikacji strumieniowej w celu przetworzenia. Aplikacja do przesyłania strumieniowego przekształca dane w obrazy i dźwięki. Ważnym czynnikiem powodzenia tego procesu jest zdolność klienta do szybszego odbierania danych, aby aplikacja mogła wyświetlić informacje. Nadmiar danych jest przechowywany w buforze - obszarze pamięci zarezerwowanym do przechowywania danych w aplikacji. W przypadku opóźnionego przesyłania danych między dwoma systemami bufor opróżnia się, a prezentacja materiału nie będzie płynna.
Protokół HTTP
HTTP jest dominującym sposobem łączenia dokumentów w Internecie. Klient nawiązuje połączenie z serwerem zawierające plik, który ma być przesyłany strumieniowo, plik jest pobierany, a połączenie zamykane. Serwer HTTP przekazuje przeglądarce typ pliku do przesłania.
Korzyści z używania HTTP
Podczas przesyłania strumieniowego pliku przy użyciu protokołu HTTP specjalny serwer przesyłania strumieniowego nie jest wymagany. Tak długo, jak przeglądarka obsługuje typy MIME, może odbierać plik strumieniowy z serwera HTTP. Jedną z wyraźnych zalet przesyłania strumieniowego plików za pomocą protokołu HTTP jest to, że może on przechodzić przez zapory ogniowe i wykorzystywać serwery proxy.
Niektóre wady
Strumieniowe przesyłanie HTTP wykorzystuje protokół TCP / IP (Transmission Control Protocol i Internet Protocol), aby zapewnić niezawodne dostarczanie plików. Ten proces sprawdza brakujące pakiety i prosi o ich ponowną transmisję. Staje się to problematyczne w scenariuszu przesyłania strumieniowego, gdy chcesz, aby dane zostały zignorowane, jeśli zostaną utracone podczas dostarczania, więc pliki dynamiczne będą odtwarzane dalej. HTTP nie może wykryć szybkości modemu, więc administratorzy serwerów muszą celowo tworzyć pliki o różnych współczynnikach kompresji dla użytkowników serwerów z różnymi typami połączeń. Przesyłanie strumieniowe plików z serwerów HTTP nie jest zalecane w sytuacjach wymagających dużego popytu.
Protokół RTSP
RTSP jest standardowym protokołem używanym przez większość dostawców serwerów przesyłania strumieniowego. Serwery RTSP używają protokołu UDP (User Datagram Protocol) do przesyłania plików multimedialnych. UDP nie sprawdza stale, czy pliki dotarły do miejsca docelowego. Jest to zaletą dla aplikacji do przesyłania strumieniowego, ponieważ pozwala na przerwanie przesyłania plików, o ile opóźnienie nie jest zbyt długie. W wyniku tej metody czasami dochodzi do utraty danych, ale pliki są odtwarzane, jeśli opóźnienie jest niewielkie.
źródło
Mówimy o osadzaniu vs. wideo hostowane
Najpierw przesyłasz plik wideo do zewnętrznej usługi hostingowej, takiej jak YouTube, Vimeo lub Wistia.
Następnie skopiujesz niewielki fragment kodu, który ci dostarczą, i wkleisz go do postu lub strony na własnej stronie WordPress. Film pojawi się w Twojej witrynie, w miejscu, w którym wkleiłeś kod do osadzenia, ale sam film jest przesyłany strumieniowo z serwerów hosta wideo, w przeciwieństwie do własnego serwera internetowego, na którym znajduje się witryna WordPress.
4. Brak standardowego formatu pojedynczego pliku dla wideo w sieci Web
Obecna specyfikacja wersji roboczej HTML5 nie określa, jakie formaty wideo powinny być obsługiwane przez przeglądarki. W rezultacie główne przeglądarki internetowe rozeszły się, każda z nich obsługuje inny format. Internet Explorer i Safari będą odtwarzać filmy w formacie H.264 (MP4), ale nie WebM ani Ogg. Firefox będzie odtwarzał filmy Ogg lub WebM, ale nie H.264. Na szczęście Chrome odtwarza wszystkie główne formaty wideo, ale jeśli chcesz mieć pewność, że będzie on odtwarzany we wszystkich głównych przeglądarkach internetowych, musisz przekonwertować go na wiele formatów: .mp4, .ogv i .webm
5. Mam nadzieję, że lubisz konwertować filmy. Dużo.
Większość odbiorców prawdopodobnie będzie oglądać Twoje filmy z komputera stacjonarnego lub laptopa z wykorzystaniem szybkiego połączenia internetowego. Dla tych ludzi będziesz chciał dostarczyć duży plik w jakości HD, aby mogli oglądać go na pełnym ekranie, jeśli tak zdecydują. Zasadniczo oznacza to plik 1080p lub 720p o wysokiej przepływności (5000 - 8000 kb / s).
Ale będziesz też chciał zakodować mniejszą wersję o niższej rozdzielczości, która ma być dostarczana na urządzenia mobilne, takie jak telefony i tablety, a także do widzów z wolniejszym połączeniem internetowym.
6. Odtwarzacze wideo
Odtwarzacz wideo to małe oprogramowanie internetowe instalowane w witrynie, które automatycznie wykrywa, które urządzenie żąda Twojego wideo wraz z jego prędkością połączenia, a następnie dostarcza odpowiednią wersję tej osobie.
7. Uciążliwy kod [lub skróty]
Bez względu na to, czy korzystasz z wtyczki innej firmy, czy z wbudowanych funkcji wideo WordPress, musisz utworzyć trochę kodu, aby poinformować odtwarzacz wideo, jakie formaty utworzyłeś, a także o ich lokalizacji na serwerze. Wygląda mniej więcej tak…
<video poster="movie.jpg" controls>
<source src="movie.webm" type='video/webm; codecs="vp8.0, vorbis"'/>
<source src="movie.ogg" type='video/ogg; codecs="theora, vorbis"'/>
<source src="movie.mp4" type='video/mp4; codecs="avc1.4D401E, mp4a.40.2"'/>
<p>This is fallback content</p>
</video>
Więc jakie jest najlepsze rozwiązanie do dodawania wideo do swojej witryny?
Wystarczy skorzystać z usługi hostingu wideo innej firmy, a następnie osadzić wideo w poście lub stronie WordPress.
Krok pierwszy: Prześlij swój film do jednej z popularnych, dobrze znanych usług hostingowych, takich jak Vimeo PRO.
Krok drugi: Po przesłaniu filmu i przygotowaniu go do oglądania skopiuj adres URL do swojego filmu. Wróć do swojej witryny WordPress i wklej adres URL do posta lub strony, na której chcesz wyświetlać wideo.
Gdy ludzie zobaczą Twoją stronę, wideo pojawi się w miejscu, w którym wkleiłeś adres URL. Ale sam plik wideo będzie przesyłany strumieniowo z serwerów hosta wideo, w przeciwieństwie do własnego serwera, na którym znajduje się witryna WordPress.
Wbudowany odtwarzacz wideo automatycznie wykryje urządzenie użytkownika, przeglądarkę i prędkość połączenia internetowego, a następnie wyświetli odpowiednią wersję pliku wideo. Nic do zainstalowania na twojej stronie. Brak wtyczek do aktualizacji. Bez trudnego kodu.
źródło