Playing flv files from Cloudfront/S3 with Strobe Media Playback

689 views Asked by At

I'm using the OSMF's Strobe Media Playback player to try and play files from AWS Cloudfront/S3

The bucket is called ct.recorder. The cloudfront distribution is called 1dm7svtk8jb00c.cloudfront.net, and it's origin is ct.recorder.

The video within the bucket is called vid_test001

I've tried initializing the player with rtmp://s34osaecrafusl.cloudfront.net/cfx/st/vid_test001

But that doesn't work.

I get Connection attempt rejected by FMS server. Connection failed.

I've also tried it with .flv at the end, but that doesn't work either.

Am I not linking to the file properly, or is it my player?

2

There are 2 answers

0
AudioBubble On BEST ANSWER

The embed parameter urlIncludesFMSApplicationInstance needs to be set to true.

1
Michael - sqlbot On

Well, I had an entire answer written up, speculating that it was related to bucket permissions, and now I'm scratching that answer and posting this, instead. :)

$ 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

This actually works for me... both with, and without, the .flv on the end, and the resulting file is a 7 second video of a guy looking at a webcam.

Using "smplayer" for Windows, I can connect to cloudfront with the rtmp:// url and stream the video, but it only works without the .flv on the end, using:

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

This doesn't quite answer your question of why it isn't working, except to say that your player seems to be lying to you as far as "Connection attempt rejected by FMS server" because, at least from here, it's good, except for this part, and I don't know what it means.

WARNING: HandShake: client signature does not match!

However, that could just be a distraction.

It looks as if it's going to be your player... so trying other players would be worthwhile.

It is, of course, possible, that there's a regional issue involving the particular edge location inside cloudfront that you access from your location, which could be significantly different than the one I'm hitting, since it's geographically... but if another player works where you are, then you may have the answer you're looking for. Firing up wireshark and analyzing the protocol exchange could be an interesting exercise also.


Afterthought: the extra slash in your path could also be blowing something's mind, since an RTMP url apparently consists of two distinct components, "application"/"stream_name" and the point of delineation may be ambiguous at some level to some component in the chain. If cloudfront thinks the "application" is "cfx" and the stream is "st/vid_test001" but the client assumes the "application" is "cfx/st" with stream name "vid_test001" it seems like there could be some potential for interoperability trouble there. This is wild speculation, but perhaps worth experimentation, too.