
この隔離期間中、私は自分のデスクトップを友人と共有して、git が実際にどのようなものかを説明しようとしていました。問題は次の通りです。
- 私はFreeBSDを使用しています。
- 私たちは NAT の背後にいます。しかし、これらの目的のために VPN (Wireguard) が構成された VPS を持っています。
- 無料でシンプルな(「無駄のない」)ソフトウェアを使いたいです。
私が使用することを決めたのは、デスクトップを共有しffmpeg -f x11grab
、任意のポートにストリーム出力することです。 1 つの仮想ネットワークにアクセスできると、友人は VLC、MPV、または Web ブラウザーを使用して問題なくこのストリームを視聴できます。 問題は、ffmpeg が http に直接出力できないことに気づいたときに発生しました。 rtmp 経由で YouTube Live Streaming に送信する (オーバーヘッドがあり、無料のサービスではありません)、HLS プロトコルと HTTP サーバーで分割して共有するなど、多くのソリューションを試しましたが、HLS で止まりました。
私のffmpegの起動:
ffmpeg -f x11grab -video_size 1920x1080 -i :0 -c:v h264 -f hls -hls_time 1 -g 15 stream.m3u8
私がテストしている mpv は次のとおりです。
mpv --no-cache --no-resume-playback stream.m3u8
約 10 ~ 15 秒の遅延があることがわかります。ビデオ ビットレートを 0.5 メガバイトに設定しても、同様の遅延 (もちろん品質も悪い) が発生するため、問題は帯域幅にない可能性があります (ローカル PC より遠くへのブロードキャストを開始していませんでした)。
私は見つけただから答えるあるユーザーがHLSは低遅延には適さないプロトコルだと言っています。私は多くのブログ、Wikipediaの記事、ffmpeg Wikipediaを読みました(ストリーミングガイド) を試しましたが、解決策が見つかりませんでした。Discord や Skype のように、数秒の遅延でデスクトップを友達に見せるには、遅延を減らすにはどうしたらよいですか。または、代わりにどのソフトウェア (ffmpeg が望ましい) を使用すればよいですか。ターミナル ウィンドウを共有するので、高品質は必要なく、ドロップしても問題ありません。