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 もビルドできた!
後は各種設定をして終了〜。
サムネイルもトランスコードも前にやった部分は問題なくできた〜。