CentOS 6.3にffmpegとmediatombをインストール

ふと思い立って CentOS 6.3 のシステムに ffmpeg と mediatomb を入れてみた。


手順は前にやった時を基本的に踏襲。

以下、上記方法でうまくいかなかった部分をメモしておきます。


まずは ffmpeg の問題解決

  • faac の make でエラー

このページの方法で解決。
単純にコメントアウトするだけ。

  • lame 3.99.5 の configure でエラー

原因は今は使えない余計な?オプションが入ってる。
この configure で問題解決。

./configure --enable-nasm --enable-efence --enable-mp3x --enable-mp3rtp
  • vp8 がなくなってる

新しいアドレスはこっち。

http://git.chromium.org/webm/libvpx.git

以上で ffmpeg は OK!



次は mediatomb の問題解決

  • cmake は yum でインストールできるみたい
[paraches@centos63 myTest]$ sudo yum install cmake
  • taglib-devel は yum でインストールできるみたい
[paraches@centos63 myTest]$ sudo yum install taglib-devel

何かのインストール中に、taglib がない!って怒られたんだけど、何のインストール中だったか忘れた。

  • expat-devel を yum でインストールする

mediatomb の ./configure でエラーが出る。

checking for /usr/local/include/expat.h... no
configure: error: unable to configure required package expat

なので、yum でインストール。

[paraches@centos63 mediatomb-0.12.1]$ sudo yum install expat-devel
  • libmp4v2が missing
CONFIGURATION SUMMARY ----

sqlite3               : yes
mysql                 : yes
libjs                 : missing
libmagic              : missing
inotify               : yes
libexif               : yes
id3lib                : disabled
taglib                : yes
libmp4v2              : missing
ffmpeg                : yes
ffmpegthumbnailer     : yes
lastfmlib             : missing
external transcoding  : yes
curl                  : yes
YouTube               : yes
libextractor          : disabled
db-autocreate         : yes

そのままでも良さそうだけど、素直に libmp4v2 のソースコードをダウンロードしてきて ./configure, make, sudo make install で yes になった。

  • mediatomb の make でエラー
g++ -DHAVE_CONFIG_H -I. -I.. -I../tombupnp/upnp/inc    -I../src -I../tombupnp/ixml/inc -I../tombupnp/threadutil/inc -I../tombupnp/upnp/inc -I..  -I/usr/include/mysql  -g -pipe -Wp,-D_FORTIFY_SOURCE=2 -fexceptions -fstack-protector --param=ssp-buffer-size=4 -m64 -D_GNU_SOURCE -D_FILE_OFFSET_BITS=64 -D_LARGEFILE_SOURCE -fno-strict-aliasing -fwrapv -fPIC   -DUNIV_LINUX -DUNIV_LINUX  -I/usr/local/include/taglib       -pthread        -g -O2  -MT libmediatomb_a-libmp4v2_handler.o -MD -MP -MF .deps/libmediatomb_a-libmp4v2_handler.Tpo -c -o libmediatomb_a-libmp4v2_handler.o `test -f '../src/metadata/libmp4v2_handler.cc' || echo './'`../src/metadata/libmp4v2_handler.cc
../src/metadata/libmp4v2_handler.cc: In function ‘void addMetaField(metadata_fields_t, void*, zmm::Ref<CdsItem>)’:
../src/metadata/libmp4v2_handler.cc:77: error: ‘MP4GetMetadataName’ was not declared in this scope
../src/metadata/libmp4v2_handler.cc:80: error: ‘MP4GetMetadataArtist’ was not declared in this scope
../src/metadata/libmp4v2_handler.cc:83: error: ‘MP4GetMetadataAlbum’ was not declared in this scope
../src/metadata/libmp4v2_handler.cc:86: error: ‘MP4GetMetadataYear’ was not declared in this scope
../src/metadata/libmp4v2_handler.cc:98: error: ‘MP4GetMetadataGenre’ was not declared in this scope
../src/metadata/libmp4v2_handler.cc:101: error: ‘MP4GetMetadataComment’ was not declared in this scope
../src/metadata/libmp4v2_handler.cc:104: error: ‘MP4GetMetadataTrack’ was not declared in this scope
../src/metadata/libmp4v2_handler.cc: In member function ‘virtual zmm::Ref<IOHandler> LibMP4V2Handler::serveContent(zmm::Ref<CdsItem>, int, off_t*)’:
../src/metadata/libmp4v2_handler.cc:258: error: ‘MP4GetMetadataCoverArt’ was not declared in this scope
make[2]: *** [libmediatomb_a-libmp4v2_handler.o] エラー 1
make[2]: ディレクトリ `/home/paraches/myTest/mediatomb-0.12.1/build' から出ます
make[1]: *** [all-recursive] エラー 1
make[1]: ディレクトリ `/home/paraches/myTest/mediatomb-0.12.1' から出ます
make: *** [all] エラー 2

調べたら下記ページを見つけた。

ここに、mediatomb に当てるパッチがあった。

これで、無事に mediatomb もビルドできた!


後は各種設定をして終了〜。
サムネイルもトランスコードも前にやった部分は問題なくできた〜。