Как использовать две (или более) веб-камеры в Skype?
Я даю уроки музыки, и было бы здорово, если бы ученик мог одновременно видеть мое лицо и то, что я делаю руками на инструменте.
Я пробовал OBS, но были задержки. Я искал другие решения, но не нашел ни одного.
решение1
Вы можете использовать мощный инструмент FFMPEG и «поддельную» камеруv4l2loopback.
Установите ffmpeg
и v4l2loopback
сначала.
Затем проверьте имеющиеся видеоустройства:
ls /dev/video*
Обратите внимание на результаты. Теперь сделайте:
sudo modprobe v4l2loopback devices=1 card_label="Very Real HD Webcam" exclusive_caps=1
Это создает видеоустройство.
Затем используйте:
ffmpeg -i /dev/video0 -i /dev/video1 \
-filter_complex "[1:v]scale=500:-1[v2];[0:v][v2]overlay=main_w-overlay_w-5:5" \
-c:a copy -pix_fmt rgb24 -vsync 2 -f v4l2 /dev/video2
/dev/video0 и /dev/video1 — ваши настоящие веб-камеры. /dev/video2 — это устройство, созданное v4l2loopback. При необходимости измените его с помощью выводов первой ls
команды.
Вы можете протестировать видео с помощью
ffplay /dev/video2
Все еще будут некоторые задержки, но это не должно быть большой проблемой. Если задержка есть только на одной из камер (рассинхронизация), может быть проблема с частотой кадров, как это произошло со мной. Добавьте, -r
чтобы указать входную частоту кадров (fps). Вы можете узнать ее, ffprobe /dev/video0
например, с помощью.
ffmpeg -r 25 -i /dev/video0 -r 10 -i /dev/video1 \
-filter_complex "[1:v]scale=500:-1[v2];[0:v][v2]overlay=main_w-overlay_w-5:5" \
-c:a copy -pix_fmt rgb24 -vsync 2 -f v4l2 /dev/video2
Код фильтра ffmpeg взят отсюда:https://superuser.com/a/1721227. Я не очень хорош в фильтрах ffmpeg, но вы можете немного погуглить, чтобы изменить его, если вам нужно. Этот помещает вторую камеру в верхний правый угол