VLC 媒体播放器

来自 ArchWiki

来自项目 主页

VLC 是一款自由开源的跨平台多媒体播放器和框架,可以播放大多数多媒体文件,以及 DVD、音频 CD、VCD 和各种流媒体协议。

安装

安装 vlc 软件包。

值得注意的变体有

语言

VLC 没有在其偏好设置菜单中提供更改语言的选项。但是您可以使用 LANGUAGE= 前缀。例如,修改 vlc.desktop 桌面条目 以更改

Exec=/usr/bin/vlc %U

Exec=env LANGUAGE=fr /usr/bin/vlc %U

以将 VLC 界面切换到法语。

皮肤

VLC 可以“换肤”以获得不同的外观和感觉。您可以在皮肤网站获取皮肤。

要安装皮肤,请下载并将其移动到 ~/.local/share/vlc/skins2/

打开 VLC,单击工具 > 偏好设置。当偏好设置窗口打开时,您应该在“界面”选项卡中

选择“使用自定义皮肤”单选按钮,然后选择下载的皮肤。

重启 VLC 以使更改生效。

Web 界面

使用参数 --extraintf=http 运行 VLC 以同时使用桌面和 web 界面。 --http-host 参数指定要绑定的地址,默认为 localhost。要设置密码,请使用 --http-password,否则 VLC 将不允许您登录。

$ vlc --extraintf=http --http-host 0.0.0.0 --http-port 8080 --http-password yourpasswordhere

要从图形界面启用 web 界面,请导航到视图 > 添加界面 > Web 界面。通过工具 > 偏好设置 > 显示设置:全部 > 界面 > 主要界面 > Lua > Lua HTTP > 密码设置密码。

VLC 默认为端口 8080https://127.0.0.1:8080

编辑 /usr/share/vlc/lua/http/.hosts 以允许远程连接。您需要重启 VLC 才能使更改生效。

技巧与窍门

通过 VLC 播放 Twitch.tv 串流

参见 Streamlink#Twitch

播放来自本地 DLNA 服务器的串流内容

如果您发现尝试播放 uPNP/DLNA 内容(通过转到视图 > 播放列表 > 本地网络 > 通用即插即用),VLC 无法看到本地网络上的 DLNA 服务器,请确保防火墙未阻止端口 1900 UDP。为了播放本地 uPNP/DLNA 内容,此端口必须打开。

使用热键或命令行界面控制

安装 openbsd-netcat

获取脚本地址:https://crunchbang.org/forums/viewtopic.php?pid=112035%23p112035#p112035

按照脚本中的说明设置 VLC 的套接字。

从命令行运行脚本,或通过桌面在键盘快捷键中注册脚本。

或者,您可以使用 MPRIS 与 VLC 交互。

也可以使用 ncurses 界面启动 vlc

$ vlc -I ncurses

有关更多信息,请参阅文档

防止多实例

VLC 的默认设置为为每个打开的文件打开程序的新实例。如果您使用 VLC 做一些事情,例如播放您的音乐收藏,这可能会很烦人。您可以在工具 > 偏好设置 > 界面 > 实例 > 只允许一个实例中禁用此功能。或者,勾选在一个实例模式下将文件加入队列,这将保持当前文件播放并将任何新打开的文件添加到当前播放列表。

硬件视频加速

参见 硬件视频加速

VLC 会自动尝试使用可用的 API,但您可以通过转到工具 > 偏好设置 > 输入/编解码器并在硬件加速解码下选择合适的选项来覆盖它,例如 Video Acceleration (VA) API 用于 VA-API 或 Video Decode and Presentation API for Unix (VDPAU) 用于 VDPAU。

systemd 服务

VLC 的 web 界面可以从 systemd 启动。首先,您需要创建一个默认用户

# useradd -c "VLC daemon" -d / -G audio -M -p \! -r -s /usr/bin/nologin -U vlcd

现在创建 systemd 服务文件

/etc/systemd/system/vlc.service
[Unit]
Description=VideoOnLAN Service
After=network.target

[Service]
Type=forking
User=vlcd
ExecStart=/usr/bin/vlc --daemon --syslog -I http --http-port 8090 --http-password password
Restart=on-abort

[Install]
WantedBy=multi-user.target

启动启用 vlc.service。使用无用户名和您在服务文件中输入的密码登录 http://您的机器:8090/。

Chromecast 支持

从 3.0 版本(Vetinari 分支)开始,VLC 可以流式传输到同一网络上的 Chromecast 设备。

安装软件包

  • libmicrodns - VLC 可以找到 Chromecast 设备,它会显示在播放 > 渲染器菜单中
  • protobuf - 启用在播放 > 渲染器菜单中流式传输到选定的设备

然后,编辑文件 /etc/nsswitch.conf 并更改 hosts 行,在 resolvedns 之前包含 mdns_minimal [NOTFOUND=return]

hosts: ... mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns ...
注意
  • 如果您在解析 .local 主机时遇到速度减慢,请尝试使用 mdns4_minimal 代替 mdns_minimal
  • 请查阅 avahi 以获取更多信息。

