Как наложить на AVI-файл две или более аудиодорожек (например, с переводом)
kasp


О чем эта статья?

Иногда возникает необходимость наложить на имеющийся фильм еще одну или несколько звуковых дорожек, например, перевод, с тем, чтобы потом наслаждаться любимым фильмом в оригинальном звучании или на любом другом языке. Проигрывать такие многодорожечные фильмы можно в BSplayer или Media Player Classic (линк для WinXP).
Рассмотрим лишь, как наложить несколько аудиотреков на наш фильм и избежать при этом стандартных неожиданностей.

Где взять переводы?

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


Начнем?

Итак, мы имеем готовый фильм и несколько аудиотреков, которые хочется приклеить к фильму. Запасаемся необходимым программным обеспечением:

1. Любимый аудио- и видеоплейер.
2. Любой звуковой редактор, имеющий простейшие функции - микширование, регуляция уровня громкости и т.д. (я пользуюсь GoldWave 5, shareware).
3. Семейство Дубовых NanDub (но лучше VirtualDubMod).

Также запасаемся терпением и местом на винчестере.

Самое неприятное, что нас может ожидать – это рассинхронизация звука.
Что это такое?
Это расхождение звука и видео по времени, когда звук может отставать (чаще всего), либо забегать вперед. Рассинхронизация бывает постоянная (т.е. звук отстает/спешит на пару секунд в течении всего фильма) или прогрессирующая (когда временной разрыв звука и видео постоянно увеличивается). Постоянная рассинхронизация часто встречается при попытке выдрать звук из одного фильма и вставить его в другой; прогрессирующую рассинхронизацию можно часто встретить в переводах от Glanz. Бороться с этим достаточно легко, все описано в соответствующих статьях. Но, гораздо легче избежать этого в процессе работы, чтобы не корректировать уже готовое видео.

Для начала проверяем, совпадают ли звуковые потоки в нашем фильме и в переводе. Простейший способ: открываем любым видеоплейером наш фильм, убавляем громкость примерно на треть и ставим на паузу. Открываем любым аудиоплейером присоединяемый аудиотрек и также ставим на паузу. Смотрим, совпадают ли треки по времени звучания, выписываем время на отдельный листочек – пригодится. Затем быстро нажимаем на кнопки воспроизведения в обоих плейерах и смотрим, совпадает ли звучание в оригинале и накладываемом треке. Если обнаружилась рассинхронизация – определяем ее тип: постоянная или прогрессирующая?


Рассинхронизация постоянная, что делать?

Ничего страшного, засекаем в плейере на сколько секунд отстает/спешит звук и открываем накладываемую аудиодорожку в звуковом редакторе. Здесь я покажу все на примере GoldWave, но можно воспользоваться любым другим редактором – принцип работы одинаков. Итак, запускаем редактор и кромсаем перевод.

user posted image

Идея проста: если звук отстает на пару секунд, то отрезаем в начале аудиодорожки эти недостающие пару секунд (режем только тишину!), если же звук спешит – дописываем в начало пару секунд тишины. Главное следить, чтобы время звучания кромсаемой аудиодорожки совпадало с оригинальным фильмом. Если в процессе правки мы подогнали звук, но время при этом сократили/увеличили – идем в конец трека и дописываем/отрезаем лишние секунды.

Если накладываемый перевод был выдран из другого фильма, то часто встречается несовпадение в начале фильма: в одном варианте фильм может быть записан с логотипом кинокомпании, а в другом без. Не беда, стандартный логотип длится 15-20 секунд, засекаем точнее и правим аудиодорожку. В GoldWave правка проста: кликом правой кнопкой мыши отмечаем начальную позицию, затем вторым кликом конечную. На этом этапе можно ограничиться командами Cut, Copy, Paste; для упрощения навигации можно воспользоваться кнопками масштабирования (Sel – увеличивает выбранный участок, All – показывает всю дорожку).

user posted image

