Reachora Video for ESC

S3 Directory Structure

For the ESC video identified by ESC2018/Scientific Programme/164679, the following structure would exist within S3:

assets-esc265-video/
└── ESC2018
    └── Scientific\ Programme
        └── 164679
            ├── HLS
            │   ├── reachora-1234
            │   ├── reachora-4567
            │   └── reachora-current.json
            └── VOD
                ├── infos.json
                └── data.json

In this case reachora-current.json would have content with the following format:

{
  "hls_manifest_path": "reachora-4567/index.m3u8",
  "encoded_at": "2018-10-18T13:02:32.000Z",
  "copied_at": "2019-02-21 15:09:26 UTC",
  "duration_seconds": 110,
  "heights": [
    360,
    480,
    720,
    1080
  ],
  "reachora_video_code": "cc518c2161f14d1f8d228a2c0c600ee5"
}

A playing application would check that the manifest file exists, then use the value of the hls_manifest_path field to build the URL of the latest version of the HLS.

Garbage Collection

In the above example, the subdirectory reachora-1234 is no longer referenced in reachora-current.json, and can be safely deleted.

Notifying of New or Updated Videos

An API is available to notify of new or updated videos. This API is protected by Basic Authentication, the password for which is not published here. Below is an example of calling this API with cURL.

curl -v \
  --header "Content-Type: application/json" \
  --user "esc:PASSWORD" \
  --request POST \
  --data '{"video_path":"ESC2018/Scientific Programme/164679"}' \
  "https://esc-ingest-api.reachora.com/videos"

This call results in a re-encoding of the video recognised by the identifier ESC2018/Scientific Programme/164679. The response body is JSON, and contains the reachora_video_code.

Error Messages

All error cases return a 422 HTTP status, with an error message in the body of each. These are listed below: