не хватает v4l_pipe (>16) на Ubuntu 9.04 Jaunty

20 views
Skip to first unread message

Andrey Nikitin

unread,
Jan 17, 2010, 12:18:12 PM1/17/10
to avreg...@googlegroups.com
Привет.

Обнаружили проблему на Ubuntu 9.04 Jaunty и её решение.

** Преамбула. **
Локальный просмотрщик камер avreg-mon получает видео от демона avregd
через штатный механизм video4linux.
Мостик наводит модуль ядра v4loop, который создаёт пары виртуальных
видеоустройств video4linux. Почему пары - в одно устройство толкает
видео демон avregd, а из другого читает avreg-mon.
Кол-во создаваемых пар по умолчанию - 16, что позволяет наблюдать
_локально_ до 16 камер.
Если нужно _локально_ смотреть больше камер [17-32], первым делом нужно
скомандовать модулю v4loop чтобы он создал больше пар - виртуальных
сквозных video4linux каналов. Делается это редактированием
файла /etc/modprobe.d/v4loop.conf
см. http://avreg.net/manual_install_avreg-mon.html


** Проблема. **

Ядра 2.6.28 для Ubuntu 9.04 Jaunty имеют ограничение на кол-во
video4linux устройств - 32, и это значит что v4loop сможет создать
только 16 пар = смотреть _локально_ только 16 камер.
Прим.: устройства могут не создаваться и по другой причине,
см. http://avreg.net/manual_install_avreg-mon.html

Выглядит это так:
# конфигурация для 32 пар/камер
$ cat /etc/modprobe.d/v4loop.conf
options v4loop dev_offset=0 pipes=32

nik@jaunty904:~$ sudo modprobe -vvv v4loop
insmod /lib/modules/2.6.28-17-generic/kernel/drivers/media/video/v4loop.ko
dev_offset=0 pipes=32 FATAL: Error inserting v4loop
(/lib/modules/2.6.28-17-generic/kernel/drivers/media/video/v4loop.ko):
Too many open files in system

Считаем кол-во устройств /dev/video* - только 32, вместо желаемых 64


** Решение. **

Обновление ядра до версии 2.6.30

Ядро 2.6.30 для 9.04 нашлось на http://ppa.launchpad.net -
официальной тусовке разработчиков убунту, насколько я понял.

Итак, первым делом добавляем репозитарий разработчика "xorg-edgers"
в /etc/apt/sources.list
$ sudoedit /etc/apt/sources.list
и в конец файла добавляем строку
deb http://ppa.launchpad.net/xorg-edgers/ppa/ubuntu jaunty main

Далее
$ sudo apt-get update
Будет ругаться на незнакомый ключ - установить
https://help.launchpad.net/Packaging/PPA/InstallingSoftware#Adding%20the%20PPA%27s%20key%20to%20Ubuntu
или забить :)

$ sudo aptitude install linux-image-2.6.30-10-generic

$ sudo reboot

после перезагрузки

$ sudo m-a -t a-i v4loop

$ ls -l /dev/video* | wc -l
64

т.е. 32 пары = камеры для локального просмотра через avreg-mon

!!! Скорее всего потребуется переустановка проприетарных драйверов
nvidia и т.п. Обратите внимание!!! Если вы хотите смотреть на сервере
много камер очень важно использовать самые производительные драйвера.

Недостатком этого решения является то, что ядро неофициальное (хотя и
известного человека в убунту) со всеми вытекающими последствиями.
Поэтому, после смены ядра проверьте работоспособность всех важных и
используемых приложений.

P.S.
в Debian 4 Etch (2.6.18) и Debian 5 Lenny (2.5.26) такой проблемы - нет;
в Ubuntu 8.04 LTS (2.6.24) - не знаю, может кто проверит и напишет?;
в Debian 6 Squeeze (2.6.30) - точно нет и в Ubuntu 9.10 (2.6.31) -
вероятно нет, однако для этих дистров AVReg полностью не
опакечен, т.е. без хакерских методов установить не получится (гусары -
молчать, мы над этим работаем).

Andrey Nikitin

unread,
Jan 17, 2010, 12:21:47 PM1/17/10
to avreg...@googlegroups.com
В Sun, 17 Jan 2010 20:18:12 +0300
Andrey Nikitin <avreg-...@mail.ru> пишет:

> Недостатком этого решения является то, что ядро неофициальное (хотя и

И ещё то, что нет "-server" серверной сборки ядра, которое
предпочтительней для AVReg сервера.

Reply all
Reply to author
Forward
0 new messages