- Создатель Александр Левдонский, отредактировано 13.11.20
Вы просматриваете старую версию данной страницы. Смотрите текущую версию.
Сравнить с текущим просмотр истории страницы
« Предыдущий Версия 4 Следующий »
В статье описывается создание виртуальной видеокамеры, совместимой с видеоконференцией ZOOM, и перенаправление видеопотока в эту виртуальную камеру.
При написании статьи использовалась сетевая IP-видеокамера наблюдения (surveillance camera), работающая по протоколу RTSP, однако описанная методика применима к любым видеокамерам. Отличия будут только в параметрах получения и конвертации входного видеопотока.
Данная статья применима к:
- ОС ОН Орёл 2.12
- ОС СН Смоленск
Исходные данные
IP-видеокамера подключена к сети с IP-адресом 192.168.1.12, и URL ("адрес") видеопотока камеры:
rtsp://192.168.1.12:554/user=admin&password=&channel=0&stream=0?.sdp
Где:
- rtsp - протокол передачи видеопотока RTSP;
- 192.168.1.12 - IP-адрес видеокамеры;
- 554 - IP-порт, через который выдаётся видеопоток;
- user=admin&password=&channel=0&stream=0?.sdp - параметры доступа к видеопотоку.
Для других видеокамер параметры URL будут другими, см. соответствующую документацию на оборудование.
Установка и настройка пакетов
Для создания виртуальной видеокамеры требуются два пакета:
v4l2loopback-dkms - модуль ядра, обеспечивающий создание виртульной камеры. На момент написания статьи пакет не входит в стандартные дистрибутивы Astra Linux, и может быть скачан и установлен из репозитория Debian:
wget http://ftp.de.debian.org/debian/pool/main/v/v4l2loopback/v4l2loopback-dkms_0.12.5-1_all.debВ статье использована самая свежая доступная версия из репозитория sid. В целях обеспечения стабильности работы можно использовать более старые версии, однако в них может не быть поддержки последних версий ядра ОС;
sudo apt install ./v4l2loopback-dkms_0.12.5-1_all.debffmpeg - инструмент перенаправления и конвертации видеопотоков. Пакет ffmpeg входит в дистрибутивы Astra Linux и может быть установлен командой:
sudo apt install ffmpeg
После установки пакета v4l2loopback-dkms необходимо загрузить соответствующий модуль ядра. Команда:
Загруженный таким образом модуль ядра не будет автоматически загружаться после перезагрузки, автоматическую загрузку можно включить позже, убедившись, что всё работает нормально.
Проверка готовности к работе
Доступность входного видеопотока
Доступность входного видеопотока (получаемого от видеокамеры) можно проверить, например, с помощью медиаплеера VLC (входит в дистрибутивы Astra Linux и устанавливается по умолчанию). Видеоплеер VLC доступен через графическое меню: "Пуск" - "Мультимедиа" - "Медиаплеер VLC". Воспроизведение сетевого видеопотока доступно через меню VLC: "Медиа" - "Открыть URL..", где указать URL видеопотока.
Доступность виртуальной видеокамеры
Проверить успешность загрузки модуля виртуальной видеокамеры можно командой вывода списка загруженных модулей ядра:
v4l2loopback 40960 0
videodev 225280 5 gspca_main,videobuf2_v4l2,v4l2loopback,gspca_pac7311,videobuf2_common
В конференции ZOOM виртуальная видокамера будет определяться как "Dummy video device (0x0000)".
Перенаправление видеопотока
Перенаправление видеопотока выполняется командой:
Где:
-i "rtsp://192.168.1.12:554/user=admin&password=&channel=0&stream=0?.sdp" - URL входного потока
Приведённый здесь URL отностится к камере, использованной при написании статьи.
В работе следует использовать ваш URL, работоспособность которого проверена в VLC на этапе "Доступность входного видеопотока".- -r 10 - количество кадров в секунду;
- -vf format=yuv420p -f v4l2 - параметры фильтрации и конвертации видеопотока;
- /dev/video0 - устройство, на которое выводится видеопоток.
Подробное описание параметров ffmpeg смотрите в документации (man ffmpeg).
Проверка перенаправленного видеопотока
Проверить перенаправленный видеопоток можно также с помощью медиаплеера VLC, только использовать в качестве источника не пункт "Открыть URL..", а пункт "Открыть устройство захвата...", и открывать созданную виртуальную видеокамеру (например, /dev/video0).
Если всё сделано правильно, то в видеоконференции ZOOM перенаправленный поток будет доступен через устройство "Dummy video device (0x0000)".
Включение автоматической загрузки модуля ядра
Для того, чтобы модуль ядра автоматически загружался при перезагрузке ОС, его название (в данном случае - v4l2loopback) должно быть добавлено в файл /etc/modules или в файл с произвольным именем и "расширением" .conf, расположенный в каталоге /etc/modeules-load.d/.
- Нет меток