すべての視聴者がバッファリングを経験しています
すべての視聴者が同時にバッファリングしている場合、問題はほとんど常にサーバーまたは放送側にあり、個々の視聴者の接続にはありません。 以下の手順を順番に実行してください。
以下を読んだ後、OBSトラブルシューティングガイドを閲覧すると、有益なヒントが得られるかもしれません。たとえOBSを使用していなくても。
Check Stream Performance
誰も見ることができなければ、ストリーミングには意味がありません。 The Stream Performance page in the admin, at /admin/stream-health, gives you an overview of some important metrics that may give you an idea if what you’re offering your viewers is leading to a good experience.
The page charts four things: Video Segment Download, Player Network Speed, Errors and Quality Changes, and Viewer Latency.
エラー、低いネットワーク速度、コンテンツのダウンロード時間が長すぎる場合、低帯域幅の視聴者やモバイルネットワーク、その他の要因に対して再生パフォーマンスを改善するために、追加のビデオ品質を追加する必要があるかもしれません。
このページで人々がストリームの再生に問題を経験しているのが見られる場合は、トラブルシューティングを行うことをお勧めします。
Note: Only some players report detailed playback metrics themselves, mostly web browsers running the Owncast web interface.
For players that do not self-report, such as VLC, mpv, Safari and ffmpeg, Owncast records the download speed and duration of video segments it serves, as observed by the server. This only works when Owncast serves the video itself. If your segments are hosted on S3 storage, viewers download them from there and these players are not represented in the metrics.
Analyze your stream with the HLS Analyzer
トラブルシューティングの支援には、HLS Analyzer をご利用ください。 要求されたらストリームのURLを入力してください。URLは <yourserver>/hls/stream.m3u8 です。 Analyze .m3u8 をクリックします。
次の値に注意してください:
Segment Download (sec): 動画セグメント1つをダウンロードするのにかかった時間(秒)。 動画の各セグメントの再生時間よりもセグメントのダウンロードに時間がかかると、バッファリングが発生します。
Player Buffer (sec): 再生可能な動画の長さ(秒)。 これがゼロになるとバッファリングが発生します。
Outage (sec): プレイヤーに利用可能な動画がなくバッファリングに入った時間(秒)。
Owncastサーバーのハードウェアの使用状況を確認する
管理者のハードウェア使用状況ページを訪れて、サーバーのリソースがどのようにパフォーマンスを発揮しているかを確認してください。
OwncastサーバーのCPUが最大に達している場合、視聴者はバッファリングを目にすることになります。サーバーがもはや処理できなくなるためです。 これがあなたの経験していることであれば、最初のステップは過度なハードウェア使用の解決です。
放送ソフトウェアから始める
ストリームを信頼性高く放送する
放送用コンピューターがライブ映像を安定して放送していることを確認してください。 自分のコンピュータやネットワーク接続がインターネットに映像を送るのに苦労している場合、視聴者はバッファリング状態に留まることになります。 必要に応じて、放送デバイスの放送ソフトウェアでビットレート、解像度、またはフレームレートを減らしてください。
落ちたフレームに注意し、それらの原因を調査してください。 ローカルのCPUまたはGPUですか? ローカルネットワークですか? それとも、ハードウェアの使用率によってOwncastサーバーがフレームを落としているのですか?
たとえば、放送用コンピュータのGPUが最大に達している場合、フレームをレンダリングするのに追いつけなくなります。 OBSを使用している場合、これを確認する方法の1つは、アプリケーションの「Stats」を見ることです。そして、「レンダリング遅延」を経験しているかどうかを確認します。
ビデオ品質を一致させる
CPU使用の最適化の一つは、着信動画が最高出力品質に一致していることを確認することです。
Owncastで視聴者に提供するために構成された最高のビットレート、解像度、フレームレートの品質は、放送ソフトウェアでOwncastに送信している内容と一致する必要があります。そうすることで、追加のCPU作業を減らすことができます。 最高の品質から始めて、放送ソフトウェアと一致させ、そこから進めてください。 もちろん、低品質はネットワーク接続が遅い人々や地理的に遠い人々のために提供されるべきです。
レイテンシーバッファを増やす
レイテンシーバッファ設定を増やすと、ユーザーはライブからさらに遅れて始まり、クライアントはライブエッジを待つ前により再生可能なビデオを提供します。 レイテンシが少ないほど効率が悪く、バッファリングを引き起こす可能性が高くなります。 レイテンシーバッファ値を増やした後は、HLSアナライザーで確認し、警告が減少したかどうかを確認してください。
You can change this value in the admin under Configuration > Video. Latency and video quality changes take effect on your next stream, so restart your stream after changing them.
欠点: レイテンシを増やすと、アクションを実行したときと視聴者がそれを見るまでの遅延が増加するため、視聴者と直接やり取りするのが難しくなります。
ビデオ品質を下げる
高画質のビデオは、ダウンロードに時間がかかる大きなビデオサイズを意味します。
OBS Wikiからの引用として:
> これは新しいストリーマーが犯す非常に一般的な間違いです。 ストリーマーは、視聴者にどのように影響を与えるかを考慮せず、持っているアップロード容量を最大限に利用しようとします。 もちろん、あなたのストリームが良く見えることを望んでいることは理解しています。 ビットレートを上げることはそのための簡単な方法ですが、それは合理的でなければなりません。 >
最終的に、あなたの1080p 60fps 9mb/sのストリームは素晴らしく見えるかもしれませんが、3人の視聴者が問題なく視聴できても、あなたのストリームプロバイダーや他の視聴者が問題を抱える可能性があります。
Owncastでビデオ出力のビットレートとフレームレートを減らし、次に、放送ソフトウェアで送信する最高の品質を一致させてください。
各ビデオセグメントが大きいほど、ダウンロードにかかる時間は長くなります。 一般に、ビデオの品質(ビットレートや解像度)を下げると、ダウンロードにかかる時間が短くなる可能性が高まり、したがって、視聴者のバッファリングの可能性を減少させます。
サーバーでフレームレートやビットレートを下げるときは、放送ソフトウェアでOwncastに送る内容も減らす必要があります。 これは、次の理由で役立ちます:
- インターネット接続が使用しているネットワークトラフィックの量が減少し、ストリーミングでの上流がボトルネックになる可能性が減ります。
- Owncastに取り込まれるデータ量が減少します。
- Owncast内で行わなければならない会話の作業が少ないほど、物事は早くなります。
欠点: ビデオのフレームレートやビットレートを下げると、一部のコンテンツではストリームの品質が著しく低下する可能性があります。
フレームレート
ビデオのフレームレートを下げることは、バッファリングを減らす簡単な方法であることがよくあります。 FPSは「フレーム毎秒」を意味します。したがって、ビデオのフレームレートを60fpsから30fpsにカットすると、視聴者がダウンロードするビデオのフレーム数は半分になります。
欠点: フレームレートを下げると、一部のコンテンツではストリームの品質が目に見えて低下する可能性があります。
外部ストレージを使用する
コアの問題がサーバーが視聴者数に対応できないことであれば、視聴者があなたのサーバーではなく、3rdパーティのオブジェクトストレージプロバイダーからビデオをダウンロードすることを利用できます。 Owncast still serves the master playlist, the APIs and chat itself, but the variant playlists and video segments, which make up almost all of the bandwidth, are offloaded to the storage provider.
これにより、Owncastサーバーでビデオを生成し、大容量の低コストで提供するプロバイダーから配信できます。
With this setup you don't need extra CPU or a more powerful server in order to support more viewers, as the heavy video traffic no longer comes from your server.
CDNを使用する
世界中のより多くの人々をサポートするため、一般的に次のステップはCDN(コンテンツ配信ネットワーク)を導入することです。 動画の配信にCDNを導入すると、視聴者に地理的に近いサーバーから動画が配信されるようになります。
より中央にあるサーバーに移動するか、より高速なプロバイダーによってホストされたサーバーに移動する
地理的により中央に位置するか、世界との接続がより高速なサーバーでOwncastを実行すると、よりうまくいく可能性があります。 サーバーがあなた(配信先)と視聴者(動画を受信する側)の両方から物理的に離れている場合、最適な構成になっていない可能性があります。
外部ストレージへのアップロードが遅い場合
外部ストレージを使用している場合は、このストレージサービスに十分早くアップロードできることを確認してください。 そうでないと、ファイルがストレージプロバイダーに届くまでの遅延が、全員がビデオを視聴するために使用しているサービスでバッファリングを引き起こします。
アップロード接続が遅い場合、または外部ストレージサービスにアップロードしていて、そのサービスが遠すぎるか、迅速なアップロードに最適化されていない場合、ビデオセグメントのアップロードに時間がかかりすぎることがあり、最終的に使用するのに十分早く利用可能にならないという問題が発生する可能性があります。
- ストレージサービスに、地理的に自分の近くにある別のエンドポイントがあるかどうかを判断してください。
- Owncastインスタンスが存在する場所に物理的および論理的にできるだけ近いストレージサービスを使用してください。 たとえば、AWSのマシンを使用している場合は、同じリージョンのS3バケットを使用してください。 Digital Oceanを使用している場合は、DO Spacesを試してください。 しかし、Linodeのマシンを使用している場合はDO Spacesを使用しない方がよく、代わりにLinode Object Storageを使用してください。
--enableVerboseLoggingオプションでowncastを実行して、遅いアップロード警告が表示されるかどうか確認してください。 - サーバープロバイダーからのアップロード速度を向上させる方法を試みてください。
- ストレージサービスがAWSのTransfer Accelerationのようなものを提供しているかどうか確認して、アップロード速度を向上させる可能性を探ってください。
- ビデオの品質を下げて、ビデオセグメントを小さくし、アップロードにかかる時間を短縮してください。
Improve this page
See something missing or incorrect? Edit this page and improve the documentation for everyone.
