我尝试使用 VLC 播放器播放 DVD“玩具总动员”,并安装了 libdvdcss2,但当我尝试播放时,VLC 就关闭了。
我已经从控制台运行了 VLC,以便在它崩溃之前获得更多输出,这是输出:
libdvdnav: Using dvdnav version 4.2.0
libdvdread: Using libdvdcss version 1.2.12 for DVD access
libdvdnav: DVD Title: TOYSTORY1
libdvdnav: DVD Serial Number: 3C2B9B99
libdvdnav: DVD Title (Alternative): TOYSTORY1
libdvdnav: Unable to find map file '/home/username/.dvdnav/TOYSTORY1.map'
libdvdnav: DVD disk reports itself with Region mask 0x00fd0000. Regions: 2
libdvdread: Attempting to retrieve all CSS keys
libdvdread: This can take a _long_ time, please be patient
libdvdread: Get key for /VIDEO_TS/VIDEO_TS.VOB at 0x00000268
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_0.VOB at 0x00000b00
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_01_1.VOB at 0x00000b10
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_0.VOB at 0x000011c0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_02_1.VOB at 0x000011d0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_0.VOB at 0x000011c0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_03_1.VOB at 0x000011d0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_04_0.VOB at 0x000011c0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_04_1.VOB at 0x000011d0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_05_0.VOB at 0x000011c0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_05_1.VOB at 0x000011d0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_06_0.VOB at 0x000011c0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_06_1.VOB at 0x000011d0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_07_0.VOB at 0x000011c0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_07_1.VOB at 0x000011d0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_08_0.VOB at 0x000011c0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_08_1.VOB at 0x000011d0
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_09_1.VOB at 0x00001337
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_10_0.VOB at 0x00001425
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_10_1.VOB at 0x000016d8
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_11_1.VOB at 0x000024c1
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_12_0.VOB at 0x00003684
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_12_1.VOB at 0x0000a9f4
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_13_1.VOB at 0x00010451
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_14_1.VOB at 0x0004727a
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_15_0.VOB at 0x00061aa7
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_15_1.VOB at 0x000aae7c
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_16_0.VOB at 0x00061aa7
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_16_1.VOB at 0x000aae7c
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_17_0.VOB at 0x00061aa7
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_17_1.VOB at 0x000aae7c
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_18_0.VOB at 0x00061aa7
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_18_1.VOB at 0x000aae7c
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_19_0.VOB at 0x00061aa7
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_19_1.VOB at 0x000aae7c
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_20_0.VOB at 0x00061aa7
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_20_1.VOB at 0x000aae7c
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_21_0.VOB at 0x00061aa7
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_21_1.VOB at 0x000aae7c
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_22_0.VOB at 0x00061aa7
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_22_1.VOB at 0x000aae7c
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_23_0.VOB at 0x00061aa7
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_23_1.VOB at 0x000aae7c
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_24_0.VOB at 0x00061aa7
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_24_1.VOB at 0x000aae7c
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_25_0.VOB at 0x00061aa7
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_25_1.VOB at 0x000aae7c
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_26_1.VOB at 0x002cc2a3
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_27_1.VOB at 0x002df2e3
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_28_0.VOB at 0x0033d2bb
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_28_1.VOB at 0x0033d2cb
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_29_0.VOB at 0x0033d2bb
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_29_1.VOB at 0x0033d2cb
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_30_0.VOB at 0x0033d2bb
libdvdread: Elapsed time 0
libdvdread: Get key for /VIDEO_TS/VTS_30_1.VOB at 0x0033d2cb
libdvdread: Elapsed time 0
libdvdread: Found 30 VTS's
libdvdread: Elapsed time 0
*** libdvdread: CHECK_VALUE failed in ifo_read.c:1264 ***
*** for vts_ptt_srpt->title[i].ptt[j].pgn != 0 ***
*** libdvdread: CHECK_VALUE failed in ifo_read.c:1994 ***
*** for pgci_ut->nr_of_lus < 100 ***
No VTS_TMAPT available - skipping.
Speicherzugriffsfehler (Speicherabzug geschrieben)
最后一行显示“内存读取错误(已写入内存转储)”
编辑:打开 DVD 时,VLC 的内存使用量会上升到 3.8GB(我的电脑可用内存为 4GB),这可能是导致问题的原因。
我希望你们中有人曾经遇到过这个错误并且知道该怎么做!
提前致谢
答案1
不幸的是,已知问题当前有几部电影libdvdread
占用过多内存,正如您所注意到的,在您的案例中确实如此。发射台如下:
在某些 DVD 上,libdvdread 因 libdvdread: CHECK_VALUE failed in ifo_read.c:1913 而导致内存不足
您的情况实际ifo_read
情况可能有所不同,但这是一个相同的错误,并且页面上提到了《玩具总动员 1》。
这似乎发生在某些 DVD 上,特别是一些 DVD9(8GB+ DVD)。
除了点击表示该错误影响到您之外,没有太多事情可做。(玩具总动员 1 已经提到过)。 然而,有一个非官方的Launchpad 上的补丁那
增加引用计数以避免卡在重新读取重复的语言单元表和 pgc 上。补丁特别提到它修复了“飞屋环游记”和“黑暗骑士”,但可能会改善对其他类似 DVD 的读取。
该补丁可能会导致其他 DVD 出现问题,因此是否尝试取决于您,但如果您愿意,请在 Launchpad 页面上提供反馈。
答案2
尝试这个:
工具 > 首选项 > 显示设置:所有输入编解码器 > 访问模块 > 带菜单的 DVD 取消选中“在菜单中直接启动”选项。保存首选项,关闭并重新启动 VLC。信息来自这里。
答案3
对我而言有效的《钢铁侠 3》解决方法:
vlc dvdsimple://dvd/sr0#1:1 :disc-caching=300 :start-time=1.000
只需用你的 DVD 替换 sr0,然后调整开始时间即可。(发现这里)
或者,banshee
对我来说使用效果更好!