# トラブルシューティング

## 突然切断された

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

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

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

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

### 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` にする事で、
ハードウェアアクセラレーターを利用しなくなります。

![image](https://i.gyazo.com/b8838400a258ecd95a242a620fb8222c.png)

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

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

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

![image](https://i.gyazo.com/4ac60a51e49160723dcbd2feb438c8da.png)
