ffmpegをインストールする
Ubuntuにffmpegをインストールしようと思うと、
- 自力でビルドする
- 公式リポジトリからavconvをインストールする
という選択肢がありますが、今回は
- ビルド済みのffmpegを取得する
で手っ取り早く済ませようと思います。参考記事
Dockerfileを記述する
wget と xz-utilsをインストールし、
- wget でビルド済みバイナリをダウンロード
- tar (+xz-utils)で解凍
- 解凍されたバイナリを /usr/local/bin にコピー
とするだけです。
Dockerfile
FROM ubuntu:14.04
MAINTAINER flny flny@example.com
RUN apt-get update && apt-get install -y \
wget \
xz-utils
WORKDIR /tmp
RUN wget http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz \
&& tar Jxvf ./ffmpeg-release-64bit-static.tar.xz \
&& cp ./ffmpeg*64bit-static/ffmpeg /usr/local/bin/
CMD /bin/bash
イメージのビルドとコンテナの作成
まずdocker buildでイメージをビルドします。apt-get と wget の実行時に少し待ちますが、他はすぐ終わります。
$ docker build -t ffmpeg docker/ffmpeg/
Sending build context to Docker daemon 2.048 kB
Step 1 : FROM ubuntu:14.04
---> e9ae3c220b23
Step 2 : MAINTAINER flny flny@example.com
---> Using cache
---> 768ca4ac1367
Step 3 : RUN apt-get update && apt-get install -y wget xz-utils
---> Running in d5b1ee2d686a
(略)
Removing intermediate container d5b1ee2d686a
Step 4 : WORKDIR /tmp
---> Running in db8216e45616
---> 5627d4fa5962
Removing intermediate container db8216e45616
Step 5 : RUN wget http://johnvansickle.com/ffmpeg/releases/ffmpeg-release-64bit-static.tar.xz && tar Jxvf ./ffmpeg-release-64bit-static.tar.xz && cp ./ffmpeg*64bit-static/ffmpeg /usr/local/bin/
---> Running in 1e5e7f43932d
(略)
ffmpeg-2.8.4-64bit-static/readme.txt
ffmpeg-2.8.4-64bit-static/ffmpeg
---> 64fa34df02e3
Removing intermediate container 1e5e7f43932d
Step 6 : CMD /bin/bash
---> Running in 5d28dad829e1
---> 6af666ad072d
Removing intermediate container 5d28dad829e1
Successfully built 6af666ad072d
次に docker run でコンテナ作成し、attachしてffmpegが起動することを確認します。
$ docker run --name ffmpeg -itd ffmpeg
a8d613f18189284423c128a354859a2cdfc8ceb0b60be6328a1b2e512d697e30
$ docker attach ffmpeg
root@a8d613f18189:/tmp# ffmpeg
ffmpeg version 2.8.4-static http://johnvansickle.com/ffmpeg/ Copyright (c) 2000-2015 the FFmpeg developers
built with gcc 4.9.3 (Debian 4.9.3-10)
configuration: (略)
あっさり起動しました。static buildが公開されているおかげで すごい楽です。