CMスキップ その5

コメントいただいたcomskipを、FreeBSDでbuildしてみたメモ。誰に需要があるのだか。

前準備

portsもしくは野良で、x264とargtable2が入ってること

ソース持ってくる

git clone https://github.com/Hiroyuki-Nagata/comskip.git

ffmpegは本家からもってくる

cd comskip
mv ffmpeg ffmpeg.bak
git clone git://source.ffmpeg.org/ffmpeg.git ffmpeg
cd ffmpeg
git checkout -b comskip n1.2.3  #n1.2.4の方が新しい?
CPPFLAGS=-I/usr/local/include LDFLAGS=-L/usr/local/lib ./configure --enable-gpl --enable-version3 --disable-stripping --enable-libx264 --enable-static
gmake

(optional)そのままmake installしてもいいのだけど、うちは既にportsffmpeg-2.0.1が入ってるので、ローカルに集める

mkdir ../lib ../include
cp lib*/*.a ../lib
find . -name '*.h' | cpio -pd ../include

comskipに戻る

cd ..
mkdir m4  #これが無いと、bootstrapでこける
./bootstrap
CPPFLAGS='-I./include -I/usr/local/include' LDFLAGS='-L./lib -L/usr/local/lib' ./configure
gmake

linuxとの違いで、struct timevalやらfpos_tが云々でこけるので、良きに計らう(手抜きだ。。。実行検証がうまくいったらパッチにします。。。)
最後のリンクでこける、なぜかlibx264、libiconv、libz、libbz2が足りてない。しょうがないので手で。

gcc -o comskip comskip-comskip.o  comskip-mpeg2dec.o comskip-video_out_dx.o -L./lib -lavformat -lavcodec -lavutil -L/usr/local/lib -lx264 -largtable2 -liconv -lpthread -lz -lbz2 -lm 

なぜか最近のautotoolsは、comskip-xxx.oみたいに、prefixにプログラム名が来ますね。portsの入れ具合によっては付かないかも。コンパイルされた.oに合わせてくださいな。