Copyright (c) 2001-2004 University of Southern California
Copyright (c) 2003-2004 University of Glasgow
Copyright (c) 2013-2014 Fundació i2CAT, Internet und digitale Innovation in Katalonien
Copyright (c) 2005-2023 CESNET zspo
Alle Rechte vorbehalten.
Diese Software wird unter Lizenz vertrieben. Die vollständigen Geschäftsbedingungen finden Sie in der Datei COPYRIGHT.
Über UltraGrid
Hardware- und Softwareanforderungen
Erforderliche Software-Vorbereitungen
Verwendung des UltraGrid-Systems
Dokumentation
UltraGrid vom Laboratory of Advanced Networking Technologies (Sitola) von CESNET ist eine Softwareimplementierung hochwertiger Video- und Audioübertragungen mit geringer Latenz unter Verwendung handelsüblicher Hardware. Die unterstützten Auflösungen reichen von HD (1920 x 1080) bis zu 8K (7680 x 2160) mit bis zu 60 Bildern pro Sekunde. Weitere Funktionen sind hier aufgeführt.
Die hohe Qualität wird entweder durch die Verwendung unkomprimierter Streams oder Streams mit sehr niedrigem Komprimierungsverhältnis erreicht. Die End-to-End-Übertragungslatenz (d. h. von der Kamera bis zum Display) beträgt etwa 100 ms, variiert jedoch je nach verwendeter Kamera und Aufnahmekarte. UltraGrid war ursprünglich ein Forschungsprojekt, das dazu diente, die Möglichkeiten von 10-Gbit/s-Netzwerken zu demonstrieren und die Mehrpunkt-Datenverteilung in solchen Umgebungen zu untersuchen. Jüngste Fortschritte auf dem Gebiet der GPU-beschleunigten Codecs mit geringer Latenz erweitern ihre Anwendbarkeit auch auf Gigabit-Netzwerke. Komprimierungen mit hoher Komprimierungsrate ermöglichen die weitere Nutzung jeder gängigen Netzwerkverbindung, einschließlich einer gemeinsam genutzten Internetverbindung.
UltraGrid wird auf Stationen mit Linux-, Windows- oder macOS-Betriebssystem unterstützt. Die Software ist Open-Source und wird unter der BSD-Lizenz vertrieben, d. h. wir sind sowohl an Forschungs-/akademischen als auch an kommerziellen Anwendungen interessiert. Heutzutage sind die Hauptanwendungsbereiche kollaborative Umgebungen, medizinische, Film- und Rundfunkanwendungen sowie verschiedene Bildungsaktivitäten.
Es handelt sich um eine Abzweigung des ursprünglichen UltraGrid, das von Colin Perkins, Ladan Gharai und anderen entwickelt wurde.
Unsere Arbeit wird durch die CESNET-Forschungsvorhaben „Optisches Netzwerk der nationalen Forschung und ihre neuen Anwendungen“ (MŠM 6383917201), CESNET Large Infrastructure (LM2010005), CESNET E-Infrastructure (LM2015042) und teilweise auch durch die Forschungsvorhaben der Masaryk-Universität „Parallel und verteilt“ unterstützt Systeme“ (MŠM 0021622419).
Der Inhalt dieses Verzeichnisses ist wie folgt:
bin/ Compiled binaries data/ Various assets used by UG that is not source code doc/ Documentation ext-deps/ External dependencies that are required by UG gui/ Sources for UltraGrid GUI hd-rum-multi/ Simple standalone packet reflector src/ Source code for the UltraGrid system package_specs/ Specifications for OBS test/ Source code and binaries for test routines tools/ Small standalone helper tools autogen.sh Build script configure.ac " " Makefile.in " " CONTRIBUTING.md Various information for contributors COPYRIGHT Full license terms and conditions Doxyfile Doxygen configuration INSTALL Installation instructions NEWS Change log and modification history README.md This file
Es gibt auch Unterverzeichnisse cuda_dxt
, dxt_compress
und ldgm
, die Bibliotheken enthalten, die Teile von UltraGrid sind, aber relativ eigenständig und in sich geschlossen sind.
Empfohlenes Hardware-Setup:
64-Bit-CPU mit mindestens 2 Kernen
OpenGL- kompatible Grafikkarte empfohlen
Die DXT- Komprimierung auf der GPU wurde mit OpenGL 3.3 getestet
Für die GPUJPEG- Komprimierung ist eine NVidia -Karte erforderlich
Verschiedene HW-beschleunigte Komprimierungen, die mit aktuellen GPUs unterstützt werden ( NVENC / NVDEC , QuickSync , VA-API , VideoToolbox , VDPAU )
Für unkomprimierte 1,5-Gbit/s-Streams (entweder Senden oder Empfangen) ist eine 10-GbE- Netzwerkschnittstellenkarte erforderlich
Wir testen mit PCIe Myrinet 10GbE
Für SDI- Sende-/Empfangsfunktionen ist eine AJA- , Bluefish444- , Blackmagic- , DELTACAST- oder Magewell -Karte erforderlich
Die Videoaufnahmekarte sollte sich nach Möglichkeit auf einem von der Netzwerkkarte getrennten PCI-Bus befinden.
Sie benötigen diese Software (in Klammern sind optionale Funktionen aufgeführt, für die Sie sie benötigen):
AMD/NVidia-proprietäre Treiber für optimale Leistung
AJA/Blackmagic/DELTACAST-Treiber
Um UltraGrid zu kompilieren, müssen Sie die Build-Umgebung vorbereiten und Abhängigkeiten für verschiedene Module installieren. Aktuelle Informationen finden Sie in unserem Wiki.
Das INSTALLIEREN enthält Anweisungen zum Aufbau des UltraGrid-Systems. Sobald das System erstellt wurde, ist die uv
Binärdatei vorhanden. Dies kann wie folgt aufgerufen werden:
uv -t-c hostname (on the sender) uv -d hostname (on the receiver)
Das -d help
angezeigt werden.
Das -t help
angezeigt werden. Der Name des Aufnahmegeräts folgt normalerweise zusammen mit der Konfiguration des Videomodus, des Videoeingangs usw. Alle Optionen können mithilfe der integrierten Hilfe interaktiv angezeigt werden, z. B. -t decklink:help
.
Die -c help
angezeigt werden. Wenn keine Komprimierung angegeben ist, wird das Video unkomprimiert übertragen (in diesem Fall sollten Sie die MTU mit -m
festlegen).
Weitere Optionen folgen der UltraGrid-Befehlszeilenhilfe (-h) oder besuchen Sie diese Wiki-Seite für weitere Informationen.
Wenn beispielsweise ein Benutzer auf Host „ormal“ mit einer BMD DeckLink-Karte aufgenommene Audio- und Videodaten an einen anderen Benutzer auf Host „curtis“ mit einem Display senden möchte, das den OpenGL-Treiber und die Portaudio-Audiowiedergabe verwendet, dann ist der Benutzer auf Host „ormal " würde laufen:
uv -t decklink -c libavcodec:codec=H.264 -s embedded --audio-codec OPUS curtis
während der Benutzer auf „curtis“ Folgendes ausführen würde:
uv -d gl -r portaudio ormal
Das System benötigt Zugriff auf die UDP-Ports 5004 und 5006: Sie sollten diese Ports auf jeder Firewall im Netzwerkpfad öffnen. Unkomprimierte hochauflösende Videoformate erfordern etwa 1 Gigabit pro Sekunde Netzwerkkapazität. Bei Verwendung verschiedener unterstützter Komprimierungsschemata kann die erforderliche Netzwerkkapazität für ein hochauflösendes Video nur 10 Megabit pro Sekunde betragen.
Die Dokumentation kann sowohl offline (außer diesem Dokument) als auch online gefunden werden. Die Online-Dokumentation ist umfassender und aktueller, offline eher ergänzend.
Die Online- Dokumentation ist in unserem GitHub-Wiki verfügbar.
Die integrierte UltraGrid- Dokumentation befindet sich im Unterverzeichnis doc. Diese Dokumente sind verfügbar:
Module hinzufügen ( nur Entwickler ) – Informationen zum Hinzufügen neuer UltraGrid-Module
Leistungsoptimierung – verschiedene Optimierungen zur Verbesserung der UltraGrid-Leistung
Fehler melden – empfohlene Schritte zum Melden von Fehlern