我正在使用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
尝试过,但这也不起作用。
我没有正确链接到文件,还是我的播放器?
答案 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
。