web-dev-qa-db-ja.com

AWSはCloudFrontまたはCloudFormationでRTMPベースのライブストリーミングをサポートできますか

私がこれらすべての記事を読むことを理解している限り:

docs.aws.Amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-rtmp.html docs.aws.Amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-overview.html docs.aws.Amazon.com/AmazonCloudFront/latest/ DeveloperGuide/Tutorials.html docs.aws.Amazon.com/AmazonCloudFront/latest/DeveloperGuide/wowza-creating-stack.html docs.aws.Amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-rtmp-creating.html docs.aws .Amazon.com/AmazonCloudFront/latest/DeveloperGuide/distribution-rtmp-values-specify.html docs.aws.Amazon.com/AmazonCloudFront/latest/DeveloperGuide/AMS5.0SubscribingToAMS.html docs.aws.Amazon.com/AmazonCloudFront/latest /DeveloperGuide/LiveStreamingAdobeMediaServer5.0.html

そして特に以下:

https://aws.Amazon.com/it/blogs/aws/Amazon-cloudfront-now-supports-streaming-media-content/https://aws.Amazon.com/it/blogs/aws/using-Amazon-cloudfront-for-video-streaming /

TCP 80またはTCP 1935であるため、CloudFrontとWebまたはRTMPディストリビューションを使用してライブストリーミングRTMPをミラーリングすることはできないようです。プレーヤーとビデオファイル(FLV)の両方の静的ファイルの配信/ミラーリング/キャッシングに基づいています。

ライブストリーミングのサポートは、CloudFormationスタックとAdobe Media ServerまたはWOWZA統合を介してAmazonによって提供されますが、このシナリオでは、クライアントにはすでに独自のRed5ストリーミングサーバーがあり、すでに機能してセットアップされています。

静的FLVを配信する代わりに、Red5で実行されているOriginサーバーとRTMPフローを使用して、CloudFrontを使用してTCP 80または1935)でライブストリーミングRTMP接続をミラーリングすることはどのように可能ですか? S3ホスティングからのファイル?

このソリューションがAmazonでサポートされているかどうか、およびそのような構成を実行するためのナレッジベースがどこにあるかを理解したいと思います。

基本的に、このシナリオでは、RTMPがすでにパブリックWebに公開されており、AWSがCloudFrontを介してキャッシュし、他のクライアントに提供するだけで済みます。

クライアントがストリーミングを確認するためにダウンロードするFlashPlayerに対してのみWeb配布を実行してみたいと思います。また、プレーヤーがライブストリーミングのAWSCDNミラーリングURLを指すようにします。

これは可能ですか?

どうもありがとうございました。宜しくお願いします

1
KRiSh05

最近、これに取り組んでいます。この質問に対する別の答えが指摘しているように、答えはノーです。

ただし、基本的にAWSを使用して独自のRTMPCDNをストリングアップすることができます。一連のnginx-rtmpインスタンスをエッジとして設定できます。

nginx-rtmpのドキュメントは、プロジェクトのGitHub( https://github.com/arut/nginx-rtmp-module/ )にあります。基本的に、これらの束を好きな方法(EC2インスタンス、私が行っているECS、または好きな方法)で実行しますが、取り込みサーバーからプルするように構成します。

次に、エッジの負荷を分散し、エッジから引き出して表示します。

基本的にAWSEC2インスタンスを使用して独自のCDNを最初からローリングしており、おそらく複数のリージョンに配布ポイントが必要なため、これは少し複雑になります。スケールによっては、オリジンからプルしてリージョナルエッジに再配布するのに役立つ中間ノードを用意することが理にかなっている場合があります。

Nginx-rtmpの「pull」ディレクティブを参照してください。サンプル構成:

rtmp {
   server {
       listen 1935;

       application streamapp {
           live on;
           pull rtmp://my-streaming-server.com:1935/streamapp;
      }
   }
}
0
Misha Nasledov

CloudFrontディストリビューションは、次のHTTPベースのストリーミングプロトコルを使用してストリーミングコンテンツを配信できます。

  • Adobe HTTPダイナミックストリーミング(Adobe HDS)
  • Apple HTTP Live Streaming(Apple HLS)
  • Microsoftスムーズストリーミング
  • MPEG-DASH

Cloudfrontは、HTTP VOD /ライブストリームトラフィックとRTMPVODを配信するように設計されています。ライブストリーミングRTMPの場合、Akamaiなどの他のCDNサービスを確認することをお勧めします。 HTTPトラフィックにCloudFrontを使用し、RTMPライブストリームにAkamaiを使用する場合は、両方のサービスを一緒に使用できるはずです。

1
Usama