Снова Linux

May 22, 2010 14:13

Итак! Поднимаем сервер вещания... Используется Fedora10, какой-то системник, как обычно, собранный из говна (P III, 256 Mb, 80 Gb). Нужен был удаленный доступ к целевой сети, вышеупомянутая тачка послужила роутером и ВПН-сервером (OpenVPN). Потом клиент дал вебкамеру Logitec Quickkam Zoom предположительно 2002-2003 года выпуска (которую я примотал скотчем к "держалке", ибо отваливалась) и сказал что хочет наблюдать за офисом со своего рабочего места. Ничего сложного, но желательно, чтобы работники удаленного офиса не знали, когда камера включена, а когда выключена. Т.е. "подсматривать". Идею сделать всё на винде я бросил довольно быстро, т.к. единственная тачка (не считая сервера), куда разрешили ставить камеру, была по моще такой же как и мой роутер - под вендой всё жутко тормозит. Звоночек в удаленный офис: "Переткните камеру, плиз, в соседний системник", и поехали.

После недолгих сборов информации в интенете для упомянутой задачи был выбран пакет ffmpeg (в него входит ffserver)
Посмотрел глазками в девайсах наличие video0 - всё зачепись, камера есть (кстати, венда тоже сослужила свою службу: Я нашел и поставил дрова, после чего выяснилось что камера работает. А из консоли линукс для меня выяснить то же самое было бы несколько затруднительно.

yum install ffmpeg

Создал файл /etc/ffserver.conf и после нескольких проб и ошибок (конфиги брал из интернетов, но немного изменял) он пришел к следующему виду:

Port 8090
BindAddress 0.0.0.0
MaxClients 5
MaxBandwidth 20000
# NoDaemon
CustomLog /var/log/ffserver-access.log

# Фид, надо запомнить feed.ffm, он нам потребуется при запуске ffmpeg

File /tmp/feed.ffm
FileMaxSize 3M
Launch ffmpeg -s 352x288 -r 10 -f video4linux2 -i /dev/video0
# ACL allow 127.0.0.1

# Ранее объявленный фид
Feed feed.ffm
Format flv
VideoCodec flv
VideoFrameRate 10
VideoBufferSize 80000
VideoBitRate 100
# Качество видео от 1 до 31, 1 == отлично 31 == фи!
VideoQMin 20
VideoQMax 31
# Разрешение, везде должно быть одинаково!                                                
VideoSize 352x288                                                                         
PreRoll 1                                                                                 
# Если у вас есть микрофон, или вы транслируете видео со звуком, закомментируйте эту строчку
Noaudio

# Флешка test.swf для просмотра трансляции

Feed feed.ffm                                                                                                                                                 
# Будет запускаться в Adobe Flash Player
Format swf                                                                                                                                                         
VideoCodec flv
VideoFrameRate 10
VideoBufferSize 50000
VideoBitRate 100
VideoQMin 20
VideoQMax 31
# Разрешение, везде должно быть одинаково!
VideoSize 352x288
PreRoll
# Если у вас есть микрофон, или вы транслируете видео со звуком, закомментируйте эту строчку
Noaudio

Format status

Потом сделал из ffserver демона по аналогии с описанным в предыдущем посте про igmpproxy и - вуаля. Как было сказано каким-то добрым человеком в одном из англоязычных форумов о настройке ffmpeg+ffserver "And it should work! Open a bottle of beer!".

linux ffmpeg ffserver

Previous post Next post
Up