如何使用 RTMP 和 Flowplayer 从 Cloudfront 运行私有内容视频

Posted

技术标签:

【中文标题】如何使用 RTMP 和 Flowplayer 从 Cloudfront 运行私有内容视频【英文标题】:How to run a Private Content Video from Cloudfront using RTMP with Flowplayer 【发布时间】:2011-03-08 06:08:50 【问题描述】:

重现步骤:

    设置 S3 存储桶 设置流式分发 生成云端密钥对 使用 RSA 私钥下载 .PEM 文件 使用 http://www.jensign.com/opensslkey/opensslkey.cs 从 RSA 密钥生成 XML 上传文件“testUnsecure.flv”,设置ACL属性让所有人都可以查看。

    使用以下 java 脚本设置网页:

    var p = flowplayer("rtmpPlayer", src:“flowplayer-3.1.5.swf”,高度:“480px”, 插件: rtmp: url: 'flowplayer.rtmp-3.1.3.swf', netConnectionUrl: 'rtmp://s3py83uop6xa8x.cloudfront.net/cfx/st', 对象编码:'0' , 夹子: 自动播放:假, 网址:'flv:testUnsecure' ,提供者:'rtmp' );

    这行得通!

然后这样做:

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

URL: '的flv:testSecure%3fExpires%3d1277469187%26Signature%3dE5OleaO26fwLi6jIKTa4inc8I4P86AgTg5x8SmleTSTyf5C5AfnQyqaFXLDjiF0kiqdplhauA8Kw%7eS37EpRBAn-aJrJScVlw7aZ-SAL24MTLMZ9foSkCd2ai9KjS8AuuweJRwPWmf4eLDpI4X4f3k3H7UUVcq8SX92ed5fCB91w_%26Key线对-ID%3dAPKAJUIBASIKTLFDSDFA' P>

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

有人知道怎么做吗

    使用 C# 为私人视频生成签名 URL? 在 Flowplayer 或 JWPLayer 中播放视频(我会使用我能使用的任何一个!)

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

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

【问题讨论】:

【参考方案1】:

是的 - 以防万一有人偶然发现这个问题并遇到同样的问题,我就是这样做的:

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

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

【讨论】:

如果您自己找到问题的解决方案或其他答案解决了您的问题,您最好将正确答案(解决问题的答案)标记为“已接受的答案”

以上是关于如何使用 RTMP 和 Flowplayer 从 Cloudfront 运行私有内容视频的主要内容,如果未能解决你的问题,请参考以下文章

在 FlowPlayer 或 JWPlayer 上播放 m3u8 & RTMP & RTSP?

流媒体播放器+RTMP

使用 angularjs 播放 rtmp 流的最佳方法是啥?

用于 RTMP 和支持广告的免费视频播放器

如何从 iOS 设备(而不是自己的相机)流式传输 (RTMP) 视频

flowplayer控制和视频不可见