AWS cannot load m3u8 no levels to play

Adding a new video on the streaming Yoga site after a while, I had mis-configured something in the Elastic Transcoder settings and was getting an error in the JW Player instance: cannot load m3u8 no levels to play.

I tried updating the contents of the index.m3u8 file that was supposed to concatenate all of the .ts segment files, but to no avail.

Then deleted the output directories for the thumbnails and video streams and started over from the Elastic Transcoder.

You’ve got to set output keys for each bitrate of video that should be accessible, and create an additional output stream for each:

Screen Shot 2016-03-09 at 9.02.41 PM

Screen Shot 2016-03-09 at 9.02.53 PM

There needs to be a “main” m3u8 file that is the URI you point to, which in turn points to an m3u8 file for each of the bitrates you want playlists for, and each of these needs to have permissions set so that “Everyone” can Open/Download.

Wait. For our set-up, it appears that each one of the .ts files needs to be publicly viewable. I know I didn’t manually grant permissions to each one. How do I do that?

That’s it! Using good old s3cmd. s3cmd setacl s3://myexamplebucket/directory_here/ --acl-public --recursive

All thousand-something files of “Inspiration Ecstasy” fly across the terminal being opened up for public viewing.

UPDATED screen shot:

AWS Elastic Transcoder Screenshot