Environment
- The host running Ubuntu 14.04.5 LTS
- Dock version 17.09.0-ce, build afdb6d4
- Chromium 62.0.3202.89
- 2 web cams:
/dev/video0,/dev/video1
Cameras
Venus USB2.0 Camera (usb-0000:00:1a.0-1.2.2):
/dev/video1
USB 2.0 Camera (usb-0000:00:1a.0-1.3):
/dev/video0
I need to share web cameras on Ubuntu 14.04 the host with the container Ubuntu 16.04 dock , and receive video streams (WebRTC getUserMedia) from each camera on each instance of chromium, respectively, running on the host and the container.
To check getUserMedia, I look at https://www.onlinemictest.com/webcam-test/
How to play
Dockerfile
Dockerfile
FROM ubuntu:16.04
RUN apt-get update \
&& apt-get install sudo chromium-browser alsa-base -y \
&& rm -rf /var/lib/apt/lists/*
RUN useradd --create-home browser \
&& adduser browser video \
&& adduser browser audio \
&& usermod -aG sudo browser
USER browser
WORKDIR /home/browser
CMD ["/usr/bin/chromium-browser"]
docker-compose up
$ more docker-compose.yml
version: '3'
services:
chromium:
build:
context: .
dockerfile: Dockerfile
image: ubuntu-cr:0.1
privileged: true
environment:
DISPLAY: $DISPLAY
XAUTHORITY: /.Xauthority
volumes:
- /tmp/.X11-unix:/tmp/.X11-unix
- ~/.Xauthority:/.Xauthority:ro
1. Start Chrome in a docker container
export DISPLAY=:0.0
docker-compose up
Images
docker images
REPOSITORY TAG IMAGE ID CREATED SIZE
ubuntu-cr 0.1 a61f5506b1f9 9 minutes ago 764MB
ubuntu 16.04 747cb2d60bbe 2 months ago 122MB
! !
3. Chromium URL-
:( ERROR
. .
, Chromium , (getUserMedia). Chromium , ERROR, NavigatorUserMediaError > TrackStartError.
Chromium
navigator.mediaDevices.getUserMedia({audio: true, video: true})
TrackStartError, Chromium.
, , , - ?
NotReadableError: , , .
, 2 Chromium ( ), (getUserMedia), 2 Chromium, , . , , . - . , tring, , .