web-dev-qa-db-ja.com

AmazonS3からのMP3のストリーミング

ウェブサイトに埋め込まれたFlashウィジェットまたはその他の方法でAmazonS3に保存されているMP3をストリーミングする方法はありますか?

30
Rob Watson

はい、そうです。まず、S3アカウントにバケットを作成する必要があります。これはすべて小文字で、グローバルに一意であり、DNS互換です。たとえば、「media.torusknot.com」というバケットを作成しました。

次に、すべてを美しく見せるために、DNS CNAMEエントリを作成して、サイトのサブドメインをそのS3バケットにマップする必要があります。これにより、「 http://media.example.com/somefile.mp 」を介してそのS3バケットにアップロードしたファイルにアクセスできるようになります。パブリックアクセスが許可されていることを確認するには、ファイルとバケットにACLを設定する必要があります。

最後に、Flashプレーヤーを介してS3から別のドメインにビデオファイルをストリーミングする場合は、コンテンツを別のドメインから取得しても問題ないことをFlashに通知する必要もあります。バケットに「crossdomain.xml」というファイルを作成します。内容は次のとおりです。

<cross-domain-policy>
<site-control permitted-cross-domain-policies="all"/>
</cross>

これにより、どこからでもメディアにアクセスできます。必要に応じてより具体的にすることができますが、これが最も簡単なアプローチです。

関連リソース:

36

この質問への回答を更新するために、実際にクライアントにストリーミングしたい場合は、S3バケットの上でAmazon Cloudfrontを使用できます(Rudolfが述べたように)。 S3バケットを指す「ストリーミングディストリビューション」をCloudfrontに作成します。

これはRTMP経由でストリーミングされます(WebおよびAndroidデバイスに適しています)。JWPlayerまたは同様のプレーヤーを使用して、ストリーミングされたファイルを再生できます。

CloudfrontStreamingはAdobeFlash Media Server3.5を使用します。

署名されたURLを使用して安全なコンテンツを再生する機能もあります。

27
caveman