如何在 VLC 中播放 DVD 与蓝光光盘(菜单、区码、libdvdcss)

中级 最后更新: 适用环境: 所有平台 · VLC 3.0.x

VLC 开箱即可播放 DVD,蓝光则稍作设置即可。两大痛点在于加密光盘和区码。本指南涵盖如何正确打开光盘、用 libdvdcss 处理防拷贝 DVD,以及 VLC 蓝光支持的实情。

第 1 步 —— 正确播放 DVD

  1. 插入 DVD,然后打开 Media > Open Disc(Ctrl+D)。

    光盘对话框打开。

  2. 把光盘类型选为 "DVD",并选择正确的光驱(或选择磁盘上 DVD 镜像的 VIDEO_TS 文件夹)。

    光盘已选中。

  3. 仅当菜单导致崩溃或黑屏时,才勾选 "No disc menus"——否则 VLC 会先打开菜单。

    从菜单或主标题开始播放。

  4. 想直接看正片,用 Playback > Chapter 跳过菜单导航。

    正片开始播放。

第 2 步 —— 区码:哪些光盘能在哪里播放

  • Region 1——美国、加拿大:北美购买的大多数零售 DVD。
  • Region 2——欧洲、日本、中东、南非(含英国)。
  • Region 3——东南亚、东亚(不含日本/中国)。
  • Region 4——澳大利亚、新西兰、拉丁美洲。
  • Region 5——俄罗斯、印度、非洲(非欧盟)。
  • Region 0 / All——任何地区都能播放;常见于独立发行的作品。
  • VLC 不会绕过区码——其他地区带区码锁定的光盘,在锁定区码的光驱里就是无法播放。在 Windows/macOS 上,你可以有限次数地更改光驱区码(通常 5 次)。

第 3 步 —— 加密光盘与 libdvdcss

  1. 如果 DVD 有声音但画面全黑,或报错 "could not read block",说明光盘采用了 CSS 加密,而 VLC 缺少密钥。

    你已识别出加密问题。

  2. 从你的发行版或 VideoLAN 镜像下载 libdvdcss-2.dll(Windows)、libdvdcss.2.dylib(macOS),或 libdvdcss 包(Linux:libdvdcss2)。

    库文件已下载。

  3. Windows:把 libdvdcss-2.dll 放到 vlc.exe 同目录(C:\Program Files\VideoLAN\VLC)。macOS:放到 /Applications/VLC.app/Contents/MacOS/lib。Linux:通过 apt(libdvdcss2)或 dnf 安装。

    库已安装。

  4. 重启 VLC 并重新打开光盘。

    加密 DVD 现在可以播放。

说明在大多数国家,使用 libdvdcss 播放自己拥有的光盘是合法的。请查阅当地法律——它在某些司法辖区被禁止,本站也不建议绕过你没有权访问的 DRM。

第 4 步 —— 蓝光:VLC 能做什么,不能做什么

  • VLC 通过内置在 3.0.x 中的 libbluray 支持蓝光结构——但解密需要 libaacs,而 AACS 密钥因法律原因未随附。
  • 在 Linux 上,安装 libaacs0 并把 KEYDB.cfg(或已废弃的 KEYDB)放到 ~/.config/aacs/。
  • 在 Windows/macOS 上,获取最新的 KEYDB.cfg 需自行解决;没有有效密钥,VLC 会报 "AACS error" 或显示黑屏。
  • UHD 4K 蓝光(BD+ 和新版 AACS)完全无法在 VLC 中播放——目前没有任何 PC 播放软件能合法播放 UHD 光盘。

常见问题

从哪里获取 libdvdcss?
Windows/macOS 构建版在 VideoLAN 服务器上有镜像;Linux 用户从自己的发行版或可信第三方仓库安装 libdvdcss2/libdvdcss 包。只从你信任的来源下载。
VLC 提示 "could not read block"——什么意思?
光盘是 CSS 加密或已损坏。先安装 libdvdcss;仍失败就清洁光盘并换一个光驱试试。
为什么我的 DVD 菜单显示异常或卡死?
在光盘对话框中试试 "No disc menus",或更新显卡驱动——菜单渲染用到视频叠加层。持续卡死指向硬件加速问题。
VLC 能播放其他区码的蓝光吗?
蓝光区码由光驱和播放软件执行。VLC 遵循光驱的区码,无法绕过。注意许多蓝光标题其实是全区(ABC)。
安装 libdvdcss 合法吗?
在大多数国家,用它播放你合法拥有的光盘是允许的。某些司法辖区将规避工具定为犯罪。本指南仅供参考;当地法律由你负责。