もぐてっく

人は1つ歳をとるたび、1ビットづつ大きくなれると信じてた。

Ustream配信に使えるffmpegの作り方

Mint11のベースになってるUbuntu11.04でも同じはずです。

必要なパッケージのインストール

ち、違うわよ!これはMintを再インストールしたばっかりなだけで、gitも入れてない意識の低いプログラマじゃないんだからね!

apt-get install \
yasm \
git \
libasound2-dev \
libmp3lame-dev \
librtmp-dev \
libx11-dev \
libxext-dev \
libxfixes-dev

libx264のコンパイル

Mint11標準のはバージョンが古いとのことで。
(何かの手違いで、)Nightlyを取ってきてコンパイル。

# tar xvjf /home/moguno/ダウンロード/last_x264.tar.bz2 
# cd x264-snapshot-20120225-2245/
# ./configure --enable-shared
# make
# make install
# ln -s /usr/local/lib/libx264.so.120 /usr/lib/

/etc/ld.so.conf.d/に突っ込むのが筋な気がしますが、めんどいのでシンボリックリンク

ffmpegのインストール

職人の朝は公式ページのgitコマンドをターミナルにコピペするところから始まる。

# git clone git://source.ffmpeg.org/ffmpeg
# cd ffmpeg
# ./configure --enable-x11grab --enable-libx264 --enable-librtmp --enable-libmp3lame --enable-gpl
# make
# make install

関連するライブラリを入れ忘れててもエラーにならずmakeまで通っちゃうので、configure後のメッセージをよく見て、目的のコーデックが有効になってるか確認しよう。

配信してみる

uStreamで配信用XMLを取得し、以下のコマンドの然るべきところにはめ込む。

/usr/local/bin/ffmpeg -r 20 -s 800x600 -f x11grab -i :0.0 \
-f alsa -i default -acodec libmp3lame -vcodec libx264 \
-b 300k -ar 44100 -ab 48k -threads 4 -vsync 1 -y -f flv\
 'rtmp://秘密.fme.ustream.tv/ustreamVideo/10508364/秘密offair flashver=FME/3.0\20(compatible;\20FMSc/1.0)'