Multi Camera
Quickplay player now supports Multi camera mode for live channel/events where user can switch to different angles of the event and watch it in all available angles.
Pre-requisites
- Datastore API call returns content metadata with
mcfflag set totruefor the multi camera enabled content. - Client App will decide to call Multicam Datastore API, based on the
mcfflag in channel/liveevent, to get the list of secondary camera angles metadata. - The secondary camera angles metadata holds prid of the associated primary content and catalogType of it will be multicam.
trackViewersCountshould be set to true for all LIVE assets ifmcfis enabled( i.e. primary angle content) or catalogType is mutlicam(i.e. secondary angle content).
Content Authorization
A PlatformAsset for the content with catalogType = "multicam" should be constructed with an additional param primaryContentId.
| Key | Type | Value |
|---|---|---|
| primaryContentId | String | The unique identifier of the primary content to which the selected content (i.e. secondary angle content) to play is associated with. This is applicable only for multi-camera enabled content. |
Create live asset
' create live streaming asset
platformAsset = FLContentAuthorizerFactory().liveAsset(contentId, catalogType, FLMediaFormat().DASH, FLDrmTypes().WIDEVINE, ssaiDisabled, primaryContentId)
Heartbeat
To extend support for Multi Camera feature, HeartbeatManager will now accept couple of additional params.
| Key | Type | Value |
|---|---|---|
| catalogType | String | The value of the Catalog type of content. |
| primaryContentId | String | The unique identifier of the primary content to which the selected content (i.e. secondary angle content) to play is associated with. This is applicable only for multi-camera enabled content. |
Create heartbeat manager
heartbeatConfig = FLHeartbeatFactory().heartbeatConfiguration(heartbeatEndPoint, streamConcurrencyEndpoint, syncInterval, maxAllowedFailures, postSlateDuration, recordBookmark, stopOnPlaybackEnd, trackViewersCount)
m.heartbeatManager = FLHeartbeatFactory().heartbeatManager(heartbeatConfig, deviceId, playbackAsset, platformAuthorizer, liveEventType, overflowEventMode, headers, catalogtype, primaryContentId)
note
primaryContentIdshould only be set for the content with catalogType = "multicam".- When initiating a new camera angle playback, always wait until the current player is stopped before authorising the playback with new camera angle.