MediaLive S3 Put / Set different filename for HLS manifest and HLS Segments

0

Hello All,

We are trying to migrate our existing transcode workflow over to AWS Media Live via storing the HLS segments into S3 directly for our platform to pickup. Everything is stored in the same directory in S3. When I am setting this up as expected in Media Live I don't see a configuration that would result in the main manifest having a distinct name from the child manifest and ts segments.

Current Result
Main Manifest
/desktop-playlist.m3u8

Child Manifest
/desktop-playlist-1228k.m3u8
/desktop-playlist-2128k.m3u8

TS Segment
/desktop-playlist-1228k-00000.ts
/desktop-playlist-2128k-00000.ts

Desired result

Main Manifest
/desktop-playlist.m3u8

Child Manifest
/file-1228k.m3u8
/file-2128k.m3u8

TS Segment
/file-1228k-00000.ts
/file-2128k-00000.ts

Please let me know if this is possible or if anyone has any suggestions to try.

Thanks, Jay

3 Answers
0
Accepted Answer

To answer my own question, I have found a work around. I set the HLS output group to only output the child manifest and ts segments. Since our desktop-playlist content is persistent we are going to create it externally and place it into the directory as it is created.

Alternatively, we may just have medialive create the Main mainfest and rename the file at time of creation to our existing naming structure.

Jay

answered 2 years ago
0

MediaLive does offer the ability to create sub directories for each rendition in the Adaptive Bit Rate stack. This will write the top level manifest into the top directory, then create sub directories for 'Stream', where the child playlist and segments for that rendition are stored.

As an example for an HLS Output Group, select the top level Output Group, then expand the Location drop down and under Directory Structure choose SUB_DIRECTORY_PER_STREAM. The Stream sub directories will take their name from the Name Modifier defined in the individual outputs (ex. _2128k)

It is not advised to attempt to create sub directory names that end in .m3u8 or .ts. Those are extensions reserved for actual components of the Streams. This may cause confusion.

AWS
answered 2 years ago
0

Thanks for the quick response!

My goal is to have everything in the same directory, but have the Main manifest have a different name than the child manifest and TS segments.

Currently you define the HLS Rendition Group you give it the path and the name pre-fix for that manifest. This is also where it derives the filename prefix for the child manifests and ts segments.

So currently I have the below configured

HLS group destination A
s3:/directory/desktop-playlist

HLS output
Output 1 - Name Modifier (-5928k)
Output 2 - Name Modifier (-3128k)
etc

This results in this

/desktop-playlist.m3u8
/desktop-playlist-5928k.m3u8
/desktop-playlist-3128k.m3u8
/desktop-playlist-5928k-00000.ts
/desktop-playlist-3128k-00000.ts

I would like to make a configuration change that would result in the below

/desktop-playlist.m3u8
/file-5928k.m3u8
/file-3128k.m3u8
/file-5928k-00000.ts
/file-3128k-00000.ts

Let me know if that makes is clear what I'm trying to adjust.

Thanks, Jay

answered 2 years ago

You are not logged in. Log in to post an answer.

A good answer clearly answers the question and provides constructive feedback and encourages professional growth in the question asker.

Guidelines for Answering Questions