音声 + セルフホスト型LiveKit:低解像度のカメラ映像と片方向のスタッター

皆さん、こんにちは。

最近、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サーバーで同様の問題を経験された方はいますか?見落としがちな設定があるのか、あるいは統合側の問題でしょうか?

「いいね!」 3

更新情報!

LiveKit Cloudに移行した後もこの問題は続いているため、LiveKitのセルフホスティングとは全く関係ありません。また、追加のデバイス(iPadのSafariとMacOSのChrome)でもテストを行いました。MacOSのChromeでは、iPadのSafariから届く動画がカクカクしてピクセル化しているのが確認できました。音声は引き続き問題ありませんでした。

「いいね!」 1

改善されることを願っていますが、システム全体の故障(ロックイン)に関連している可能性があることは承知しています。

「WebKit の制限により、iOS におけるブラウザベンダーは、Android を含む他のプラットフォームと比較して、追加のセキュリティ改善や機能の追加を通じてブラウザを改善する能力が制限されています。そのため、iOS におけるブラウザ間のセキュリティ機能に関する競争が低下する可能性があります。」

Apple の場合、すべての閲覧コンテンツは WebKit を通ります。それ以外の用途には Linux や Android があります。

「いいね!」 1

うわ、そんなこと全然考えてなかった。でも確かに理にかなってるね、残念ながら… :frowning:

「いいね!」 1

詳細なレポートをありがとうございます。今後数週間で調査いたします。

「いいね!」 1

ご報告ありがとうございます

これで問題が解決した場合はお知らせください!

「いいね!」 4

できるだけ早くすべてをもう一度テストして、結果をお伝えします :wink:

「いいね!」 2