1

どこでも検索しましたが、答えが見つかりません。PHPでflowplayerとAmazon s3を使用しています。コピーして貼り付けるとブラウザでリンクが機能しますが、flowplayer はクエリ文字列を好まないようです。HTMLエンティティを置き換えてから、URLエンコードしてみました。URLエンコードしてみました。& を削除して & などに置き換えてみましたが、どれも機能しませんでした。

私の目標は、フロー プレーヤーを使用して Amazon s3 から URL 署名されたビデオを再生することです。

「正しい」コードがないため、表示するコードがないことはわかっていますが、何か提案はありますか? 彼らは大歓迎です。

4

2 に答える 2

1

私はこれと同じ問題を抱えていましたが、Flowplayer cloudfrontsignedurl プラグインの ActionScript ソース コードを読んで答えを見つけました。

http://flash.flowplayer.org/documentation/developer/development-environment.html

private function _getUrl(clip:Clip):String {

    var url:String = clip.getPreviousResolvedUrl(this);

    var isRTMPStream:Boolean = url.toLowerCase().indexOf('mp4:') == 0;
    if ( isRTMPStream )
        //gets the url, minus the "mp4:" at the beginning
        url = url.substr(4);

    //gets the expires time in seconds
    var expires:Number = Math.round((new Date()).getTime() / 1000 + _config.timeToLive);

    //generate the signed url
    var signedUrl:String = _signedUrlGenerator.signUrl(url, expires);

        //put the 'mp4:' back on the front
    if ( isRTMPStream )
        signedUrl = 'mp4:'+ signedUrl;

    return signedUrl;

}

URL に署名する前に "mp4:" プレフィックスを削除し、後で追加する方法に注意してください。

ここでは、Amazon の例に従いました: http://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/CreateURL_PHP.html

次に、JavaScript 構成の関連部分は次のようになります。

var netConnectionUrl = "rtmpte://amazon_distribution_domain_name.cloudfront.net/cfx/st";
var clipUrl          = "folder/folder/videofile.mp4";

$.post('/path/getSignedUrl.php', {clipUrl:clipUrl}, function(signedUrl){
  clipUrl = 'mp4:'+signedUrl;

  ...then add netConnectionUrl and clipUrl to Flowplayer config...
});

URLに署名する前に、ユーザーがログインして製品を所有していることなどを確認できるように、Flowplayerプラグインの代わりにPHPを使用することを好み、PHPでドメインとIPアドレスのチェックを行うことができましたまた、Ant や Flash Builder でコンパイルする必要もありません。このようにして、秘密鍵はクライアントから離れたままになります。プラグインを使用すると、海賊が SWF ファイルを盗む可能性がありますが、AJAX を使用してサーバーで URL に署名することにより、盗むことは不可能です。

于 2014-04-19T09:01:47.447 に答える
0

この拡張機能を使用して署名付きURLを作成し、それが機能することを確認します

パスが正しいこと、つまりローカルパスまたはグローバルパスであることを確認してください。

署名されていないURLを再生してみてください。その後、署名されたURLに切り替えます。

于 2012-12-15T18:33:46.203 に答える