Skip to main content
October 27, 2011
Question

Best Practices of Instances, stream names, and Event Names

  • October 27, 2011
  • 1 reply
  • 689 views

Hello!

I've worked with FMIS a good bit relaying streams to various CDNs.

The guy working before me always created a new Application for every stream. This was due to each stream needing its own configuration. This was also before MBR streams were popular or even around. It wasn't till i started to implement HDS that i see you could just share the same application for many streams. I don't have any resources at work that can give me any insight on the correct usuage of FMS Applications other than what the other guy left behind.

My question is when do you use different instances of an application, or can you just keep using "_definst_"?

Scenerio example:

Sports Event with 3 camera angles all using 4 bitrates each.

do i just use the default instance for the whole event like so:

rtmp://server/livepkgr/bitrate_1?adbe-live-event=camera1

rtmp://server/livepkgr/bitrate_2?adbe-live-event=camera1

rtmp://server/livepkgr/bitrate_3?adbe-live-event=camera1

rtmp://server/livepkgr/bitrate_4?adbe-live-event=camera1

rtmp://server/livepkgr/bitrate_1?adbe-live-event=camera2

rtmp://server/livepkgr/bitrate_2?adbe-live-event=camera2

rtmp://server/livepkgr/bitrate_3?adbe-live-event=camera2

rtmp://server/livepkgr/bitrate_4?adbe-live-event=camera2

rtmp://server/livepkgr/bitrate_1?adbe-live-event=camera3

rtmp://server/livepkgr/bitrate_2?adbe-live-event=camera3

rtmp://server/livepkgr/bitrate_3?adbe-live-event=camera3

rtmp://server/livepkgr/bitrate_4?adbe-live-event=camera3

which produces:

http://server/hds-live/livepkgr/_definst_/camera1/bitrate_1.f4m

.

.

.

http://server/hds-live/livepkgr/_definst_/camera3/bitrate_4.f4m

etc

and i would update each Manifest.xml correctly and use:

http://server/hds-live/livepkgr/_definst_/camera1.f4m

http://server/hds-live/livepkgr/_definst_/camera2.f4m

http://server/hds-live/livepkgr/_definst_/camera3.f4m

I was curious if this is a correction assumption. I've done most of my events using Akamai's HDN HTTP delivery and i'm trying to relate to their scheme which is:

rtmp://server/entrypoint/eventname_camera_bitrate@1234

so event above would look like:

rtmp://server/entrypoint/sportingevent_camera1_1000@1234

I'm having a hard time translating from their scheme to Best Practices for HDS.

Should I be using a instance to help seperate some of this? What would be an actual scenerio like above that you would use a instance?

My first inclination was to use an instance to seperate web (HDS) and mobile (HLS). I like to use different configurations for each. Mainly i stick to Apples 7 Layer model from their best practices.

This is how i first assumed you could do a single camera event:

rtmp://server/livepkgr/web/layer_2200?adbe-live-event=liveevent

rtmp://server/livepkgr/web/layer_1600?adbe-live-event=liveevent

rtmp://server/livepkgr/web/layer_1200?adbe-live-event=liveevent

rtmp://server/livepkgr/web/layer_900?adbe-live-event=liveevent

rtmp://server/livepkgr/mobile/layer_1800?adbe-live-event=liveevent

rtmp://server/livepkgr/mobile/layer_1200?adbe-live-event=liveevent

rtmp://server/livepkgr/mobile/layer_600?adbe-live-event=liveevent

rtmp://server/livepkgr/mobile/layer_400?adbe-live-event=liveevent

rtmp://server/livepkgr/mobile/layer_200?adbe-live-event=liveevent

rtmp://server/livepkgr/mobile/layer_110?adbe-live-event=liveevent&adbe-audio-stream-name=layer_40

This way the manifest files seperate and not have the web viewers suffer with iOS devices limitation.

With sample above, would i change the "liveevent" to "cameraX" to allow for a multi camera event? or would that confuse the DVR functionality in a player?

I REALLY appreciate any insight before i get "set in my ways" using HTTP delivery.

thanks!

leah

This topic has been closed for replies.

1 reply

October 27, 2011

Sorry, i forgot to mention that i'm using FMIS 4.5.

thanks again!