I am building a kiosk application using webrtc video. It is only served on the internal network and I would like to be able to always allow the webcam for my site over http. Using ssl isn't that important and is just an extra expense for a cert.
Is there any way to do this or am I stuck?
Yes, an admin can override the prompts with a policy.
VideoCaptureAllowedUrls
Patterns in this list will be matched against the security origin of the requesting URL. If a match is found, access to audio capture devices will be granted without prompt. NOTE: This policy is currently only supported when running in Kiosk mode.
On Windows, you create registry entries using regedit.
Software\Policies\Chromium\VideoCaptureAllowedUrls\1 = "http://www.example.com/"
Software\Policies\Chromium\VideoCaptureAllowedUrls\2 = "http://[*.]example.edu/"
On Linux you write the policies in a file:
mkdir -p /etc/opt/chrome/policies/managed
touch /etc/opt/chrome/policies/managed/test_policy.json
In test_policy.json:
{
"VideoCaptureAllowedUrls": ["http://www.example.com/", "http://[*.]example.edu/"]
}
Use command-line flag
use --use-fake-ui-for-media-stream
command-line flag
example (OS X) : /Applications/Google\ Chrome.app/Contents/MacOS/Google\ Chrome http://html5-demos.appspot.com/static/getusermedia/record-user-webm.html --use-fake-ui-for-media-stream
More info here http://creativcoders.wordpress.com/2014/08/18/chrome-always-allow-access-to-webcam-and-microphone-over-http-webrtc/
More detailed solution.
In command line, target your browser and add after your instruction the --use-fake-ui-for-media-stream flag, like this:
//On windows
#Normal mode
start chrome "http://localhost" --use-fake-ui-for-media-stream
#Kiosk mode (full screen)
start chrome --kiosk "http://localhost" --use-fake-ui-for-media-stream
For Linux and Mac command line instructions, see this: http://wp.me/p4BhA9-4g