トラブルシューティング¶
突然切断された¶
sora ログに PONG-TIMEOUT-ERROR | reason=<<"WebSocket">>
が出力されている場合¶
Sora からデフォルトの設定で 5 秒間隔で送っている {"type": "ping"}
に対して、
クライアントが {"type": "pong"}
を 60 秒間返してこない場合に発生します。
また、これらの時間設定は sora.conf
の設定 websocket_signaling_ping_interval と websocket_signaling_pong_timeout で変更できます。
これは Sora がクライアントが疎通不能だと判断して切断した、正常な終了です。 まずはクライアントのネットワーク状況を確認してみてください。
WebSocket が詰まることを回避する方法としては、 DataChannel 経由のシグナリング の利用を検討してください。
sora ログに tcp_closed
という文字列が含まれている場合¶
この場合、通信に TURN-TCP が採用されており、OS 側で TCP の切断を検知し、接続を終了しています。
connection ログの turn_transport_type
で tcp
になっているかどうかを確認してみてください。
OS による TCP の切断に関しては Sora 側で対処できる事は基本的にはありません。
VP9 の映像が乱れる¶
Windows で Intel の GPU を利用している場合に、VP9 のハードウェアアクセラレーターが正常に動作しないことがあります。 この場合は VP9 を利用せずに、他のコーデックを利用する事で回避してください。
ハードウェアアクセラレーターを明示的に無効にすることで回避することもできますが、 こちらはあまり現実的ではありません。
chrome://flags/#disable-accelerated-video-decode
を Disabled
にする事で、
ハードウェアアクセラレーターを利用しなくなります。
問題が発生した場合の確認方法¶
chrome://webrtc-internals
の inbound-rtp
を見ていただき、
[codec]
と decoderImplementation
を確認してみてください。
ここで VP9 と ExternalDecoder
となっている場合、
VP9 のデコードにハードウェアアクセラレーターが利用されていることが確認できます。