跳至內容

VLC 媒體播放器

出自 Arch Linux 中文维基

引自項目主頁

VLC 是一款自由、開源的跨平台多媒體播放器及框架,可播放大多數多媒體文件,以及 DVD、音頻 CD、VCD 及各類流媒體協議。

安裝

[編輯 | 編輯原始碼]

安裝 vlc 拆分包,該軟體包依賴於儘可能少的 VLC 插件。附加功能請參見其可選依賴。

主要的變體有:

  • vlc-gitAUR⸺開發分支版本。
  • vlc-noxAUR⸺移除 GUI 界面的版本。

語言

[編輯 | 編輯原始碼]

VLC 沒有在其「偏好設置」中提供更改語言的選項,但通過修改環境變量 LANGUAGE 可以改變其界面語言。例如,可以把其桌面項 vlc.desktop 中這一部分:

Exec=/usr/bin/vlc %U

修改為:

Exec=env LANGUAGE=zh_CN /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 密码

在圖形界面中,可以通過點擊菜單欄中「視圖 > 添加界面 > Web」啟動 Web 界面。通過「工具 > 偏好設置(顯示設置為『全部』)> 界面 > 主界面 > Lua > Lua HTTP > 密碼」設置密碼。登錄時用戶名留空。

VLC 默認使用埠 8080http://localhost:8080

提示與技巧

[編輯 | 編輯原始碼]

使用 VLC 觀看直播

[編輯 | 編輯原始碼]

可以使用 Streamlink 通過 VLC 觀看直播。

從本地 DLNA 伺服器播放流媒體內容

[編輯 | 編輯原始碼]

安裝 vlc-plugin-upnp 後,通過進入「視圖 > 播放列表 > 本地網絡 > 通用即插即播(UPnP)」可以播放 UPnP DLNA 內容。如果 VLC 無法檢測到本地網絡中的 DLNA 伺服器,請確保防火牆未阻止 UPnP 使用的 UDP 1900 埠,只有開放這一埠才能播放本地 DLNA(使用 UPnP)內容。

使用快捷鍵或命令行控制

[編輯 | 編輯原始碼]

安裝 openbsd-netcat

腳本獲取地址:https://crunchbang.org/forums/viewtopic.php?pid=112035[失效連結 2025-08-03 ⓘ](CrunchBang 論壇現已下線。可用的 Internet Archive 存檔位於。)

按照腳本中的說明為 VLC 設置一個 socket。

可以從命令行運行該腳本,或者通過桌面環境將其註冊為鍵盤快捷鍵。

另外,你也可以使用 MPRIS 與 VLC 交互。

也可以使用 ncurses 界面啟動 VLC:

$ vlc -I ncurses

詳見官方文檔

保持單實例運行

[編輯 | 編輯原始碼]

VLC 的默認設置是每次打開文件就啟動一個新的程序實例。如果使用 VLC 來播放音樂收藏之類的內容,這可能會很煩人。可以在文件管理器中多選文件後一起打開,也在菜單中可以關閉此行為:勾選「工具 > 偏好設置(顯示設置為『簡明』)> 界面 > 播放列表與實例管理 > 僅允許一個實例」,並勾選「在單實例模式中將項目添加到播放列表隊列中」,這樣新的文件將被添加到當前播放列表中而不會中斷當前播放的文件。

還有一個選項「從文件管理器啟動時,只允許一個實例」勾選後,通過文件管理器用 VLC 打開的文件都會在一個實例中播放。「在單實例模式中將項目添加到播放列表隊列中」選項對此仍然生效。

注意:當前 VLC 版本存在以下 bug:勾選「從文件管理器啟動時,只允許一個實例」而不勾選「僅允許一個實例」時無法(取消)勾選「在單實例模式中將項目添加到播放列表隊列中」選項。

硬體視頻加速

[編輯 | 編輯原始碼]

詳見硬體視頻加速

VLC 會自動嘗試使用可用的 API,但也可以手動覆蓋設置。在菜單欄中進入:工具 > 偏好設置(顯示設置為「簡明」)> 輸入/編解碼器,在「硬體加速解碼」中選擇合適的選項。

systemd 服務

[編輯 | 編輯原始碼]

可以通過 systemd 自啟動 VLC 的 #Web 界面。首先,創建一個專用用戶:

# 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 密碼
Restart=on-abort

[Install]
WantedBy=multi-user.target

啟動啟用 vlc.service。登錄時用戶名留空,密碼為以上服務文件中所設。

Chromecast 支持

[編輯 | 編輯原始碼]

從 3.0 版本(Vetinari 分支)開始,VLC 可以向同一網絡中的 Chromecast 設備進行流媒體投放。

安裝以下軟體包:

  • libmicrodns⸺使 VLC 能發現 Chromecast 設備,並在菜單 「播放 > 渲染器」 中顯示。
  • protobuf⸺使 VLC 能通過「播放 > 渲染器」菜單將內容投放到選定設備。

然後,編輯文件 /etc/nsswitch.conf,在 hosts 這一行的 resolvedns 之前加入 mdns_minimal [NOTFOUND=return]

hosts: ... mdns_minimal [NOTFOUND=return] resolve [!UNAVAIL=return] dns ...
注意:
  • 如果解析 主機名.local 速度較慢,可以嘗試將 mdns_minimal 替換為 mdns4_minimal,僅解析 IPv4 地址。
  • 更多信息請參閱 avahi英語avahi


