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

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


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.


This link explains better than i can: https://www.tldp.org/HOWTO/Webcam-HOWTO/dev-intro.html

Try the recreating the video0 nod in the /dev directory to see if that solves your problem.

sudo mknod /dev/video0 c 81 0
sudo chown root:video /dev/video0
sudo chmod 660 /dev/video0

If you still having problem after this, try rebooting also.

/dev files are not-ordinary files, such as a .txt file, but they are interface to devices, like nodes, and most important they do not reside really on your (our) disk.

/dev files represent devices attached/on your computer, resident files are created run-rime.

The simplest solution to restore that file is to reboot your computer. (when you power-off a computer, /dev is empty)

As an alternative, un-plug and plug the implicated device should have the same effect.

Experimental (have no idea if this will work): file://localhost/Volumes/DATA-DISK/Media/Video0

other links: https://wiki.videolan.org/Documentation:Streaming_HowTo/Command_Line_Examples/ https://itsfoss.com/vlc-pro-tricks-linux/

credit: Bernard Wei & mattia.b89

EDIT: 12/28/18

/dev/video0: Permission denied

it turns out that the error isnt a error, you will get the same response in log if you type in "asidjaisjdiajsdiasd" so what the solution to the problem is, is:

 $ sudo chown user.group /dev/shm/usb-*

if this doesn't work, try:


"Users and groups" is not installed by default in Ubuntu 12.04 and newer, so you'll have to install it firstly:

sudo apt-get install gnome-system-tools


You must give to the user (you) permission for use video devices. Go to System > Administration > Users and Groups. Unlock and select your username. In user privileges, you must enable the line "Capture video from TV or webcams, and use 3d acceleration" or "Use Video Devices" log off and log in.

the third solution is to define your own paths. Let me know how the new solution works. If it doesn't work, ill post the long rundown to redefining your paths.

  • 1
    @ DeerSpotter, Thanks for your suggestion . Do I really need to add /dev/video0 using mknod. Because same camera device is working fine for older version of vlc 2.2.8 then it should also work for new version of vlc 3.0.4. I just want to understand where is issue. – Chakravarthi Pradeep Dec 28 '18 at 2:20
  • 1
    I tried all your suggestion but nothing worked for me. Still I'm getting same message "VLC is unable to open the MRL 'v4l2:///dev/video0'." – Chakravarthi Pradeep Dec 28 '18 at 6:05
  • 1
    I did it , it same as GUI. I will get same error. – Chakravarthi Pradeep Dec 28 '18 at 14:39
  • 1
    My question is updated with VLC debug log message with level 2. – Chakravarthi Pradeep Dec 28 '18 at 14:48
  • 1
    Could you please tell me where is this path in ubuntu 16.04 "System > Administration > Users and Groups" ? – Chakravarthi Pradeep Dec 31 '18 at 10:13

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service, privacy policy and cookie policy

Not the answer you're looking for? Browse other questions tagged or ask your own question.