トラブルシューティング

突然切断された

sora ログに PONG-TIMEOUT-ERROR | reason=<<"WebSocket">> が出力されている場合

Sora からデフォルトの設定で 5 秒間隔で送っている {"type": "ping"} に対して、 クライアントが {"type": "pong"} を 60 秒間返してこない場合に発生します。 また、これらの時間設定は sora.conf の設定 websocket_signaling_ping_intervalwebsocket_signaling_pong_timeout で変更できます。

これは Sora がクライアントが疎通不能だと判断して切断した、正常な終了です。 まずはクライアントのネットワーク状況を確認してみてください。

WebSocket が詰まることを回避する方法としては、 DataChannel 経由のシグナリング の利用を検討してください。

sora ログに tcp_closed という文字列が含まれている場合

この場合、通信に TURN-TCP が採用されており、OS 側で TCP の切断を検知し、接続を終了しています。 connection ログの turn_transport_typetcp になっているかどうかを確認してみてください。

OS による TCP の切断に関しては Sora 側で対処できる事は基本的にはありません。

VP9 の映像が乱れる

Windows で Intel の GPU を利用している場合に、VP9 のハードウェアアクセラレーターが正常に動作しないことがあります。 この場合は VP9 を利用せずに、他のコーデックを利用する事で回避してください。

ハードウェアアクセラレーターを明示的に無効にすることで回避することもできますが、 こちらはあまり現実的ではありません。

chrome://flags/#disable-accelerated-video-decodeDisabled にする事で、 ハードウェアアクセラレーターを利用しなくなります。

https://i.gyazo.com/b8838400a258ecd95a242a620fb8222c.png

問題が発生した場合の確認方法

chrome://webrtc-internalsinbound-rtp を見ていただき、 [codec]decoderImplementation を確認してみてください。

ここで VP9 と ExternalDecoder となっている場合、 VP9 のデコードにハードウェアアクセラレーターが利用されていることが確認できます。

https://i.gyazo.com/4ac60a51e49160723dcbd2feb438c8da.png
© Copyright 2024, Shiguredo Inc Created using Sphinx 7.2.6