Cha*_*eep 5 usb vlc-media-player vlan ubuntu-16.04
我正在使用带有 VLC 3.0.4 (Vetinari) 的 Ubuntu 16.04。我想使用带有 USB 摄像头的 VLC 3.0.4 进行渲染。VLC 说
VLC 无法打开 MRL 'file:///dev/video0'。检查日志以获取详细信息。
谷歌搜索对此有点帮助,但没有出现。
我试过的是:
我的视频组给出如下
xxxx-z3@xxxx-z3:~$ grep video /etc/group
video:x:44:xxxx-z3,vdr,root
Run Code Online (Sandbox Code Playgroud)
USB 摄像头具有以下权限:
xxxx-z3@xxxx-z3:~$ ll /dev/video0
crwsrwsrwt+ 1 root video 81, 0 Dec 27 18:40 /dev/video0
Run Code Online (Sandbox Code Playgroud)
lsusb
输出
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
Run Code Online (Sandbox Code Playgroud)
我的问题是,为什么 VLC 3.0.4 无法打开 /dev/video0
设备?
来自 VLC 的日志,调试消息级别为 2。
来自调试级别 2 的 vlc 消息的日志:
qt 调试:项目 v4l2-dev
qt 调试:项目 v4l2-vbidev
qt 调试:项目 v4l2-chroma
qt 调试:项目 v4l2-input
qt 调试:项目 v4l2-audio-input
qt 调试:项目 v4l2-width
qt 调试:项目 v4l2-height
qt 调试:项目 v4l2-纵横比
qt 调试:项目 v4l2-fps
qt 调试:项目 v4l2-radio-dev
qt 调试:项目 v4l2-tuner-frequency
qt 调试:项目 v4l2-tuner-audio-mode
qt 调试:项目 v4l2-controls-reset
qt 调试:项目 v4l2-亮度
qt 调试:项目 v4l2-brightness-auto
qt 调试:项目 v4l2-对比
qt 调试:项目 v4l2-saturation
qt 调试:项目 v4l2-hue
qt 调试:项目 v4l2-hue-auto
qt 调试:项目 v4l2-white-balance-temperature
qt 调试:项目 v4l2-auto-white-balance
qt 调试:项目 v4l2-red-balance
qt 调试:项目 v4l2-blue-balance
qt 调试:项目 v4l2-gamma
qt 调试:项目 v4l2-autogain
qt 调试:项目 v4l2-gain
qt 调试:项目 v4l2-清晰度
qt 调试:项目 v4l2-chroma-gain
qt 调试:项目 v4l2-chroma-gain-auto
qt 调试:项目 v4l2-power-line-frequency
qt 调试:项目 v4l2-backlight-compensation
qt 调试:项目 v4l2-band-stop-filter
qt 调试:项目 v4l2-hflip
qt 调试:项目 v4l2-vflip
qt 调试:项目 v4l2-rotate
qt 调试:项目 v4l2-color-killer
qt 调试:项目 v4l2-color-effect
qt 调试:项目 v4l2-audio-volume
qt 调试:项目 v4l2-audio-balance
qt 调试:项目 v4l2-audio-mute
qt 调试:项目 v4l2-audio-bass
qt 调试:项目 v4l2-audio-treble
qt 调试:项目 v4l2-audio-loudness
qt 调试:项目 v4l2-set-ctrls
main debug:处理请求项:v4l2:///dev/video1,节点:播放列表,跳过:0
主要调试:重建当前 - 根播放列表的数组
主要调试:重建完成 - 1 项,索引 0
主要调试:开始播放新项目
主要调试:在 v4l2:///dev/video1 上重新同步
主要调试:v4l2:///dev/video1 在 0
主要调试:创建新的输入线程
主要调试:为“v4l2:///dev/video1”创建输入
主要调试:为新的输入线程请求艺术
主要调试:使用 50 MiB 的时移粒度
主要调试:使用默认时移路径
主要调试:
v4l2:///dev/video1' gives access
v4l2' demuxany' path
/dev/video1'主要调试:创建 demux:access='v4l2' demux='any' location='/dev/video1' file='/dev/video1'
主要调试:寻找匹配“v4l2”的 access_demux 模块:21 个候选
v4l2 调试:打开设备'/dev/video1'
v4l2 错误:无法打开设备“/dev/video1”:不允许操作
v4l2 调试:打开设备'/dev/video1'
v4l2 错误:无法打开设备“/dev/video1”:不允许操作
主要调试:寻找与“any”匹配的元提取器模块:1 个候选
主要调试:没有匹配的 access_demux 模块
主要调试:创建访问:v4l2:///dev/video1
lua 调试:在 /home/vijay/snap/vlc/768/.local/share/vlc/lua/meta/fetcher 中尝试 Lua 脚本
主要调试:(路径:/dev/video1)
主要调试:寻找匹配“v4l2”的访问模块:26 个候选
lua 调试:在 /snap/vlc/768/usr/lib/vlc/lua/meta/fetcher 中尝试 Lua 脚本
lua 调试:在 /snap/vlc/768/usr/share/vlc/lua/meta/fetcher 中尝试 Lua 脚本
v4l2 调试:打开设备'/dev/video1'
主要调试:没有匹配的元提取模块
v4l2 错误:无法打开设备“/dev/video1”:不允许操作
主要调试:没有匹配的访问模块
主要调试:寻找匹配“any”的艺术查找器模块:2个候选
主要调试:死输入
主要调试:在没有请求的情况下更改项目(当前 0/1)
主要调试:没什么可玩的
lua 调试:在 /home/vijay/snap/vlc/768/.local/share/vlc/lua/meta/art 中尝试 Lua 脚本
lua 调试:在 /snap/vlc/768/usr/lib/vlc/lua/meta/art 中尝试 Lua 脚本
lua 调试:尝试 Lua 播放列表脚本 /snap/vlc/768/usr/lib/vlc/lua/meta/art/00_musicbrainz.luac
lua 调试:跳过脚本(不匹配的范围)/snap/vlc/768/usr/lib/vlc/lua/meta/art/00_musicbrainz.luac
lua 调试:尝试 Lua 播放列表脚本 /snap/vlc/768/usr/lib/vlc/lua/meta/art/01_googleimage.luac
lua调试:跳过脚本(不匹配的范围)/snap/vlc/768/usr/lib/vlc/lua/meta/art/01_googleimage.luac
lua 调试:尝试 Lua 播放列表脚本 /snap/vlc/768/usr/lib/vlc/lua/meta/art/02_frenchtv.luac
lua 调试:跳过脚本(不匹配的范围)/snap/vlc/768/usr/lib/vlc/lua/meta/art/02_frenchtv.luac
lua 调试:尝试 Lua 播放列表脚本 /snap/vlc/768/usr/lib/vlc/lua/meta/art/03_lastfm.luac
lua调试:跳过脚本(不匹配的范围)/snap/vlc/768/usr/lib/vlc/lua/meta/art/03_lastfm.luac
lua 调试:在 /snap/vlc/768/usr/share/vlc/lua/meta/art 中尝试 Lua 脚本
主要调试:没有匹配的艺术查找器模块
该链接比我解释得更好:https://www.tldp.org/HOWTO/Webcam-HOWTO/dev-intro.html
video0
尝试在目录中重新创建点头,/dev
看看是否可以解决您的问题。
sudo mknod /dev/video0 c 81 0
sudo chown root:video /dev/video0
sudo chmod 660 /dev/video0
Run Code Online (Sandbox Code Playgroud)
如果此后仍有问题,请尝试重新启动。
/dev
文件不是普通文件,例如.txt
文件,但它们是设备的接口,例如节点,最重要的是它们并不真正驻留在您(我们的)磁盘上。
/dev
文件代表连接到计算机上的设备,驻留文件是运行时创建的。
恢复该文件的最简单的解决方案是重新启动计算机。(当你关闭计算机电源时,/dev
为空)
作为替代方案,拔下并插入相关设备应该具有相同的效果。
实验性(不知道这是否有效): file://localhost/Volumes/DATA-DISK/Media/Video0
其他链接: https://wiki.videolan.org/Documentation:Streaming_HowTo/Command_Line_Examples/ https://itsfoss.com/vlc-pro-tricks-linux/
图片来源: Bernard Wei和 mattia.b89
编辑:2018 年 12 月 28 日
/dev/video0:权限被拒绝
事实证明,该错误不是错误,如果您输入“asidjaisjdiajsdiasd”,您将在日志中得到相同的响应,所以问题的解决方案是:
$ sudo chown user.group /dev/shm/usb-*
Run Code Online (Sandbox Code Playgroud)
如果这不起作用,请尝试:
http://www.webupd8.org/2011/02/get-your-usb-drives-to-work-with.html
Ubuntu 12.04 及更高版本中默认不安装“用户和组”,因此您必须首先安装它:
sudo apt-get install gnome-system-tools
Run Code Online (Sandbox Code Playgroud)
您必须授予用户(您)使用视频设备的权限。去
System > Administration > Users and Groups
。解锁并选择您的用户名。在用户权限中,您必须启用“从电视或网络摄像头捕获视频,并使用 3d 加速”或“使用视频设备”注销并登录。
第三种解决方案是定义自己的路径。让我知道新解决方案的工作原理。如果它不起作用,我会发布详细的清单以重新定义您的路径。
归档时间: |
|
查看次数: |
12457 次 |
最近记录: |