I have an app which receives a video file and a text from a front-end form, creates a video intro with text, merges this intro with 1 to 2 hour video. Everything is being encoded using ffmpeg, after the encode job completes, it uploads final video to S3 bucket. I wonder which will be the fastest option on AWS? Lambda is limited to run 15 mins max and not allowing to choose, e.g., 32 core CPU. I also want to modify the app so it'll upload 10 videos simultaneously and I want the ffmpeg to start the job as soon as a particular file reaches a server. Should I use the Beanstalk with 2-4 very powerful instances? Or should I use one EC2 32 core instance to do the job? Please advise.
1 Answers
How about using a service instead of a server? AWS Elemental Mediaconvert is file based and can do things like add intro clips, text overs, etc.
The basic tier says it includes "clipping, stitching, and static overlays, among others" and the current price is 1.5c per minute at HD - SD and 4K costs more. So to convert a 2 hour video in HD costs about $1.80, which might be good value given the high cost of high CPU instances and not having them fully utilized. SD would be $0.90 and 4K $3.60. S3 storage cost for the output should be negligable.
If you need different CODECs the professional tier costs a bit more but has a lot more features.
Otherwise I wonder if you can parallelise lambda encoding to create chunks then stitch them together to save having servers.
- 33,870
- 7
- 56
- 84