皆さん、こんにちは。
最近、DiscourseのVoice機能用にLiveKitサーバーを設定しました。通話は接続でき、音声もクリアですが、カメラ映像が常にぼやけており、非常にカクつきます(FPSは8〜20程度で、フリーズするフレームが多い状態です)。
異なるデバイス、ブラウザ、および映像品質設定(最高画質を含む)を試してみましたが、問題は解決しませんでした。
私の環境構成は以下の通りです:
- Discourse 2026.10.0-latest
- LiveKit v1.13.7
- DiscourseとLiveKitは、同じVPC内の別々のDigitalOceanサーバーで実行されています。
- 両方のサーバーにDigitalOceanのファイアウォールが設定されています。
- DiscourseやLiveKitのコードにはカスタマイズは一切行っていません。
ChromeとSafariを使った2人でのテストでは、Safariを使用していたユーザーが、Chrome側の参加者の映像がカクついていると報告しました。
トラブルシューティングの過程で、通話中にLiveKitサーバーの状態を確認しました。サーバーの負荷は非常に低く、両方のブラウザはUDP経由で接続していました。ログには以下のメッセージが含まれていました:
adding up track failed: duplicate layer
unbound buffer overflowing, dropping packets
その調査中に、関連する可能性のある2つのことが判明しました:
- 高画質が選択されていても、Voice機能が低い解像度のカメラストリームを要求しているように見えます。これがぼやけた映像の原因かもしれません。
- 同じカメラが2回公開されている迹象が見られ、これがカクつきの原因かもしれません。
これらの発見が問題全体を説明しているかどうかは不明です。また、これは本番環境のサイトであるため、コード変更はまだ行っていません。
Voice機能とセルフホストされたLiveKitサーバーで同様の問題を経験された方はいますか?見落としがちな設定があるのか、あるいは統合側の問題でしょうか?