{"id":13815978,"url":"https://github.com/CESNET/UltraGrid","last_synced_at":"2025-05-15T12:31:17.326Z","repository":{"id":38708105,"uuid":"67785782","full_name":"CESNET/UltraGrid","owner":"CESNET","description":"UltraGrid low-latency audio and video network transmission system","archived":false,"fork":false,"pushed_at":"2025-05-07T11:54:27.000Z","size":217493,"stargazers_count":548,"open_issues_count":36,"forks_count":62,"subscribers_count":39,"default_branch":"master","last_synced_at":"2025-05-07T12:43:34.659Z","etag":null,"topics":[],"latest_commit_sha":null,"homepage":"http://www.ultragrid.cz","language":"C","has_issues":true,"has_wiki":null,"has_pages":null,"mirror_url":null,"source_name":null,"license":"other","status":null,"scm":"git","pull_requests_enabled":true,"icon_url":"https://github.com/CESNET.png","metadata":{"files":{"readme":"README.md","changelog":"NEWS","contributing":"CONTRIBUTING.md","funding":null,"license":null,"code_of_conduct":null,"threat_model":null,"audit":null,"citation":null,"codeowners":null,"security":null,"support":null,"governance":null,"roadmap":null,"authors":null,"dei":null,"publiccode":null,"codemeta":null,"zenodo":null}},"created_at":"2016-09-09T09:27:34.000Z","updated_at":"2025-05-07T11:54:11.000Z","dependencies_parsed_at":"2023-10-20T18:45:12.532Z","dependency_job_id":"1c56d096-9dbc-4dd9-94b3-69f899892aa2","html_url":"https://github.com/CESNET/UltraGrid","commit_stats":null,"previous_names":[],"tags_count":43,"template":false,"template_full_name":null,"repository_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CESNET%2FUltraGrid","tags_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CESNET%2FUltraGrid/tags","releases_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CESNET%2FUltraGrid/releases","manifests_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories/CESNET%2FUltraGrid/manifests","owner_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners/CESNET","download_url":"https://codeload.github.com/CESNET/UltraGrid/tar.gz/refs/heads/master","host":{"name":"GitHub","url":"https://github.com","kind":"github","repositories_count":254341019,"owners_count":22054965,"icon_url":"https://github.com/github.png","version":null,"created_at":"2022-05-30T11:31:42.601Z","updated_at":"2022-07-04T15:15:14.044Z","host_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub","repositories_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repositories","repository_names_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/repository_names","owners_url":"https://repos.ecosyste.ms/api/v1/hosts/GitHub/owners"}},"keywords":[],"created_at":"2024-08-04T05:00:29.255Z","updated_at":"2025-05-15T12:31:12.282Z","avatar_url":"https://github.com/CESNET.png","language":"C","funding_links":[],"categories":["C","HarmonyOS","Digital Content Creation Software (DCCs)"],"sub_categories":["Windows Manager","Video"],"readme":"UltraGrid - A High Definition Collaboratory\n===========================================\n[![Facebook Follow](https://img.shields.io/badge/Facebook-follow-blue)](https://www.facebook.com/UltraGrid/)\n[![Mastodon Follow](https://img.shields.io/badge/Mastodon-follow-blue)](https://mastodon.social/@UltraGrid)\n[![Web Visit](https://img.shields.io/badge/web-visit-orange)](http://www.ultragrid.cz)\n[![Coverity Scan Build Status](https://scan.coverity.com/projects/2851/badge.svg)](https://scan.coverity.com/projects/2851)\n[![C/C++ CI](../../workflows/C%2FC%2B%2B%20CI/badge.svg)](../../actions)\n\n![UltraGrid Logo](data/ultragrid-logo-text.svg)\n\n   * Copyright (c) 2001-2004 University of Southern California \n   * Copyright (c) 2003-2004 University of Glasgow\n   * Copyright (c) 2013-2014 Fundació i2CAT, Internet I Innovació Digital a Catalunya\n   * Copyright (c) 2005-2023 CESNET z.s.p.o.\n   * All rights reserved.\n\n   This software is distributed under license, see the file\n   [COPYRIGHT](COPYRIGHT) for full terms and conditions.\n\n\nContents\n--------\n\n   - [About UltraGrid](#about-ultragrid)\n   - [Hardware and Software Requirements](#hardware-and-software-requirements)\n     * [Required Software Preliminaries](#required-software-preliminaries)\n   - [Using the UltraGrid System](#using-the-ultragrid-system)\n   - [Documentation](#documentation)\n\nAbout UltraGrid\n---------------\n\n   **UltraGrid** brought by [CESNET's](https://www.cesnet.cz) Laboratory of\n   Advanced Networking Technologies ([Sitola](https://www.sitola.cz)) is\n   a software implementation of high-quality low-latency video and\n   audio transmissions using commodity hardware. Supported resolutions range\n   through *HD* (1920x1080) up to *8K* (7680x2160) with up to 60 frames per second.\n   Other features are listed [here](https://github.com/CESNET/UltraGrid/wiki).\n\n   The high-quality is achieved either by using uncompressed\n   streams or streams with very low compression ratio. End-to-end transmission\n   latency (i.e., all the way from the camera to the display) is about 100ms,\n   but it varies based on camera and capture cards being used. UltraGrid was\n   originally a research project used to demonstrate the possibilities of 10Gbps\n   networks and to study multi-point data distribution in such environments.\n   Recent advances in the field of GPU-accelerated low-latency codecs extend its\n   usability also to Gigabit networks. High compression ratio compressions allow\n   further use of any commodity network connection including a shared Internet\n   connection.\n\n   UltraGrid is supported on stations with\n   Linux, Windows or macOS operating system. The software is open-source\n   distributed under BSD license, i.e., we're interested in both\n   research/academic and commercial applications. Nowadays, main application\n   areas are collaborative environments, medical, cinematography and\n   broadcasting applications, as well as various educational activities.\n\n   It is a fork of the original UltraGrid developed by Colin Perkins, Ladan\n   Gharai, et al..\n\n   Our work is supported by CESNET research intents \"Optical Network of National\n   Research and Its New Applications\" (MŠM 6383917201), CESNET Large\n   Infrastructure (LM2010005), CESNET E-Infrastructure (LM2015042) and partially\n   also by Masaryk University research intent \"Parallel and Distributed Systems\"\n   (MŠM 0021622419). \n\n   The contents of this directory are as follows:\n\n       bin/                  Compiled binaries\n       data/                 Various assets used by UG that is not source code\n       doc/                  Documentation\n       ext-deps/             External dependencies that are required by UG\n       gui/                  Sources for UltraGrid GUI\n       hd-rum-multi/         Simple standalone packet reflector\n       src/                  Source code for the UltraGrid system\n       package_specs/        Specifications for OBS\n       test/                 Source code and binaries for test routines\n       tools/                Small standalone helper tools\n       autogen.sh            Build script\n       configure.ac          \"       \"\n       Makefile.in           \"       \"\n       CONTRIBUTING.md       Various information for contributors\n       COPYRIGHT             Full license terms and conditions\n       Doxyfile              Doxygen configuration\n       INSTALL               Installation instructions\n       NEWS                  Change log and modification history\n       README.md             This file\n\n   There are also subdirectories `cuda_dxt`, `dxt_compress` and `ldgm` which contain\n   libraries that are parts of UltraGrid but are relatively standalone and\n   self-contained.\n\nHardware and Software Requirements\n----------------------------------\n\n   Recommended Hardware Setup:\n   - 64-bit CPU with at least 2 cores\n   - **OpenGL** compatible graphics card recommended\n     - *DXT* compression on GPU is tested with **OpenGL 3.3**\n     - *GPUJPEG* compression requires a **NVidia** card\n     - various HW accelerated compressions supported with recent GPUs (**NVENC**/**NVDEC**,\n       **QuickSync**, **VA-API**, **VideoToolbox**, **VDPAU**)\n   - For uncompressed 1.5Gbps streams (either sending or receiving), **10GbE**\n     network interface card is needed\n     - We test with PCIe Myrinet 10GbE \n   - For *SDI* send/receive capabilities, **AJA**, **Bluefish444**,\n     **Blackmagic**, **DELTACAST** or **Magewell** card is required\n\n   Video capture card should be located on a separate PCI bus from network card if possible.\n\n### Required Software Preliminaries\n   You will need this software (in brackets are optional features for which you'll need it):\n\n   - AMD/NVidia proprietary drivers for optimal performance\n   - AJA/Blackmagic/DELTACAST drivers\n\n   To compile UltraGrid you will need to prepare build environment and\n   install dependencies for various modules. For up-to-date information\n   please refer to our\n   [wiki](https://github.com/CESNET/UltraGrid/wiki/Compile-UltraGrid-%28Source%29).\n\nUsing the UltraGrid System\n--------------------------\n\n   The [INSTALL](INSTALL) gives instructions for building the UltraGrid system.\n   Once the system has been built, the `uv` binary will be present. This\n   can be invoked as follows:\n\n       uv -t \u003ccapture_device\u003e -c \u003ccompression\u003e hostname     (on the sender)\n       uv -d \u003cdisplay_device\u003e hostname                      (on the receiver)\n\n   The **\\\u003cdisplay_device\\\u003e** is one of the list viewed with `-d help`.\n\n   The **\\\u003ccapture_device\\\u003e** is one of the list viewed with `-t help`. Name\n   of capture device usually follows with configuration of video mode,\n   video input etc. All options can be interactively dispayed using built-in\n   help, eg. `-t decklink:help`.\n\n   The **\\\u003ccompression\\\u003e** specifies the selected video compression to be\n   used. Similarly as for other options, available options can be viewed\n   by `-c help`. If compression is not specified, video is transmitted\n   *uncompressed* (in that case consider setting **MTU** with `-m \u003cmtu\u003e`).\n\n   Further options follow UltraGrid command-line help (-h) or visit this\n   [wiki page](https://github.com/CESNET/UltraGrid/wiki/Running-UltraGrid)\n   for further information.\n\n   As an example, if a user on host \"ormal\" wishes to send audio and video\n   captured using a BMD DeckLink card another user on host \"curtis\" with\n   a display using the OpenGL driver and Portaudio audio playback, then\n   the user on host \"ormal\" would run:\n\n       uv -t decklink -c libavcodec:codec=H.264 -s embedded --audio-codec OPUS curtis\n\n   while the user on \"curtis\" would run:\n\n       uv -d gl -r portaudio ormal\n\n   The system requires access to UDP ports 5004 and 5006: you should open\n   these ports on any firewall on the network path. Uncompressed high definition\n   video formats require approximately 1 Gigabit per second of network capacity.\n   Using different supported compression schemes, the needed network capacity\n   can be as low as 10 Megabits per second for a high definition video.\n\nDocumentation\n-------------\n   Documentation can be found either _offline_ (apart from this document) and\n   _online_. The online documentation is more comprehensive and up-to-date,\n   offline is rather complementary.\n\n   The **online** documentation is available in our GitHub\n   [wiki](https://github.com/CESNET/UltraGrid/wiki).\n\n   UltraGrid _built-in_ documentation can be found in [doc](doc) subdirectory,\n   these documents are available:\n\n   - [Adding modules](doc/ADDING-MODULES.md) (**developers only**) - information\n     how to add new UltraGrid modules\n   - [Performance tuning](doc/PERFORMANCE-TUNING.md) - various tweaks to improve\n     UltraGrid performance\n   - [Reporting bugs](doc/REPORTING-BUGS.md) - recommended steps for reporting\n     bugs\n\n\n","project_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCESNET%2FUltraGrid","html_url":"https://awesome.ecosyste.ms/projects/github.com%2FCESNET%2FUltraGrid","lists_url":"https://awesome.ecosyste.ms/api/v1/projects/github.com%2FCESNET%2FUltraGrid/lists"}