Help us understand the problem. What is going on with this article?

Docker上 で ffmpeg を動かす

More than 3 years have passed since last update.

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が公開されているおかげで すごい楽です。

Why not register and get more from Qiita?
  1. We will deliver articles that match you
    By following users and tags, you can catch up information on technical fields that you are interested in as a whole
  2. you can read useful information later efficiently
    By "stocking" the articles you like, you can search right away