Skip to content

Remote demo configuration/Universal player metadata format #173

@defagos

Description

@defagos

As a Pillarbox team we could provide a universal player metadata format so that:

  • Teams that are not inspired can readily use a format that suits most playback needs.
  • The Pillarbox framework can provide a universal connector that is readily able to parse this format.
  • The Pillarbox team can implement a test stream server that can be used to quickly deliver test content to its demo.

Hints

A first draft of the specs has been discussed on another issue:

Data format

{
    "identifier?": "urn:1234",
    "title?": "André's video",
    "subtitle?": "Funny video by André",
    "description?": "Some real fun with André",
    "posterUrl?": "https://...",
    "seasonNumber?": 69,
    "episodeNumber?": 420,
    "source": {
        "url": "https://...",
        "type?": "ON-DEMAND | LIVE | DVR",
        "mimeType?": "application/x-mpegURL",
        "videoFragments?": "",
        "audioFragments?": ""
    },
    "subtitles?": [
        {
            "label": "English",
            "kind": "subtitles/description/captions/...",
            "language": "en (BCP-47)",
            "url": "https://..."
        }
    ],
    "chapters?": [
        {
            "identifier?": "urn:4567",
            "title": "André in the kitchen",
            "posterUrl?": "https://...",
            "startTime": 1000,
            "endTime": 3000
        }
    ],
    "timeRanges?": [
        {
            "startTime": 1000,
            "endTime": 4000,
            "type": "BLOCKED | OPENING_CREDITS | CLOSING_CREDITS"
        }
    ],
    "customData?": {
    }
}

Error format

{
    "identifier?": "urn:1234",
    "title?": "André's video",
    "subtitle?": "Funny video by André",
    "description?": "Some real fun with André",
    "posterUrl?": "https://...",
    "error": {
        "code": "AGE_RATING",
        "message": "This is 18+ content"
    },
    "customData?": {
    }
}

Acceptance criteria

  • A data format has been designed by the player team. This format should be ideally extensible with custom data (e.g. to support analytics).
  • All platform teams have validated the data format.
  • Dedicated implementation tasks have been created (connector, server, content loading from the test server in the demo, etc.).

Tasks

  • Create Android implementation task.
  • Create Apple implementation task.
  • Create web implementation task.
  • Report missing fields or data format issues.
  • Create documentation task for the final format.

Metadata

Metadata

Labels

enhancementNew feature or request

Type

No type

Projects

Status

✅ Done

Milestone

No milestone

Relationships

None yet

Development

No branches or pull requests

Issue actions