Provides an upload ticket that allows you to upload a video to a secure location where SafeStream can ingest it. This method supports video files up to 5GB in size.
This endpoint exists for securely uploading videos into SafeStream. There is no static location for uploading videos into SafeStream. Instead, you can use this point to request an upload URL. This endpoint will return an upload URL as well as the credentials needed to upload to the given URL.
Once you have a response from this endpoint use it to upload your video to the URL provided. Below is an example of uploading to SafeStream using the response from this endpoint.
curl -i -X PUT "[FILE_URL_FROM_UPLOAD_RESPONSE]" -H "Authorization: [AUTHORIZATION_FROM_UPLOAD_RESPONSE]*" -H "x-amz-acl: [AMZ_ACL_FROM_UPLOAD_RESPONSE]" -H "x-amz-date: [AMZ_DATE_FROM_UPLOAD_RESPONSE]" -H 'Content-Type: [CONTENT-TYPE-FROM-UPLOAD-REQUEST]' -T /videos/myVideo.mov
function uploadFile(fileObject) {
xhr = new XMLHttpRequest();
xhr.open('PUT', '[FILE_URL_FROM_UPLOAD_RESPONSE]', true);
xhr.setRequestHeader('x-amz-date', 'AMZ_DATE_FROM_UPLOAD_RESPONSE');
xhr.setRequestHeader('Authorization', 'AUTHORIZATION_FROM_UPLOAD_RESPONSE');
xhr.setRequestHeader('x-amz-acl', 'AMZ_ACL_FROM_UPLOAD_RESPONSE');
xhr.send(fileObject);
}
Check the Response
A 200 HTTP response status indicates that the video was uploaded and you should continue to ingest the video using the same file URL.
Auth Problems
If you received a 401 or 403 response when trying to upload your file, check to be sure that all fields in the upload PUT request match the response from original upload request. Inconsistencies in these fields will result in a failure to authenticate or authorize.
Uploading to SafeStream is recommended but not required
The endpoint for ingesting a video only requires that the sourceUrl is accessible to SafeStream. Public URL's can be ingested without having been uploaded to SafeStream first.