VLC 媒體播放器 - Arch Linux 中文维基

跳至內容

# VLC 媒體播放器

出自 Arch Linux 中文维基
翻譯狀態：

- 本文（或部分內容）譯自 VLC media player，最近一次同步於 2025-09-18，若英文版本有所更改，則您可以幫助同步與翻譯更改的內容。
- 您可以在 ArchWiki 的對應頁面找到本文翻譯的原始修訂歷史。
- 本文可能與英文原文存在出入。

引自項目主頁：

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

## 安裝

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

主要的變體有：

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

### 可選依賴

某些媒體格式需要安裝額外插件支持。可以首先嘗試安裝 vlc-plugin-ffmpeg包。在某些情況下，可能需要安裝 vlc-plugins-all包。

## 語言

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 默認使用埠 `8080`：http://localhost:8080

## 提示與技巧

### 使用 VLC 觀看直播

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

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

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

### 使用快捷鍵或命令行控制

安裝 openbsd-netcat包。

從 CrunchBang 論壇的存檔界面獲取腳本。

按照腳本中的說明為 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` 這一行的 `resolve` 和 `dns` 之前加入 `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。

需要注意的是，儘管 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` 錯誤，請安裝 vlc-plugin-live555包。

### 通過 Streamlink 觀看直播時花屏

請安裝可選依賴 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 不顯示字幕和屏顯信息（OSD）

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

## 參見

- 維基百科頁面
- 應用程式列表/多媒體
- VLC 主頁
- playerctl：一個用於控制媒體播放器的命令行工具和庫
- VideoLAN's Wiki：通過瀏覽器控制 VLC（英文）

分類：​

- 視頻
- 音頻
- 串流

VLC 媒體播放器
新增話題