Videos
Get TUS' parameters for direct upload
Use this method to get TUS' session parameters: hostname of the server to upload, secure token.
The general sequence of actions for a direct upload of a video is as follows:
- Create video entity via POST method "Create video"
- Get TUS' session parameters (you are here now)
- Upload file via TUS client, choose your implementation on tus.io
Final endpoint for uploading is constructed using the following template: "https://{hostname}/upload/". Also you have to provide token, client_id, video_id as metadata too.
A short javascript example is shown below, based on tus-js-client. Variable "data" below is the result of this API request. Please, note that we support 2.x version only of tus-js-client.
uploads[data.video.id] = new tus.Upload(file, {
endpoint: `https://${data.servers[0].hostname}/upload/`,
metadata: {
filename: data.video.name,
token: data.token,
video_id: data.video.id,
client_id: data.video.client_id
},
onSuccess: function() {
...
}
}
uploads[data.video.id].start();
get/streaming/videos/{video_id}/upload
Path parameters
video_idinteger required
Video ID.
IDs of all created videos can be received via Get All Videos request
Response
Successful
Example response
{
"servers": [
{
"id": 15,
"hostname": "example.com"
}
],
"token": "X2lkIjoxMDE1fSwi",
"video": {
"id": 17,
"name": "Video",
"description": "Conference July",
"client_id": 100,
"duration": 4120,
"slug": "zInSg1FL80",
"origin_size": 2974741,
"origin_host": "origin.host.org",
"origin_resource": "",
"origin_height": 1080,
"screenshots": [
"https://screenshot1.example.com/494.jpg"
],
"screenshot_id": 0,
"ad_id": 2,
"projection": "regular",
"client_user_id": 10,
"hls_url": "https://example.com/master.m3u8"
}
}