概要

Windows 10 Anniversary Update での Bash on Ubuntu on Windows(Ubuntu 14.04 LTS 相当)上で最新の ffmpeg をビルド・インストールし、png または jpeg の画像ファイル群から mp4 形式の動画を作成する方法。

デフォルト設定での apt-get では ffmpeg がインストールできず非標準のバイナリをインストールしなければならないため、ソースコードからビルドしています。

なおWindows 10 Creators Update での Bash on Ubuntu on Windows(Ubuntu 16.04 LTS 相当)では apt-get で ffmpeg をインストールできます。

準備

$sudo apt-get update
$sudo apt-get install gcc yasm make pkg-config git
$export PKG_CONFIG_PATH=/usr/local/lib/pkgconfig
$export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:$LD_LIBRARY_PATH

lame のビルドとインストール

$wget -O lame-3.99.5.tar.gz https://sourceforge.net/projects/lame/files/lame/3.99/lame-3.99.5.tar.gz/download
$tar xvf lame-3.99.5.tar.gz
$cd lame-3.99.5
$./configure
$make -j8
$sudo make install

x264 のビルドとインストール

$git clone http://git.videolan.org/git/x264.git
$cd x264
$./configure --enable-shared --enable-static
$make -j8
$sudo make install

FFmpeg のビルドとインストール

$git clone http://github.com/FFmpeg/FFmpeg
$cd FFmpeg
$./configure --enable-gpl --enable-libmp3lame --enable-libx264
$make -j8
$sudo make install

FFmpegでの動画作成

PNGからMP4

$export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:$LD_LIBRARY_PATH
$ffmpeg -r 24 -i Anime.%4d.png -vcodec libx264 -pix_fmt yuv420p MyMovie.mp4

JPEGからMP4

$export LD_LIBRARY_PATH=/usr/local/lib:/usr/lib:$LD_LIBRARY_PATH
$ffmpeg -r 24 -i Anime.%4d.jpg MyMovie.mp4

オプション引数の意味は次の通りです。

-r : フレームレート(Hz)
-i : 入力ファイル(例ではAnime.0000.png、Anime.0001.png、Anime.0002.png……を想定)
-vcodec : コーデック指定
-pix_fmt : エンコーダに渡すピクセルフォーマットを指定。xvid, libx264 は yuv420p 入力が基本なので、入力が yuv422p 等でエラーが出る場合は -pix_fmt yuv420p を追加します。-pix_fmt list で一覧出力。

参照