Насколько до меня дошло, red5 встречает клиентов и «понимает», что он им раздаёт (не тупо копирует на нескольких клиентов какой-то поток, а ещё умеет подать его с грамотного места, а не с середины какого-нибудь блока данных, умеет чё-нибудь пережать, пропустить через какой-нибудь фильтр и т.п.).
Red5 хочет, чтобы ему какой-то кодировщик дал то, что нужно вещать.
Насколько я понял, для вещания видео с веб-камеры лучше понять, как работать с протоколом RTMP.
Короче, я сделал так - запустил red5 в дефолтной конфигурации.
Запускаю ffmpeg, который грабит веб-камеру и передаёт поток на red5 и получаю такой облом:
ffmpeg -f alsa -i hw:1,0 -ar 44100 -f video4linux2 -r 10 -s 864x480 -i /dev/video0 -f flv rtmp://localhost/
FFmpeg version SVN-r25767, Copyright (c) 2000-2010 the FFmpeg developers
built on Feb 10 2011 20:03:53 with gcc 4.3.3
configuration: --prefix=/usr --libdir=/usr/lib --shlibdir=/usr/lib --mandir=/usr/share/man --enable-static --enable-shared --cc=i686-pc-linux-gnu-gcc --enable-gpl --enable-version3 --enable-postproc --enable-avfilter --disable-stripping --disable-debug --disable-doc --disable-vaapi --disable-static --disable-vdpau --enable-libmp3lame --enable-libtheora --enable-libx264 --enable-x11grab --enable-pthreads --enable-libgsm --enable-librtmp --disable-altivec --enable-hardcoded-tables
libavutil 50.33. 0 / 50.33. 0
libavcore 0.13. 0 / 0.13. 0
libavcodec 52.96. 0 / 52.96. 0
libavformat 52.84. 0 / 52.84. 0
libavdevice 52. 2. 2 / 52. 2. 2
libavfilter 1.62. 0 / 1.62. 0
libswscale 0.12. 0 / 0.12. 0
libpostproc 51. 2. 0 / 51. 2. 0
[alsa @ 0x806b4c0] Estimating duration from bitrate, this may be inaccurate
Input #0, alsa, from 'hw:1,0':
Duration: N/A, start: 2897488.998959, bitrate: N/A
Stream #0.0: Audio: pcm_s16le, 48000 Hz, 1 channels, s16, 768 kb/s
[video4linux2 @ 0x806c660] Estimating duration from bitrate, this may be inaccurate
Input #1, video4linux2, from '/dev/video0':
Duration: N/A, start: 2897489.144498, bitrate: 66355 kb/s
Stream #1.0: Video: rawvideo, yuyv422, 864x480, 66355 kb/s, 10 tbr, 1000k tbn, 10 tbc
RTMP_ReadPacket, failed to read RTMP packet header
rtmp://localhost/prototype: Operation not permitted
ioctl(VIDIOC_QBUF)
Red5 в своей консоли пишет такое:
[INFO] [NioProcessor-1] org.red5.server.net.rtmp.RTMPHandler - Scope prototype not found on localhost
[WARN] [Red5_Scheduler_Worker-4] org.red5.server.net.rtmp.RTMPConnection - Closing RTMPMinaConnection from 192.168.3.1 : 40649 to localhost (in: 3180 out 3216 ), with id 22493408 due to long handshake