Извлечение отдельных звуковых дорожек из аудио DVD

Я хотел бы извлечь звук с концертного DVD в аудиофайлы, например, mp3 или aac . Как я могу сделать это с помощью бесплатных инструментов? Я знаю, что есть несколько платных вариантов, но я хотел бы использовать бесплатные инструменты, если это возможно.

Обратите внимание, что я не хочу воспроизводить/записывать звук, а извлекаю его непосредственно с DVD. DVD имеет стереодорожку PCM.

В идеале я хочу получить по одному аудиофайлу на главу/дорожку.

Я умею пользоваться командной строкой, так что скрипты тоже приветствуются. Homebrew также установлен.

Обновление: я прочитал следующие два руководства по использованию VLC, но они кажутся устаревшими, экраны, похоже, изменились в последних версиях VLC. В частности, пункт меню «Преобразовать/Сохранить» теперь называется «Преобразовать/Поток» , и экран, похоже, значительно изменился.

См. Apple.stackexchange.com/questions/77031/… для получения дополнительной информации...

Ответы (2)

Вот как я это сделал в итоге, так как у меня не получилось использовать VLC. В некоторых случаях я получал статические данные в файле, а инструкции командной строки из некоторых руководств, которые я разместил в вопросе, не сработали, поскольку команды, похоже, изменились.

Я также пробовал такие инструменты, как ffmpeg, но также не получил никакого полезного результата.

Что, наконец, сработало, так это инструкции, найденные здесь: http://www.essl.de/wp/2008/01/28/rip-audio-from-a-dvd/

Сначала я установил следующие инструменты с помощью Homebrew :

$ brew install lame
$ brew install mplayer

Во-вторых, чтобы получить список глав DVD, я использовал это с DVD в приводе моего MacBook Pro:

$ mplayer -identify -frames 0 dvd://1 | grep "_CHAPTERS"

Это напечатает количество глав в заголовке, в моем случае я заметил, что в первом заголовке 13 дорожек.

Чтобы получить список доступных аудиоканалов, я использовал аналогичную команду:

$ mplayer -identify -frames 0 dvd://1 | grep "aid"

Это показало, что канал со значением помощи 160 имел стереофоническую дорожку DVD ( lpcm ).

Чтобы извлечь звук и преобразовать его в MP3, я написал следующий многоразовый скрипт ( ripaudio.sh), который извлекает и преобразует одну главу:

#!/bin/bash

CHAPTER=$1
AID=$2

mplayer -benchmark -vc null -vo null dvd://1 -chapter $CHAPTER-$CHAPTER -aid $AID -ao pcm:fast:file=$CHAPTER.wav && lame --preset standard $CHAPTER.wav $CHAPTER.mp3 && rm $CHAPTER.wav

Сделайте скрипт исполняемым с помощью

$ chmod +x ripaudio.sh

Вызовите его, чтобы извлечь первую главу, используя

$ ./ripaudio 1 160

Что это в основном делает, так это:

  • MPlayer извлекает звуковую дорожку с идентификатором 160 из первой дорожки и сохраняет ее в файл с именем 1.wav. Видео часть трека игнорируется
  • Кодер Lame используется для кодирования .wavфайла в файл MP3 с именем 1.mp3. Используется стандартный пресет Lame .
  • Файл 1.wavудален.
  • Команды объединяются в цепочку с помощью &&оператора, чтобы убедиться, что они выполняются только после успешного выполнения предыдущей. Вся mplayer etc.команда должна быть в одной строке.

Чтобы преобразовать все главы, forможно использовать следующий цикл:

for i in {1..13}; do ./ripaudio.sh $i 160 ; done

Это займет некоторое время, но как только это будет сделано, вы получите по одному файлу MP3 на главу в текущем каталоге.

Скрипт можно легко адаптировать для использования чего-то вроде flac вместо lame для кодировки. Поместите скрипт в папку пользователя ~/bin, чтобы вызывать его из любого места.

Хотя это заняло некоторое время для исследования и не имеет причудливого пользовательского интерфейса, это был лучший метод, который я нашел.

отличный ответ, спасибо! также, если вы не ждете других ответов, отметьте это как принятое
Почти каждая команда в этом ответе выводится Can't init Apple Remoteна High Sierra.

Вы можете использовать VLC:

  1. Откройте ВЛК.
  2. Нажмите ⌘D и вставьте диск или выберите папку VIDEO_TS.
  3. Установите флажок для потоковой передачи/сохранения.
  4. Щелкните Настройки.
  5. В разделе «Параметры потоковой передачи и транскодирования» выберите «Файл» и укажите место для сохранения файла.
  6. В параметрах транскодирования снимите флажок «Видео» и установите флажок «Аудио», затем выберите формат (mp3) и битрейт.
  7. Нажмите «ОК», затем «Открыть». Начнется транскодирование.
Как я могу автоматизировать это для извлечения всех дорожек с каждой главой DVD в отдельный файл? Из того, что я вижу, приведенное выше выведет один файл.
На DVD Audio должно быть не VIDEO_TS, а AUDIO_TS.
Не приведет ли этот процесс к созданию одного большого звукового файла для всего фильма, а не отдельной звуковой дорожки для каждой главы DVD?
Я попробовал это с VIDEO_TS, как указано, а затем с AUDIO_TS. Любой из них создал тип файла «данные транспортного потока MPEG», который Amadeus Pro смог открыть, но показал, что это менее 39 миллисекунд тишины (хотя это было 107 МБ).