著作権 (c) 2001-2004 南カリフォルニア大学
著作権 (c) 2003-2004 グラスゴー大学
著作権 (c) 2013-2014 Fundació i2CAT、カタルーニャの Internet I Innovació Digital
Copyright (c) 2005-2023 CESNET zspo
無断転載を禁じます。
このソフトウェアはライセンスに基づいて配布されています。完全な利用規約については、ファイルの COPYRIGHT を参照してください。
ウルトラグリッドについて
ハードウェアとソフトウェアの要件
必要なソフトウェアの事前準備
UltraGrid システムの使用
ドキュメント
CESNET の先端ネットワーキング テクノロジー研究所 (Sitola) が提供するUltraGrid は、汎用ハードウェアを使用した高品質で低遅延のビデオおよびオーディオ伝送のソフトウェア実装です。サポートされる解像度は、 HD (1920x1080) から8K (7680x2160) までの範囲で、1 秒あたり最大 60 フレームです。その他の機能はここにリストされています。
高品質は、非圧縮ストリームまたは非常に低い圧縮率のストリームを使用することによって実現されます。エンドツーエンドの送信遅延 (つまり、カメラからディスプレイまで) は約 100 ミリ秒ですが、使用するカメラとキャプチャ カードによって異なります。 UltraGrid は元々、10Gbps ネットワークの可能性を実証し、そのような環境でのマルチポイント データ分散を研究するために使用される研究プロジェクトでした。 GPU アクセラレーションによる低遅延コーデックの分野における最近の進歩により、その有用性はギガビット ネットワークにも広がりました。高い圧縮率の圧縮により、共有インターネット接続を含むあらゆるコモディティ ネットワーク接続をさらに使用できるようになります。
UltraGrid は、Linux、Windows、または macOS オペレーティング システムを搭載したステーションでサポートされています。このソフトウェアは BSD ライセンスに基づいてオープンソースで配布されています。つまり、私たちは研究/学術アプリケーションと商用アプリケーションの両方に興味を持っています。現在、主な応用分野は、コラボレーション環境、医療、映画撮影、放送アプリケーション、およびさまざまな教育活動です。
これは、Colin Perkins、Ladan Gharai らが開発したオリジナルの UltraGrid のフォークです。
私たちの研究は、CESNET の研究目的「国家研究の光ネットワークとその新しい応用」(MŠM 6383917201)、CESNET 大規模インフラストラクチャ (LM2010005)、CESNET E-インフラストラクチャ (LM2015042) によってサポートされており、また部分的にはマサリク大学の研究目的「並列および分散」によってもサポートされています。システム」(MŠM 0021622419)。
このディレクトリの内容は次のとおりです。
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
また、サブディレクトリcuda_dxt
、 dxt_compress
、およびldgm
もあります。これらのライブラリには、UltraGrid の一部であるが、比較的スタンドアロンで自己完結型のライブラリが含まれています。
推奨されるハードウェア設定:
少なくとも 2 コアを備えた 64 ビット CPU
OpenGL互換グラフィックスカードを推奨
GPU でのDXT圧縮はOpenGL 3.3でテストされています
GPUJPEG圧縮にはNVidiaカードが必要です
最近の GPU ( NVENC / NVDEC 、 QuickSync 、 VA-API 、 VideoToolbox 、 VDPAU ) でサポートされるさまざまな HW 高速圧縮
非圧縮 1.5Gbps ストリーム (送信または受信) の場合は、 10GbEネットワーク インターフェイス カードが必要です
PCIe Myrinet 10GbE でテストします
SDI送受信機能には、 AJA 、 Bluefish444 、 Blackmagic 、 DELTACAST 、またはMagewellカードが必要です
ビデオ キャプチャ カードは、可能であればネットワーク カードとは別の PCI バス上に配置する必要があります。
このソフトウェアが必要になります (括弧内は、必要となるオプション機能です)。
最適なパフォーマンスを実現する AMD/NVidia 独自のドライバー
AJA/Blackmagic/DELTACAST ドライバー
UltraGrid をコンパイルするには、ビルド環境を準備し、さまざまなモジュールの依存関係をインストールする必要があります。最新情報については、Wiki を参照してください。
INSTALL では、UltraGrid システムを構築するための手順が示されます。システムが構築されると、 uv
バイナリが存在します。これは次のように呼び出すことができます。
uv -t-c hostname (on the sender) uv -d hostname (on the receiver)
-d help
で表示されるリストの 1 つです。
-t help
で表示されるリストの 1 つです。通常、キャプチャ デバイスの名前は、ビデオ モード、ビデオ入力などの設定に続きます。すべてのオプションは、組み込みのヘルプを使用して対話的に表示できます。 -t decklink:help
。
-c help
で表示できます。圧縮が指定されていない場合、ビデオは非圧縮で送信されます (その場合は、 -m
でMTU を設定することを検討してください)。
その他のオプションについては、UltraGrid コマンド ライン ヘルプ (-h) に従うか、詳細についてはこの Wiki ページを参照してください。
たとえば、ホスト「ormal」上のユーザーが、BMD DeckLink カードを使用してキャプチャしたオーディオとビデオを、OpenGL ドライバーと Portaudio オーディオ再生を使用したディスプレイを備えたホスト「curtis」上の別のユーザーに送信したい場合、ホスト「ormal」上のユーザーは、 " が実行されます:
uv -t decklink -c libavcodec:codec=H.264 -s embedded --audio-codec OPUS curtis
一方、「curtis」のユーザーは次のように実行します。
uv -d gl -r portaudio ormal
システムは UDP ポート 5004 および 5006 へのアクセスを必要とします。ネットワーク パス上の任意のファイアウォールでこれらのポートを開く必要があります。非圧縮の高解像度ビデオ形式には、1 秒あたり約 1 ギガビットのネットワーク容量が必要です。サポートされているさまざまな圧縮スキームを使用すると、高解像度ビデオの場合に必要なネットワーク容量を 10 メガビット/秒程度に抑えることができます。
ドキュメントは、オフライン(このドキュメントとは別に) とオンラインのどちらでも見つけることができます。オンラインのドキュメントはより包括的で最新のものであり、オフラインはむしろ補完的なものです。
オンラインドキュメントは GitHub wiki から入手できます。
UltraGridの組み込みドキュメントは doc サブディレクトリにあり、次のドキュメントが入手可能です。
モジュールの追加 (開発者のみ) - 新しい UltraGrid モジュールを追加する方法についての情報
パフォーマンスのチューニング - UltraGrid のパフォーマンスを向上させるためのさまざまな調整
バグの報告 - バグを報告するための推奨手順