Dostępne są nowe wersje otwartych serwerów mediów, przeznaczone do organizacji transmisji strumieniowej w sieci:
- pierwsza wersja
, narzędzia do strumieniowego przesyłania dźwięku przez sieć w czasie rzeczywistym z gwarantowanym czasem opóźnienia oraz zapewnieniem jakości na poziomie płyt kompaktowych. Przy transmisji uwzględniane jest odchylenie czasowe zegarów systemowych nadawcy i odbiorcy. Obsługiwane jest odzyskiwanie utraconych pakietów za pomocą kodów w implementacji (w trybie minimalnych opóźnień stosowany jest kod Reed-Solomon, a w trybie maksymalnej wydajności – schemat ). Przy transmisji używany jest protokół RTP (AVP L16, 44100Hz PCM 16-bit). Obecnie obsługiwana jest tylko transmisja dźwięku, ale w planach przewidziano wsparcie dla transmisji wideo i innych typów treści.Istnieje możliwość multipleksowania strumienia od kilku nadawców do jednego odbiorcy. Możliwe jest podłączenie różnych profili ustawień próbkowania, w zależności od typu CPU i wymagań dotyczących opóźnienia podczas transmisji. Obsługiwana jest transmisja przez różne typy sieci, w tym sieć lokalną, internet i sieć bezprzewodową. W zależności od ustawień, przepustowości i utraty pakietów Roc automatycznie wybiera niezbędne parametry kodowania strumienia i w trakcie transmisji koryguje jego intensywność.
Projekt składa się z biblioteki C, interfejsu wiersza poleceń i zestawu modułów do zastosowania Roc jako transportu w . W najprostszym przypadku dostępne narzędzia pozwalają na przesyłanie dźwięku z pliku lub urządzenia dźwiękowego na jednym komputerze do pliku lub urządzenia dźwiękowego innego komputera. Obsługiwane są różne backendy dźwiękowe, w tym ALSA, PulseAudio i CoreAudio. Kod napisany jest w języku C++ i objęty licencją MPL-2.0. Obsługiwana jest praca w GNU/Linux i macOS.
- nowa wersja serwera multimedialnego , który umożliwia organizację transmisji strumieniowej za pomocą protokołów RTMP, RTSP i WebRTC z obsługą trybu adaptacyjnej zmiany bitrate'u. Ant może być również stosowany do organizacji nagrywania wideo w formatach MP4, HLS i FLV. Wśród jego możliwości można wyróżnić obecność konwertera WebRTC do RTMP, wsparcie dla kamer IP i IPTV, dystrybucję i nagrywanie transmisji na żywo, organizację streamingu w sieciach społecznościowych, zapewnienie skalowalności przez wdrożenie klastra oraz możliwość masowego nadawania z jednego punktu do wielu odbiorców z opóźnieniem na poziomie 500 ms.
Produkt rozwija się w ramach modelu Open Core, co oznacza rozwój podstawowej części pod licencją Apache 2.0 oraz dostarczanie rozszerzonych możliwości (na przykład streaming na YouTube) w płatnej wersji. W nowej wersji wydajność transmisji przez WebRTC wzrosła o 40%, dodano przeglądarkę logów, ulepszono panel webowy, dodano REST API do wyświetlania statystyk, zoptymalizowano zużycie pamięci, poprawiono obsługę błędów i dodano możliwość wysyłania statystyk do Apache Kafka.
- wydanie serwera do transmisji strumieniowej , umożliwiający przesyłanie wideo w formatach FLV, F4V, MP4 i 3GP oraz dźwięku w formatach MP3, F4A, M4A, AAC. Dostępne są tryby transmisji na żywo oraz działanie w formie stacji nagrywającej do odbierania strumieni od klientów (FLV i AVC+AAC w kontenerze FLV). Projekt został początkowo stworzony w 2005 roku jako alternatywa dla Flash Communication Server, wykorzystującego protokół RTMP. W późniejszym czasie w Red5 poprzez wtyczki zapewniono wsparcie dla transmisji przy użyciu HLS, WebSockets, RTSP i WebRTC.
Red5 jest stosowany jako serwer transmisji strumieniowej w projekcie do organizacji konferencji wideo i audio. Kod napisany jest w Javie i na licencji Apache 2.0. Na bazie Red5 zbudowany jest produkt proprietyarny , zapewniający skalowalność do milionów widzów z opóźnieniem dostarczania na poziomie 500 ms oraz możliwością wdrożenia w chmurach AWS, Google Cloud i Azure.
Źródło: opennet.ru
