Разделение на треки Audio DVD

Материал из Linux Wiki
Версия от 23:15, 18 января 2010; Rain (обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к навигацииПерейти к поиску
ToDo: Доработать

Некоторые DVD Audio выпускаются в виде звуковой дорожки высокого разрешения в формате обычного DVD Video, зачастую без видеоряда - так называемые Audio DVD (в терминологии torrents.ru :) ). Строки ниже помогут вытянуть из такого диска аудиодорожку, а также разрезать ее на треки.

Дампим аудиодорожку

Тут все относительно просто - с помощью mplayer'a вытягиваем только нужный аудиотрек и сохраняем его в файл:


mplayer dvd:///VIDEO_TS/ -aid 160 -vo dummy -ao pcm:file=file.wav -af format=s32le

Дорожка с идентификатором 160 - это наша дорожка высокого разрешения. Почему нужен -af format=s32le - я пока и сам не знаю - несмотря на то, что дампим звук в файл, параметры берутся для звуковой карты, а у меня она не умеет 24 бита - или 16, или 32. При попытке сдампить звук в файл так, как он есть mplayer автоматически преобразовывает его в 16 бит. Поэтому сначала дампим в 32-х битах, после чего конвертируем в 24 (Audacity не сможет нормально проглотить большой файл в 32-битном разрешении).

Конвертируем

Тут все понятно: берем исходный файл и из него получаем файл с разрешением 24 бита.


sox file.wav -b 24 file1.wav

Получаем файл пометок

Этот скрипт берет для указанной дорожки строку, содержащую метки глав и формирует файл пометок в формате, понятном Audacity.


oi=''
n=0
mplayer -identify dvd:///VIDEO_TS/ -endpos 0 -vo null -aid 160 2>/dev/null |
grep '^CHAPTERS' |  sed 's/,/\n/g' | sed 's/CHAPTERS: //g' | awk -F':' '{print $1*3600+$2*60+$3}' |
while read i
do
echo -e "$oi\t$i\tTrack $n"
let n+=1
oi=$i
done | head -n-1 | tail -n+2 > tracks.txt

Обрабатываем полученное в Audacity

В итоге мы получаем 2 файла - file1.wav с нашей аудиодорожкой и tracks.txt с метками времени. Открываем аудиодорожку в Audacity, испортируем туда же файл пометок, делаем нужные правки (например, можно обрезать паузы (если они есть) в начале и конце диска, а также "подвигать" границы дорожек, если на слух они не полностью совпадают), после чего сохраняем полученный результат в несколько файлов FLAC (не забываем указать 24 бита при сохранении). После этого обрабатываем результат специальным скриптом, так как Audacity генерирует FLAC без seektable и прочей полезной информации.

Вот и все. Для более удобного использования можно обработать файлы в easytag, прописать теги и сохранить с нормальными именами.