有没有办法在 Ubuntu 上将音频 DVD 翻录成 24 位 AIFF 或 ALAC 文件?
答案1
据我所知,这适用于 mp3 文件,但可能会有用:
放入您选择的 DVD 并使用以下方式检查光盘影音串流,播放器,甚高频液晶或者其他你喜欢的东西。
使用以下实用程序扫描光盘目录以查找标题、章节和音轨编号:
transcode
包裹;请注意,dvd 设备可以是真正的 dvd 设备,也可以是您复制 VOB 文件的目录:发出以下命令:
$ tcprobe -i /dev/dvdrw1
这应该是输出(或类似的东西)
[tcprobe] DVD image/device (dvd_reader.c) mpeg2 ntsc 16:9 only letterboxed U0 720x480 video (dvd_reader.c) lpcm en 16bit 48kHz 2Ch (dvd_reader.c) ac3 en drc 48kHz 6Ch (dvd_reader.c) subtitle 00= (dvd_reader.c) DVD title 1/2: 16 chapter(s), 1 angle(s), title set 1 (dvd_reader.c) title playback time: 01:54:21.07 6862 sec (dvd_reader.c) [Chapter 01] 00:00:00.000 , block from 0 to 293870 (dvd_reader.c) [Chapter 02] 00:09:04.367 , block from 293871 to 532255 [...] (dvd_reader.c) [Chapter 15] 01:43:07.832 , block from 3340117 to 3703349 (dvd_reader.c) [Chapter 16] 01:54:20.832 , block from 3703350 to 3703357 [tcprobe] summary for /dev/dvdrw1, (*) = not default, 0 = not detected import frame size: -g 720x480 [720x576] (*) aspect ratio: 16:9 (*) frame rate: -f 23.976 [25.000] frc=1 (*) audio track: -a 0 [0] -e 48000,16,2 [48000,16,2] -n 0x10001 [0x2000] (*) audio track: -a 1 [0] -e 48000,16,2 [48000,16,2] -n 0x2000 [0x2000] [tcprobe] V: 164524 frames, 6862 sec @ 23.976 fps [tcprobe] A: 107.22 MB @ 128 kbps [...]
请注意,上面的重要信息是:
- 哪本书有全部章节,有多少
- 哪些音轨属于哪种格式
典型的音乐 DVD 似乎至少有一个 LPCM 立体声音轨和一个 AC3 环绕声音轨,并且您通常需要 PCM 立体声音轨(尽管转码功能可以根据需要自动转换环绕声音轨)。您只需指定您想要的标题、章节和音轨即可。
扫描所需的音轨以找到推荐的比例参数;如果超过此值,则可能会有信号剪切的风险,但如果您根本不缩放,与其他 mp3 相比,它听起来可能不是非常响亮:
$ tccat -T 1,1,1 -i /dev/dvdrw1 -t dvd -a 0 -L -d 2 | tcextract -t vob -x pcm | tcscan -x pcm -d 1
上述命令
title,chapter,angle
使用-T
参数从 dvd 驱动器(使用参数-i
,也可以是包含 VOB 文件的目录)抓取第一个。参数-a
要求音轨0
(线性 PCM 立体声音轨),而-L
参数循环遍历所有章节,并-d
增加输出的详细程度。这将通过管道传送到tcextract
查找 pcm 流的命令(请注意,对于环绕声轨道 1,此参数将是 ac3)。这反过来又通过管道传送到tcscan
,它会扫描 pcm 数据并为给定的音轨(或整个光盘)吐出适当的标准化值。如果不循环遍历所有章节,仅扫描第一章的输出如下所示:$ tccat -T 1,1,1 -i /dev/dvdrw1 -t dvd -a 0 -d 2 | tcextract -t vob -x pcm | tcscan -x pcm -d 1 T=3 1 1 1 1 (dvd_reader.c) DVD title 1: 16 chapter(s), 1 angle(s) (dvd_reader.c) DVD playback time: 01:54:21.07 [tccat] (pid=12865) processing chapter (1/16) (iodump.c) PAL DVD image/device [tcscan] audio frames=13620.67, estimated clip length=544.83 seconds [tcscan] (min/max) amplitude=(-0.996/0.996), suggested volume rescale=1.004 [tcscan] V: 13620 frames, 544 sec @ 25.000 fps [tcscan] A: 8.50 MB @ 128 kbps [tcscan] CD: 650 MB | V: 641.5 MB @ 9892.1 kbps [tcscan] CD: 700 MB | V: 691.5 MB @ 10663.1 kbps [tcscan] CD: 1300 MB | V: 1291.5 MB @ 19915.2 kbps [tcscan] CD: 1400 MB | V: 1391.5 MB @ 21457.3 kbps
在这种情况下,重新缩放值可能看起来相当低,只有 1.004,但每个光盘都不同,因此在绝大多数情况下都值得执行此步骤。确保扫描所有章节,我们将在下面的实际转码命令中使用建议的音量重新缩放值。
现在我们实际上可以用一个命令完成翻录、转码和音频编码,至少对于 mp3 输出来说是这样:
$ transcode -i /dev/dvdrw1 -x null,auto --no_split -T 1,-1 -s 1.004 -a 0 -y null,raw -m zappa_plays_zappa.mp3
来源并提供额外的提示和技巧。