Debian Lenny に ffmpeg をインストールした
先日、新しくサーバを用意することになり、もう一台 ML115 G5 をゲットして Debian Lenny をインストールした。その後で ffmpeg をインストールしたので手順をメモ。
基本的には 'debian lenny ffmpeg' でググって最初に出てきたページの手順そのまま。
2011/4/26 Updated : CentOS 5.6 に ffmpeg をインストール
debian のパッケージのダウンロードとインストール
myTest というフォルダを作って、その中に ffmpeg というフォルダを作って、そこで作業を開始。
paraches@debian:~/myTest/ffmpeg$ wget http://www.debian-multimedia.org/pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2008.10.16_all.deb --2010-06-07 14:00:24-- http://www.debian-multimedia.org/pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2008.10.16_all.deb www.debian-multimedia.org をDNSに問いあわせています... 91.121.86.213 www.debian-multimedia.org|91.121.86.213|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 302 Found 場所: http://ftp.sunet.se/pub/os/Linux/distributions/debian-multimedia/pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2008.10.16_all.deb [続く] --2010-06-07 14:00:26-- http://ftp.sunet.se/pub/os/Linux/distributions/debian-multimedia/pool/main/d/debian-multimedia-keyring/debian-multimedia-keyring_2008.10.16_all.deb ftp.sunet.se をDNSに問いあわせています... 194.71.11.69, 2001:6b0:19::64 ftp.sunet.se|194.71.11.69|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 14332 (14K) [application/x-debian-package] `debian-multimedia-keyring_2008.10.16_all.deb' に保存中 100%[======================================>] 14,332 23.6K/s 時間 0.6s 2010-06-07 14:00:28 (23.6 KB/s) - `debian-multimedia-keyring_2008.10.16_all.deb' へ保存完了 [14332/14332] paraches@debian:~/myTest/ffmpeg$ sudo dpkg -i debian-multimedia-keyring_2008.10.16_all.deb 未選択パッケージ debian-multimedia-keyring を選択しています。 (データベースを読み込んでいます ... 現在 30109 個のファイルとディレクトリがインストールされています。) (debian-multimedia-keyring_2008.10.16_all.deb から) debian-multimedia-keyring を展開しています... debian-multimedia-keyring (2008.10.16) を設定しています ... OK gpg: 鍵6070D3A1:“Debian Archive Automatic Signing Key (4.0/etch) <ftpmaster@debian.org>”変更なし gpg: 鍵ADB11277:“Etch Stable Release Key <debian-release@lists.debian.org>”変更なし gpg: 鍵BBE55AB3:“Debian-Volatile Archive Automatic Signing Key (4.0/etch)”変更なし gpg: 鍵F42584E6:“Lenny Stable Release Key <debian-release@lists.debian.org>”変更なし gpg: 鍵55BE302B:“Debian Archive Automatic Signing Key (5.0/lenny) <ftpmaster@debian.org>”変更なし gpg: 鍵6D849617:“Debian-Volatile Archive Automatic Signing Key (5.0/lenny)”変更なし gpg: 処理数の合計: 6 gpg: 変更なし: 6 paraches@debian:~/myTest/ffmpeg$
/etc/apt/source.list を編集
vi で編集。
deb http://www.debian-multimedia.org lenny main deb-src http://www.debian-multimedia.org lenny main
上記2行を加える。
paraches@debian:~/myTest/ffmpeg$ sudo vi /etc/apt/sources.list paraches@debian:~/myTest/ffmpeg$ cat /etc/apt/sources.list # # deb cdrom:[Debian GNU/Linux 5.0.4 _Lenny_ - Official amd64 NETINST Binary-1 20100201-16:38]/ lenny main #deb cdrom:[Debian GNU/Linux 5.0.4 _Lenny_ - Official amd64 NETINST Binary-1 20100201-16:38]/ lenny main deb http://ftp.jp.debian.org/debian/ lenny main deb-src http://ftp.jp.debian.org/debian/ lenny main deb http://security.debian.org/ lenny/updates main deb-src http://security.debian.org/ lenny/updates main deb http://volatile.debian.org/debian-volatile lenny/volatile main deb-src http://volatile.debian.org/debian-volatile lenny/volatile main deb http://www.debian-multimedia.org lenny main deb-src http://www.debian-multimedia.org lenny main paraches@debian:~/myTest/ffmpeg$
apt cache をアップデートして必要なユーティリティをインストール、そして ffmpeg に必要なソフトウェアをインストール
paraches@debian:~/myTest/ffmpeg$ sudo apt-get update <長いので省略> パッケージリストを読み込んでいます... 完了 paraches@debian:~/myTest/ffmpeg$ sudo apt-get install checkinstall yasm git-core subversion <長いので省略> build-essential (11.4) を設定しています ... paraches@debian:~/myTest/ffmpeg$ sudo apt-get build-dep ffmpeg <長いので省略> libdirac-dev (1.0.0-0.0) を設定しています ... paraches@debian:~/myTest/ffmpeg$
x264 をインストール
ffmpeg フォルダの中に x264 フォルダを作ってそこで作業する。まずは git でソースをゲット。
paraches@debian:~/myTest/ffmpeg$ mkdir x264 paraches@debian:~/myTest/ffmpeg$ cd x264/ paraches@debian:~/myTest/ffmpeg/x264$ git clone git://git.videolan.org/x264.git Initialized empty Git repository in /home/paraches/myTest/ffmpeg/x264/x264/.git/ remote: Counting objects: 11184, done. remote: Compressing objects: 100% (2762/2762), done. remote: Total 11184 (delta 9045), reused 10378 (delta 8382) Receiving objects: 100% (11184/11184), 2.72 MiB | 597 KiB/s, done. Resolving deltas: 100% (9045/9045), done. paraches@debian:~/myTest/ffmpeg/x264$ ls x264 paraches@debian:~/myTest/ffmpeg/x264$ cd x264 paraches@debian:~/myTest/ffmpeg/x264/x264$ ls AUTHORS Makefile config.sub encoder muxers.h version.sh x264dll.c COPYING common configure extras output x264.c Doxyfile config.guess doc input tools x264.h
次に configure & make
paraches@debian:~/myTest/ffmpeg/x264/x264$ ./configure Platform: X86_64 System: LINUX asm: yes avs input: no lavf input: no ffms input: no mp4 output: no pthread: yes debug: no gprof: no PIC: no shared: no visualize: no You can run 'make' or 'make fprofiled' now. paraches@debian:~/myTest/ffmpeg/x264/x264$ make <長いので省略> paraches@debian:~/myTest/ffmpeg/x264/x264$
最後に checkinstall でインストール
paraches@debian:~/myTest/ffmpeg/x264/x264$ sudo checkinstall --pkgname=x264 --pkgversion "1:0.svn'date +%Y%m%d'" --backup=no --default checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran このソフトウェアはGNU GPLの下でリリースしています。 ***************************************** **** Debian package creation selected *** ***************************************** *** Warning: The package version "1:0.svndate +%Y%m%d" is not a *** Warning: debian policy compliant one. Please specify an alternate one このパッケージは以下の内容で構成されます: 0 - Maintainer: [ root@debian ] 1 - Summary: [ Package created with checkinstall 1.6.1 ] 2 - Name: [ x264 ] 3 - Version: [ 0 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ amd64 ] 8 - Source location: [ x264 ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ x264 ] 変更するものの番号を入力してください。Enterで続行します: Installing with make...Installing with install... ========================= インストールの結果 =========================== install -d /usr/local/bin install -d /usr/local/include install -d /usr/local/lib install -d /usr/local/lib/pkgconfig install -m 644 x264.h /usr/local/include install -m 644 libx264.a /usr/local/lib install -m 644 x264.pc /usr/local/lib/pkgconfig install x264 /usr/local/bin ranlib /usr/local/lib/libx264.a ======================== インストールに成功しました ========================== Copying documentation directory... ./ ./COPYING ./doc/ ./doc/ratecontrol.txt ./doc/vui.txt ./doc/standards.txt ./doc/regression_test.txt ./doc/threads.txt ./AUTHORS grep: /var/tmp/tmp.akEnbARoDR/newfile: そのようなファイルやディレクトリはありません tempディレクトリにファイルをコピー..OK Stripping ELF binaries and libraries...OK manページを圧縮..OK ファイルリストを作成..OK Debianパッケージを作成..OK Debianパッケージをインストール..OK tempファイルを削除..OK temp dirを削除..OK ********************************************************************** Done. The new package has been installed and saved to /home/paraches/myTest/ffmpeg/x264/x264/x264_0-1_amd64.deb You can remove it from your system anytime using: dpkg -r x264 ********************************************************************** paraches@debian:~/myTest/ffmpeg/x264/x264$
libtheora をインストール
まずは wget でソースを落としてきて展開。
paraches@debian:~/myTest/ffmpeg$ wget http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz --2010-06-07 14:12:52-- http://downloads.xiph.org/releases/theora/libtheora-1.1.1.tar.gz downloads.xiph.org をDNSに問いあわせています... 64.50.236.52, 64.50.233.100 downloads.xiph.org|64.50.236.52|:80 に接続しています... 接続しました。 HTTP による接続要求を送信しました、応答を待っています... 200 OK 長さ: 2111877 (2.0M) [application/x-gzip] `libtheora-1.1.1.tar.gz' に保存中 100%[======================================>] 2,111,877 523K/s 時間 4.1s 2010-06-07 14:12:57 (502 KB/s) - `libtheora-1.1.1.tar.gz' へ保存完了 [2111877/2111877] paraches@debian:~/myTest/ffmpeg$ tar xzvf libtheora-1.1.1.tar.gz libtheora-1.1.1/ <長いので省略> paraches@debian:~/myTest/ffmpeg$
展開した libtheora-1.1.1 フォルダに移動して configure & make
paraches@debian:~/myTest/ffmpeg$ cd libtheora-1.1.1/ paraches@debian:~/myTest/ffmpeg/libtheora-1.1.1$ ./configure <長いので省略> ------------------------------------------------------------------------ libtheora 1.1.1: Automatic configuration OK. General configuration: Encoding support: ........... yes Floating point support: ..... yes Assembly optimization: ...... 64 bit x86 Debugging telemetry: ........ no Build example code: ......... yes API Documentation: .......... no Format Documentation: ....... no Installation paths: libtheora: ................... /usr/local/lib C header files: .............. /usr/local/include/theora Documentation: ............... /usr/local/share/doc/libtheora Building: Type 'make' to compile libtheora. Type 'make install' to install libtheora. Type 'make check' to run test suite (Valgrind testing not enabled) Example programs will be built but not installed. ------------------------------------------------------------------------ paraches@debian:~/myTest/ffmpeg/libtheora-1.1.1$ make <長いので省略> paraches@debian:~/myTest/ffmpeg/libtheora-1.1.1$
checkinstall でインストール
paraches@debian:~/myTest/ffmpeg/libtheora-1.1.1$ sudo checkinstall --pkgname=libtheora --pkgversion "1.1.1" --backup=no --default checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran このソフトウェアはGNU GPLの下でリリースしています。 ***************************************** **** Debian package creation selected *** ***************************************** このパッケージは以下の内容で構成されます: 0 - Maintainer: [ root@debian ] 1 - Summary: [ Package created with checkinstall 1.6.1 ] 2 - Name: [ libtheora ] 3 - Version: [ 1.1.1 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ amd64 ] 8 - Source location: [ libtheora-1.1.1 ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ libtheora ] 変更するものの番号を入力してください。Enterで続行します: Installing with make...Installing with install... <長いので省略> ********************************************************************** Done. The new package has been installed and saved to /home/paraches/myTest/ffmpeg/libtheora-1.1.1/libtheora_1.1.1-1_amd64.deb You can remove it from your system anytime using: dpkg -r libtheora ********************************************************************** paraches@debian:~/myTest/ffmpeg/libtheora-1.1.1$
libx264-dev をアンインストール
paraches@debian:~/myTest/ffmpeg$ sudo apt-get remove libx264-dev パッケージリストを読み込んでいます... 完了 依存関係ツリーを作成しています 状態情報を読み取っています... 完了 以下のパッケージが自動でインストールされましたが、もう必要とされていません: libx264-65 これらを削除するには 'apt-get autoremove' を利用してください。 以下のパッケージは「削除」されます: libx264-dev アップグレード: 0 個、新規インストール: 0 個、削除: 1 個、保留: 3 個。 この操作後に 909kB のディスク容量が解放されます。 続行しますか [Y/n]? (データベースを読み込んでいます ... 現在 41098 個のファイルとディレクトリがインストールされています。) libx264-dev を削除しています ... paraches@debian:~/myTest/ffmpeg$
最新の ffmpeg を subversion を使ってダウンロード
なぜかこのダウンロードに物凄い時間がかかった。1時間以上かかったはず…
paraches@debian:~/myTest/ffmpeg$ svn checkout svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg <長いので省略> 外部項目 (リビジョン 31341) をチェックアウトしました。 リビジョン 23512 をチェックアウトしました。 paraches@debian:~/myTest/ffmpeg$
出来上がった ffmpeg フォルダに移動して、configure & make
paraches@debian:~/myTest/ffmpeg/ffmpeg$ ./configure --enable-version3 --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libgsm --enable-postproc --enable-libxvid --enable-libfaac --enable-pthreads --enable-libvorbis --enable-libfaad --enable-gpl --enable-x11grab --enable-nonfree <長いので省略> paraches@debian:~/myTest/ffmpeg/ffmpeg$ make <長いので省略> paraches@debian:~/myTest/ffmpeg/ffmpeg$
checkinstall でインストール
paraches@debian:~/myTest/ffmpeg/ffmpeg$ sudo checkinstall --pkgname=ffmpeg --pkgversion "4:0.5+svn`date +%Y%m%d`" --backup=no --default checkinstall 1.6.1, Copyright 2002 Felipe Eduardo Sanchez Diaz Duran このソフトウェアはGNU GPLの下でリリースしています。 The package documentation directory ./doc-pak does not exist. Should I create a default set of package docs? [y]: y パッケージのドキュメンテーションを準備..OK ***************************************** **** Debian package creation selected *** ***************************************** このパッケージは以下の内容で構成されます: 0 - Maintainer: [ root@debian ] 1 - Summary: [ Package created with checkinstall 1.6.1 ] 2 - Name: [ ffmpeg ] 3 - Version: [ 4:0.5+svn20100607 ] 4 - Release: [ 1 ] 5 - License: [ GPL ] 6 - Group: [ checkinstall ] 7 - Architecture: [ amd64 ] 8 - Source location: [ ffmpeg ] 9 - Alternate source location: [ ] 10 - Requires: [ ] 11 - Provides: [ ffmpeg ] 変更するものの番号を入力してください。Enterで続行します: Installing with make...Installing with install... <長いので省略> ********************************************************************** Done. The new package has been installed and saved to /home/paraches/myTest/ffmpeg/ffmpeg/ffmpeg_4:0.5+svn20100607-1_amd64.deb You can remove it from your system anytime using: dpkg -r ffmpeg ********************************************************************** paraches@debian:~/myTest/ffmpeg/ffmpeg$
ffmpeg がインストールされていることを確認
paraches@debian:~/myTest/ffmpeg/ffmpeg$ which ffmpeg /usr/local/bin/ffmpeg paraches@debian:~/myTest/ffmpeg/ffmpeg$ ffmpeg FFmpeg version SVN-r23512, Copyright (c) 2000-2010 the FFmpeg developers built on Jun 7 2010 17:24:52 with gcc 4.3.2 configuration: --enable-version3 --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libgsm --enable-postproc --enable-libxvid --enable-libfaac --enable-pthreads --enable-libvorbis --enable-libfaad --enable-gpl --enable-x11grab --enable-nonfree libavutil 50.18. 0 / 50.18. 0 libavcodec 52.74. 1 / 52.74. 1 libavformat 52.68. 0 / 52.68. 0 libavdevice 52. 2. 0 / 52. 2. 0 libavfilter 1.20. 0 / 1.20. 0 libswscale 0.11. 0 / 0.11. 0 libpostproc 51. 2. 0 / 51. 2. 0 Hyper fast Audio and Video encoder usage: ffmpeg [options] [[infile options] -i infile]... {[outfile options] outfile}... Use -h to get full help or, even better, run 'man ffmpeg' paraches@debian:~/myTest/ffmpeg/ffmpeg$
ちゃんとインストールできている!
ffmpeg の configure で ERROR: libx264 not found になる場合
今回、一番最初に ffmpeg の configure をトライした時は libx264 が見つからないとエラーが出てしまった。こんな感じ。
paraches@debian:~/myTest/ffmpeg/ffmpeg$ ./configure --enable-version3 --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-libgsm --enable-postproc --enable-libxvid --enable-libfaac --enable-pthreads --enable-libvorbis --enable-libfaad --enable-gpl --enable-x11grab --enable-nonfree ERROR: libx264 not found If you think configure made a mistake, make sure you are using the latest version from SVN. If the latest version fails, report the problem to the ffmpeg-user@mplayerhq.hu mailing list or IRC #ffmpeg on irc.freenode.net. Include the log file "config.err" produced by configure as this will help solving the problem. paraches@debian:~/myTest/ffmpeg/ffmpeg$ ls /usr/lib | grep 264 libx264.so.65 paraches@debian:~/myTest/ffmpeg/ffmpeg$
ん? あるじゃん???
参考にしたページでも同じようなコメントがあるのだけど、自分の場合は思い切り簡単なミスだった。
それは x264 のインストールに失敗していたから…。checkinstall でのインストール時に、sudo していなかったのでファイルの属性変更ができなくてエラーになっていたのだ。こんな感じ。
paraches@debian:~/myTest/ffmpeg/x264/x264$ checkinstall --pkgname=x264 --pkgversion "1:0.svn'date +%Y%m%d'" --backup=no --default <長いので省略> ========================= インストールの結果 =========================== install -d /usr/local/bin install: `/usr/local/bin' の属性を変更できません: 許可されていない操作です make: *** [install] エラー 1 **** インストールは失敗しました。パッケージの作成を中断します クリーンアップ..OK Bye. paraches@debian:~/myTest/ffmpeg/x264/x264$
このエラーに気付かずに先へ進んでしまい、ffmpeg の configure でエラーになっていた。で、x264 をちゃんとインストールしてから ffmpeg の configure をしたら、エラー無く先へ進めた。
/usr/lib/libx264.so.65 はこの際必要ないものだったらしい。'apt-get remove libx264-dev' した時にこんなメッセージが出ていた。
以下のパッケージが自動でインストールされましたが、もう必要とされていません: libx264-65 これらを削除するには 'apt-get autoremove' を利用してください。
'apt-get autoremove' で削除しておいた方が良いのかな?