Виртуальная камера для linux

Виртуальная камера для linux

01 янв 2017, 12:58

как/что можно запилить/подключить ,как виртуальную камеру.?
скажем на примере Skype .
т.е. (у меня нет реальной вебкамеры)
мне нужно вывести скрин области/рабочего стола или любой медиафайл (фото/видео/флеш и т.д)
так ,чтобы другая программа (в нашем случае скайп) ,увидело всё это хозяйство ,как будто оно передаётся вебкамерой.
в винде я пользовал ManyCam

решилось так: на Linux Mint 18 (х64)Mate и Skype 4.3.0.37 всё встало без вопросов

$ sudo add-apt-repository ppa:webcamstudio/webcamstudio-dailybuilds
$ sudo apt-get update
$ sudo apt-get install webcamstudio

ставим драйвер
$ sudo apt-get install webcamstudio-dkms

подключаем модуль
$ sudo modprobe webcamstudio

$sudo geany /usr/local/bin/skype
В запустившемся редакторе ввести ну и сохранить конечно
для версии (x64) 64бит[/b]

делаем этот файл исполняемым
$sudo chmod a+x /usr/local/bin/skype

можно удалить ранее подключенный репозиторий
$ sudo add-apt-repository —remove ppa:webcamstudio/webcamstudio-dailybuilds
перегружаем,настраиваем webcamstudio и скайп
ВСЁ
взято тут ,но лишние буквы выпилены
http://yklinux.blogspot.ru/2016/08/linux-skype.html
здесь оригинал на ENглише
https://community.linuxmint.com/tutorial/view/219

Источник

Виртуальная камера для linux

Появилась задача: при видеосвязи по Skype показывать собеседнику не только свою физиономию, а и что-то иное: картинку с другой камеры, свой рабочий стол, какое-то изображение или видеоролик. Причем камеры очень хотелось бы переключать в ходе разговора. Иными словами, требовалось сделать что-то типа телестудии, где есть несколько источников видео, а оператор по ходу передачи их переключает.

Сам Skype такими возможностями не обладает. В настройках есть возможность выбора камеры (если их к компьютеру подключено несколько), но «на лету» из переключать нельзя: если я меняю камеру в настройках, то текущий сеанс все равно будет продолжаться с прежней камерой, а новую камеру Skype будет использовать только при следующем соединении.

(Скриншот настроек скайпа)

К счастью, в Linux есть так называемая виртуальная камера: в системе появляется новое устройство /dev/videoN (N — число, зависящее от количества уже имевшихся в системе камер), в него можно направлять различную видеоинформацию, а в настройках Skype указать именно эту виртуальную камеру как источник видеосигнала.

Управлять видео- (и аудио-) потоками в Linux можно с помощью пакетов avconv или gstreamer. Имеется также и GUI-приложение WebcamStudio. Я решил начать именно с него: оперативно управлять источниками видео все-таки удобнее в графическом режиме, чем из командной строки (даже если написать набор скриптов для нужных конфигураций).

Установка WebcamStudio

$ sudo add-apt-repository ppa:webcamstudio/webcamstudio-dailybuilds
$ sudo apt-get update
$ sudo apt-get install webcamstudio

К сожалению, установленный таким образом пакет оказался неработоспособным в Linux Mint 17.

Во-первых, при запуске выдается сообщение, что в системе не установлен драйвер виртуальной камеры (webcamstudio либо w4l2loopback). Действительно, без этого драйвера функциональность пакета ограничена: можно записывать видео в файл, но вывод на виртуальную камеру не работает ввиду ее отсутствия.

Установить драйвер можно командой

$ sudo apt-get install webcamstudio-dkms

После установки нужно подключить полученный модуль командой

Читайте также:  Windows не обновляется папка автоматически

Теперь сообщение об отсутствии драйвера пропало, но программа не запускалась — на короткое время возникал ее логотип, а окно программы не появлялось. Видимо, версия пакета в репозитории несовместима с Linux Mint 17.

