2018年2月1日木曜日

Elastic Beanstalkで動画処理をするためのffmpegをインストールするには的なお話

アプリとかを作っていて、動画を処理したいときってあるかと。
もちろんスマホ内で処理できたりもするけど、
サーバにアップをすることで動画の長さを担保したいとか、全部mp4に統一したいとかその他諸々とか。

そういったときに使うべきなのがffmpegではあるんだけど、これのインストールはなかなか面倒。
ただstaticビルドされたものを使えばちょちょっとやってあげるだけで簡単にインストールできるので、
今日はstaticビルドされたffmpegをelastic beanstalkでデプロイする時にインストールしちゃおう的なお話をば。

packages:
yum:
ImageMagick: []
ImageMagick-devel: []
container_commands:
01-wget:
command: "wget -O /tmp/ffmpeg.tar.xz https://johnvansickle.com/ffmpeg/release-source"
02-mkdir:
command: "if [ ! -d /opt/ffmpeg ] ; then mkdir -p /opt/ffmpeg; fi"
03-tar:
command: "tar xvf /tmp/ffmpeg.tar.xz -C /opt/ffmpeg"
04-unlink:
command: "if [[ -f /usr/bin/ffmpeg ]] ; then unlink /usr/bin/ffmpeg; fi"
05-ln:
command: "ln -sf /opt/ffmpeg/ffmpeg-3.4.1-64bit-static/ffmpeg /usr/bin/ffmpeg"
06-unlink:
command: "if [[ -f /usr/bin/ffmpeg ]] ; then unlink /usr/bin/ffprobe; fi"
07-ln:
command: "ln -sf /opt/ffmpeg/ffmpeg-3.4.1-64bit-static/ffprobe /usr/bin/ffprobe"
08-pecl:
command: "if [ `pecl list | grep imagick` ] ; then pecl install -f imagick; fi"

こんな感じのconfigを.ebextensions/ffmpeg-download.configみたいな形で入れてdeployすればよい。
そうすると使える的な。
ちなみにstaticビルドはここのリンクからダウンロードできるので、
これをそのままというよりかはs3とかに置いてバージョンを管理していくのが一番いいやり方なんじゃないかと。

ってな感じで大丈夫。
とりあえずサクッとffmpegを使うならばstaticビルドを入れてあげるっていうのがいいんじゃないか的なみたいな。

0 件のコメント:

コメントを投稿

Pages (26)1234567 Next

Adsense