The /video/adaptive Robot
We offer a variety of video encoding features like optimizing for different devices, merging, injecting ads, changing audio tracks, or adding company logos.
The /video/adaptive Robot encodes videos into HTTP Live Streaming (HLS) and MPEG-Dash supported formats and generates the necessary manifest and playlist files.
||(required) String / Array of Strings / Object||
GeneralSpecifies which Step(s) to use as our input.
Special Step namesA special Step name is
Providing several Steps as inputYou can add arrays to
That's likely all you need to know about
› Advanced use cases
Step bundlingSome Robots can gather several Step results for a single invocation. For example, the /file/compress Robot would normally create one archive for each file passed to it. If you'd set
This is also a crucial parameter for the /video/adaptive Robot, otherwise you'll generate 1 playlist for each viewing quality.
Keep in mind that all input Steps must be present in your Template. If one of them is missing (for instance it is rejected by a filter), no result is generated because the Robot waits indefinitely for all input Steps to be finished. Here's a demo that showcases Step bundling.
Group by originalSticking with the /file/compress Robot example, you can set
FieldsYou can be more discriminatory by only using files that match a field name by setting the
Use AsSometimes Robots take several inputs. For instance, the /video/merge Robot can create a slideshow from audio and images. You can map different Steps to the appropriate inputs. Example:
Sometimes the ordering is important, for instance, with our concat Robots. In these cases, you can add an index that starts at 1. You can also optionally filter by the multipart field name. Like in this example, where all files are coming from the same source (end-user uploads), but with different
For times when it is not apparent where we should put the file, you can use Assembly Variables to be specific. For instance, you may want to pass a text file to the /image/resize Robot to burn the text in an image, but you are burning multiple texts, so where do we put the text file? We use specify it via
||Determines which streaming technique should be used. Currently supports
||The filename for the generated manifest/playlist file. The default is
||The duration for each segment in seconds.|
||Determines whether you want closed caption support when using the
||Selects the FFmpeg stack version to use for encoding.
These versions do not reflect any real
FFmpeg versions, they reflect our own internal (non-semantic)
versioning for our custom FFmpeg builds.
The current recommendation is to use
Our /video/adaptive Robot can be used in combination with other Robots, to create powerful workflows unique to your use case. Here are a few example scenarios that you can try live on our website:
- Implement HTTP Live Streaming (HLS)
- Implement MPEG-Dash using Transloadit
- Make video compatible for all devices
Transloadit is a SaaS with a subscription model.
Our /video/adaptive Robot counts towards your plan's data at a normal rate. It charges at minimum 0MB whenever it is used. Assuming the Startup Plan and an average video size of 80MB, you could convert 102 videos for $49/month.
Just like with your mobile plan, pricing goes down considerably when you commit to larger monthly volumes. You can adjust this every month. More info and available plans on our Pricing page.
Blog posts about the /video/adaptive Robot
We wrote the following posts about the /video/adaptive Robot on our blog:
- Adding support for MPEG-Dash October 11, 2016
- Helping Coursera Bring Education to Millions Around the World February 11, 2015