Copyright (c) 2001-2004 Université de Californie du Sud
Copyright (c) 2003-2004 Université de Glasgow
Copyright (c) 2013-2014 Fundació i2CAT, Internet I Innovació Digital a Catalunya
Copyright (c) 2005-2023 CESNET zspo
Tous droits réservés.
Ce logiciel est distribué sous licence, voir le fichier COPYRIGHT pour connaître l'intégralité des termes et conditions.
À propos d'UltraGrid
Exigences matérielles et logicielles
Logiciels préliminaires requis
Utilisation du système UltraGrid
Documentation
UltraGrid proposé par le Laboratoire des technologies de réseau avancées (Sitola) du CESNET est une implémentation logicielle de transmissions vidéo et audio de haute qualité à faible latence utilisant du matériel standard. Les résolutions prises en charge vont de la HD (1 920 x 1 080) jusqu'à 8K (7 680 x 2 160) avec jusqu'à 60 images par seconde. D'autres fonctionnalités sont répertoriées ici.
La haute qualité est obtenue soit en utilisant des flux non compressés, soit en utilisant des flux avec un taux de compression très faible. La latence de transmission de bout en bout (c'est-à-dire depuis la caméra jusqu'à l'écran) est d'environ 100 ms, mais elle varie en fonction de la caméra et des cartes de capture utilisées. UltraGrid était à l'origine un projet de recherche visant à démontrer les possibilités des réseaux 10 Gbit/s et à étudier la distribution de données multipoints dans de tels environnements. Les progrès récents dans le domaine des codecs à faible latence accélérés par GPU étendent également leur utilisation aux réseaux Gigabit. Les compressions à taux de compression élevé permettent une utilisation ultérieure de n'importe quelle connexion réseau standard, y compris une connexion Internet partagée.
UltraGrid est pris en charge sur les stations dotées du système d'exploitation Linux, Windows ou macOS. Le logiciel est open source distribué sous licence BSD, c'est-à-dire que nous nous intéressons à la fois aux applications de recherche/académiques et commerciales. De nos jours, les principaux domaines d'application sont les environnements collaboratifs, les applications médicales, cinématographiques et de diffusion, ainsi que diverses activités éducatives.
Il s'agit d'un fork de l'UltraGrid original développé par Colin Perkins, Ladan Gharai et al.
Notre travail est soutenu par les intentions de recherche CESNET « Réseau optique de recherche nationale et ses nouvelles applications » (MŠM 6383917201), CESNET Large Infrastructure (LM2010005), CESNET E-Infrastructure (LM2015042) et en partie également par l'intention de recherche de l'Université Masaryk « Parallèle et distribuée ». Systèmes" (MŠM 0021622419).
Le contenu de ce répertoire est le suivant :
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
Il existe également des sous-répertoires cuda_dxt
, dxt_compress
et ldgm
qui contiennent des bibliothèques qui font partie d'UltraGrid mais sont relativement autonomes et autonomes.
Configuration matérielle recommandée :
Processeur 64 bits avec au moins 2 cœurs
Carte graphique compatible OpenGL recommandée
La compression DXT sur GPU est testée avec OpenGL 3.3
La compression GPUJPEG nécessite une carte NVidia
diverses compressions matérielles accélérées prises en charge avec les GPU récents ( NVENC / NVDEC , QuickSync , VA-API , VideoToolbox , VDPAU )
Pour les flux non compressés de 1,5 Gbit/s (en envoi ou en réception), une carte d'interface réseau 10 GbE est nécessaire
Nous testons avec PCIe Myrinet 10GbE
Pour les capacités d'envoi/réception SDI , une carte AJA , Bluefish444 , Blackmagic , DELTACAST ou Magewell est requise
La carte de capture vidéo doit si possible être située sur un bus PCI distinct de la carte réseau.
Vous aurez besoin de ce logiciel (entre parenthèses figurent les fonctionnalités optionnelles pour lesquelles vous en aurez besoin) :
Pilotes propriétaires AMD/NVidia pour des performances optimales
Pilotes AJA/Blackmagic/DELTACAST
Pour compiler UltraGrid, vous devrez préparer l'environnement de construction et installer les dépendances pour divers modules. Pour des informations à jour, veuillez consulter notre wiki.
L'INSTALL donne des instructions pour construire le système UltraGrid. Une fois le système construit, le binaire uv
sera présent. Cela peut être invoqué comme suit :
uv -t-c hostname (on the sender) uv -d hostname (on the receiver)
Le -d help
.
Le -t help
. Le nom du périphérique de capture suit généralement la configuration du mode vidéo, de l'entrée vidéo, etc. Toutes les options peuvent être affichées de manière interactive à l'aide de l'aide intégrée, par exemple. -t decklink:help
.
Le -c help
. Si la compression n'est pas spécifiée, la vidéo est transmise non compressée (dans ce cas, envisagez de définir MTU avec -m
).
D'autres options suivent l'aide en ligne de commande UltraGrid (-h) ou visitez cette page wiki pour plus d'informations.
À titre d'exemple, si un utilisateur sur l'hôte "ormal" souhaite envoyer de l'audio et de la vidéo capturés à l'aide d'une carte BMD DeckLink à un autre utilisateur sur l'hôte "curtis" avec un écran utilisant le pilote OpenGL et la lecture audio Portaudio, alors l'utilisateur sur l'hôte "ormal" " exécuterait :
uv -t decklink -c libavcodec:codec=H.264 -s embedded --audio-codec OPUS curtis
tandis que l'utilisateur sur "curtis" exécuterait :
uv -d gl -r portaudio ormal
Le système nécessite un accès aux ports UDP 5004 et 5006 : vous devez ouvrir ces ports sur n'importe quel pare-feu sur le chemin réseau. Les formats vidéo haute définition non compressés nécessitent environ 1 Gigabit par seconde de capacité réseau. En utilisant différents schémas de compression pris en charge, la capacité réseau nécessaire peut être aussi faible que 10 mégabits par seconde pour une vidéo haute définition.
La documentation peut être trouvée soit hors ligne (en dehors de ce document) soit en ligne . La documentation en ligne est plus complète et à jour, hors ligne est plutôt complémentaire.
La documentation en ligne est disponible sur notre wiki GitHub.
La documentation intégrée d'UltraGrid se trouve dans le sous-répertoire doc. Ces documents sont disponibles :
Ajout de modules ( développeurs uniquement ) - informations sur la façon d'ajouter de nouveaux modules UltraGrid
Réglage des performances - divers ajustements pour améliorer les performances d'UltraGrid
Signalement des bogues – étapes recommandées pour signaler les bogues