« Back to demos index

Multiple encoding steps for the same file

Our assembly instructions syntax permits very flexible encoding templates.

One common use case is to encode a video into several formats, extract thumbnails from the original uploaded file and resize these thumbnails again.

If you leverage the use parameter to tell your robots which results of which step they should use, this all becomes child's play. See below for yourself.
The "use" parameter can take the value of an encoding step, the value ":original" in which case it will use the originally upload file(s), or an array of encoding steps.

Check the "export" step in "The template" to see how flexible this parameter is.

"steps": {
  "flash_video": {
    "use": ":original",
    "robot": "/video/encode",
    "preset": "flash",
    "width": 854,
    "height": 480
  },
  "iphone_video": {
    "use": ":original",
    "robot": "/video/encode",
    "preset": "iphone"
  },
  "thumbnails": {
    "use": ":original",
    "robot": "/video/thumbs"
  },
  "resized_thumbs": {
    "robot": "/image/resize",
    "use": "thumbnails",
    "width": 130,
    "height": 130
  },
  "export": {
    "robot": "/s3/store",
    "use": [":original", "flash_video", "iphone_video", "resized_thumbs"],
    "key": "YOUR_AWS_KEY",
    "secret": "YOUR_AWS_SECRET",
    "bucket": "YOUR_S3_BUCKET"
  }
}
$(function() {
  $('form').transloadit({
    wait: true,
    autoSubmit: true
  });
});

The form

For demos we allow a maximum of 30MB.

This form is html5-multiupload enabled. If your browser supports it, you can select multiple files and execute the template with them.