LXF98:Чистка DVD видео

Материал из Linuxformat.

Версия от 12:35, 14 мая 2009; Crazy Rebel (Обсуждение | вклад)
(разн.) ← Предыдущая | Текущая версия (разн.) | Следующая → (разн.)
Перейти к: навигация, поиск

Содержание

DVD: Долой посторонние звуки!

Video
Иногда безупречную во всех прочих отношениях любительскую запись портит фоновый шум или подобная мелочь, оставленная без внимания при монтаже. К счастью, Алексей Маслий знает, как подправить DVD, не нарушая его компоновки.

Недавно у моих родственников был юбилей, который они засняли на цифровую камеру, а потом сделали DVD с меню и видеоклипом по мотивам празднования. И все бы хорошо, но в записи остался фоновой шум, местами очень сильный. И, конечно, с просьбой очистить запись от шума они обратились ко мне. К счастью, Linux позволяет решить эту задачу просто и элегантно – и на следующих нескольких страницах мы разберемся, как именно.

Для начала формализуем задачу. Имеется DVD-диск с записью, с которой нужно произвести некоторые действия: убрать шум, добавить комментарии, наложить субтитры на видеоряд и т.д., причем так, чтобы не испортить имеющееся на диске меню. Можно, конечно, поступить просто – скопировать видео, произвести с ним требуемые преобразования и сделать новый диск, но это проблема уже другого порядка сложности.

Данная задача решается в три этапа. Во-первых, необходимо сохранить звуковую дорожку в отдельный файл в том формате, который понимает ваша программа обработки звука. Во-вторых, нужно произвести необходимые действия со звуковой дорожкой (в нашем случае – убрать фоновый шум) или с видеорядом (но тогда длительность ролика не должна изменяться). Наконец, звуковую дорожку следует записать обратно на DVD-диск.

DVD изнутри