Пришлось отключить драйвер виртуальной камеры командой

и удалить с помощью менеджера Synaptic пакеты webcamstudio и webcamstudio-dkms (отметив их для полного удаления).

Вторая попытка заключалась в установке пакетов с сайта проекта https://sourceforge.net/projects/webcamstudio/.

После установки стабильной версии из каталога Home/Binaries/Stable/Debian (Ubuntu) программа заработала, но не вполне: при попытке направить вывод на виртуальную камеру программа зависала.

Пришлось удалить установленные пакеты и попробовать бета-версии из каталога Home/Binaries/Beta/Debian (Ubuntu). У меня 64-битная система, для нее нужен пакет webcamstudio_0.73-445

ubuntu14.04_14.10_15.04_amd64.deb (для 32-битных систем предназначен пакет webcamstudio_0.73-445

ubuntu14.04_14.10_15.04_i386.deb). Драйвер виртуальной камеры универсальный: webcamstudio-dkms_0.73-445

ubuntu_all.deb. Этот вариант оказался успешным: программа заработала, вывод в виртуальную камеру зависаний не вызывал. Источники видео (две аппаратных камеры и рабочий стол) тоже нормально перенаправлялись на выход программы.

Данный вариант вызвал небольшое затруднение: программа обновления пакетов быстро обнаружила, что установленные версии webcamstudio и webcamstudio-dkms не совпадают с версиями в репозитории, и стала предлагать их обновить. Обновление, очевидно, приведет к неработоспособности программы, поэтому следует отключить ранее подключенный репозиторий ppa:webcamstudio/webcamstudio-dailybuilds с помощью команды

$ sudo add-apt-repository —remove ppa:webcamstudio/webcamstudio-dailybuilds

Сопряжение Skype с виртуальной камерой

После получения работоспособной версии WebcamStudio пришла пора подключать виртуальную камеру к Skype. И тут возник очередной неприятный сюрприз: Skype увидел в системе устройство /dev/video2 (виртуальную камеру), но картинку с нее не воспринимал: в окне просмотра была сплошная чернота.

В терминале нужно ввести команду

В запустившемся текстовом редакторе ввести следующие строки:

#!/bin/bash
LD_PRELOAD=/usr/lib/i386-linux-gnu/libv4l/v4l1compat.so /usr/bin/skype

(Данные строчки предназначены для 64-разрядной системы, в 32-разрядной библиотека v4l1compat.so расположена в другом каталоге, и полный путь к ней надо соответственно скорректировать.)

Сохраняем файл, закрываем редактор и делаем файл исполняемым с помощью команды

Перезапускаем Skype и вновь в его настройках выставляем виртуальную камеру. На этот раз картинка с виртуальной камеры успешно передается в Skype.

Итак, поставленная вначале задача более-менее успешно решена.

Проблема с cheese

При попытке просмотреть сигнал с виртуальной камеры через cheese обнаружилось, что cheese вообще не видит виртуальной камеры: в выпадающем списке есть только реальные камеры /dev/video0 и /dev/video1, но виртуальная камера /dev/video2 отсутствует. Причины пока непонятны.

Перспективы

Теперь в процессе сеанса связи в Skype я могу показывать собеседнику картинку с любой из подключенных к компьютеру камер, свой рабочий стол, а также произвольные изображения и видеоролики.

Однако хотелось бы иметь возможность разбить выводимое изображение на области и в каждую область выводить что-то свое. Примерно так делается в системах видеонаблюдения, когда на большой экран выводится несколько картинок с разных камер, каждая в своей «клеточке».

Пока я не знаю, возможно ли сделать такое средствами WebcamStudio или потребуются какие-то внешние навески. Поэтому, возможно, «продолжение следует».

Источник

Виртуальная веб-камера с video4linux2 недоступна в некоторых службах видеочата [дубликат]

Я хочу использовать веб-камеру на своем ноутбуке в качестве видеоустройства на моем компьютере, чтобы использовать его для видеоконференций и т. д.

