ffmpegとffserverの関係

ffmpeg

ffmpegは各種デバイスやローカルファイルから映像や音のデータを受け取って,指定した形式で出力する.

たとえば以下のように指定した場合.

ffmpeg -t 5 -s 320x240 -vd /dev/video0 -f mpeg /home/foo/bar.mpeg

video0からの映像を320x240で5秒間受信し,bar.mpegというファイルにmpeg形式で出力する.

ffserver

ffseverは,受け取った映像や音楽ソースを元に色々な形式でストリーミング配信する.

2つを連携させて動作させる

ffmpegの出力先をffserverにすればストリーミング形式となって出てくるみたい.

でも,

ffmpeg -s 320x240 -vd /dev/video0 http://ffseverのアドレス:ポート/feed1.ffm

ってして,ソースを投げても,

[video4linux @ 0x8304e50]Fatal: grab device does not support suitable format
Could not find video grab device

受け取れないみたい.

ffserver側のログを見ると,

127.0.0.1 - - [Sat Nov 11 00:03:28 2006] "GET /feed1.ffm HTTP/1.0" 200 4165
127.0.0.1 - - [Sat Nov 11 00:03:28 2006] "GET /feed1.ffm HTTP/1.0" 200 4165
127.0.0.1 - - [Sat Nov 11 00:03:29 2006] "POST /feed1.ffm HTTP/1.0" 200 0

受け取って出してはいるみたいなんだけど,見えないんだなーこれが.

今後

どうもビットレートの指定がおかしいみたいだ.
明日は音楽のみでやってみる.