Similarly, you can <i>compile</i> ffmpeg on Lambda, in 0.5 minutes, for 9 cents.[1] Versus 10 min on one core, for ~free. And while -j200 of ffmpeg is nice, -j1000 of the linux kernel is... wow, like seeing the future.<p>[1] demo in a talk: <a href="https://www.youtube.com/watch?v=O9qqSZAny3I&t=55m15s" rel="nofollow">https://www.youtube.com/watch?v=O9qqSZAny3I&t=55m15s</a> (the actual run (sans uploading) is at <a href="https://www.youtube.com/watch?v=O9qqSZAny3I&t=1h2m58s" rel="nofollow">https://www.youtube.com/watch?v=O9qqSZAny3I&t=1h2m58s</a> ); code: <a href="https://github.com/StanfordSNR/gg" rel="nofollow">https://github.com/StanfordSNR/gg</a> ; some slides (page 24): <a href="http://www.serverlesscomputing.org/wosc2/presentations/s2-wosc-slides.pdf" rel="nofollow">http://www.serverlesscomputing.org/wosc2/presentations/s2-wo...</a>
Very cool. I hope more of the "value add" stuff from cloud providers ($$$) can be replaced with open source running on their cloud functions. My suggestions:<p>* FFmpeg supports http/https as input protocols if compiled with the options enabled. See `ffmpeg -protocols`<p>* You can parallelize or chunk FFmpeg to enable longer inputs, e.g. I found <a href="https://github.com/nergdron/dve/blob/9f1ca516b18f50d1d99d15e1fa70879cb30576cd/dve" rel="nofollow">https://github.com/nergdron/dve/blob/9f1ca516b18f50d1d99d15e...</a><p>* Try with larger memory sizes. Larger memory = more CPU for Lambda which may result in shorter transcodes. You might even pay the same amount if the transcodes are CPU bound and finish in roughly linear time wrt CPUs
Next installment: "Running FFmpeg on a tower under my desk for 1% the cost of AWS Lambda".<p>Is there any effort to on-prem lambda stuff yet? I know it's a moving target, but I wouldn't recommend getting into cloud stuff you can't migrate out of.
Their tool which facilitates the packaging and relocation of dynamically linked binaries is interesting: <a href="https://github.com/intoli/exodus" rel="nofollow">https://github.com/intoli/exodus</a><p>"Painless relocation of Linux binaries–and all of their dependencies–without containers."
Very misleading title. Elastic Transcoder pricing applies primarily to video. This tutorial only covers the audio transcription which is much, much less resource-intensive.
Misleading title. Article is about audio encoding, not video. Better: “Using FFmpeg on AWS Lambda for audio encoding at 1.9% of cost for AWS Elastic Transcoder”
What's the benefit of using Exodus over just using the official-ish static builds of FFmpeg? <a href="https://johnvansickle.com/ffmpeg/" rel="nofollow">https://johnvansickle.com/ffmpeg/</a><p>This works just fine on AWS Lambda. The `ffmpeg` binary there weighs in at 46 MB. Unless you need something not bundled with that build, it seems like this is sufficient and is easier to set up.
It looks like the youtube download has to complete before ffmpeg can start; is there a way to start processing the head while the tail is still being written?<p>This problem comes up a lot with storage blobs. The bigger they are the worse it is to serialize write/reads.
This is great. I wouldn't have thought to run FFmpeg on Lambda.<p>I'm going to stick with Elastic Transcoder for now though. I like that I have no upgrades to maintain and very little code. I feel like if I did this, it would take me years to recoup the cost even with a 99% savings.<p>But that is only because I only have a few videos a month. Roughly $1.00 on Elastic Transcoder. If I had thousands or even hundreds of videos this seems like a great and worthwhile project. Especially since this article appears to take a lot of the trial and error and proof of concept out of the mix.<p>I worked for a large Internet company that had a Netflix like product back in 2007. The transcoders were literally just plugged in underneath people's cubicles. Kept things nice and warm in the winter and I'm sure the costs were pretty low.
I used FFmpeg static build to transcode WAV to mp3, but the latest 64-bit build gave me corrupt files, so I had to hunt down an archived version. Works well though!
Yes well, now you just have to pay the fee for licensing the codecs FFmpeg gives you ;). What was it? One million dollars for MP4? Good luck with that.