Итак, зачем это. Попал ко мне один очень редкий авишник, у которого 6 канальный русский дубляж сделан таким образом: на оригинальную 6 канальную английскую дорогу, на центральный канал записана дублированная дорога с VHS-Rip’а. К чему это привело? К тому, что во мнооогих местах оригинальная английская дорога с других каналов перекрывает русскую на центральном.
Чтобы привести такой авишнег (а вернее говоря, дорогу) к нормальному звучанию, логично удалить все дорожки, кроме центральной (русской). Как? Сначало нужно вытащить саму звуковую дорожку из фильма. Делается это так:
ffmpeg -i video_file.avi -acodec copy audio_file.ac3
Получаем ac3 файл немаленького веса :) который ничем не отредактить. :) Но слушать можно. Понятно, я думаю, почему. За разъяснениями к ежу. Итак, этот файл надо сконвертить в редактируемый 6-канальный формат. Конвертить будем в WavEX (Extensible Wave). При конверте в него дорожки наши сохранятся. Чем? Есть утилита! Называется она a52dec. Но есть одно но. 0.7.4-x (которые как раз в портеджах) версии не умеют выводить в wav6. Поэтому тянем отсюдова http://liba52.sourceforge.net/files/a52dec-snapshot.tar.gz. Это цвс версия (0.7.5-CVS). Она умеет -o wav6.
В инсталл инструкции написано как ставить, так что, читаем-с. Как распаковывать архив, можно узнать у ежа. Ему это понятно.
Поставили, гут. Теперь значится так: если просто ею декодить ац3 в вав6, то из 400 метров получится 4+ гига. :) Поэтому, сразу конвертнём (налету) в 6-канальный ogg, который тоже редактируемымумомый.
a52dec audio_file.ac3 -o wav6 | oggenc - -C 6 -q 9 -R 48000 -o audio_file.ogg
Вместо 4+ гигового вава получили 700 меговый огг. :) Одно но, дорожки при конверте в огг перемешались (вроде бы это из-за того, что дорогу изначально делали, кто бы сомневался, под вендой). На это, при такой постановке вопроса, нам по барабану. :) Открываем файлег в Audacity, удалям не нужные дороги, создаём новую стерео дорогу, копипастим в неё оставшуюся нашу русскую дорогу, экспортим в мп3. Ну или смотрите сами уже куда.
Теперь создаём новый авишнег с ещё одной, полученной, звуковой дорогой.
ffmpeg -i video_file.avi -i audio_file.mp3 -vcodec copy -acodec copy result.avi -newaudio
Или же выкидываем нафег старую:
ffmpeg -i video_file.avi -vcodec copy -an video_file_withoutsound.avi
ffmpeg -i video_file_withoutsound.avi -i audio_file.mp3 -vcodec copy -acodec copy result.avi
Cheers.