Ubuntu – VLC is unable to open the MRL ‘file:///dev/video0’. Check the log for details

ubuntu 16.04usbvlanvlc-media-player

I'm using Ubuntu 16.04 with VLC 3.0.4 (Vetinari). I want to use VLC 3.0.4 with an USB camera for rendering. VLC says

VLC is unable to open the MRL 'file:///dev/video0'. Check the log for detail.

Google search was a bit helpful regarding this but nothing came up.

What I tried is:

  • Experiment on these links this, this and this.
  • I have an old version of VLC (2.2.8) and the same USB camera works fine.

My video group is given as follows

xxxx-z3@xxxx-z3:~$ grep video /etc/group
video:x:44:xxxx-z3,vdr,root

usb camera is having below permission:

xxxx-z3@xxxx-z3:~$ ll /dev/video0 
crwsrwsrwt+ 1 root video 81, 0 Dec 27 18:40 /dev/video0

lsusb output for

Bus 002 Device 001: ID 1d6b:0003 Linux Foundation 3.0 root hub
Bus 001 Device 004: ID 413c:2003 Dell Computer Corp. Keyboard
Bus 001 Device 016: ID 046d:081b Logitech, Inc. Webcam C310
Bus 001 Device 015: ID 22b8:2e24 Motorola PCS 
Bus 001 Device 007: ID 0461:4e22 Primax Electronics, Ltd 
Bus 001 Device 001: ID 1d6b:0002 Linux Foundation 2.0 root hub

My question is, why VLC 3.0.4 is unable to open /dev/video0 device?

Logs from VLC with debug message level 2.

Logs from vlc message with debug level 2:

qt debug: item v4l2-dev

qt debug: item v4l2-vbidev

qt debug: item v4l2-chroma

qt debug: item v4l2-input

qt debug: item v4l2-audio-input

qt debug: item v4l2-width

qt debug: item v4l2-height

qt debug: item v4l2-aspect-ratio

qt debug: item v4l2-fps

qt debug: item v4l2-radio-dev

qt debug: item v4l2-tuner-frequency

qt debug: item v4l2-tuner-audio-mode

qt debug: item v4l2-controls-reset

qt debug: item v4l2-brightness

qt debug: item v4l2-brightness-auto

qt debug: item v4l2-contrast

qt debug: item v4l2-saturation

qt debug: item v4l2-hue

qt debug: item v4l2-hue-auto

qt debug: item v4l2-white-balance-temperature

qt debug: item v4l2-auto-white-balance

qt debug: item v4l2-red-balance

qt debug: item v4l2-blue-balance

qt debug: item v4l2-gamma

qt debug: item v4l2-autogain

qt debug: item v4l2-gain

qt debug: item v4l2-sharpness

qt debug: item v4l2-chroma-gain

qt debug: item v4l2-chroma-gain-auto

qt debug: item v4l2-power-line-frequency

qt debug: item v4l2-backlight-compensation

qt debug: item v4l2-band-stop-filter

qt debug: item v4l2-hflip

qt debug: item v4l2-vflip

qt debug: item v4l2-rotate

qt debug: item v4l2-color-killer

qt debug: item v4l2-color-effect

qt debug: item v4l2-audio-volume

qt debug: item v4l2-audio-balance

qt debug: item v4l2-audio-mute

qt debug: item v4l2-audio-bass

qt debug: item v4l2-audio-treble

qt debug: item v4l2-audio-loudness

qt debug: item v4l2-set-ctrls

main debug: processing request item: v4l2:///dev/video1, node: Playlist, skip: 0

main debug: rebuilding array of current – root Playlist

main debug: rebuild done – 1 items, index 0

main debug: starting playback of new item

main debug: resyncing on v4l2:///dev/video1

main debug: v4l2:///dev/video1 is at 0

main debug: creating new input thread

main debug: Creating an input for 'v4l2:///dev/video1'

main debug: requesting art for new input thread

main debug: using timeshift granularity of 50 MiB

main debug: using default timeshift path

main debug: v4l2:///dev/video1' gives accessv4l2' demux any' path/dev/video1'

main debug: creating demux: access='v4l2' demux='any' location='/dev/video1' file='/dev/video1'

main debug: looking for access_demux module matching "v4l2": 21 candidates

v4l2 debug: opening device '/dev/video1'

v4l2 error: cannot open device '/dev/video1': Operation not permitted

v4l2 debug: opening device '/dev/video1'

v4l2 error: cannot open device '/dev/video1': Operation not permitted

main debug: looking for meta fetcher module matching "any": 1 candidates

main debug: no access_demux modules matched

main debug: creating access: v4l2:///dev/video1

lua debug: Trying Lua scripts in /home/vijay/snap/vlc/768/.local/share/vlc/lua/meta/fetcher

main debug: (path: /dev/video1)

main debug: looking for access module matching "v4l2": 26 candidates

lua debug: Trying Lua scripts in /snap/vlc/768/usr/lib/vlc/lua/meta/fetcher

lua debug: Trying Lua scripts in /snap/vlc/768/usr/share/vlc/lua/meta/fetcher

v4l2 debug: opening device '/dev/video1'

main debug: no meta fetcher modules matched

v4l2 error: cannot open device '/dev/video1': Operation not permitted

main debug: no access modules matched

main debug: looking for art finder module matching "any": 2 candidates

main debug: dead input

main debug: changing item without a request (current 0/1)

main debug: nothing to play

lua debug: Trying Lua scripts in /home/vijay/snap/vlc/768/.local/share/vlc/lua/meta/art

lua debug: Trying Lua scripts in /snap/vlc/768/usr/lib/vlc/lua/meta/art

lua debug: Trying Lua playlist script /snap/vlc/768/usr/lib/vlc/lua/meta/art/00_musicbrainz.luac

lua debug: skipping script (unmatched scope) /snap/vlc/768/usr/lib/vlc/lua/meta/art/00_musicbrainz.luac

lua debug: Trying Lua playlist script /snap/vlc/768/usr/lib/vlc/lua/meta/art/01_googleimage.luac

lua debug: skipping script (unmatched scope) /snap/vlc/768/usr/lib/vlc/lua/meta/art/01_googleimage.luac

lua debug: Trying Lua playlist script /snap/vlc/768/usr/lib/vlc/lua/meta/art/02_frenchtv.luac

lua debug: skipping script (unmatched scope) /snap/vlc/768/usr/lib/vlc/lua/meta/art/02_frenchtv.luac

lua debug: Trying Lua playlist script /snap/vlc/768/usr/lib/vlc/lua/meta/art/03_lastfm.luac

lua debug: skipping script (unmatched scope) /snap/vlc/768/usr/lib/vlc/lua/meta/art/03_lastfm.luac

lua debug: Trying Lua scripts in /snap/vlc/768/usr/share/vlc/lua/meta/art

main debug: no art finder modules matched

Best Answer

Surprisingly, no answer helped me so far.
In the end I managed to notice this line, in the output of vlc --verbose 3:

[019b5b98] main libvlc warning: cannot load module `/usr/lib/vlc/plugins/codec/libv4l2_plugin.so' (libzvbi.so: cannot open shared object file: No such file or directory)

After I installed zvbi everything worked.

Related Question