I am developing a java/selenium based application and need to pass media i.e. audio and/or video files to the browser.
I have been able to successfully do this in Chrome using the below code snippet:
DesiredCapabilities capabilities = DesiredCapabilities.chrome();
ChromeOptions options = new ChromeOptions();
options.addArguments("--allow-file-access-from-files",
"--use-fake-ui-for-media-stream",
"--allow-file-access",
"--use-file-for-fake-audio-capture=D:\\PATH\\TO\\WAV\\xxx.wav",
"--use-fake-device-for-media-stream");
capabilities.setCapability(ChromeOptions.CAPABILITY, options);
ChromeDriver driver = new ChromeDriver(capabilities);
Are there similar options available in Firefox 33.1 to achieve the same capability?
If not, how can this be done?
Here's a way setup a fake webcam from the command-line on Linux.
# 1. Install v4l2loopback kernel module from apt
sudo apt install v4l2loopback-dkms
# 2. Enable the "fake webcam", via v4l2loopback kernel module
sudo modprobe v4l2loopback devices=1 card_label="My Fake Webcam" exclusive_caps=1
# Link video file (on loop) to the "fake webcam"
ffmpeg -stream_loop -1 -re -i ./MYFILE.mp4 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0
# Link desktop video stream to the "fake webcam"
ffmpeg -f x11grab -r 15 -s 1280x720 -i :0.0+0,0 -vcodec rawvideo -pix_fmt yuv420p -threads 0 -f v4l2 /dev/video0
The great part about this is that it works for both Firefox and Chrome! As it fakes the webcam at the kernel level.
Test your fake webcam here: https://webcamtests.com/
Chrome Test (Desktop Feed)
Firefox Test (Desktop Feed)
If you need to disable it...
# To disable the fake webcam, simply remove it from the kernel
sudo modprobe --remove v4l2loopback
Anyway, hope someone finds this useful!
Firefox has only these capabilities, browserName, browserVersion, platformName, acceptInsecureCerts, pageLoadStrategy, proxy, setWindowRect, timeouts, unhandledPromptBehavior
But as a option, there is one as in a below code,
options.addPreference("media.navigator.streams.fake", true);
Hope it will help you to solve this situation.
If you love us? You can donate to us via Paypal or buy me a coffee so we can maintain and grow! Thank you!
Donate Us With