3

重现步骤:

  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-Pair-Id%3dAPKAJUIBASIKTLFDSDFA'

这失败了。视频只是挂在那里....

有谁知道如何

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

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

如果你们能解决这个问题,我会为住在我周围 100 英里范围内的每个人买一轮饮料。

4

1 回答 1

5

对 - 以防万一有人偶然发现并遇到同样的问题,这就是我为解决它所做的:

  1. 创建云源访问身份(我通过 C# 完成此操作,但可以使用 cloudberry 完成)
  2. 下载 cloudberry for S3 - 社区版
  3. 在 cloudberry 中的发行版(即流发行版)上找到 FLV 文件,右键单击,并在属性中确保源访问身份具有读取访问权限——这是关键位。

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

于 2010-06-29T15:47:26.967 回答