{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "$id": "schema:VideoObject",
  "title": "VideoObject",
  "description": "A video file.",
  "type": "object",
  "allOf": [
    {
      "description": "A media object, such as an image, video, audio, or text object embedded in a web page or a downloadable dataset i.e. DataDownload. Note that a creative work may have many media objects associated with it on the same web page. For example, a page about a single song (MusicRecording) may have a music video (VideoObject), and a high and low bandwidth audio stream (2 AudioObject's).",
      "$ref": "schema:MediaObject"
    }
  ],
  "properties": {
    "actor": {
      "description": "An actor (individual or a group), e.g. in TV, radio, movie, video games etc., or in an event. Actors can be associated with individual items or with a series, episode, clip.",
      "oneOf": [
        {
          "anyOf": [
            { "$ref": "schema:PerformingGroup" },
            { "$ref": "schema:Person" }
          ]
        },
        {
          "type": "array",
          "items": {
            "anyOf": [
              { "$ref": "schema:PerformingGroup" },
              { "$ref": "schema:Person" }
            ]
          }
        }
      ]
    },
    "actors": {
      "description": "An actor, e.g. in TV, radio, movie, video games etc. Actors can be associated with individual items or with a series, episode, clip.",
      "oneOf": [
        { "$ref": "schema:Person" },
        { "type": "array", "items": { "$ref": "schema:Person" } }
      ]
    },
    "caption": {
      "description": "The caption for this object. For downloadable machine formats (closed caption, subtitles etc.) use MediaObject and indicate the [[encodingFormat]].",
      "anyOf": [{ "type": "string" }, { "$ref": "schema:MediaObject" }]
    },
    "director": {
      "description": "A director of e.g. TV, radio, movie, video gaming etc. content, or of an event. Directors can be associated with individual items or with a series, episode, clip.",
      "$ref": "schema:Person"
    },
    "directors": {
      "description": "A director of e.g. TV, radio, movie, video games etc. content. Directors can be associated with individual items or with a series, episode, clip.",
      "oneOf": [
        { "$ref": "schema:Person" },
        { "type": "array", "items": { "$ref": "schema:Person" } }
      ]
    },
    "embeddedTextCaption": {
      "description": "Represents textual captioning from a [[MediaObject]], e.g. text of a 'meme'.",
      "oneOf": [
        { "type": "string" },
        { "type": "array", "items": { "type": "string" } }
      ]
    },
    "musicBy": {
      "description": "The composer of the soundtrack.",
      "anyOf": [{ "$ref": "schema:MusicGroup" }, { "$ref": "schema:Person" }]
    },
    "transcript": {
      "description": "If this MediaObject is an AudioObject or VideoObject, the transcript of that object.",
      "type": "string"
    },
    "videoFrameSize": {
      "description": "The frame size of the video.",
      "type": "string"
    },
    "videoQuality": {
      "description": "The quality of the video.",
      "type": "string"
    }
  }
}
