Elemental Mediaconvert job template for Video on Demand


I launched the fully managed video on demand template from here https://aws.amazon.com/solutions/implementations/video-on-demand-on-aws/?did=sl_card&trk=sl_card. I have a bunch of questions on how to tailor this service to my use case. I will each separate questions for each.

Firstly, is possible to use my own GUID as an identifier for the mediaconvert jobs and outputs. The default GUID tagged onto the videos in this workflow are independent of my application server. So it's difficult for the server to track who owns what video on the destination s3 bucket.

Secondly, I would like to compress the video input for cases where the resolution is higher than 1080p. For my service i don't want to process any videos higher than 1080p. Is there a way i can achieve this without adding a lamda during the ingestion stage to compress it? I know it can by compressed on the client, i am hoping this can be achieved on this workflow, perhaps using mediaconvert?

Thirdly, based on some of the materials i came across about this service, aside from the hls files mediaconvert generates, its supposed to generate an mp4 version of my video for cases where a client wants to download the full video as opposed to streaming. That is not the default behaviour, how do i achieve this?

Lastly, how do i add watermarks to my videos in this workflow.

Forgive me if some of these questions feel like things i could have easily researched on and gotten solutions. I did do some research, but i failed to grasp a clear understanding on anything

1 Answer
Accepted Answer

Let's address your questions individually GUID. If you are referring to the Job ID, that is a value generated by the MediaConvert service and is not able to be defined. You may use your own UID number by including in the output file names, and perhaps the input files as well. You can modify the MediaConvert job json or Template included in the VOD solution to include <my_uid><output_file_name>. You may also want to rename the uploaded source files by ading <my_uid> to their names. This could be accomplished by modifying the S3 Lambda function that kicks off when a file is uploaded

Source files >1080p. MediaConvert will convert any input source resolution to the defined output resolutions. Example a 4K video (3840x2160) will be converted into an HLS ABR stack of 1080p, 720p, 540p, 640, 320p in the same way that a 1080p source file would be processed. If you prefer to not have the 4K file, MediaConvert could first transcode it to a 1080p mezzanine file, then kick off the HLS transcodes. The S3 upload Lambda function could be modified to detect >10800 and do the initial conversion.

MediaConvert can create a variety of output file formats. The VOD solution focuses on HLS ABR renditions. The job json or template could be modified to add an MP4 file output at a desired bitrate. Using the existing json included in the VOD solution, you can load it into a MediaConvert job in the AWS MediaConvert console, add an Output Group for File and define an MP4 output. Save that json or template and replace the original in the CloudFormation Template with the modified one.

Watermarks: MediaConvert has the ability to insert a Graphic Overly, both a Static image and Motion Image. You could use a logo or some static image to include in the transcoded video outputs. See here for a reference. https://docs.aws.amazon.com/mediaconvert/latest/ug/graphic-overlay.html

answered 2 years ago
profile picture
reviewed 2 months 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