The capture intake API allows users to programmatically upload media directly into EchoVideo.
For details on routes and request/response formats see the Swagger UI under /pending-capture-uploads and /submitted-capture-uploads in your preferred region:
See Using Swagger Docs UI for API Calls for information on using the public API in general, including generating access credentials.
Upload Workflow
- Create a pending capture upload
- Take note of the one or more signed URLs returned
- Use the signed URLs to upload your media file(s)
- Periodically poll to check the status of your pending upload. Potential statuses are:
- New - none of the files have yet been uploaded
- Invalid - any uploaded files are > 5 GiB, OR, for a multi-part file one of the parts other than the final part is < 5 MiB
- Complete - all files have been uploaded and the job is not otherwise invalid
- In-progress - at least one of the files has been uploaded and the pending job is not otherwise invalid or complete
- Create a submitted capture upload from the completed pending capture upload
Processing and Retention
Signed upload URLs expire 24 hours before the corresponding pending capture upload entity itself expires, so they are good for 13 days.
For the best results, ensure all tracks are the same length and are in good time sync prior to upload.
Uploads with multiple media files are assumed to represent a single capture. The order of the tracks/files provided determines which video is considered "primary" for playback. Those media files are processed in the following ways:
Audio Tracks | |
---|---|
More than one audio track across the media files | One track will be selected for use |
More than one audio track in a file | The "best" audio will be used from that file |
Audio in more than one file | The first one will be used, based on the order the files are given in the POSTed JSON |
Video Tracks | |
More than one video track across the media files | A dual-stream capture will be produced |
More than two video tracks across the media files | Two will be selected for use |
Only one file with video tracks is provided and it has more than one video track | The first two video tracks (in order) will be used |
More than one file with video tracks and it has more than one video track | The "best" video from each file will be used |
Endpoints
-
/pending-capture-upload
represents an upload of media from a single capture which hasn't yet been submitted for processing -
/submitted-capture-upload
represents an upload for a single capture which has been submitted for processing
Limitations
Files may need to be uploaded in parts, based on the size. Based on the limitations of S3, a file larger than 5GiB cannot be uploaded in a single part. The user can specify a preferred partSizeInBytes
when creating a pending capture upload. The size can be anywhere between 5MiB and 5GiB.