Skip to content

MOS object definition #28

@nytamin

Description

@nytamin

This is a proposal to add a specification for how an OGraf MOS-object should look like.

Background

The MOS-protocol allows for arbitrary (vendor-specific) objects to be defined inside the <mosExternalMetadata> tags. I believe it would be useful to expand the OGraf specification early to include a specification for MOS-OGraf-objects, as this could cause an interoperable ecosystem of MOS-plugins and automation systems to emerge.

Proposal

Note: This proposal is dependent of the upcoming ServerAPI definition, as the properties of the MOS-object will be used by a Controller which will (likely) communicate with an OGraf-compatible API.

I propose that an OGraf graphic instance is defined under <mosExternalMetadata> below:

<storyItem>
  <itemID>1</itemID>
  <itemSlug>L3D: John Doe, OGraf expert</itemSlug>
  <objID>ABC123</objID>
  <mosID>myMosId</mosID>
  <itemEdStart>0</itemEdStart>
  <itemEdDur>7000</itemEdDur>
  <mosExternalMetadata>
    <mosScope>PLAYLIST</mosScope>
    <mosSchema>https://ograf.ebu.io/v1/specification/mos-schemas/ograf-object.dtd</mosSchema>
    <mosPayload>

      <!--
        (Optional) rendererId, used by a MOS-plugin to set which Renderer the graphic is intended for.
      -->
      <rendererId>renderer-0</rendererId>

      <!--
        (Optional) renderTarget, used by a MOS-plugin to set which RenderTarget the graphic is intended for.
        Note: CDATA must be used to wrap the JSON content.
      -->
      <renderTarget><![CDATA[{ "layerId": "layer-0" }]]></renderTarget>

      <!--
        graphicId, the ID of the graphic to be used.
      -->
      <graphicId>gfx/lowerthird</graphicId>

      <!--
        data, JSON data to be sent into the graphic.
        Note: CDATA must be used to wrap the JSON content.
      -->
      <data><![CDATA[{ "name": "John Doe", "title": "OGraf expert" }]]></data>

      <!-- 
        (Optional) customActions, a list of actions intended to be presented to a user at the time of playout.
        The user can pick from these actions to trigger a change in the graphic.
      -->
      <customActions>
        <action>

          <!-- Id of the customAction to call -->
          <actionId>action0</actionId>

          <!-- Payload to send into the customAction -->
          <payload><![CDATA[{ "data": "123" }]]></payload>

        </action>
      </customActions>
    </mosPayload>
  </mosExternalMetadata>
</storyItem>

Metadata

Metadata

Assignees

No one assigned

    Labels

    IdeaIdeas or Proposal

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions