из вашего описания («видео переключается между двумя производителями») кажется, что оба производителя записывают на одно и то же видеоустройство.
чтобы исправить это, вам нужно сделать две вещи :
- создать 2 видеоустройства
- указать каждому производителю использовать собственное видеоустройство
создание нескольких видеоустройств
как задокументировано , это можно сделать, указав devices=2
при загрузке модуля.
принимая ваш вызов modprobe
, это будет означать:
modprobe v4l2loopback devices=2 video_nr=10 card_label="OBS Cam" exclusive_caps=1
это создаст два новых устройства, первое будет /dev/video10
(раз вы указали video_nr
), второе займет первое бесплатное видео-устройство. в моей системе (в которой есть веб-камера, которая занимает как /dev/video
, так и /dev/video1
) это /dev/video2
говорит каждому производителю использовать свое собственное устройство
ну, скажите одному производителю использовать /dev/video10
, а другой - использовать /dev/video2
(или любые другие видеоустройства, которые у вас есть)
например,
gphoto2 --stdout --capture-movie | gst-launch-1.0 \
fdsrc fd=0 \
! decodebin name=dec \
! queue \
! videoconvert \
! tee \
! v4l2sink device=/dev/video10
и настроить obs для использования /dev/video2
.
или наоборот.
просто не используйте одно и то же видеоустройство для обоих производителей. (также убедитесь, что ваши потребители используют правильное видеоустройство)