The only time Chrome doesn't error out with that mediaDevices request is when I omit the video completely: open -a "Google Chrome" -args use-file-for-fake-video-capture="~/Documents/mock/grandma_qcif.y4m"Ĭhrome provides me with the exact same error in all of these situations. When that also failed, I went straight to the Chromium file that explains fake video capture, went to the example y4m file list it provided, and downloaded the grandma file and provided that as a command line argument to Chrome instead: open -a "Google Chrome" -args
# use file for fake video capture mac terminal movie#
When this didn't work, I tried the same using a twenty-second movie file I recorded in Quicktime: ffmpeg -y -i original.mov -f wav -vn microphone.wav I first recorded a twenty-second mp4 video using my browser's MediaRecorder, downloaded the result, and converted it using the following command line commands: ffmpeg -y -i original.mp4 -f wav -vn microphone.wav Webcam.y4m and microphone.wav were generated from a video file I recorded. use-file-for-fake-audio-capture="~/Documents/mock/microphone.wav" use-file-for-fake-video-capture="~/Documents/mock/webcam.y4m" I've been running Chrome with the following command line arguments (newlines added for readability), and I'm using a Mac hence the open command: open -a "Google Chrome" -args (This always hits the “oh no!” branch when a video file is provided.) What I've tried so far
This error comes out of the following straightforward mediaDevices request: () Notably I can provide an audio file just fine using -use-file-for-fake-audio-capture and Chrome will work with it well. However, no matter what y4m file I provide, I get the following error from Chrome running under these conditions: DOMException: Could not start video source From what I understand this means providing a fake webcam video to Chrome using the -use-file-for-fake-video-capture="/path/to/video.y4m" command line argument. I'm trying to run end-to-end testing in Chrome for a product that requires a webcam feed halfway through to operate.