Так что я не хочу просто транслировать видео. Я действительно хочу «транслировать» все устройство по сети.

Читайте также:  Браузер duckduckgo для windows

Итак, два компьютера, один транслирует поток со своей веб-камеры, другой принимает это как видеоустройство.

Оба компьютера работают в обычном режиме Ubuntu 18.04, однако я скоро обновлюсь до 20.04

6 ответов

Предполагая, что обе машины подключены к сети и ПК может достичь IP-адреса портативного компьютера. Выполните следующие действия:

На портативном компьютере

Установите v4l-utils и ffmpeg , запустив:

Установите matroska медиа-контейнер, например :

Выполните следующую команду, чтобы открыть прослушиватель netcat для потока камеры:

На ПК

Установите v4l-utils и ffmpeg , запустив:

Установите v4l2loopback и загрузите виртуальную камеру:

Протестируйте это :

  • Выполните потоковую передачу с реальной камеры портативного компьютера на виртуальную камеру на ПК (измените IP-адрес ноутбука на IP-адрес портативного компьютера):
  • Запустите и воспроизведите виртуальную камеру:
  • Скажите сыр на камеру вашего ноутбука.

Если вы видите свое лицо, значит, он работает.

Микрофон?

Чтобы передать выход микрофона с портативного компьютера на ПК, выполните следующие действия. эти шаги:

На портативном компьютере :

На компьютере:

Результат будет примерно таким:

мы будем использовать устройство 1 (обычно это виртуальный микрофон) на карте 1 вот так hw: 1,1

  • Затем запустите это (измените Laptop_IP на IP-адрес портативного компьютера) :
  • Выберите новое микрофонное устройство в Системных настройках -> Звук -> Вход.

Проверьте микрофон и узнайте, что будет задержка звука, поскольку сжатие не используется.

Примечание:

  • Это было протестированы и работают безупречно на двух машинах, работающих под актуальными одинаковыми версиями Ubuntu 19.10 .

Если тест не прошел, то это, вероятно, связано с тем, что у вас есть другие виртуальные камеры или другие камеры, присутствующие на вашем ПК / dev каталог

Чтобы исправить это, запустите ls / dev / video * и обратите внимание на их количество. Затем используйте команду с большим числом после нее в двух командах теста. Это делается так:

Запустите sudo modprobe -r v4l2loopback

Затем запустите ls / dev / video * и обратите внимание на существующие камеры, например / dev / video0 / dev / video1 / dev / video2 . etc

Затем запустите снова ls / dev / video * , будет добавлена ​​новая камера / dev / video3 примерно так / dev / video0 / dev / video1 / dev / video2 / dev / video3

Используйте новую камеру в последних двух командах вместо / dev / video0 вот так:

Устранение неполадок:

Чтобы проверить, проходит ли поток через , если у вас есть проблемы с v4l2loopback , вы можете запустить на ПК:

Чтобы использовать его с Google Hangouts:

Спасибо @janjaromirhorak , как указано в этом комментарии , цитируемом ниже.

Могут быть другие способы сделать это, но это был мой метод в Mozilla Firefox: откройте Google Hangouts, начните видеозвонок и разрешите оба запросы на микрофон и внутреннюю веб-камеру. Затем щелкните шестеренку значок, чтобы открыть диалоговое окно настроек, в котором можно выбрать веб-камеру. вы хотите использовать. Выберите свою виртуальную веб-камеру, примите разрешение запрос и нажмите «Готово». Также этот параметр, похоже, сохранится в будущем видеозвонки — в следующий раз я обнаружу, что моя виртуальная веб-камера уже выбрана и за работой. 🙂

Итак, вы хотите одолжить камеру для другого компьютера. Может быть поздно, но этот вопрос, похоже, имеет решение.

Обычная проблема, которую я вижу, большинство приложений для конференций / чатов поддерживают только устройства с локальной камерой (без сетевой или локальной потоковой передачи файлов).

