как создать дубликат / dev / video0?

17

У меня есть 1 веб-камера, подключенная к моему компьютеру, но я хочу использовать ее в нескольких программах.
Проблема в том, что когда я запускаю вторую программу, она говорит, что веб-камера уже используется.

Программы, которые будут использовать веб-камеру: motion, pam_face_authentification и некоторые коммуникационные программы, такие как Skype, Google Hangout ...

Как я могу продублировать поток моей веб-камеры для имитации второй веб-камеры?

user244552
источник
Я не понимаю, что вы мне говорите?
user244552
поток в файл и на дисплей. Вы могли бы сделать это с VLC, возможно, с сыром. если у вас есть поток, его может использовать любой.
j0h
Почему бы не сделать это при запуске ОС? Через «Запуск приложений».
Gtx

Ответы:

9

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

Как уже упоминалось в вашем комментарии, gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1позволяет дублировать видео0 на видео1 , а видео1 может быть прочитано некоторыми программами.

Чтобы запустить этот прогон при запуске компьютера, вы можете следовать UbuntuBootupHowto, чтобы получить что-то вроде:

# /etc/init/videocloner.conf
description "VideoCloner"
start on runlevel [2345]
stop on runlevel [06]
respawn
exec gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1

Этот сценарий должен запускаться при загрузке компьютера, а также позволяет вам запускаться sudo service videocloner start|stop (Примечание: если мой примерный сценарий не работает, попробуйте перейти gst-launch v4l2src device=/dev/video0 ! v4l2sink device=/dev/video1в сценарий оболочки и изменить execстроку для вызова сценария оболочки вместо этого) .

Долан Антенуччи
источник
1
Я хочу добавить что-то к ответу Долана. Вам также необходимо установить v4l2loopback-dkmsпакет и запустить v4l2loopbackмодуль: sudo apt-get install v4l2loopback-dkmsа затемsudo modprobe v4l2loopback
Tarek Loubani
Я пробовал это, но в результате у меня есть пригодный для использования / dev / video1, но неподходящий / dev / video0, поэтому он не позволяет двум программам использовать одну и ту же физическую веб-камеру. Я попытался изменить команду для создания / dev / vidoe1 и / dev / video2, чтобы у меня было 2 конечных точки, но не повезло.
unfa