OTT Navigator

OTV media library format (JSON)

OTV is the preferred format for a media library (movies, series, TV shows) in JSON. Give its address in the vod_library attribute of an M3U or OTC playlist. A marker like (since 1.7.1.3) is the first app version that reads a field.

The app treats a file as OTV when its address ends in .otv or otv.json, or when it starts with [.

General rules:

Outer structure of the json file

The file is an array of items. An item with video is a movie; an item with seasons is a series (or a TV show with tv_show). Movies, series and TV shows go into separate root folders of the library.

Item fields:

Season fields:

Episode fields:

Playback fields, for a movie item and for an episode (since 1.6.6.7):

[
  {
    "name": "Test video",
    "category": "Action",
    "info": { "poster": "http://example.com/poster.jpg", "year": 2019 },
    "video": "http://example.com/video/file.mp4"
  },
  {
    "name": "Test series",
    "category": { "name": "Drama", "icon": "http://example.com/drama.png" },
    "info": { "poster": "http://example.com/series.jpg" },
    "seasons": [
      {
        "season": 1,
        "episodes": [
          { "episode": 1, "name": "Intro", "video": "http://example.com/s01e01.mp4" },
          "http://example.com/s01e02.mp4"
        ]
      }
    ]
  }
]

Inner structure of the item (“info” field of movie/series/season/episodes)

An episode without a field takes it from its season’s info, then from the series’ info.

"info": {
  "poster": "http://example.com/poster.jpg",
  "bg": "http://example.com/background.jpg",
  "backdrop": "http://example.com/frame.jpg",
  "plot": "Something happens...",
  "cast": ["John Doe", "Jane Doe"],
  "director": ["Mr. Smith"],
  "country": ["Zimbabwe"],
  "genre": ["drama", "history"],
  "rating": "5.5",
  "year": 2019,
  "duration": 3600,
  "added": 1700000000,
  "ttl": 1800000000,
  "adult": false,
  "trailer": "HGH34ghgAU",
  "imdb": "tt0000001",
  "tmdb": "12345"
}

Technical headers in OTV format

An item without name is not added to the library; such an item can carry settings for the items after it (since 1.6.9.3):

Full sample of JSON VOD library

See sample_file_otv.json.