Es sind mehrere neue Versionen von Open-Media-Servern verfügbar, die für das Streaming in Netzwerken konzipiert sind:
- erste Version
, ein Toolkit zum Streaming von Audio über Netzwerke in Echtzeit mit garantierten Latenzzeiten und einer Qualität auf CD-Niveau. Bei der Übertragung wird die Abweichung der Systemuhren von Sender und Empfänger berücksichtigt. Der Wiederaufbau von verlorenen Paketen wird durch Fehlerkorrekturcodes unterstützt. in der Implementierung (im Modus mit minimalen Latenzen wird der Reed-Solomon-Code verwendet, und im Modus mit maximaler Leistung die ). Bei der Übertragung wird das RTP-Protokoll (AVP L16, 44100Hz PCM 16-Bit) verwendet. Derzeit wird nur die Audioübertragung unterstützt, aber es sind auch Video-Streaming und andere Inhaltsarten geplant.Es besteht die Möglichkeit, den Stream von mehreren Sendern an einen Empfänger zu multiplexen. Verschiedene Profilkonfigurationen zur Abtastrate können je nach CPU-Typ und Anforderungen an die Übertragungsverzögerung angeschlossen werden. Die Übertragung wird über verschiedene Netzwerkkategorien unterstützt, einschließlich lokaler Netzwerke, Internet und drahtloser Netzwerke. Abhängig von den Einstellungen, der Bandbreite und Paketverlusten wählt Roc automatisch die notwendigen Stream-Encoding-Parameter aus und passt deren Intensität während der Übertragung an.
Das Projekt besteht aus einer C-Bibliothek, für die Kommandozeile und einer Reihe von Modulen, die Roc als Transport in . Im einfachsten Fall ermöglicht das verfügbare Werkzeug, den Ton aus einer Datei oder einem Audiogerät eines Computers an eine Datei oder ein Audiogerät eines anderen Computers weiterzuleiten. Verschiedene Audio-Backends werden unterstützt, einschließlich ALSA, PulseAudio und CoreAudio. Der Code ist in C++ geschrieben und unter der Lizenz MPL-2.0. Es wird die Nutzung unter GNU/Linux und macOS unterstützt.
- Neue Version des Multimedia-Servers , der es ermöglicht, Streaming über die Protokolle RTMP, RTSP und WebRTC mit Unterstützung für adaptive Bitratenanpassung zu organisieren. Ant kann auch verwendet werden, um Netzwerkmitschnitte von Videos in den Formaten MP4, HLS und FLV zu erstellen. Zu den Funktionen gehören ein WebRTC-zu-RTMP-Konverter, Unterstützung für IP-Kameras und IPTV, Verbreitung und Aufzeichnung von Live-Streams, Streaming in soziale Netzwerke sowie die Bereitstellung von Skalierungsmöglichkeiten durch Cluster-Deployment, um Massenübertragungen von einem Punkt an viele Empfänger mit Verzögerungen von 500 ms zu ermöglichen.
Das Produkt entwickelt sich im Rahmen des Open Core-Modells, das die Entwicklung des Hauptteils unter der Apache 2.0-Lizenz vorsieht und erweiterte Funktionen (wie Streaming zu YouTube) in der kostenpflichtigen Edition bereitstellt. In der neuen Version wurde die Streaming-Leistung über WebRTC um 40 % verbessert, ein Protokollanzeiger hinzugefügt, das Web-Dashboard verbessert, ein REST API zur Bereitstellung von Statistiken integriert, der Speicherverbrauch optimiert, die Fehlerbehandlung verbessert und die Möglichkeit hinzugefügt, Statistiken an Apache Kafka zu senden.
- Release des Streaming-Servers , das die Übertragung von Video im FLV, F4V, MP4 und 3GP-Format sowie Ton im MP3, F4A, M4A und AAC-Format ermöglicht. Die Modi für Live-Streaming und als Recording-Station für den Empfang von Streams von Clients (FLV und AVC+AAC im FLV-Container) sind verfügbar. Das Projekt wurde ursprünglich 2005 ins Leben gerufen, um eine Alternative zum Flash Communication Server zu schaffen, die das RTMP-Protokoll verwendet. Später wurde in Red5 über Plugins die Unterstützung für Streaming mit HLS, WebSockets, RTSP und WebRTC hinzugefügt.
Red5 wird als Streaming-Server im Projekt für die Organisation von Video- und Audiokonferenzen verwendet. Der Code ist in Java geschrieben und unter der Lizenz Apache 2.0 veröffentlicht. Auf der Grundlage von Red5 wurde das proprietäre Produkt , das die Skalierung auf Millionen von Zuschauern mit einer Lieferverzögerung von 500 ms ermöglicht und eine Bereitstellung in den Clouds von AWS, Google Cloud und Azure unterstützt.
Quelle: opennet.ru
