トラブルシューティング

突然切断された

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 側で対処できる事は基本的にはありません。

Intel GPU を利用した端末で VP9 で配信または視聴した際に視聴している映像が乱れる

Windows で Intel の GPU (内蔵 GPU を含みます) を利用している場合に、VP9 のハードウェアアクセラレーターが正常に動作しないことがあります。

この問題は Intel 特有のチップセットでのみ発生することが確認されています。これは Chrome または Intel のドライバーの不具合である可能性が高いため、 Sora 側の対応で解決することはできません。そのため、他のコーデックを利用する事で回避してください。

ただし Chrome 側で VP9 のハードウェアアクセレーターの利用を停止することで回避することもできます。

ハードウェアアクセラレーターを停止する方法

VP9 のハードウェアアクセラレーターを停止する場合、 映像が乱れる原因がエンコーダーかデコーダーかがわからないため、まずはデコーダーを停止してみてください。

ハードウェアアクセラレーターのデコーダーを停止すると libvpx を利用したソフトウェアデコードに切り替わります。多くの場合はこれで解決する可能性が高いです。

ただし、状況が改善しない場合はハードウェアアクセラレーターのエンコーダー側も停止してみてください。 エンコーダー側の停止で解決した場合、エンコーダーが壊れている映像を送信している可能性が高くなります。

Chrome のハードウェアアクセラレーターを停止するには、 chrome://flags/#disable-accelerated-video-decodechrome://flags/#disable-accelerated-video-encode停止中 に変更することで、 ハードウェアアクセラレーターの利用を停止できます。

重要

chrome://flags の設定変更後はブラウザの再起動が必要になります。

有効(デフォルト)

ハードウェアアクセラレーターが 有効 になっている状態です。

https://i.gyazo.com/45f650d456a2215b19aaf8f47e159d02.png

chrome://gpu にてハードウェアアクセラレーターが有効になっているか確認できます。 Video Decode: Hardware acceleratedVideo Encode: Hardware accelerated のように表示されていればハードウェアアクセレーターが有効になっています。

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

停止中

ハードウェアアクアクセラレーターが 停止中 になっている状態です。

https://i.gyazo.com/708aca89e11a6f988ba13b8d1a641c6b.png

停止中 に設定変更した場合 chrome://gpu にてハードウェアアクセラレーターが停止しているかを確認することができます。

Video Decode: Software only. Hardware acceleration disabledVideo Encode: Software only. Hardware acceleration disabled のように表示されていればハードウェアアクセラレーターが停止しています。

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

この状態では libvpx を利用したソフトウェアエンコード/デコードが利用されます。

問題が発生した場合の Intel のハードウェアアクセラレーターが利用されているかどうかの確認方法

Intel の GPU または内蔵 GPU を利用している端末で配信側と視聴側の両方を確認してください。

配信側の確認方法

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

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

ソフトウェアエンコーダーが利用されている場合は encoderImplementation には libvpx と表示されます。

視聴側の確認方法

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

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

ソフトウェアエンコーダーが利用されている場合は decoderImplementation には libvpx と表示されます。

© Copyright 2025, Shiguredo Inc Created using Sphinx 9.0.4