Hi,
for past two weeks I desperately tried to use osmf with edgecast cdn, but without any result.
Since my client insist on osmf, "quick and easy" development turns to a never ending story.
Is there a way to get basic playback functionality without developing additional plugin for such a thing?
I already searched for solution, but except one guy who already notice edgecast problem with osmf, I couldn't find anything else.
Thanks in advance.
It looks like EdgeCast URLs include the FMS application instance. (Some CDNs include this, others don’t.) The default OSMF behavior is to assume that the FMS application instance is not used, since this is the more common case. To support the latter, use the StreamingURLResource.urlIncludesFMSApplicationInstance param, e.g.:
var resource:StreamingURLResource = new StreamingURLResource("rtmp://myserver/mp4:mystream.mp4");
resource.urlIncludesFMSApplicationInstance = true;
mediaPlayer.media = new VideoElement(resource);
I think we (as in Adobe) are trying to standardize things that vary by CDN, so that player developers don't need to worry about the details. This property for whether to use the instance or not is a good example. For the things that truly must vary, CDN-specific plugins are a good solution. Either way, the player developer ought to be isolated from the CDN-specific logic. Clearly, we're not there yet.
Thanks a lot for this solution, i lost a lot of time with it.
For those who wonder:
If you want to use Flex 4 VideoPlayer (which is based on OSMF) with EdgeCast or any other CDN which add FMS App in URL for RTMP streaming:
until its done properly in the SDK you can do that:
var resourceFullURL:String = "rtmp://fms.yourID.edgecastcdn.net/FMSAPP/mp4:yourvideofile.mp4"; //For EdgeCast FMSAPP is your client ID
var resource:StreamingURLResource = new StreamingURLResource(resourceFullURL);
resource.urlIncludesFMSApplicationInstance = true;
var videoElement:VideoElement = new VideoElement(resource);
flexVideoPlayer.source = videoElement; // also work for VideoDisplay of course
I also lost a lot of time trying to work with flv files so here is what i found:
for the resourceFullURL of previous example:
the base is always: "rtmp://fms.yourID.edgecastcdn.net/FMSAPP/"
but you must add the following according to your video format:
"mp4:videofile.mp4"
"mp4:videofile.f4v"
"mp4:videofile.mov"
"flv:videofile"
NO EXTENSION FOR FLV FILE! its stupid but it does not work if you add it. Of course your file on the server needs to have the extention!
For HTTP streaming its more easy to use flex 4 VideoPlayer:
flexVideoPlayer.source = "http://wpc.yourID.edgecastcdn.net/FMSAPP/videofileName.videofileFormat Extention";
extention can be mp4, f4v, mov or flv without issues!
North America
Europe, Middle East and Africa
Asia Pacific