Создать поддельный поток веб-камеры для Firefox - PullRequest
0 голосов
/ 19 ноября 2018

Я хочу создать поддельный поток веб-камеры для Firefox.На данный момент у меня есть требуемая возможность media.navigator.streams.fake, но я не уверен, как получить конкретный видеофайл для воспроизведения.

Как я могу это сделать?

Ответы [ 3 ]

0 голосов
/ 10 декабря 2018

В качестве альтернативы можно использовать пользовательский агент в Chrome, а затем внедрить видеофайл:

ChromeOptions options = new ChromeOptions();
options.addArguments("--use-fake-ui-for-media-stream");
options.addArguments("--use-fake-device-for-media-stream");
options.addArguments("--use-file-for-fake-video-capture=path/to/video.y4m");
options.addArguments("--user-agent=Mozilla/5.0 (Windows NT 10.0; Win64; x64; rv:63.0) Gecko/20100101 Firefox/63.0");
webDriver = new ChromeDriver(options)

PS: я создаю проблему, которую Ратмир Асанов прокомментировал github.com / mozilla / geckodriver/ вопросы / 1429

0 голосов
/ 27 мая 2019

Если вы хотите воспроизвести определенный файл с помощью Firefox, я думаю, вам придется смоделировать веб-камеру на вашем экземпляре (например, с v4l2loopback), а затем воспроизвести ваш файл на виртуальной веб-камере с помощью чего-то вроде ffmpeg. С selenium вам также придется обновить свой профиль Firefox, чтобы разрешить доступ к вашей поддельной веб-камере.

0 голосов
/ 20 ноября 2018

Для Firefox вы можете использовать следующий код в Python:

from selenium import webdriver


options = webdriver.FirefoxOptions()
options.set_preference("media.navigator.streams.fake", True)
driver = webdriver.Firefox(firefox_options = options)

Или, если вы используете требуемые возможности с другими опциями, это будет выглядеть так:

from selenium import webdriver
from selenium.webdriver.common.desired_capabilities import DesiredCapabilities


options = webdriver.FirefoxOptions()
options.set_preference("media.navigator.streams.fake", True)
desired = DesiredCapabilities.FIREFOX
desired.update(options.to_capabilities())
driver = webdriver.Firefox(desired_capabilities=desired)

PS:Вы можете перевести его на любой необходимый язык программирования.

По вашему вопросу: Firefox не поддерживает определенный видеофайл для воспроизведения внутри поддельной веб-камеры - https://github.com/mozilla/geckodriver/issues/1429.

Надеюсь, он вам поможет!

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...