Copyright (c) 2001-2004 Universidad del Sur de California
Copyright (c) 2003-2004 Universidad de Glasgow
Copyright (c) 2013-2014 Fundació i2CAT, Internet I Innovació Digital a Catalunya
Copyright (c) 2005-2023 CESNET zspo
Reservados todos los derechos.
Este software se distribuye bajo licencia; consulte el archivo COPYRIGHT para conocer los términos y condiciones completos.
Acerca de UltraGrid
Requisitos de hardware y software
Preliminares del software requerido
Usando el sistema UltraGrid
Documentación
UltraGrid, presentado por el Laboratorio de Tecnologías Avanzadas de Redes (Sitola) de CESNET, es una implementación de software de transmisiones de audio y video de alta calidad y baja latencia que utiliza hardware básico. Las resoluciones admitidas van desde HD (1920x1080) hasta 8K (7680x2160) con hasta 60 fotogramas por segundo. Otras características se enumeran aquí.
La alta calidad se logra mediante el uso de transmisiones sin comprimir o transmisiones con una relación de compresión muy baja. La latencia de transmisión de un extremo a otro (es decir, desde la cámara hasta la pantalla) es de aproximadamente 100 ms, pero varía según la cámara y las tarjetas de captura que se utilicen. UltraGrid fue originalmente un proyecto de investigación utilizado para demostrar las posibilidades de las redes de 10 Gbps y estudiar la distribución de datos multipunto en dichos entornos. Los avances recientes en el campo de los códecs de baja latencia acelerados por GPU amplían su usabilidad también a las redes Gigabit. Las compresiones con un alto índice de compresión permiten un mayor uso de cualquier conexión de red básica, incluida una conexión a Internet compartida.
UltraGrid es compatible con estaciones con sistema operativo Linux, Windows o macOS. El software es de código abierto y se distribuye bajo licencia BSD, es decir, estamos interesados tanto en aplicaciones de investigación/académicas como comerciales. Hoy en día, las principales áreas de aplicación son los entornos colaborativos, las aplicaciones médicas, cinematográficas y de radiodifusión, así como diversas actividades educativas.
Es una bifurcación del UltraGrid original desarrollado por Colin Perkins, Ladan Gharai y otros.
Nuestro trabajo está respaldado por los objetivos de investigación de CESNET "Optical Network of National Research and Its New Applications" (MŠM 6383917201), CESNET Large Infrastructure (LM2010005), CESNET E-Infrastructure (LM2015042) y parcialmente también por el intento de investigación de la Universidad Masaryk "Parallel and Distributed Sistemas" (MŠM 0021622419).
El contenido de este directorio es el siguiente:
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
También hay subdirectorios cuda_dxt
, dxt_compress
y ldgm
que contienen bibliotecas que forman parte de UltraGrid pero que son relativamente independientes y autónomas.
Configuración de hardware recomendada:
CPU de 64 bits con al menos 2 núcleos
Se recomienda una tarjeta gráfica compatible con OpenGL
La compresión DXT en GPU se prueba con OpenGL 3.3
La compresión GPUJPEG requiere una tarjeta NVidia
varias compresiones aceleradas por HW compatibles con GPU recientes ( NVENC / NVDEC , QuickSync , VA-API , VideoToolbox , VDPAU )
Para transmisiones de 1,5 Gbps sin comprimir (ya sea enviando o recibiendo), se necesita una tarjeta de interfaz de red de 10 GbE
Probamos con PCIe Myrinet 10GbE
Para capacidades de envío/recepción SDI , se requiere tarjeta AJA , Bluefish444 , Blackmagic , DELTACAST o Magewell
Si es posible, la tarjeta de captura de vídeo debe ubicarse en un bus PCI separado de la tarjeta de red.
Necesitará este software (entre paréntesis están las funciones opcionales para las que lo necesitará):
Controladores propietarios de AMD/NVidia para un rendimiento óptimo
Controladores AJA/Blackmagic/DELTACAST
Para compilar UltraGrid necesitará preparar el entorno de compilación e instalar dependencias para varios módulos. Para obtener información actualizada, consulte nuestra wiki.
INSTALAR brinda instrucciones para construir el sistema UltraGrid. Una vez que se haya construido el sistema, el binario uv
estará presente. Esto se puede invocar de la siguiente manera:
uv -t-c hostname (on the sender) uv -d hostname (on the receiver)
El -d help
.
El -t help
. El nombre del dispositivo de captura generalmente sigue a la configuración del modo de video, entrada de video, etc. Todas las opciones se pueden mostrar de forma interactiva usando la ayuda incorporada, por ejemplo. -t decklink:help
.
La -c help
. Si no se especifica la compresión, el vídeo se transmite sin comprimir (en ese caso considere configurar MTU con -m
).
Para obtener más opciones, siga la ayuda de la línea de comandos de UltraGrid (-h) o visite esta página wiki para obtener más información.
Como ejemplo, si un usuario en el host "ormal" desea enviar audio y video capturado usando una tarjeta BMD DeckLink a otro usuario en el host "curtis" con una pantalla que usa el controlador OpenGL y reproducción de audio Portaudio, entonces el usuario en el host "ormal" " ejecutaría:
uv -t decklink -c libavcodec:codec=H.264 -s embedded --audio-codec OPUS curtis
mientras que el usuario de "curtis" ejecutaría:
uv -d gl -r portaudio ormal
El sistema requiere acceso a los puertos UDP 5004 y 5006: debe abrir estos puertos en cualquier firewall en la ruta de la red. Los formatos de vídeo de alta definición sin comprimir requieren aproximadamente 1 Gigabit por segundo de capacidad de red. Utilizando diferentes esquemas de compresión admitidos, la capacidad de red necesaria puede ser tan baja como 10 megabits por segundo para un vídeo de alta definición.
La documentación se puede encontrar fuera de línea (aparte de este documento) y en línea . La documentación en línea es más completa y actualizada, mientras que fuera de línea es más bien complementaria.
La documentación en línea está disponible en nuestra wiki de GitHub.
La documentación integrada de UltraGrid se puede encontrar en el subdirectorio doc, estos documentos están disponibles:
Agregar módulos ( solo desarrolladores ): información sobre cómo agregar nuevos módulos UltraGrid
Ajuste del rendimiento: varios ajustes para mejorar el rendimiento de UltraGrid
Informar errores: pasos recomendados para informar errores