低コストでライブ配信をセルフホスト
マネージドCDNのコストを節約しましょう。帯域幅が豊富な安価な専用サーバーを使って、HLSストリームを視聴者に直接配信できます。
必要なもの
セルフホストとは、HLSセグメントを管理型ストリーミングプラットフォームを経由せず、自分で借りたサーバーから直接配信する方法です。必要なものはこれだけです:
- 専用サーバー(十分な帯域幅付き)— 少数の視聴者なら100 Mbps以上の無制限帯域、大規模な配信なら1 Gbps
- 適切なCORSヘッダーで静的ファイルを配信するよう設定した nginx
- 配信先として「セルフホスト(WebDAV)」を指定した My Live TV Channel アプリ
アプリはWebDAV経由でHLSセグメントをサーバーに送信し、nginxがそれを視聴者に届けます。それだけです。
サーバープロバイダー比較
ストリーミング用途に最もコストパフォーマンスの高いプロバイダーを調査しました。帯域幅がコストの最大要因です。利用可能なプランを以下にまとめます。
完全無制限帯域
| プロバイダー | 料金(最安) | 帯域幅 | ポート速度 | ロケーション | 備考 |
|---|---|---|---|---|---|
| Scaleway Dedibox | €4.99/月 | 無制限 | 100–500 Mbps | Paris、Amsterdam | 最安値の入門プラン。Proは€34.99から |
| OVHcloud Kimsufi | $20/月 | 無制限 | 300–500 Mbps | フランス、カナダ、ドイツ、英国、米国、オーストラリア、シンガポール | 最高コスパ。DDoS対策込み |
| OVHcloud SoYouStart | $30/月 | 無制限 | 500 Mbps–2 Gbps | Kimsufiと同じ | RAM・CPU強化のミッドレンジ |
| OneProvider | ~$15/月 | 無制限(フェアユース) | 1 Gbps | 世界40拠点以上 | 再販業者。地理的カバレッジが最広 |
| Psychz Networks | ~$49/月 | 無制限 | 1 Gbps | 米国、欧州、アジア、アフリカ、オーストラリア | 欧州以外の視聴者向けに最適 |
従量制だが低価格
| プロバイダー | 料金(最安) | 含まれるトラフィック | 超過時 | ロケーション | 備考 |
|---|---|---|---|---|---|
| Hetzner Dedicated | ~€37/月 | 1G回線で「無制限」(フェアユース) | 警告後、帯域絞り込み | ドイツ、フィンランド | ハードウェアは優秀だが、実態は真の無制限ではない。クラウドプランは20TBまで、超過は€1.20/TB |
| Hetzner Auction | ~€25/月 | 同一フェアユースポリシー | 同上 | ドイツ、フィンランド | 整備済み中古サーバー。在庫があればお得 |
Hetznerについての注意: 専用サーバーは「無制限」帯域幅として販売されていますが、実際にはフェアユースポリシーが適用されます。回線を継続的に飽和させると警告が届き、帯域が絞られる場合があります。クラウドサーバーは月20TBのハード上限があり、超過分は€1.20/TBです。ハードウェアと価格は優れていますが、制限については把握しておきましょう。
帯域幅の目安
実際にどれくらいの帯域幅が必要でしょうか?4 Mbpsのストリーム(720pまたは1080p)を基準にした早見表です:
視聴者1人(4 Mbps)= 月約1.3 TB
同時視聴者5人 = 月約6.5 TB
同時視聴者10人 = 月約13 TB
同時視聴者25人 = 月約32 TB
同時視聴者5人 = 月約6.5 TB
同時視聴者10人 = 月約13 TB
同時視聴者25人 = 月約32 TB
目安: 100 Mbps無制限サーバーで、4 Mbpsストリームの同時視聴者を最大約25人まで賄えます。1 Gbpsポートなら約250人を同時配信できます。地域コミュニティ向け配信なら、月額€5〜20のサーバーで十分な場合がほとんどです。
クイックセットアップ
- 1 上記のプロバイダーからサーバーをレンタルする
- 2 WebDAVサポート付きで nginx をインストール する:
apt install nginx nginx-extras - 3 WebDAVアップロードを受け付け、CORSヘッダーを付けてHLSを配信するよう nginxを設定 する
- 4 My Live TV Channel アプリで 「セルフホスト(WebDAV)」 の配信先を追加し、サーバーのURLを入力する
- 5 配信を開始 — アプリがHLSセグメントをサーバーに送信し、nginxが視聴者に届けます
ヒント: 異なる地域の視聴者体験を向上させるために、複数のサーバーを設置してDNSベースのロードバランシングを利用できます。まずはサーバー1台からはじめて、視聴者の増加に合わせてスケールアップしましょう。