Search code examples
amazon-web-servicesvideo-streamingamazon-elastic-transcoder

Can I use AWS Elastic Trancoder to encode multiple formats in one job?


I'm a video noob, and I have to encode a bunch of videos for streaming to an iPhone app - so I need to produce multiple screen sizes and bandwidths (for iphone, ipad etc and for wireless data, cell data, etc). I'm using AWS Elastic Transcoder.

I can only see how to do one resolution and one format per job. Does that mean I have to set up a whole bunch of jobs for each combination of screen size and bandwidth? Or is there some way to get them all into one job?

In particular, I understand that all the different streams need to be described in one .m3u8 file, so an auxiliary question is how to get the Elastic Transcoder to combine multiple streams into one description in one .m3u8 file. Maybe I have to concatenate all the different .m3u8 files from different jobs?


Solution

  • Yes. One job can generate multiple outputs, including multiple MP4 files at different resolutions/bitrates, and/or HLS or smooth format that has multiple streams and a playlist.

    1. If you go to the console (UI), you will see that you can click the "+ Add Another Output" link to be able to define additional outputs (different MP4, or an additional HLS profile)

    2. if you generate a HLS or Smooth output, you should also (in the same job) click the "add playlist" button. you than define all the outputs that you want the playlist to included.

    When the job is complete, all outputs and playlist(s) are generated to the specified location.