И так, что нам нужно. Мы хотив видеть и слышать что происходит дома либо где то ещё в наше с вами отсутствие . Можно конечно купить ethernet камеру но пока цена на них впечетляет. Хочется получить хорошего результата от USB веб камер с встроенным микрофоном. Результат от стандартных средств прошивки несколько не устраивал и я решил попробовать поиграться с программой palantir, и вот результат ...
Сначала нам нужно отключить в вебморде асуса все стандартные приложения которые используют камеру и так как с этого момента с загрузкой роутера у нас не будут грузиться драйера на камеру в post-boot надо добавить следующее
Code:
insmod videodev.o
insmod pwc.o
insmod pwcx.o
если при загрузке в логах мы наблюдаем следущее
Code:
kernel: usbaudio: device 2 audiocontrol interface 1 has 1 input and 0 output AudioStreaming interfaces
kernel: usbaudio: device 2 interface 2 altsetting 1 channels 1 framesize 2 configured
kernel: usbaudio: valid input sample rate 44100
kernel: usbaudio: device 2 interface 2 altsetting 1: format 0x00000010 sratelo 44100 sratehi 44100 attributes 0x00
kernel: usbaudio: device 2 interface 2 altsetting 2 channels 1 framesize 2 configured
kernel: usbaudio: valid input sample rate 22050
kernel: usbaudio: device 2 interface 2 altsetting 2: format 0x00000010 sratelo 22050 sratehi 22050 attributes 0x00
kernel: usbaudio: device 2 interface 2 altsetting 3 channels 1 framesize 2 configured
kernel: usbaudio: valid input sample rate 11025
kernel: usbaudio: device 2 interface 2 altsetting 3: format 0x00000010 sratelo 11025 sratehi 11025 attributes 0x00
kernel: usbaudio: device 2 interface 2 altsetting 4 channels 1 framesize 2 configured
kernel: usbaudio: valid input sample rate 8000
kernel: usbaudio: device 2 interface 2 altsetting 4: format 0x00000010 sratelo 8000 sratehi 8000 attributes 0x00
kernel: usbaudio: registered dsp 14,3
kernel: usbaudio: warning: found 1 of 0 logical channels.
kernel: usbaudio: assuming the channel found is the master channel (got a Philips camera?). Should be fine.
kernel: usbaudio: registered mixer 14,0
USB webcam: attached
то собственно всё в порядке и можно переходить к установке самой программы, если нет то ставим на свою камеру драйвера отдельно ...
на всякий случай убеждаемся в том что все устройства у нас в системе появились
Code:
ls /dev/sound/
dsp
mixer
ls /dev/v4l
video0
теперь ставим программу
Code:
ipkg install palantir
так как palantir не работает в фоне то ставим приложение screen, для у кого этот пакет не установлен
Code:
ipkg install screen
теперь настраиваем сам palantir, там ничего сложного но на всякий случай привожу пример изменённых мест в конфиге
/opt/etc/palantir.conf
Code:
## VideoDevice: video device to capture from.
## Default is /dev/video0.
#
# VideoDevice /dev/video0
VideoDevice /dev/v4l/video0
## FrameSize: size of captured frames.
## Default is 320x240.
#
FrameSize 640x480
## FrameRate: capture frame rate, in frames per second.
## Only works with webcams supported by the pwc driver.
## Default is 15.
#
# FrameRate 30
FrameRate 5
## Audio: enable or disable audio stream.
## Allowed values are "On" and "Off".
## Default is On.
#
# Audio On
## AudioCaptureDevice: audio device to capture from.
## Default is /dev/dsp.
#
AudioCaptureDevice /dev/sound/dsp
## VideoAudioInput: audio input on the video capture device.
##
## Default is input 0, which is often the only audio device (if any) on the
## capture card.
#
VideoAudioInput 0
## VideoAudioVolume: volume of the audio input device selected with
## VideoAudioInput.
## Allowed values are 0...65535.
## Default is 65535.
#
VideoAudioVolume 65535
## TCPPort: TCP base port to listen to. Clients connect to this port
## for the HTTP (video+data) stream.
## If the audio channel is enabled, it is made available to clients
## on an additional port, which defaults to (base port)+1 (a different value
## can be selected via a command-line option or the TCPAudioPort directive).
#
TCPPort 3000
## TCPAudioPort: TCP audio port to listen to (if the audio channel is
## not disabled).
## Default is (base port)+1.
#
TCPAudioPort 3001
## ControlTimeout: duration for the control time share, in seconds.
## Default is 30.
#
ControlTimeout 65535
## ClientTimeout: maximum duration of a single client connection, in seconds.
## Default is to allow indefinitely long connections.
ClientTimeout 300
## ClientAckTimeout: how long the server should wait for the "frame received"
## acknowledgement from the client, in seconds.
## Default is 30 seconds.
#
ClientAckTimeout 65535
## MaxStreamingClients: maximum number of simultaneous connections to video
## stream. Clients in excess get a snapshot.
## Default is 5.
#
MaxStreamingClients 1
## Greeting: message sent to clients upon connection.
## Default is "Experimental Palantir server".
#
# Greeting "Experimental Palantir server"
Greeting "Palantir server on WL-500gP"
## LogFile: location of the log file. If none is specified, diagnostic
# messages go to stderr.
LogFile /opt/var/log/palantir/palantir.log
пробуем запустить
Code:
/tmp/harddisk/opt/bin/screen -dm -s /tmp/harddisk/opt/bin/palantir
или
/opt/bin/screen -dm -s /opt/bin/palantir
или
screen -dm -s palantir
Смотреть можно как браузером так и программой клиентом. Соединяемся программой palantir4pc, в строке вводим IP роутера:видео_порт из конфига. Появится изображение с видео камеры, нажимаем в программе control, становится активным окошко audio ставим в неё галочку и должен был пойти звук. если всё в порядке то старт палантира можно повесить на кнопку в lighttpd или при загрузке что бы стартовал и открыть соответствующие порты в iptables.
у меня звук не пошёл, пришлось искать palantir по свежее. Из архива palantir-bin-2.7-mips.tgz содержимое копируем в с заменой, переносим файл конфигурации
Code:
из /opt/etc/ в /tmp/local/share/palantir/
что бы после перезагрузки файл конфигурации не пропал делаем следующее
Code:
flashfs save
flashfs commit
flashfs enable
Пробуем снова запустить сервер, соединяемся и теперь не только с видео но и со звуком всё в порядке
Громкость звука с микрофона можно регулировать утилитой smixer, кидаем её в любое удибное для нас место, на пример /opt/bin/ конфигурацию на пример в /opt/etc/ с содержанием громкости микрофона
и выполняеем в консоли
Code:
smixer -a -f /opt/etc/smixer.conf
PS .. не забываем то что palantir и smixer должны быть исполняемыми
PSS если у кого то удастся подцепиться к палантиру другой сторонней программой то было бы интересно узнать название проги .. так как родной клиент периодически рвёт соединение