使用Strobe Media Playback从Cloudfront / S3播放flv文件

时间:2013-12-03 22:16:35

标签: amazon-web-services amazon-s3 osmf strobe-media-playback

我正在使用OSMF的Strobe Media Playback播放器尝试播放来自AWS Cloudfront / S3的文件

该存储桶名为ct.recorder。云端分布称为1dm7svtk8jb00c.cloudfront.net,其来源为ct.recorder

广告素材中的视频名为vid_test001

我尝试使用rtmp://s34osaecrafusl.cloudfront.net/cfx/st/vid_test001

初始化播放器

但这不起作用。

我得到Connection attempt rejected by FMS server. Connection failed

我最后也用.flv尝试过,但这也不起作用。

我没有正确链接到文件,还是我的播放器?

2 个答案:

答案 0 :(得分:1)

好吧,我写了一个完整的答案,推测它与存储桶权限有关,现在我正在抓住这个答案并发布这个答案。 :)

$ rtmpdump -r rtmp://s34osaecrafusl.cloudfront.net/cfx/st/vid_test001.flv -o testfile.flv
RTMPDump v2.4
(c) 2010 Andrej Stepanchuk, Howard Chu, The Flvstreamer Team; license: GPL
Connecting ...
WARNING: HandShake: client signature does not match!
INFO: Connected...
Starting download at: 0.000 kB
INFO: Metadata:
INFO:   duration              13.82
INFO:   videocodecid          2.00
INFO:   audiocodecid          6.00
INFO:   canSeekToEnd          FALSE
INFO:   createdby             AMS 5
INFO:   creationdate          Tue Dec 03 13:41:46 2013
1190.238 kB / 13.82 sec (100.0%)
Download complete

这实际上对我有用...最后都有.flv,结果文件是一个7秒的视频,看着网络摄像头。

对于Windows使用“smplayer”,我可以使用rtmp:// url连接到cloudfront并对视频进行流式传输,但它只能在上使用结尾的.flv,使用:

MPlayer Redxii-SVN-r36243-4.6.3 (C) 2000-2013 MPlayer Team
Custom build by Redxii, http://smplayer.sourceforge.net
Compiled against FFmpeg version N-52798-gf5846dc
Build date: Sun May  5 23:51:25 EDT 2013

这并没有完全回答你为什么它不起作用的问题,除了说你的玩家似乎在骗你“连接尝试被FMS服务器拒绝”因为,至少在这里,它是好的,除了这一部分,我不知道这意味着什么。

WARNING: HandShake: client signature does not match!

但是,这可能会让人分心。

看起来好像是你的玩家......所以尝试其他玩家是值得的。

当然,有可能存在一个区域问题,涉及您从您所在位置访问的云端内部的特定边缘位置,这可能与我正在点击的位置明显不同,因为它在地理位置上......但是如果其他玩家在你所在的地方工作,那么你可能会得到你正在寻找的答案。解雇wireshark并分析协议交换也是一项有趣的练习。


事后想法:你道路上的额外斜线也可能会引起人们的注意,因为RTMP网址显然由两个不同的组成部分组成,“application”/“stream_name”和描述点可能是在某种程度上对链中的某个组件含糊不清。如果cloudfront认为“应用程序”是“cfx”并且流是“st / vid_test001”但是客户端认为“应用程序”是“cfx / st”并且流名称为“vid_test001”,那么似乎可能存在一些互操作性的可能性麻烦。这是一种疯狂的猜测,但也许值得尝试。

答案 1 :(得分:0)

需要将嵌入参数urlIncludesFMSApplicationInstance设置为true