Есть ли способ скопировать аудио DVD в 24-битные файлы AIFF или ALAC в Ubuntu?
По моему пониманию, это работает для mp3-файлов, но может быть полезно:
Вставьте ваш DVD-диск по выбору и осмотрите диск, используя dvdrip , Mplayer , VLC или что-то еще на ваше усмотрение.
Сканирование оглавления диска на наличие заголовков, глав и номеров звуковых дорожек с использованием утилит из пакета 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 (обратите внимание, что этот параметр будет ac3 для дорожки объемного звучания 1). Это, в свою очередь, передается по каналу 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
Source с дополнительными советами и хитростями.