Video transcoding

Priority: Medium
Request: I need to convert admin uploaded video files, but heroku is crashing due to 1GB memory limit.
This is a fitness app and we must serve video content to mobile devices. We opted for HLS video output format and we are trying to transcode it with ffmpeg.

How can we handle this? Is there a better option to do this?

Project ID: besocialyyc-18660
Project Link: https://app.crowdbotics.com/dashboard/app/19770

1 Like

Hi @radac, thanks for writing in!

Heroku isn’t suited for video transcoding. Have you looked into cloud transcoding services, such as https://aws.amazon.com/elastictranscoder/?

1 Like

Thank you @dmitrii.k, client approved this method of transcoding.
Can you please enable this service for the project?

I would need following information to send transcoding jobs.

  1. Role (which should have permision to read from S3 storage bucket)
  2. Queue
1 Like

@dmitrii.k actually we will need this service for the transcoding. Appologies for the confusion, can you help us with this service to be enabled?

1 Like

Good choice, MediaConvert offers more features than Elastic Transcoder. I’ll post here once it’s configured.

@radac, I’ve set up required MediaConvert resources for your project and added associated permissions to your account. This includes two additional S3 transcoding input/output buckets for your convenience. Your permissions are limited to your specific queue.

The following variables have been added to your production environment:

AWS_MEDIACONVERT_QUEUE
AWS_MEDIACONVERT_BUCKET_INPUT
AWS_MEDIACONVERT_BUCKET_OUTPUT

The queue and the additional buckets are created in your AWS_STORAGE_REGION.

Please let me know if there is anything else I can help you with.

Hello @dmitrii.k

Here is an error when I try to use the trans coding features. I need to get Account API URL with describe endpoints.

An error occurred (AccessDeniedException) when calling the DescribeEndpoints operation: User: arn:aws:iam::846552420244:user/besocialyyc-19770 is not authorized to perform: mediaconvert:DescribeEndpoints on resource: arn:aws:mediaconvert:us-east-2:846552420244:endpoints/*

Can you enable this permission?

Thank you :slight_smile:

1 Like

Hello, @radac!

I’ve updated your account permissions. Please let me know if that fixes this issue for you.

Hello,

Oh I do encounter another permission issue right now, please see below.

An error occurred (AccessDeniedException) when calling the CreateJob operation: User: arn:aws:iam::846552420244:user/besocialyyc-19770 is not authorized to perform: iam:PassRole on resource: arn:aws:iam::846552420244:role/*

Thank you :slight_smile:

Of course, @radac. Could you please tell me which role exactly you are trying to pass to the job?

Hi @dmitrii.k,

Can you please create a role and add pass role permissions for user arn:aws:iam::846552420244:user/besocialyyc-19770 on that role? You have not yet provided role, also this must have permissions to media convert.

Hi @radac,

I created a role for MediaConvert service for you and made sure your account has permissions to pass it. Role ARN is arn:aws:iam::846552420244:role/media_convert_besocial.

Oh, now another permission exception.
Here is the full error message.

An error occurred (AccessDeniedException) when calling the CreateJob operation: User: arn:aws:iam::846552420244:user/besocialyyc-19770 is not authorized to perform: mediaconvert:CreateJob on resource: arn:aws:mediaconvert:us-east-2:846552420244:presets/System-Avc_16x9_720p_29_97fps_6500kbps

@dmitrii.k can you please help me on above issue?

Hi @radac, thanks for your message.

I don’t see any presets in console, please double-check that it was persisted. AWS will return AccessDenied on resources that don’t exist.