暂停点击插件

安装 vlc-pause-click-pluginAUR,它允许您单击 VLC 窗口内的视频,它将暂停或恢复。这是一种常见的预期行为。

安装后不会激活,您需要在设置中手动启用它,如 https://github.com/nurupo/vlc-pause-click-plugin#usage 中所述。

故障排除

升级后视频损坏或其他问题

VLC 有时即使在次要版本中也会出现配置问题。在提交错误报告之前,请删除或重命名位于 ~/.config/vlc 的配置,并确认问题是否仍然存在。

如果使用来自 AUR 的 ffmpeg 变体,请确保您也已升级它。Pacman 不会在必要时升级它,不匹配将破坏 VLC。

段错误

启动 VLC 时出错

启动 VLC 时,您可能会遇到段错误,并排除诸如 微码 等一般因素,一个可能的解决方法是运行以下命令

# /usr/lib/vlc/vlc-cache-gen /usr/lib/vlc/plugins

然后重新安装 VLC。

播放视频时出错

如果 VLC 可以打开和播放音频文件,但在播放视频时关闭并出现段错误。那么硬件视频加速配置错误,导致 VLC 无法引用图形设备。当您在一台计算机上使用不同的显卡时,尤其会发生这种情况。

下拉菜单中缺少图标

这可能会在 XFCE 下发生,下拉菜单中将不再有图标,例如 PCI 卡图标。

执行以下命令以重新激活这些图标

$ gconftool-2 --type boolean --set /desktop/gnome/interface/buttons_have_icons true
$ gconftool-2 --type boolean --set /desktop/gnome/interface/menus_have_icons true

无法打开 VDPAU 后端

参见 硬件视频加速#无法打开 VDPAU 后端

由于您的系统可能不支持 VDPAU,您应该告诉 VLC 使用 VA-API 代替,参见 #硬件视频加速

VLC 关闭后第二次打开失败

在设置 -> 输入/编解码器中手动将 VLC 设置为使用 VA-API 加速后端。VLC 似乎默认选择 VDPAU,这对很多人来说是损坏的。

无法通过 SFTP 播放文件名包含空格的媒体文件

如果 VLC 不播放通过 SFTP 的任何视频或音频文件,请确保您已安装 sshfs

如果它拒绝播放任何文件名包含空格的媒体文件,并通过 SFTP 始终要求身份验证,请将 vlc.desktop 文件中的 Exec 行更改为

Exec=/usr/bin/vlc --started-from-file %F

参见 [1]

无法打开 DVD

为了能够通过媒体 > 打开光盘播放 DVD,需要安装 VLC 的可选依赖项 libdvdreadlibdvdcss

如果您同时拥有这两者但仍然无法打开 DVD,请尝试删除您的 ~/.dvdcss 文件夹。这将强制重新下载您的 CSS 密钥,这可能会解决问题。

无法导航 DVD 菜单

要导航 DVD 菜单并逐集播放,需要安装 VLC 的可选依赖项 libdvdnav

媒体无法加载

如果某些 RTP、RTSP、DVB-T 流或蓝光看起来像是在无限缓冲或静默加载失败,并且在日志中没有给出错误消息(例如来自法国 FAI Free 的 IPTV),请安装 aribb24

Wayland 支持

vlc-gitAUR 默认构建时启用 Wayland 支持。设置 QT_QPA_PLATFORM=wayland 环境变量 以启用 Wayland。有关更多信息,请参见 Wayland#Qt

请注意,尽管在 vlc PKGBUILD 中使用了 --enable-wayland 构建标志(当前使用 VLC 版本 3.0),但仍然使用了 Xwayland,因为 VLC 3 上的 Wayland 支持已损坏。除非安装了 xorg-xwayland,否则 VLC 中的视频输出可能会被裁剪或以其他方式变形。

使用以下命令,VLC 3 将开始使用 Wayland

$ env -u DISPLAY vlc

这是有效的,因为 VLC 3 在启动时检查环境变量 DISPLAY,如果未设置,则将使用 Wayland。不建议从环境中全局删除 DISPLAY,因为某些较旧的应用程序仍然依赖于此变量。

无法连接到 RTSP 流

当与 RTSP 流的连接以 failed to setup rtsp session 错误结束时,安装 live-media

使用 Streamlink 播放流时出现随机颜色

安装可选依赖项 aribb24

使用 AMDGPU 播放 HEVC 视频时系统无响应

播放使用 HEVC (H265) 编码的视频时,用户可能会遇到系统完全冻结,并且无法执行任何操作或关机。

可以通过将Open GL/GLES 硬件转换器的设置更改为自动以外的其他选项来解决此问题(例如VDPAU OpenGL 表面转换器用于 Wayland 的 VA-API OpenGL 表面转换器)。

参见 https://gitlab.freedesktop.org/drm/amd/-/issues/2113#note_1602599

更改播放进度后声音短暂消失

工具 > 偏好设置 > 音频 > 输出模块更改为ALSA 音频输出

参见