以前「Mac で Homebrew を使わずに ImageMagick を使う」という記事を書いたが、今回はそれの FFmpeg 版。
やっていることは同じ。
初期設定
FFmpeg が使える Docker イメージを作る。
Dockefile
FROM debian
RUN apt-get update && apt-get -y install ffmpeg
ENTRYPOINT ["ffmpeg"]
$ docker build -t ffmpeg .
適当に ffmpeg
という名前でビルドしているがそこはお好きに。
使う
例として、wav ファイルを mp3 ファイルに変換してみる。
$ docker run --rm -v "$(pwd)":/mnt -w /mnt ffmpeg \
-i input.wav -vn -ac 2 -ar 44100 -ab 192k -acodec libmp3lame -f mp3 output.mp3
注意点として、ホストの作業ディレクトリをマウントしているので、ホストの親ディレクトリのパス指定や絶対パス指定は使えない。
エイリアスを設定する
毎回 docker コマンドのオプションを入力するのは面倒なのでエイリアスを設定して簡単に使えるようにする。
~/.zshrc
alias ffmpeg='docker run --rm -v "$(pwd)":/mnt -w /mnt ffmpeg'
エイリアスを設定すると、先ほどの例はこのように実行できる。
$ ffmpeg -i input.wav -vn -ac 2 -ar 44100 -ab 192k -acodec libmp3lame -f mp3 output.mp3