リモートで働くことが増えたであろう今年は「画面共有」を使う機会も増えたと思う.例えば,ミーティング中に資料を投影したり,リモートペアプロ(モブプロ)をしたり.僕自身は技術講師として,演習中にトラブルになっているお客様の問題解決をするときにも「画面共有」をよく使う.ツールで言えば,Zoom / Discord / Amazon Chime / Microsoft Teams / Google Meet / Screenleap など,選択肢はいろいろあるけど,今回は Go で実装された OSS の画面共有ツール「Screego」を試す.
🖥 Screego の特徴
「Screego」のドキュメントには以下「5種類」の特徴が載っている.参考として日本語訳も載せておく.また「Screego」を支える要素技術として STUN (Session Traversal Utilities for NAT) や TURN (Traversal Using Relays around NAT) の紹介もドキュメントに載っている.
- Multi User Screenshare(複数ユーザーでの画面共有)
- Secure transfer via WebRTC(WebRTC でセキュアな転送)
- Low latency / High resolution(低遅延 / 高解像度)
- Simple Install via Docker / single binary(Docker で簡単にインストール / シングルバイナリ)
- Integrated TURN Server see NAT Traversal(統合された TURN サーバーで NAT トラバーサルをする)
🖥 Screego を試す
「Screego」のデモサイトが公開されているため,簡単に試せる.
デモサイトにアクセスして,そのまま「CREATE ROOM」ボタンを押せばすぐに使える.id は slim-tan-weasel
など,毎回ランダムな単語の組み合わせで生成されるし,自分で指定することもできる.簡単!
最初は「no stream available」と表示されるので,画面下(1番左)の「Start Presentation」ボタンを押して「画面共有」を開始する.
今回はサンプルとして「Screego」のコードを VS Code で表示しているウィンドウを画面共有している.以下のスクリーンショットは別ブラウザで画面共有を見る側の視点で取得した.「Screego」の特徴にも載っている通り,コードを操作しても遅延はほとんど感じなかった.とは言え,今回の検証環境は同じネットワーク上に存在する macOS 同士になるため,正確な結果とは言えないと思う.
🖥 複数ユーザーでの画面共有を試す
「Screego」の特徴に載っている「Multi User Screenshare(複数ユーザーでの画面共有)」も試す.今度は画面共有を見る側から kakakakakku blog を表示したブラウザを画面共有する.すると右下にピクチャ・イン・ピクチャのような UI で表示された.これは便利!クリックするとメインの画面共有と入れ替えることもできる.
🖥 まとめ
Go で実装された OSS の画面共有ツール「Screego」をデモサイトで試した.簡単に使えるし,複数ユーザーでの画面共有は便利だし,機能面では使えそうだった.そして「Screego」の特徴にも載っていた通り,Docker で簡単にインストールできるため,次は自分専用の「Screego」環境を構築してみようと思う.