2023年4月20日木曜日

動画配信サーバーを考えてみる

Twitchにただ乗りしようとしたが、規約でアウトっぽい。

Twitchサービスを含む、Twitchが所有、利用、またはライセンスをしているウェブサイト、サーバー、ソフトウェアアプリケーションその他のコンピュータリソースに、ロボット、スパイダー、スクレーパー、クローラー、またはその他の目的に応じた自動化された手段を用いてアクセスすること、またはTwitchサービスを含む、Twitchが所有、利用、またはライセンスをしているウェブサイト、サーバー、ソフトウェアアプリケーションその他のコンピュータリソースへのアクセスを阻止しまたは制限するためにTwitchが用いている対策を回避すること。



<Red5PRO>

有料・実績あり

https://www.samuraiz.co.jp/red5pro/



<AVideo>

オープンソース

https://github.com/WWBN/AVideo

構築した人のメモ

映像配信サーバーの構築 第2回(選択した環境はレンタルのVPS環境)、OSSを利用AVideo、Apache、NGINX、MySQL、FFmpeg、PHPでして構築する。For Exsample (actry-system.co.jp)



<AWS>

概算料金

24時間365日配信だと値段キツいかも?

転送量の従量課金。

https://aws.amazon.com/jp/cdp/cdn-live/




chat-gpt4に聞いてみた。


  1. クラウドサービスを利用する: 主要なクラウドサービスプロバイダーは、低コストでスケーラブルなLIVE配信サーバーを提供しています。以下は、クラウドサービスプロバイダーが提供する動画ストリーミングサービスの例です。

    • Amazon Web Services (AWS): AWS Elemental MediaLive
    • Google Cloud Platform (GCP): Google Cloud Media Translation
    • Microsoft Azure: Azure Media Services

これらのサービスは、視聴人数に応じて自動的にスケールする機能を提供しています。

  1. オープンソースストリーミングサーバーを利用する: オープンソースのLIVE配信サーバーソフトウェアを利用することで、ライセンス費用を節約できます。以下は、オープンソースストリーミングサーバーの例です。

    • Nginx RTMPモジュール: Nginxは高性能なHTTPサーバーで、RTMPモジュールを追加することで、ストリーミング配信サーバーとして機能します。
    • Red5: Javaで実装されたオープンソースのストリーミングサーバーで、RTMPプロトコルをサポートしており、ビデオやオーディオの配信に使用されます。
    • Ant Media Server: 低レイテンシーのストリーミング配信を提供するオープンソースソリューションで、WebRTC、RTMP、HLSなどのプロトコルをサポートしています。
    • MistServer: メディア配信に特化したマルチプロトコルストリーミングサーバーで、RTMP、HLS、DASHなどのプロトコルをサポートしています。
  2. コンテンツデリバリネットワーク(CDN)を利用する: CDNは、世界中のサーバーにコンテンツをキャッシュすることで、視聴者に迅速かつ安定した配信を可能にします。これにより、配信サーバーの負荷が分散され、スケーラビリティが向上します。主要なCDNプロバイダーには、Akamai、Cloudflare、Fastlyなどがあります。

上記のオプションを検討し、自分のニーズや予算に合った最適なLIVE配信サーバーを選択してください。



今更RTMPだと問題なので、さらに追加質問。


RTMPを使わないでhtml5で行いたい。


HTML5で動画のライブ配信を行う場合、HLS(HTTP Live Streaming)やDASH(Dynamic Adaptive Streaming over HTTP)といったアダプティブビットレートストリーミング技術を利用することが一般的です。これらのプロトコルは、RTMPとは異なり、HTTPをベースにしているため、HTML5のビデオプレイヤーで再生できます。

以下のオプションを検討してみてください。

  1. クラウドサービスを利用する: クラウドサービスプロバイダーは、HLSやDASHに対応した動画ストリーミングサービスを提供しています。

    • Amazon Web Services (AWS): AWS Elemental MediaLive
    • Google Cloud Platform (GCP): Google Cloud Media Translation
    • Microsoft Azure: Azure Media Services
  2. オープンソースストリーミングサーバーを利用する: 以下は、HLSやDASHに対応したオープンソースストリーミングサーバーの例です。

    • Nginx: NginxのHTTP-HLSモジュールを利用することで、HLSに対応したストリーミングサーバーを構築できます。
    • Ant Media Server: WebRTC、RTMP、HLSなどのプロトコルをサポートしています。HLSとDASHの配信に対応しています。
    • MistServer: メディア配信に特化したマルチプロトコルストリーミングサーバーで、HLS、DASHなどのプロトコルをサポートしています。
  3. コンテンツデリバリネットワーク(CDN)を利用する: CDNは、HLSやDASHの動画ストリーミングにも対応しており、世界中の視聴者に対して安定した配信が可能です。主要なCDNプロバイダーには、Akamai、Cloudflare、Fastlyなどがあります。

これらのオプションを検討し、自分のニーズや予算に合った最適なHTML5対応のLIVE配信サーバーを選択してください。




<再生専用クライアントを作るという案>

Cloudflare StreamでSRT/RTMPS

https://dev.classmethod.jp/articles/cloudflare-stream-live-streaming-sub-second-latency-over-srt-rtmps/



<Cloudflareいわく料金比較>

https://www.cloudflare.com/ja-jp/products/cloudflare-stream/




0 件のコメント:

コメントを投稿