單擊自動暫停/恢復插件

[編輯 | 編輯原始碼]

安裝 vlc-pause-click-pluginAUR,該插件實現了許多人習慣的在直接點擊 VLC 播放窗口中的視頻時暫停或恢復播放的功能。

安裝後插件不會自動啟用,需要按照 https://github.com/nurupo/vlc-pause-click-plugin#usage 的說明在設置裡手動啟用。


問題解決

[編輯 | 編輯原始碼]

更新後視頻異常或其他問題

[編輯 | 編輯原始碼]

VLC 的配置在更新時常常會出現問題,即使是小版本更新。在提交錯誤報告之前,請先刪除或重命名位於 ~/.config/vlc 的配置文件,並確認問題是否仍然存在。

如果使用了 AUR 中的 FFmpeg 變種,請確保它也已更新。Pacman 不會自動升級這些包,而版本不匹配可能會導致 VLC 出現故障。

段錯誤

[編輯 | 編輯原始碼]

啟動 VLC 時出現

[編輯 | 編輯原始碼]

在啟動 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 作為替代,請參見 #硬體視頻加速

無法通過 SFTP 播放媒體文件

[編輯 | 編輯原始碼]

如果 VLC 無法通過 SFTP 播放任何視頻或音頻文件,請確保已安裝 sshfs

如果 VLC 拒絕播放任何文件名包含空格的媒體文件而要求身份驗證,請修改 vlc.desktop 文件中的 Exec 行如下:

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

參見 [1]

iOS 或 tvOS 上的 VLC 無法通過 SFTP 連接到 Arch

[編輯 | 編輯原始碼]

由於 App Store 的許可限制,VLC 的 iOS 與 tvOS 應用使用的是不完整的 SSH 實現。為使其兼容,需修改 openssh 配置。創建配置文件 /etc/ssh/sshd_config.d/vlc.conf,內容如下:

HostKeyAlgorithms +ssh-rsa  
KexAlgorithms +diffie-hellman-group16-sha512

然後運行以下命令重新加載配置:

systemctl reload sshd

無法打開 DVD

[編輯 | 編輯原始碼]

若希望通過菜單 「媒體 > 打開光碟」 播放 DVD,需安裝 VLC 的可選依賴 vlc-plugin-dvd 及該插件的可選依賴 libdvdcss(用於解碼使用 CSS 加密的 DVD)。

部分 DVD 還可能需要其它插件,例如 vlc-plugin-dca。也可以選擇安裝 vlc-plugins-extra,該軟體包包含上述兩個插件及其他額外插件。

如果已安裝上述所有軟體包仍無法播放 DVD,可嘗試刪除 ~/.dvdcss 文件夾,讓 VLC 會重新下載 CSS 密鑰,有時可以解決播放問題。

媒體無法加載

[編輯 | 編輯原始碼]

若某些 RTP、RTSP、DVB-T 流媒體或藍光視頻出現無限緩衝狀態,或在日誌中無報錯卻靜默加載失敗(例如法國 Free 網際網路服務提供商的 IPTV 服務),請安裝 vlc-plugin-aribb24 插件。

Wayland 支持

[編輯 | 編輯原始碼]

vlc-gitAUR 默認編譯時啟用了 Wayland 支持。設置環境變量 QT_QPA_PLATFORM=wayland 可啟用 Wayland,詳見 Wayland#Qt

需要注意的是,儘管 vlcPKGBUILD 中使用了 --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 錯誤,請安裝 vlc-plugin-live555

[編輯 | 編輯原始碼]

請安裝可選依賴 vlc-plugin-aribb24

使用 AMDGPU 播放 HEVC 視頻時系統無響應

[編輯 | 編輯原始碼]

在播放 HEVC(H265)編碼的視頻時,系統可能會完全凍結,無法進行任何操作(包括關機)。

可以通過將「工具 > 偏好設置(顯示設置為「全部」)> 視頻 > 輸出模塊 > OpenGL > Open GL/GLES hardware converter」從「自動」更改為其他合適選項(例如「VDPAU OpenGL surface converter」或「VA-API OpenGL surface converter for Wayland」)來解決該問題。

詳見 https://gitlab.freedesktop.org/drm/amd/-/issues/2113#note_1602599

更改播放進度後聲音短暫消失

[編輯 | 編輯原始碼]

「工具 > 偏好設置(顯示設置為『簡明』)> 音頻 > 輸出模塊」設置為目前使用的音頻伺服器(對於 PipeWire,需要安裝 vlc-plugin-pipewireAUR,否則只能使用兼容層)。

VLC 無法解碼格式「<某格式>」

[編輯 | 編輯原始碼]

根據媒體格式的不同,用戶可能需要手動安裝額外插件。可以首先嘗試安裝 vlc-plugin-ffmpeg。在某些情況下,可能需要安裝 vlc-plugins-all

VLC 不顯示字幕和屏顯信息(OSD)

[編輯 | 編輯原始碼]

即使解碼字幕的插件已經安裝,如果沒有安裝 vlc-plugin-freetype,字幕和屏顯信息仍然不會顯示(而且「消息」和控制台中也不會報錯)。注意,該插件不包含在 vlc-plugins-base 中,但包含在 vlc-plugins-extra 中。

參見

[編輯 | 編輯原始碼]