1

署名付き URL は、Amazon CloudFront でストリーミングされたビデオに対してどのように機能しますか?

aws_cf_signer gemを使用していますが、rtmp ストリーミング mp4 ファイルで署名付き URL が機能しません。text.txt のような静的ファイルの場合は正常に動作しますが、ストリーミング配信を使用している場合は動作しません。

例:

test.mp4 という名前のファイルがあるのですが、署名付き URL を取得するにはどうすればよいsigner.sign()ですか?

たとえばsigned_url = signer.sign('rtmp://xyz.cloudfront.net/test', :ending => Time.now + 3600)、有効な URL が生成されません。VLCプレーヤーでURLをテストしましたrtmpdump

ディストリビューション自体は、次のようにbotoで作成されます。

stream_dist = cf.create_streaming_distribution(origin=origin, enabled=True, trusted_signers=["Self"], comment="テスト配布")

4

1 に答える 1

2

AWS: Restricting End User Access doc によると、署名付き RTMP URL の形式は HTTP とは異なります。

HTTP では、完全な URL がオブジェクトを一意に記述します。署名に URL を含めることができます。ただし、ストリーミング配信のコンテンツは、常に有効な URL で記述できるとは限りません。ストリーミング配信では、ストリーム名のみを使用して署名を作成します。たとえば、署名を含むストリームが次の場合:

example/mp3_name.mp3?Expires=1258237200&Signature=TBD&Key-Pair-Id=PK12345EXAMPLE

RESOURCE の値は次のとおりです。

example/mp3_name

ストリーミング配信の場合、ポリシーのリソース名に mp3: や mp4: などのプレフィックスを含めません。

また、MPEG ファイルを参照する場合、署名に含まれる URL のファイル拡張子を省略しなければならない場合があります。たとえば、mp3_name.mp3 の代わりに mp3_name を使用します。

残念ながら、aws_cf_signer gem が RTMP URL の署名をサポートしているかどうかはわかりません。わかったら教えてください!

于 2012-04-25T06:20:40.250 に答える