Читайте также:  Как узнать когда был установлен линукс

Вам не хватает только одного элемента:

v4l2loopback

  1. Создайте устройство обратной связи V4L2 на рабочем столе (ПК2)
  2. На портативном компьютере (ПК1) используйте GStreamer ( gst-launch-1.0 ), ffmpeg, vlc, . чтобы потоковое видео с камеры в сеть
  3. На рабочем столе (ПК2) используйте GStreamer ( gst-launch-1.0 ), ffmpeg, vlc, . для получения и передачи видео на устройство обратной связи

Затем установите приложения конференции / чата на рабочем столе (ПК2), используя устройство обратной связи V4L2, созданное на шаге (1), в качестве камеры.

Ссылки:

Использование vlc является одним из способов для достижения этой цели.

Шаг 1 — настройка

Чтобы установить VLC в Debian, Ubuntu или Linux Mint:

Чтобы установить VLC в Fedora, сначала включите бесплатный репозиторий RPM Fusion, затем запустите:

Чтобы установить VLC на CentOS или RHEL 6, сначала настройте репозиторий EPEL, а затем используйте следующие команды:

Шаг 2 — Проверить веб-камеру в VLC

Убедитесь, что ваша веб-камера обнаружена вашей системой Linux и VLC.

Для этого вам необходимо знать имя веб-камеры. В приведенном ниже примере веб-камера называется / dev / video0 .

Затем вам нужно протестировать видео с веб-камеры. Вот команда, которую вам нужно использовать, не забудьте заменить «video0» на имя вашего устройства.

Если ваша веб-камера успешно обнаружена VLC, вы сможете увидеть свой видеопоток.

Шаг 3 — Настройте потоковую передачу с веб-камеры на VLC

Вы успешно обнаружили свою веб-камеру в VLC, далее следует настроить потоковую передачу с веб-камеры.

В этом примере веб-камера транслируется по HTTP в формате WMV. Чтобы настроить VLC для потоковой передачи с веб-камеры, сначала запустите VLC.

В меню VLC выберите «Streaming».

На экране выберите имя вашей веб-камеры или аудиоустройства, например, / dev / video0 для веб-камеры и hw: 0, 0 для аудио. Установите флажок «Показать дополнительные параметры» и запишите строки значений в полях «MRL» и «Параметры редактирования». Эти строки будут использоваться позже в учебнике. Нажмите кнопку «Поток».

Проверьте источник видео, например, v4l2: /// dev / video, и нажмите «Далее», чтобы продолжить.

Выберите место назначения, то есть метод / цель потоковой передачи потоковой передачи с веб-камеры . В нашем примере мы выбираем HTTP из раскрывающегося списка и нажимаем «Добавить».

Затем указываем номер порта и путь к потоковой службе. Для номера порта введите 8080; мы предполагаем, что номер порта не занят, для пути — «/stream.wmv». Для перекодирования выберите профиль «Видео — WMV + WMA (ASF)» из раскрывающегося списка. Нажмите «Далее».

На следующем экране отображается автоматически сгенерированная строка вывода потока. Запишите это и нажмите кнопку «Stream».

На этом этапе VLC должен начать потоковую передачу видео с вашей веб-камеры через HTTP. Потоковый трафик отправляется непосредственно на localhost на TCP-порт с номером 8080, поэтому вы не сможете ничего увидеть в окне VLC.

Чтобы убедиться, что VLC правильно работает на TCP-порту 8080, выполните следующую команду и посмотрите для VLC.

Шаг 4. Просмотр потокового видео с веб-камеры

После запуска потокового сервера прямая трансляция с веб-камеры станет доступна по адресу http: //: 8080 / stream.wmv

Вы можете использовать VLC player или MPlayer для доступа к каналу веб-камеры следующим образом.

Если вы тестируете канал с того же хоста, используйте вместо него адрес обратной связи 127.0.0.1.

Источник

Оцените статью