Skip to main content

Previewing Videos in the Management System

The Management System allows editors to preview videos while working with features like cue points. For videos stored in publicly accessible, unencrypted Azure Blob Storage, preview works out of the box.

Two scenarios require additional configuration:

  • Custom manifest URL - when videos are served through a CDN or a custom URL rather than directly from storage
  • DRM-protected videos - when videos are encrypted and require a DRM entitlement to play

Both are configured as webhooks in the Video Service's Admin Settings in the Management System. Refer to the Webhooks article for general guidance on implementing webhooks securely.

Manifest Webhook

Configure the "Manifest" webhook when your video manifest is not accessible at the storage URL - for example, when using a CDN or a custom domain.

Request

Both webhooks receive the same request payload. You can find the full JSON schema and TypeScript interfaces in the @axinom/mosaic-video-messages package.

The payload contains two top-level objects:

FieldTypeRequiredDescription
videoobjectYesVideo metadata
management_userobjectYesManagement user metadata

Video

FieldTypeRequiredDescription
idstring (UUID)YesUUID of the video
titlestringYesVideo title
source_locationstringYesPath to the folder in storage containing the source video files
is_archivedbooleanYesWhether the video is archived
videos_tagsstring[]YesVideo tag values
video_encodingobjectYesTechnical details about the video stream
source_file_namestringNoSource file name
source_file_extensionstringNoSource file extension
source_full_file_namestringNoFull source file name including extension
source_size_in_bytesnumberNoCombined size of all source video files in bytes

Management User

FieldTypeRequiredDescription
tenant_idstringYesTenant ID
environment_idstringYesEnvironment ID
namestringYesUser name
permissionsobjectYesMap of service name to an array of permission strings
subject_typestringYesManagedServiceAccount, ServiceAccount, UserAccount, ImpersonatedUserAccount, SuperUserAccount, EnvironmentAdminAccount, EndUserAccount, EndUserApplication
iatnumberYesIssued at (seconds since Unix epoch)
audstringYesToken audience
issstringYesToken issuer
substringYesSubject/user identifier
emailstringNoUser email

Response

The response must include at least one manifest URL. The URL must be reachable from a player running in the Mosaic Management Portal - check your CORS settings if needed.

FieldTypeDescription
hls_manifest_urlstringThe HLS manifest URL for video playback
dash_manifest_urlstringThe DASH manifest URL for video playback

Entitlement Webhook

Configure the "Entitlement" webhook when your videos are DRM-protected. The Video Service calls this webhook to obtain a DRM entitlement message that allows playback for the logged-in user.

Request

The request payload is the same as for the Manifest Webhook.

Response

Return the fields relevant to the DRM systems you support. The entitlement_message_jwt and the corresponding license service URL(s) are required for playback to work.

FieldTypeDescription
entitlement_message_jwtstringJWT-encoded and signed entitlement message for use with the DRM license server
widevine_license_service_urlstringURL to the Widevine License Service
playready_license_service_urlstringURL to the PlayReady License Service
fairplay_license_service_urlstringURL to the FairPlay License Service
fairplay_streaming_certificate_urlstringURL to the Apple-issued FairPlay certificate

Was this page helpful?