После правки сохраняем результат в MP3 с любым желаемым битрейтом. К сожалению, GoldWave не всегда корректно пишет MP3-файлы такого объема, поэтому в нем сохраняем WAV 16 бит стерео, а потом любым способом конвертируем в MP3. Следует однако помнить, что слишком высокий битрейт может сильно отразиться на размере конечного видеофайла. Так что, если мы собираемся накладывать три и даже более аудиотрека, то особо высоким битрейтом лучше не увлекаться. Рассчитываем на то, что двухчасовая MP3 48 kHz 96 Kbit дорожка занимает 50-70 МБ, следовательно, на столько же увеличится размер конечного видеофайла.



Рассинхронизация прогрессирующая, как быть?

Тут сложнее, т.е. придется править весь накладываемый аудиотрек, а это может занять много времени. Для начала, семейством Дубовых вынимаем из нашего фильма оригинальную звуковую дорожку. В VirtualDub и NanDub это делается так: File->Open video file... (открываем наш фильм), затем File->Save WAV... Несмотря на то, что Дубы пишут WAV, дорожка сохраняется в MP3. В VirtualDubMod: File->Open video file..., затем Streams->Stream list->Save WAV. Открываем обе аудиодорожки (оригинальный и накладываемый треки) в звуковом редакторе и начинаем правку (только накладываемого трека, оригинал не трогаем!).

Если к точности накладываемого перевода не особо придираться (такое можно заметить в переводах одним голосом – голос переводчика зачастую не совпадает с голосом актера, обычно немного запаздывает), то достаточно править аудиодорожку каждые 10-15 минут фильма, просто подгонять под голос оригинального трека, для чего периодически нажимать кнопку воспроизведения и сверяться.

user posted image

Если же постараться добиться полного совпадения перевода с артикуляцией губ актеров, то придется попотеть: правка двухчасового фильма занимает в среднем 2-3 часа. Могу добавить, что с каждым новым фильмом этот процесс ускоряется :) Правим точно так же, как и при постоянной рассинхронизации, только всю дорожку: вырезать/вставлять тишину нужно между речью переводчика. Сверяем время звучания с оригиналом и сохраняем результат.

Если перевод был скачан от Glanz или Goblin, то нам понадобится смикшировать его с оригиналом. Для начала проверьте уровень громкости оригинала и перевода. Звучание оригинального трека должно быть четким, хорошо слышимым и, в то же время, не забивать перевод. Если оригинал забивает перевод – уменьшаем оригиналу громкость. В GoldWave для этого выделяем всю оригинальную дорожку и кликаем на кнопку Change volume:

user posted image

В открывшемся окне уменьшаем громкость либо на 6, либо на 12 dB (зависит от конкретного фильма, лучше поэкспериментировать):

user posted image

Затем, выделяем весь вставляемый трек, жмем кнопку Copy, кликаем на заголовок оригинального трека и жмем Mix. Выставляем позицию для микширования на 00:00:00.00000 и кликаем ОК:

user posted image

Получаем микшированную аудиодорожку и сохраняем ее в MP3 (в GoldWave в WAV 16 bit stereo, затем любой программой в MP3).


Клеим треки

Итак мы собрали весь необходимый материал: наш фильм с оригинальной звуковой дорожкой и перевод(ы). Теперь нам нужно собрать все это в единый файл.

Если дополнительный трек всего один, достаточно воспользоваться NanDub. Открываем наш фильм File->Open video file..., идем в Audio->Secondary stream и в (VBR) MP3 audio... выбираем наш перевод:

user posted image

Следим, чтобы в Audio, Audio->Secondary stream и Video стояло Direct stream copy, затем идем в File->Save as AVI... даем имя конечному файлу и ждем пару минут, пока не получим готовый фильм с двумя звуковыми дорожками.

Если необходимо присоединить более двух дорожек, нам поможет VirtualDubMod. Им же, в случае чего, можно отрезать лишние аудиодорожки. Открываем наш фильм File->Open video file..., идем в Streams->Stream list. Теперь, кнопкой Add мы можем добавлять любое количество аудиодорожек (я пробовал до восьми), кнопками Move up/down выставляем порядок, в котором будут идти дорожки, кнопкой Disable убираем лишние дорожки:

user posted image

Не забываем выставить в Video Direct Stream Copy и записываем наш полностью собранный фильм в File->Save as...

Готово! Теперь любимый фильм можно смотреть на любом языке :)

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