山崎OFF

行って来た。最初は人数のせいもあってなかなかOFF初心者としては入りづらい感もあったんだけど、masayanがいい感じに飲み始めたあたりからは、妙になれなれしくなってしまった。やや反省。
結局梅田で朝を過ごすといういつもの土曜日の夜な感じではありましたが、面白うございました。福岡やら千葉からはるばる来た人ともお話できたんで、そういうのもよかったなあ。

ペースがおかしいな

なんとなくというか、ちょっとだけ余裕が出たので、vmware playerを家のお遊びマシンに仕込んで、色々インストールしてみた。
vmwareでなんかインストールするのは初めてなんだけど、ぐぐったらあちこちに情報があったので、あっさりとOpenBSDGentoo Linuxのインストールが完了。x環境を構築して満足したのであった。
OpenBSDなんかはどちらかというとサーバーとして動かしてなんぼのOSだと思うので、安いマシンを組んで遊んでみたいところ。
Gentooは開発陣にごたごたがあったとかなんか聞いてるけど相変わらずインストーラがカッコいい。
どちらのOSもインストール直後の何も入ってなさはすばらしいので、BSDLinuxの初心者には最適じゃね?とか思った。BSDは長いこと触る機会がなかったので、ほんと一から勉強し直しだな。

セカンドライフ

時々思い出したようにセカンドライフをなんとかしようとがんばる人が出てくるけど、長年ネトゲ廃人やってた人間から言わせると、あれのどこが凄いのかやっぱりわからんよね。キモいって言われるのは、ネトゲ全体がそう言われることもあるのでしょうがないんだけど、こういう如何にも流行に乗せようという「アサヒ」っぽいやり方が一番キモいってのが、当事者にはわかんないんだろうか。
ほんとにいいものならそこまで必死にやらなくてもユーザががんばってコミュニティ作って細々とでも続くから心配せずに楽しんでおきなさいよ、と思うんだけど。

備忘録

いつも忘れてしまうので、今度こそやったことをメモする。
ffmpegをお客さんの要望でサーバーにぶっこんだわけだが、色々勉強することもあったのでメモっておく。今回は後でお客さんがいじれるように、ユーザー権限のみでインストールしてみた。(gcc除く)

CentOS4だったのでデフォルトはgcc3なんだけど、これで作るとバイナリはきちんとできるんだが、Segmentation Faultでうまく動かなかった。
yumでインストールする場合は

# yum install gcc4 gcc4-c++ gcc4-java libgcj4

こんな感じで。ソースから入れてもいいけどものすごく準備に手間がかかるのでバイナリパッケージでいいんじゃないの。

  • 必要なライブラリ等の準備

subversionとかcvsなんかはソースインストールする際にはとても大事なので入れておこう。
今回は、音声コーデック、デコーダlame mp3,ogg vorbis,liba52,faac,faad2 動画コーデックはxvidとx264をチョイス。

  • 音声codec, decodec

音声のライブラリは比較的インストールが容易な感じ。

lame本家のダウンロードからソースを落としてきて

$ tar xzf lame-3.97.tar.gz
$ cd lame-3.97
$ ./configure --prefix=/home/hoge/local/
$ make
$ make install
$ export LD_LIBRARY_PATH=/home/hoge/local/lib

最後に自分専用のライブラリのPATHをLD_LIBRARY_PATHに放り込んであげる。これが後々重要。

vorbis本家ダウンロードからliboggとlibvorbisのソースを落としてくる。
コンパイルはliboggが先で。

$ tar xzf libogg-1.1.3.tar.gz
$ cd libogg-1.1.3
$ ./configure --prefix=/home/hoge/local/
$ make
$ make install

$ tar xzf libvorbis-1.2.0.tar.gz
以下略
    • faac,faad2

aacのフリーのコーデックとデコーダーです。audio coding.comからsourceforgeのソースをいただいてくる。昔は改行コードなんかがおかしくて、bootstrap走らすとエラーが出たようですが、今のバージョンは普通に動きました。

$ tar xzf faac-1.26.tar.gz
$ cd faac-1.26
$ ./bootstrap
$ ./configure --prefix=/home/hoge/local/
$ make
$ make install

$ tar xzf faad2-2.6.tar.gz
以下略
    • liba52

liba52本家からこれまたsourceforgeに行って落としてくる。以下略

  • 動画コーデック

xvid本家からありがたく頂いたソースを普通にビルドする。

    • x264

x264本家で落としてくるよりは、svnで最新をとってくるのがよさげな感じ。

$ mkdir repos
$ cd repos
$ svn co svn://svn.videolan.org/x264/trunk x264

個人的にsvnで採ってきたソースをそのままmakeするのは好きじゃないので

$ cp -ar x264 x264-nightly
$ cd x264-nightly
$ ./configure --enable-shared --prefix=/home/hoge/local

んで、ここでyasmがないよーとか言われるんであわててyasm本家にいくとtracで管理してるので、当然svnが使えて

$ svn co http://www.tortall.net/svn/yasm/trunk/yasm yasm
$ cp -ar yasm yasm-nightly
$ cd yasm-nightly
$ ./autogen.sh
$ ./configure --prefix=/home/hoge/local
$ make && make install

$ cd x264-nightly
$ ./configure --enable-shared --prefix=/home/hoge/local
$ make && make install

こんな感じで大体いけるはず。

最後にffmpegのソースをsvnで取ってきて、ビルド。

$ cd repos
$ svn co svn://svn.mplayerhq.hu/ffmpeg/trunk ffmpeg
$ cp -ar ffmpeg ffmpeg-nightly
$ cd ffmpeg-nightly
$ CC=gcc4 TMPDIR=/home/hoge/var/tmp ./configure --enable-pthreads --enable-liba52 --enable-libfaac --enable-libfaad --enable-libmp3lame --enable-libogg --enable-libvorbis --enable-libx264 --enable-libxvid --enable-gpl --enable-shared --prefix=/home/hoge/local
$ make
$ make install

CCをgcc4に設定して、tmpディレクトリを指定(うちのサーバではtmpでファイルが実行できないようにしてあるので)、今まで入れた奴を全部enableにしてあげる。

仕事PCからだと手持ちにサンプルがほとんど無いのであんまり確かめられないけど、一応ニコニコ動画から携帯向け3gpへの変換とかできるんで、成功したことにしておこう。

備忘録

kernelの再構築とかやったんだけど、もう酷く忘れてたのでメモ。
initrdを使わずに直接カーネル読み込んで起動させるなら必ず /dev/consoleと/dev/nullを作るべし。未来の俺への伝言だ。忘れるなよ。

# mknod -m 660 console c 5 1
# mknod -m 660 null c 1 3