我有一张 VCD,里面有 22 分钟的视频。我想保留这些片段,然后扔掉 VCD。
我可以用 VLC 播放整首歌(“打开光盘 -> vcd -> /dev/sr0 -> 播放”):主曲目的全部 22 分钟。我认为除了主曲目之外没有其他内容。我可以在 22 分钟的曲目内搜索到任何我想要的内容。
如果我mount /dev/sr0 /media/vcd
然后尝试从 MPEGAV 文件夹复制唯一的文件,我会收到 I/O 错误,并且目标文件为空。
VLC 除了“播放”之外,还有一个“转换”选项。当我使用这个选项时,我实际上得到了一个很好的 OGG 文件,在它以痛苦的实时方式播放视频之后。我猜它是逐帧配音的。但该文件只有 10 分钟长,还剩下 12 分钟的时间。
不幸的是,Handbrake 无法检测到它的曲目标题。
我不知道我是否应该开始使用 GNU ddrescue
,或者是因为 VCD 以某种方式以不同的方式编码其数据扇区。无论如何,我对此感到困惑,如果有人知道如何从该设备中删除该视频轨道,请随时分享!
编辑:我应该注意,我也可以使用 Windows 计算机
答案1
MPlayer 解决方案
要预览曲目(例如 3),请使用命令
mplayer vcd://3
要转换选定的轨道,使用命令。
mencoder vcd://3 -audio-preload 0.0 -o file.avi -mc 0 -oac copy -ovc lavc -lavcopts vcodec=mpeg4:vbitrate=2000
VCD盘通常有很多音轨,MPlayer的输出样例:
MPlayer SVN-r36521-4.8.2 (C) 2000-2013 MPlayer Team
...
Playing vcd://3.
track 01: adr=1 ctrl=4 format=2 00:02:00 mode: 1
track 02: adr=1 ctrl=4 format=2 00:48:00 mode: 1
track 03: adr=1 ctrl=4 format=2 00:52:07 mode: 1
track 04: adr=1 ctrl=4 format=2 08:17:26 mode: 1
track 05: adr=1 ctrl=4 format=2 15:42:14 mode: 1
track 06: adr=1 ctrl=4 format=2 23:19:19 mode: 1
track 07: adr=1 ctrl=4 format=2 30:53:35 mode: 1
track 08: adr=1 ctrl=4 format=2 38:40:58 mode: 1
track 09: adr=1 ctrl=4 format=2 46:16:22 mode: 1
track 10: adr=1 ctrl=4 format=2 52:49:40 mode: 1
track 11: adr=1 ctrl=4 format=2 61:44:66 mode: 1
MPEG-PS file format detected.
VIDEO: MPEG1 352x288 (aspect 8) 25.000 fps 1150.0 kbps (143.8 kbyte/s)
预览所有曲目并根据需要进行翻录:)
答案2
我遇到了同样的问题并且找到了解决方案。
首先,MPEGAV 文件夹中的巨大文件是 MPEG-PS 文件,尽管它的文件扩展名为 DAT。它是视频本身。因此,您只需复制此文件即可。
如果我挂载 /dev/sr0 /media/vcd 然后尝试从 MPEGAV 文件夹复制唯一的文件,我会收到 I/O 错误,并且目标文件为空。
但是,正如您上面已经指出的那样,复制操作因 I/O 错误而失败。我认为这与 CD 文件系统 (ISO-9660) 的 Linux 驱动程序有关。所以我找到的解决方案是使用 Windows 复制文件。
将文件从 ISO-9660 文件系统复制到 Windows(NTFS 文件系统)后,您就可以将其转换为其他标准格式(例如 AVI 或 MP4 格式)。