Skip to content

Instantly share code, notes, and snippets.

@binoculars
Created February 15, 2016 20:18
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save binoculars/1b064a6681c19a4eef10 to your computer and use it in GitHub Desktop.
Save binoculars/1b064a6681c19a4eef10 to your computer and use it in GitHub Desktop.
aws-lambda-ffmpeg installation
➜ ~ git clone https://github.com/binoculars/aws-lambda-ffmpeg.git
Cloning into 'aws-lambda-ffmpeg'...
remote: Counting objects: 137, done.
remote: Total 137 (delta 0), reused 0 (delta 0), pack-reused 137
Receiving objects: 100% (137/137), 179.76 KiB | 0 bytes/s, done.
Resolving deltas: 100% (76/76), done.
Checking connectivity... done.
➜ ~ cd aws-lambda-ffmpeg
➜ aws-lambda-ffmpeg git:(master) npm i
npm WARN deprecated lodash@1.0.2: lodash@<3.0.0 is no longer maintained. Upgrade to lodash@^4.0.0.
/
> aws-lambda-ffmpeg@0.0.0 postinstall /Users/barrett/aws-lambda-ffmpeg
> gulp postinstall
[14:10:07] Using gulpfile ~/aws-lambda-ffmpeg/gulpfile.js
[14:10:07] Starting 'postinstall'...
[14:10:07] Finished 'postinstall' after 5.58 ms
gulp-rename@1.2.2 node_modules/gulp-rename
async@1.5.2 node_modules/async
run-sequence@1.1.5 node_modules/run-sequence
└── chalk@1.1.1 (escape-string-regexp@1.0.4, supports-color@2.0.0, ansi-styles@2.1.0, has-ansi@2.0.0, strip-ansi@3.0.0)
gulp-zip@3.1.0 node_modules/gulp-zip
├── yazl@2.3.0 (buffer-crc32@0.2.5)
├── chalk@1.1.1 (escape-string-regexp@1.0.4, supports-color@2.0.0, ansi-styles@2.1.0, strip-ansi@3.0.0, has-ansi@2.0.0)
├── concat-stream@1.5.1 (inherits@2.0.1, typedarray@0.0.6, readable-stream@2.0.5)
└── through2@0.6.5 (readable-stream@1.0.33, xtend@4.0.1)
gulp-flatten@0.2.0 node_modules/gulp-flatten
└── through2@2.0.1 (xtend@4.0.1, readable-stream@2.0.5)
del@2.2.0 node_modules/del
├── is-path-cwd@1.0.0
├── object-assign@4.0.1
├── pify@2.3.0
├── pinkie-promise@2.0.0 (pinkie@2.0.4)
├── is-path-in-cwd@1.0.0 (is-path-inside@1.0.0)
├── rimraf@2.5.2 (glob@7.0.0)
└── globby@4.0.0 (arrify@1.0.1, array-union@1.0.1, glob@6.0.4)
gulp-util@3.0.7 node_modules/gulp-util
├── array-differ@1.0.0
├── array-uniq@1.0.2
├── beeper@1.1.0
├── lodash._reescape@3.0.0
├── lodash._reevaluate@3.0.0
├── lodash._reinterpolate@3.0.0
├── object-assign@3.0.0
├── replace-ext@0.0.1
├── has-gulplog@0.1.0 (sparkles@1.0.0)
├── fancy-log@1.2.0 (time-stamp@1.0.0)
├── minimist@1.2.0
├── gulplog@1.0.0 (glogg@1.0.0)
├── vinyl@0.5.3 (clone-stats@0.0.1, clone@1.0.2)
├── lodash.template@3.6.2 (lodash._basecopy@3.0.1, lodash._basetostring@3.0.1, lodash._basevalues@3.0.0, lodash.templatesettings@3.1.1, lodash.restparam@3.6.1, lodash._isiterateecall@3.0.9, lodash.escape@3.2.0, lodash.keys@3.1.2)
├── multipipe@0.1.2 (duplexer2@0.0.2)
├── chalk@1.1.1 (escape-string-regexp@1.0.4, supports-color@2.0.0, ansi-styles@2.1.0, has-ansi@2.0.0, strip-ansi@3.0.0)
├── through2@2.0.1 (xtend@4.0.1, readable-stream@2.0.5)
└── dateformat@1.0.12 (get-stdin@4.0.1, meow@3.7.0)
gulp@3.9.1 node_modules/gulp
├── interpret@1.0.0
├── pretty-hrtime@1.0.1
├── deprecated@0.0.1
├── archy@1.0.0
├── tildify@1.1.2 (os-homedir@1.0.1)
├── v8flags@2.0.11 (user-home@1.1.1)
├── minimist@1.2.0
├── semver@4.3.6
├── orchestrator@0.3.7 (stream-consume@0.1.0, sequencify@0.0.7, end-of-stream@0.1.5)
├── chalk@1.1.1 (escape-string-regexp@1.0.4, supports-color@2.0.0, ansi-styles@2.1.0, has-ansi@2.0.0, strip-ansi@3.0.0)
├── liftoff@2.2.0 (extend@2.0.1, rechoir@0.6.2, flagged-respawn@0.3.1, resolve@1.1.7, findup-sync@0.3.0)
└── vinyl-fs@0.3.14 (graceful-fs@3.0.8, strip-bom@1.0.0, defaults@1.0.3, vinyl@0.4.6, mkdirp@0.5.1, glob-stream@3.1.18, through2@0.6.5, glob-watcher@0.0.6)
gulp-install@0.6.0 node_modules/gulp-install
├── which@1.2.4 (isexe@1.1.2, is-absolute@0.1.7)
└── through2@2.0.1 (xtend@4.0.1, readable-stream@2.0.5)
gulp-shell@0.5.2 node_modules/gulp-shell
├── through2@2.0.1 (xtend@4.0.1, readable-stream@2.0.5)
└── lodash@4.3.0
aws-sdk@2.2.12 node_modules/aws-sdk
├── xmlbuilder@0.4.2
├── xml2js@0.2.8
└── sax@0.5.3
➜ aws-lambda-ffmpeg git:(master) nano config.json
➜ aws-lambda-ffmpeg git:(master) cat config.json
{
"videoMaxWidth": 320,
"videoMaxDuration": 60,
"functionBucket": "function-bucket-a1b2",
"sourceBucket": "src-bucket-a1b2xzcb7431",
"destinationBucket": "dst-bucket-a1b2xzcb7431",
"linkPrefix": "http://my.site/",
"gzip": false,
"format": {
"image": {
"extension": "png",
"mimeType": "image/png"
},
"video": {
"extension": "mp4",
"mimeType": "video/mp4"
}
}
}
➜ aws-lambda-ffmpeg git:(master) aws s3api create-bucket --bucket function-bucket-a1b2
{
"Location": "/function-bucket-a1b2"
}
➜ aws-lambda-ffmpeg git:(master) export AWS_REGION=us-east-1
➜ aws-lambda-ffmpeg git:(master) gulp
[14:14:29] Using gulpfile ~/aws-lambda-ffmpeg/gulpfile.js
[14:14:29] Starting 'default'...
[14:14:29] Starting 'build-upload'...
[14:14:29] Starting 'clean'...
[14:14:29] Finished 'clean' after 28 ms
[14:14:29] Starting 'download-ffmpeg'...
[14:14:32] Finished 'download-ffmpeg' after 3.22 s
[14:14:32] Starting 'untar-ffmpeg'...
x ffmpeg-git-20160215-64bit-static/
x ffmpeg-git-20160215-64bit-static/ffserver
x ffmpeg-git-20160215-64bit-static/GPLv3.txt
x ffmpeg-git-20160215-64bit-static/ffmpeg-10bit
x ffmpeg-git-20160215-64bit-static/manpages/
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-all.txt
x ffmpeg-git-20160215-64bit-static/manpages/ffserver.txt
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-bitstream-filters.pdf
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-scaler.txt
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-resampler.txt
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-devices.pdf
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-filters.txt
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-protocols.pdf
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-scaler.pdf
x ffmpeg-git-20160215-64bit-static/manpages/ffprobe.txt
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-devices.txt
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg.pdf
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-formats.pdf
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-codecs.pdf
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-utils.txt
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-resampler.pdf
x ffmpeg-git-20160215-64bit-static/manpages/ffprobe.pdf
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-utils.pdf
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-protocols.txt
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-codecs.txt
x ffmpeg-git-20160215-64bit-static/manpages/ffserver.pdf
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-filters.pdf
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-bitstream-filters.txt
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-all.pdf
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg.txt
x ffmpeg-git-20160215-64bit-static/manpages/ffmpeg-formats.txt
x ffmpeg-git-20160215-64bit-static/ffprobe
x ffmpeg-git-20160215-64bit-static/qt-faststart
x ffmpeg-git-20160215-64bit-static/readme.txt
x ffmpeg-git-20160215-64bit-static/ffmpeg
[14:14:34] Finished 'untar-ffmpeg' after 1.46 s
[14:14:34] Starting 'copy-ffmpeg'...
[14:14:34] Starting 'js'...
[14:14:34] Starting 'npm'...
[14:14:34] Finished 'js' after 13 ms
[14:14:34] Finished 'copy-ffmpeg' after 158 ms
/
> aws-lambda-ffmpeg@0.0.0 postinstall /Users/barrett/aws-lambda-ffmpeg/dist
> gulp postinstall
[14:14:35] Working directory changed to ~/aws-lambda-ffmpeg
[14:14:35] Using gulpfile ~/aws-lambda-ffmpeg/gulpfile.js
[14:14:35] Starting 'postinstall'...
[14:14:35] Finished 'postinstall' after 716 μs
async@1.5.2 node_modules/async
[14:14:35] Finished 'npm' after 1.27 s
[14:14:35] Starting 'zip'...
[14:14:37] Finished 'zip' after 2.27 s
[14:14:37] Starting 'upload'...
[14:15:02] Finished 'upload' after 24 s
[14:15:02] Finished 'build-upload' after 33 s
[14:15:02] Starting 'deployStack'...
[14:15:03] Finished 'deployStack' after 936 ms
[14:15:03] Finished 'default' after 34 s
➜ aws-lambda-ffmpeg git:(master) curl http://www.sample-videos.com/video/mp4/720/big_buck_bunny_720p_5mb.mp4 -o video.mp4
% Total % Received % Xferd Average Speed Time Time Time Current
Dload Upload Total Spent Left Speed
100 5130k 100 5130k 0 0 734k 0 0:00:06 0:00:06 --:--:-- 1200k
➜ aws-lambda-ffmpeg git:(master) ✗ aws s3 cp ./video.mp4 s3://src-bucket-a1b2xzcb7431/
upload: ./video.mp4 to s3://src-bucket-a1b2xzcb7431/video.mp4
➜ aws-lambda-ffmpeg git:(master) ✗ aws s3 ls s3://dst-bucket-a1b2xzcb7431/
2016-02-15 15:00:05 2030246 video.mp4
2016-02-15 15:00:05 141595 video.png
➜ aws-lambda-ffmpeg git:(master) ✗
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment