トップページ -> コンピュータ -> Linux の C/C++ プログラミング用ツールとライブラリ -> Linux で libav と ffmpeg のインストール
[サイトマップへ], サイト内検索:

Linux で libav と ffmpeg のインストール

サイト構成 連絡先,業績など 実践知識 コンピュータ 教材 サポートページ

この Web ページで説明していること

Cygwin での ffmpeg のビルドとインストールについては, 別のWebページで説明する.

※ 関連Webページ: Linux で開発環境やツールを整備


事前準備


Ubuntu でパッケージを用いて libav をインストールする手順

◆ 手順が面倒になっている理由

以上の問題を回避したいので、ソースパッケージを用いて libav をインストールする.

◆ Ubuntu での操作手順(例)(パッケージを用いてインストールする場合

  1. libav daily build の PPA の設定を取り除く

    あとで libavcodec53, libavformat53 をインストールしたいが「libav daily build の PPA の設定」が残っているとインストールが難しい(2012年3月時点)

    fgrep -v "libav-daily" /etc/apt/sources.list > /tmp/sources.list.$$
    sudo cp /tmp/sources.list.$$ /etc/apt/sources.list
    sudo apt-get -yV update
    

  2. インストール済みの libav のアンインストール

    すでに libav 関係のパッケージがインストール済みである可能性がある. 依存関係に起因するエラーを回避したいという理由で、いったん、libav-dbg libav-doc libav-source libav-tools などをアンインストールする. それに伴い、 「libav に依存する各種ソフトウエア」もアンインストールされてしまうので、 「libav に依存する各種ソフトウエア」は、あとで、インストールしなおすことにする。

    # 依存関係に起因するエラーの回避のため
    sudo apt-get -f install
    # libav に依存するソフトウエアのうちいくつか
    sudo apt-get -yV --purge remove libffms2-2 libhighgui2.1 libquicktime kipi-plugins mjpegtools libmjpegtools-dev libquicktime-dev mjpegtools x264  gst-plugins-bad-multiverse0.10
    # 旧バージョンのいくつか (2012/03 時点での旧バージョン)
    sudo apt-get -yV --purge remove libavcodec52 libavdevice52 libavformat52 libavutil50 libpostproc51
    sudo apt-get -yV --purge remove libavcodec-extra-52
    sudo apt-get -yV --purge remove libavcodec-extra-53
    sudo apt-get -yV --purge remove libavutil-extra-50
    sudo apt-get -yV --purge remove libavutil-extra-51
    # libav 等の削除
    sudo apt-get -yV --purge remove ffmpeg ffmpeg-dbg ffmpeg-doc ffmpeg libav-dbg libav-doc libav-source libav-tools 
    sudo apt-get -yV --purge remove libavcodec53 libavdevice53 libavfilter2 libavformat53 libavutil51 libpostproc52 libswscale2  
    sudo apt-get -yV --purge remove libavcodec54 libavformat54
    sudo apt-get -yV --purge remove libavcodec-extra-53 libavdevice-extra-53 libavfilter-extra-2 libavformat-extra-53 libavutil-extra-51 libpostproc-extra-52 libswscale-extra-2
    sudo apt-get -yV --purge remove libavcodec-extra-54 libavformat-extra-54
    sudo apt-get -yV --purge remove libavdevice-dev libavfilter-dev libavutil-dev libpostproc-dev libswscale-dev libavcodec-dev libavformat-dev
    

  3. 削除できたことを確認

    エラーメッセージが出た場合には対処.対処法は一概に言えないが、 次のように1つにまとめるとうまく削除できる場合がある。

    sudo apt-get -yV --purge remove ffmpeg ffmpeg-dbg ffmpeg-doc ffmpeg libav-dbg libav-doc libav-source libav-tools  libavcodec53 libavdevice53 libavfilter2 libavformat53 libavutil51 libpostproc52 libswscale2 libavcodec-extra-53 libavdevice-extra-53 libavfilter-extra-2 libavformat-extra-53 libavutil-extra-51 libpostproc-extra-52 libswscale-extra-2 libavdevice-dev libavfilter-dev libavutil-dev libpostproc-dev libswscale-dev libavcodec-dev libavformat-dev libavcodec54 libavformat54 libffms2-2 libhighgui2.1 libquicktime libffms2-2 kipi-plugins mjpegtools libquicktime-dev mjpegtools x264 libmjpegtools-dev gstreamer0.10-plugins-bad-multiverse
    
  4. (オプション) libav daily build の PPA の設定

    この「libav daily build の PPA の設定」を行うと、依存関係に起因するエラー(「libavformat53 がないよ!」などなど)が出やすくなるので要注意。 (ですので、必要がないときは、この設定はおすすめしません) 必要なときだけ設定すること。

    export RELEASE=`lsb_release -sc`
    
    # 旧バージョンのうち libavcodec53, libavformat53 をインストール
    sudo apt-get -yV --allow-unauthenticated install libavcodec53
    sudo apt-get -yV --allow-unauthenticated install libavformat53
    sudo apt-get -yV --allow-unauthenticated install libavutil51
    sudo apt-get -f install 
    #
    echo "deb http://ppa.launchpad.net/motumedia/libav-daily/ubuntu "${RELEASE}" main" | sudo tee -a /etc/apt/sources.list
    echo "deb-src http://ppa.launchpad.net/motumedia/libav-daily/ubuntu "${RELEASE}" main" | sudo tee -a /etc/apt/sources.list
    sudo apt-get -yV update
    sudo apt-get -yV --force-yes upgrade
    

  5. libav をソースパッケージを用いてインストール

    ソースパッケージを使うのが一番トラブルが少ないようなので。操作手順の例を下に示している.

    libva-dev, libimlib2-dev, libx264-dev, yasm は libav をインストールするのに必要なパッケージ

    sudo apt-get -yV --allow-unauthenticated install libva-dev
    sudo apt-get -yV install libimlib2-dev libx264-dev yasm
    
    # libav の ソースパッケージのダウンロード 
    sudo rm -rf /tmp/libav
    mkdir /tmp/libav
    cd  /tmp/libav
    apt-get source libav
    
    # libav のビルド 
    # libav が依存するパッケージ
    sudo apt-get -yV build-dep libav
    if [ ! -d libav-0.* ]; then 
      echo libav-0.*
      exit
    fi
    cd libav-0.*
    # 必要ならばここで debian/rules ファイルの build ルールの編集などを行う
    sudo dpkg-buildpackage -uc -us -rfakeroot 
    cd ..
    sudo dpkg -i *.deb
    

  6. (オプション)「libav に依存する各種ソフトウエア」をビルドするための前提ソフトウエアのインストール
    # まずは「libav に依存する各種ソフトウエア」をビルドするための前提ソフトウエアをパッケージを使ってインストール
    sudo apt-get install kdelibs5-dev ladspa-sdk libxine-dev frei0r-plugins-dev hardening-wrapper python-all-dev
    sudo apt-get install libao-dev libid3tag0-dev libmagic-dev libopencore-amrnb-dev libwavpack-dev
    sudo apt-get install libquicktime-dev libsox-dev
    sudo apt-get install libmlt4 melt python-mlt3
    

  7. (オプション)libav に依存する各種ソフトウエアのインストール

    代表的なものを挙げていますので、必要なものを選んでインストールしてください

    ◆ Ubuntu での手順例(書きかけ)

    # パッケージを使ってインストール
    P0="mediatomb digikam openshot unicap"
    P1="amide blender ogre gmic gpac gstreamer0.10-ffmpeg gst-plugins-bad-multiverse0.10 ffmpegthumbnailer mjpegtools  libquicktime vtk xine-lib motion mplayer vlc x264" 
    sudo apt-get install ${P0} 
    sudo apt-get install ${P1} 
    apt-get -yV --force-yes install libavcodec53 libavutil51
    

  8. (オプション) libav に依存する各種ソフトウエアをソースパッケージを用いてインストール

    ◆ Ubuntu での手順例

    P0="mediatomb digikam openshot unicap"
    P1="amide blender ogre gmic gpac gstreamer0.10-ffmpeg gst-plugins-bad-multiverse0.10 ffmpegthumbnailer mjpegtools  libquicktime vtk xine-lib motion mplayer vlc x264" 
    for i in ${P0} ${P1}; do
    # ソースパッケージのダウンロード 
    mkdir /var/tmp/${i}
    cd /var/tmp/${i}
    apt-get source ${i}
    
    # パッケージのビルド まず /var/tmp/ からファイルをコピー
    sudo rm -rf /tmp/${i}
    mkdir /tmp/${i}
    cd  /tmp/${i}
    cp /var/tmp/${i}/* .
    apt-get source ${i}
    # 依存するパッケージ
    sudo apt-get -yV build-dep ${i}
    if [ ! -d ${i}-* ]; then 
      echo ${i}-*
      exit
    fi
    cd ${i}-*
    sudo dpkg-buildpackage -uc -us -rfakeroot 
    cd ..
    sudo dpkg -i *.deb
    done
    

■ Linux で libav のソースコードのダウンロードとビルドとインストールを行う場合の手順 (Ubuntu や Fedora を使用)

最新版を追いかけたい場合など

◆ ソフトウエア開発環境などのインストール

◆ 前提ソフトウエアのインストール

Ubuntu での操作手順例を示しておきます.

# ffmpeg が使用する他のパッケージ(ffmpeg と libav は別物だけど、あまり悩みたくないので)
sudo apt-get -yV install frei0r-plugins-dev 
sudo apt-get -yV install libgnutls-dev 
sudo apt-get -yV install libaac-dev
sudo apt-get -yV install libass-dev
sudo apt-get -yV install libcdio-dev
sudo apt-get -yV install libcdio-cdda-dev
sudo apt-get -yV install libcdio-paranoia-dev 
sudo apt-get -yV install libdc1394-22-dev
sudo apt-get -yV install libdirac-dev
sudo apt-get -yV install libfaac-dev
sudo apt-get -yV install libgsm1-dev
sudo apt-get -yV install libmodplug-dev
sudo apt-get -yV install libmp3lame-dev
sudo apt-get -yV install libpulse-dev
sudo apt-get -yV install librtmp-dev
sudo apt-get -yV install libschroedinger-dev 
sudo apt-get -yV install libspeex-dev
sudo apt-get -yV install libtheora-dev
sudo apt-get -yV install libv4l-dev
sudo apt-get -yV install libvo-aacenc-dev
sudo apt-get -yV install libvo-amrwbenc-dev 
sudo apt-get -yV install libvorbis-dev 
sudo apt-get -yV install libvpx-dev
sudo apt-get -yV install libx264-dev
sudo apt-get -yV install libxvidcore-dev 
sudo apt-get -yV install libva-dev
sudo apt-get -yV install libssl-dev

# libav が使用する他のパッケージで、上に書いていないもの
sudo apt-get -yV install libopenjpeg-dev

# libav daily build の PPA の設定
export RELEASE=`lsb_release -sc`
fgrep -v "ppa.launchpad.net/motumedia/libav-daily/ubuntu" /tmp/sources.list.$$ > /etc/apt/sources.list
echo "deb http://ppa.launchpad.net/motumedia/libav-daily/ubuntu "${RELEASE}" main" | sudo tee -a /etc/apt/sources.list
echo "deb-src http://ppa.launchpad.net/motumedia/libav-daily/ubuntu "${RELEASE}" main" | sudo tee -a /etc/apt/sources.list
apt-get -yV update
apt-get -yV --force-yes upgrade

# libav の ソースパッケージのダウンロード 
mkdir /tmp/libav
cd  /tmp/libav
cd libav
apt-get source libav

# libav の ビルドに必要なパッケージのインストール 
sudo apt-get -yV build-dep libav

◆ libav のソースコードのダウンロードと解凍

  1. libav の Web ページを開く

    http://libav.org

  2. まずはライセンス条項を確認.納得できる場合のみ次に進む

  3. Download」をクリック

  4. Libav Releases」の中の最新版をクリック

  5. ファイルがダウンロードされる

  6. ダウンロードしたファイルは /tmp に置く

  7. ダウンロードしたファイルは,「tar -xvzof libav-0.8.tar.gz」のような操作で解凍する

    cd /tmp
    tar -xvzof libav-0.8.tar.gz
    

◆ Ubuntu で libav のビルドとインストールを行うシェルスクリプト

楽をしたいのでシェルスクリプトを作りました。 1つ1つコマンドを入力したい(シェルスクリプトにしたくない)場合については、この Web ページの下で説明している.

※ ソースコードのダウンロードは別途行うこと

cd /tmp
tar -xvjof libav-0.8.tar.gz
./configure --enable-gpl --enable-shared
# ./configure --enable-gpl --enable-shared --enable-frei0r --enable-gnutls --enable-libcdio --enable-libdc1394 --enable-libdirac --enable-libgsm --enable-libmp3lame --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libxvid --enable-vaapi --enable-libopenjpeg 
make 
sudo make install

◆ libav のビルドとインストールを「手作業」で行いたいときの手順例

  1. configure の実行

    Linux のコンソールで次の操作を行う.

    libav-0.8」の部分は, ffmpeg のバージョンにあわせて読み替えてください.

    ◆ Ubuntu での実行例1

    cd /tmp
    cd libav-0.8
    ./configure --enable-gpl --enable-shared 
    

    ◆ Ubuntu での実行例2

    cd /tmp
    cd libav-0.8
    ./configure --enable-gpl --enable-shared --enable-frei0r --enable-gnutls --enable-libcdio --enable-libdc1394 --enable-libdirac --enable-libgsm --enable-libmp3lame --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libxvid --enable-vaapi --enable-libopenjpeg 
    

  2. configure の結果の確認

    ※ エラーメッセージが出ないことを確認すること.

  3. make の実行

    make
    

  4. make の結果の確認

    ※ エラーメッセージが出ないことを確認すること.

  5. make install の実行

    引き続き,コンソールで次の操作を行う.

    ※ エラーメッセージが出ないことを確認すること.

    sudo make install
    


■ Linux で ffmpeg のソースコードのダウンロードとビルドとインストールを行う場合の手順 (Ubuntu や Fedora を使用)

◆ ソフトウエア開発環境などのインストール

◆ 前提ソフトウエアのインストール

Ubuntu での操作手順例を示しておきます.

# ffmpeg が使用する他のパッケージ(ここに列挙しているのは必須ではないが、あると便利だと思われるもの)
sudo apt-get -yV install frei0r-plugins-dev 
sudo apt-get -yV install libgnutls-dev 
sudo apt-get -yV install libaac-dev
sudo apt-get -yV install libass-dev
sudo apt-get -yV install libcdio-dev
sudo apt-get -yV install libcdio-cdda-dev
sudo apt-get -yV install libcdio-paranoia-dev 
sudo apt-get -yV install lib1394-22-dev
sudo apt-get -yV install libdirac-dev
sudo apt-get -yV install libfaac-dev
sudo apt-get -yV install libgsm1-dev
sudo apt-get -yV install libmodplug-dev
sudo apt-get -yV install libmp3lame-dev
sudo apt-get -yV install libpulse-dev
sudo apt-get -yV install librtmp-dev
sudo apt-get -yV install libschroedinger-dev 
sudo apt-get -yV install libspeex-dev
sudo apt-get -yV install libtheora-dev
sudo apt-get -yV install libv4l-dev
sudo apt-get -yV install libvo-aacenc-dev
sudo apt-get -yV install libvo-amrwbenc-dev 
sudo apt-get -yV install libvorbis-dev 
sudo apt-get -yV install libvpx-dev
sudo apt-get -yV install libx264-dev
sudo apt-get -yV install libxvidcore-dev 
sudo apt-get -yV install libva-dev
sudo apt-get -yV install libssl-dev

# libav daily build の PPA の設定
export RELEASE=`lsb_release -sc`
fgrep -v "ppa.launchpad.net/motumedia/libav-daily/ubuntu" /tmp/sources.list.$$ > /etc/apt/sources.list
echo "deb http://ppa.launchpad.net/motumedia/libav-daily/ubuntu "${RELEASE}" main" | sudo tee -a /etc/apt/sources.list
echo "deb-src http://ppa.launchpad.net/motumedia/libav-daily/ubuntu "${RELEASE}" main" | sudo tee -a /etc/apt/sources.list
apt-get -yV update
apt-get -yV --force-yes upgrade

# libav の ソースパッケージのダウンロード 
mkdir /tmp/libav
cd  /tmp/libav
cd libav
apt-get source libav

# libav の ビルドに必要なパッケージのインストール 
sudo apt-get -yV build-dep libav

◆ffmpeg のソースコードのダウンロードと解凍

ここでは、ffmpeg の snapshop ソースコードをダウンロードします.

  1. ffmpeg の Web ページを開く p

    http://ffmpeg.org

  2. Download」をクリック

  3. FFmpeg Reeleases」の中の最新版をクリック

  4. ffmpeg-0.10.tar.bz2 がダウンロードされる

  5. ダウンロードしたファイルは /tmp に置く

  6. 「tar -xvjof ffmpeg-0.10.tar.bz2」 で解凍

    cd /tmp
    tar -xvjof ffmpeg-0.10.tar.bz2
    

◆ Ubuntu で ffmpeg のビルドとインストールを行うシェルスクリプト

楽をしたいのでシェルスクリプトを作りました。 1つ1つコマンドを入力したい(シェルスクリプトにしたくない)場合については、この Web ページの下で説明している.

※ ソースコードのダウンロードは別途行うこと

cd /tmp
tar -xvjof ffmpeg-0.10.tar.bz2
./configure --enable-gpl --enable-shared
# ./configure --enable-gpl --enable-shared --enable-frei0r --enable-gnutls --enable-libass --enable-libcdio --enable-libdc1394 --enable-libdirac --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-vaapi
make 
sudo make install

◆ ffmpeg のビルドとインストールを「手作業」で行いたいときの手順例

  1. configure の実行

    Linux のコンソールで次の操作を行う.

    ffmpeg-0.10」の部分は, ffmpeg のバージョンにあわせて読み替えてください.

    ◆ Ubuntu での実行例1

    cd /tmp
    cd ffmpeg-0.10
    ./configure --enable-gpl --enable-shared 
    

    ◆ Ubuntu での実行例2

    cd /tmp
    cd ffmpeg-0.10
    ./configure --enable-gpl --enable-shared --enable-frei0r --enable-gnutls --enable-libass --enable-libcdio --enable-libdc1394 --enable-libdirac --enable-libgsm --enable-libmodplug --enable-libmp3lame --enable-libpulse --enable-librtmp --enable-libschroedinger --enable-libspeex --enable-libtheora --enable-libv4l2 --enable-version3 --enable-libvo-aacenc --enable-libvo-amrwbenc --enable-libvorbis --enable-libvpx --enable-libx264 --enable-libxvid --enable-vaapi
    

  2. configure の結果の確認

    ※ エラーメッセージが出ないことを確認すること.

  3. make の実行

    make
    

  4. make の結果の確認

    ※ エラーメッセージが出ないことを確認すること.

  5. make test の実行

    引き続き,コンソールで次の操作を行い, ffmpeg に付属のテストプログラムを起動してみる.テストに失敗するとエラーメッセージが出る.

    make test
    

    ※ 長い時間(数分以上)を要する.エラーメッセージが出なければ安心していいでしょう.

  6. make install の実行

    引き続き,コンソールで次の操作を行う.

    ※ エラーメッセージが出ないことを確認すること.

    sudo make install