![尝试播放 DVD 时出现“VLC 无法读取文件”错误](https://linux22.com/image/1106565/%E5%B0%9D%E8%AF%95%E6%92%AD%E6%94%BE%20DVD%20%E6%97%B6%E5%87%BA%E7%8E%B0%E2%80%9CVLC%20%E6%97%A0%E6%B3%95%E8%AF%BB%E5%8F%96%E6%96%87%E4%BB%B6%E2%80%9D%E9%94%99%E8%AF%AF.png)
我可以使用 VLC 在我的计算机上观看大多数 DVD,但今天我去看《雷神》,却无法播放。
- libdvdread4 和 libdvdcss2 是最新版本。
vlc -v
返回1.1.4- w32codecs 已安装并重新安装
- ubuntu-restricted-extras 与上面相同
我的机器识别了光盘,我可以打开文件夹并浏览各种 .vob 文件,其中有很多。它们都无法在 VLC 或 MPlayer 等中打开。
当我跑步时vlc -vvv /media/THOR/VIDEO_TS/VTS_03_1.VOB
我得到:
文件读取失败 VLC 无法读取文件
我还看到如下命令行输出:
[0x963f47c] main filter debug: removing module "swscale"
[0x963a4b4] main generic debug: A filter to adapt decoder to display is needed
[0x964be84] main filter debug: looking for video filter2 module: 18 candidates
[0x964be84] swscale filter debug: 720x576 chroma: I420 -> 979x551 chroma: RV32 with scaling using Bicubic (good quality)
[0x964be84] main filter debug: using video filter2 module "swscale"
.....
[0x959f4e4] main video output warning: late picture skipped (-10038 > -15327)
[0x963a4b4] main generic debug: auto hidding mouse
[0x93ca094] main input warning: clock gap, unexpected stream discontinuity
[0x93ca094] main input warning: feeding synchro with a new reference point trying to recover from clock gap
[0x959f4e4] main video output warning: early picture skipped
......
ac-tex damaged at 0 12
ac-tex damaged at 6 20
ac-tex damaged at 12 28
这种情况发生在板载和已知良好的 USB DVD 播放器上,我没有独立的 DVD 播放器可以尝试与电视一起使用
我现在打算看另一部电影,因为我可以这样做。我就是不能看《雷神》,而且我很有信心光盘没问题。这是租来的,但它很干净,表面没有磨损。我甚至用 Christian Dior 须后水清洁了它以确保万无一失。
答案1
该标题具有结构保护,可能是导致播放问题的原因。最新的几个 libdvdnav4 版本没有该保护问题,但 lucid 提供的版本似乎存在该问题。
假设你的驱动器是 /dev/dvd,如果不确定,你可以运行这个并检查 /dev/ 链接
sudo lshw -C disk
查找部分 *-cdrom,如果它显示 /dev/dvd,则使用以下命令,如果它显示 /dev/dvd1,则进行调整,您也可以使用 /dev/srX,其中 X 通常是 0 或 1
如果你在区域 1,那么主要电影是标题 24,所以这可能有效,-
vlc dvdsimple:///dev/dvd@24
命令含义 - dvdsimple://(无菜单)、/dev/dvd(设备)、@ 标题编号
(从 vlc-1.2 开始 @ 变为 #)
否则,您完全可以将 libdvdnav4 和 libdvdread4 升级到较新的版本,不存在任何实际的依赖性问题。我没有 lucid 安装来检查,但应该不是问题。
如果是这样,您需要同时升级两个软件包,我会使用 11.10 软件包。如果您想让我知道,我会编辑如何操作。
编辑:- 意识到我有一个 lucid iso,因此进行了快速启动以进行检查。您可能无法使用上述方法播放 Thor,尽管它可能对其他一些结构保护的磁盘很方便。我继续升级了 libdvdread/nav libs,然后您应该不会遇到 Thor 问题。
在某些情况下,即使使用较新的库,你也可能不得不直接进入主电影标题进行播放,Cars2 就是一个例子,Thor 应该可以正常播放
将 10.04 升级到较新的 libdvdread/nav
将使用 11.10 软件包,也可以使用 12.04,尽管 11.10 就足够了。
打开终端,运行此命令,然后保持终端打开
sudo apt-get remove libdvdread-dev; mkdir dvd_fix; cd dvd_fix
然后转到这些页面,选择您的 arch,右键单击顶部列出的镜像 > 将链接另存为,保存到 dvd_fix 文件夹(它在您的主目录中)。
http://packages.ubuntu.com/km/oneiric-updates/libdvdread4
http://packages.ubuntu.com/km/oneiric/libdvdnav4
下载完两个软件包并将其放入 dvd_fix 文件夹后,在仍然打开的终端中运行此命令
sudo dpkg -i *.deb
这将升级你并且磁盘应该播放
如果你需要或者认为你可能需要 libdvdread/nav dev 文件来构建相关源
我们会这样做以避免可能的包装损坏 - 在上述操作完成后再进行
在 dvd_fix 文件夹中创建一个名为 devs 的新文件夹
转到这两个页面并像以前一样将 -dev 包下载到 dvd_fix/devs 文件夹
http://packages.ubuntu.com/oneiric-updates/libdvdread-dev
http://packages.ubuntu.com/oneiric/libdvdnav-dev
如果您需要安装开发包,则只需打开该文件夹,右键单击 libdvdread-dev 并使用 gdebi 安装。然后对 libdvdnav-dev 执行相同操作,执行 libdvdread-dev第一的
答案2
另外,我们还需要通过Synaptic安装QUICKTIME -lib和-util。这解决了我在中国的商业DVD无法播放的问题。