Чтобы реализовать описанную выше идею, нам понадобятся три основных программы. Это Avidemux2 (http://www.avidemux.org/), Audacity (http://audacity.sourceforge.net/) и QDVDAuthor (http://qdvdauthor.sourceforge.net/). Все они входят в состав загружаемого мультимедиа-дистрибутива Dynebolic, одну из версий которого можно найти на диске LXF76, либо установить через менеджер пакетов вашего дистрибутива (я предпочитаю SUSE, а в нем необходимо предварительно подключить репозиторий packmanhttp://packman.links2linux.org/).

Прежде чем браться за решение задачи, необходимо разобраться, в чем, собственно, заключается основная проблема. На самом деле этапы один и два я прошел за несколько часов (считая и время, потраченное на получение аудиодорожки и очистку ее от шума). Самая трудная задача – это вернуть очищенный звук на его место на DVD. Чтобы разобраться с ней, необходимо хорошо представлять себе структуру диска DVD Video.

Обычно на диске находятся два каталога: AUDIO_TS и VIDEO_TS. Интересующие нас файлы содержатся во втором из них. Все видеофайлы имеют расширение .VOB. Это обычные ролики в формате MPEG-2, которые могут быть просмотрены с помощью любого проигрывателя. Файлы с расширением .IFO и .BUP – служебные, в них содержится информация о меню и временных сдвигах глав (chapter) – отдельных отрывков из видеопотока раздела. Раздел (title), в свою очередь, представляет собой видеопоток со своей собственной временной шкалой. Меню видео-DVD содержится в трех файлах с расширениями .IFO, .BUP и .VOB, при этом каждый раздел может иметь собственное меню. Схема именования файлов проста: VTS_xx_y.VOB, где хx – номер главы, у – порядковый номер файла. у=0 соответствует файлу, содержащему меню главы, а все видеофайлы с одинаковым значением х и у≥1 имеют общую временную шкалу.

Добываем звук

Приступая к первому шагу, необходимо определить, какой именно раздел видео-DVD мы будем обрабатывать. Любительские DVD обычно содержат только один раздел, но если вам попадется материал, содержащий два или более, лучше обрабатывать каждый из них по отдельности. Выбрав необходимый раздел, скопируйте все файлы VTS_x_y.VOB c у>=1 (в моем случае это VTS_01_1.VOB...VTS_01_4.VOB) на жесткий диск (и лучше в отдельный каталог). Далее запустите программу Avidemux2 (Рис. 1). Откройте файл VTS_01_1.VOB. Программа задает последовательно два важных вопроса: «Выглядит как mpeg. Хотите индексировать?» и «Здесь несколько mpeg-файлов, хотите объединить?». В обоих случаях следует ответить «Да». В результате, спустя некоторое время, затрачиваемое на индексирование и зависящее от скорости вашего компьютера, файл будет открыт, причем не только первая его часть, но и весь временной поток. Теперь мы можем непосредственно заняться решением первой проблемы – сохранить аудиодорожку. Программа Audacity, которая будет использоваться для очистки звука, работает с файлами формата WAV (возможно, с PCM-сжатием), поэтому следует узнать, в каком формате звук записан на DVD [в любом случае, маловероятно, что это будет несжатый WAV, – прим. ред.]. Для этого можно посмотреть свойства открытого файла, нажав на кнопку с изображением буквы «i» на листе бумаги на панели инструментов программы или в меню Файл. В моем случае аудиопоток кодирован в формате AC3 (Рис. 2). Для его перекодировки в WAV можно воспользоваться меню Аудио в левой части окна программы. При запуске программы по умолчанию выбрано Копировать; нужно изменить это на WAV PCM. Для сохранения аудиодорожки выберите в меню Аудио > Сохранить. Укажите имя файла и подождите, пока программа запишет дорожку. Задача первого этапа решена, но программу Avidemux можно не закрывать, поскольку ею мы будем пользоваться для наложения аудиодорожки обратно на видеоряд.

Рис. 1. Общий вид программы Avidemux2. Рис. 1. Общий вид программы Avidemux2.

Рис. 2. Свойства видео и аудио. Рис. 2. Свойства видео и аудио.

Чистка

На втором этапе нам поможет прекрасный звуковой редактор Audacity. К сожалению, у нас нет возможности рассматривать его сколько-нибудь подробно, поэтому мы ограничимся лишь процедурой шумоподавления (см. также LXF79). Для решения этой задачи существует специальный фильтр Удаление шума, который доступен через меню Эффекты. Для его применения сначала надо найти в записи участок с образцом шума, то есть не содержащий никаких других звуков. После этого выбрать пункт меню Эффект > Удаление шума. В появившемся окне (Рис. 3) нажмите кнопку Создать модель шума, и выделенный участок будет взят за образец. Далее необходимо указать участок записи, который вы хотите очистить. Обычно это вся дорожка, поэтому в меню следует выбрать пункт Правка > Выделить > Все. Теперь снова вызовите диалог Удаление шума, а затем укажите при помощи ползунка, насколько глубоким будет это удаление. По собственному опыту, я советую разместить бегунок в районе середины шкалы и, если качество удаления шума вас не удовлетворит, повторить этот процесс еще раз. В противном случае фильтр вырежет всю полосу частот, где замечен шум, и оставшийся звук станет неестественным. Для тестирования качества работы эффекта можно выделить участок, где шум наиболее заметен, и в окне Удаление шума (Рис. 3) нажать кнопку Прослушать. Программа воспроизведет небольшой фрагмент записи, к которому уже применен эффект удаления шума с выбранными параметрами. Следует заметить, что если вы собираетесь производить процесс очистки несколько раз, то следует заранее побеспокоиться о наличии достаточного места в разделе, где находится каталог /tmp – туда программа помещает временные файлы – или настроить сохранение временных файлов в разделе, где достаточно места. При полной очистке записи программа создает резервную копию аудиодорожки для возможности совершения отката. Соответственно, резервные копии будут создаваться столько раз, сколько раз будет производиться очистка. Приказать программе создавать временные файлы в другом месте можно во вкладке Каталоги в окне настроек программы (Правка > Параметры Audacity). После того, как результат очистки вас удовлетворит, можно сохранять очищенную аудиодорожку в файл: Файл > Экспортировать как > WAV.

Рис. 3. Окно эффекта «Удаление шума». Рис. 3. Окно эффекта «Удаление шума».

Сведение

Настало время возвратиться к Avidemux. Выберите в меню пункт Аудио > Главная дорожка > External PCM(WAV). После нажатия кнопки OK программа предложит выбрать WAV-файл – укажите аудиодорожку, очищенную от шума. Чтобы убедиться, что внешняя аудиодорожка действительно подключена, можно снова посмотреть свойства загруженного файла: кодеком для аудио теперь должен быть PCM. Для подготовки видеофайла в формате, понятном DVD-плейеру, необходимо сделать следующие настройки.

  • Видео. Оставить Копировать, если вы не производили никаких операций над видеопотоком, в противном случае выбрать один из форматов DVD.
  • Аудио. Установить в FFm AC3, в качестве контейнера выбрать MPEG PS A+V (Рис. 4). Обратите внимание, именно этот контейнер необходим для того, чтобы все DVD-плейеры понимали сохраненный вами файл. Теперь нажмите кнопку Сохранить и введите имя файла.

Рис. 4. Настройки Avidemux2 для экспорта в новый видеофайл. Рис. 4. Настройки Avidemux2 для экспорта в новый видеофайл.


Задача практически решена – осталось подготовить DVD-диск с новым материалом. Для этого все содержимое оригинального диска, кроме файлов, которые подвергались обработке, необходимо переписать на жесткий диск (лучше всего опять же в отдельный каталог). Файл с очищенным аудиопотоком можно переименовать в VTS_01_1.VOB и скопировать туда же. Если полученный файл VTS_01_1.VOB оказался длиннее 2048 МБ, то мы имеем дополнительную проблему (см. врезку), которую легко решить при помощи QDVDAuthor. В противном случае можно сразу переходить к прожигу нового диска. После чего можно вставить DVD в плейер и наслаждаться результатом.

Врезки

Меньше – значит лучше

На этапе создания DVD-видео вы можете столкнуться еще с одной проблемой: ваш VOB-файл может превысить ограничение в 2048 МБ, накладываемое файловой системой ISO9660. UDF в этом смысле более либеральна, но поддерживается не всеми DVD-плейерами (диапазон возможных проблем варьируется от нечитаемости диска до неработающего ускоренного просмотра). К счастью, QDVDAuthor умеет делить большой файл на части.

Запустите программу. Как и в Avidemux, рабочее окно здесь разделено на две части: в левой – структура проекта DVD, а в правой визуальное отображение (Рис.5). Нажмите кнопку Add Movie – запустится мастер создания нового проекта, который последовательно предлагает выбрать каталог для хранения временных данных (по умолчанию /tmp), имя проекта и каталог, в котором будет сохраняться сгенерированная структура DVD. После этого предлагается выбрать собственно видеофайл – нам требуется тот, что вы сохранили из Avidemux.

Рис. 5. Так выглядит QDVDAuthor. Рис. 5. Так выглядит QDVDAuthor.

Выберите в меню пункт DVDAuthor > Create DVD или нажмите большую кнопку с изображением DVD-диска на панели инструментов. Программа дважды спросит, хотим ли мы создать DVD без какого-либо меню; следует ответить «Да». Затем появится окно, содержащее очередь команд для создания DVD (Рис. 6), здесь все можно оставить без изменений. Нажмите «ОК», и некоторое время спустя в выбранном каталоге появится сгенерированный DVD (программа создает полную структуру, начиная с каталогов AUDIO_TS и VIDEO_TS). Здесь нам необходимо только взять файлы VTS_01_x.VOB и перенести их в свой каталог, который мы создали чуть раньше (при необходимости, если на вашем DVD они находились не в первом разделе, их можно переименовать). Не обращайте внимания на разницу в длине полученных и оригинальных VOB-файлов – это нисколько не влияет на результат, поскольку меню DVD ориентируется на положение кадров во временной шкале, которое не меняется.

Рис. 6. Окно очереди команд для создания DVD. Рис. 6. Окно очереди команд для создания DVD.

Личные инструменты
  • Купить электронную версию
  • Подписаться на бумажную версию