如何使用带有Flowplayer的RTMP从Cloudfront运行私有内容video

重现步骤:

  1. 设置S3桶
  2. 建立流媒体分配
  3. 生成云端密钥对
  4. 使用RSA私钥下载.PEM文件
  5. 使用http://www.jensign.com/opensslkey/opensslkey.cs从RSA密钥生成XML
  6. 上传文件“testUnsecure.flv”,设置ACL属性,以便每个人都可以查看它。
  7. 使用以下java脚本设置网页:

    var p = flowplayer(“rtmpPlayer”,{src:“flowplayer-3.1.5.swf”,height:“480px”},{plugins:{rtmp:{url:’flowplayer.rtmp-3.1.3.swf’, netConnectionUrl:’rtmp://s3py83uop6xa8x.cloudfront.net/cfx/st’,objectEncoding:’0′}},clip:{autoPlay:false,url:’flv:testUnsecure’,provider:’rtmp’}});

  8. 这有效!

然后做了这个:

  1. 上传testSecure.flv,设置ACL使其成为私有
  2. 生成签名URL并构建字符串。 javascript中的url如下所示:

url: ‘FLV:testSecure%3fExpires%3d1277469187%26Signature%3dE5OleaO26fwLi6jIKTa4inc8I4P86AgTg5x8SmleTSTyf5C5AfnQyqaFXLDjiF0kiqdplhauA8Kw%7eS37EpRBAn-aJrJScVlw7aZ-SAL24MTLMZ9foSkCd2ai9KjS8AuuweJRwPWmf4eLDpI4X4f3k3H7UUVcq8SX92ed5fCB91w_%26Key对 – ID%3dAPKAJUIBASIKTLFDSDFA’

这失败了。 video只是挂在那里….

有谁知道怎么做

  1. 使用C#为私有video生成签名的URL?
  2. 在Flowplayer或JWPLayer中播放video(我将使用我可以使用的任何一个!)

还有几点 – 我使用与此相同的代码来生成签名URL: http : //beckelman.net/post/2010/03/30/Policy-Signing-in-C-for-Streaming-Private-Content-从-亚马逊CloudFront.aspx

如果你们能解决这个问题,我会为居住在距离我100英里范围内的所有人买一杯饮料。

是的 – 以防万一有人偶然发现并遇到同样的问题,这就是我要解决的问题:

  1. 创建云源访问标识(我是通过C#完成的,但可以使用cloudberry完成)
  2. 下载适用于S3的cloudberry – 社区版
  3. 在cloudberry中找到FLV文件(即流分发),右键单击,并在属性中确保原始访问标识具有读访问权限 – 这是关键位。

否则上面的代码实际上是正确的。

Interesting Posts