Проблема растягивания звука при конвертации видео PAL/NTSC и рассинхронизация
Написал: Алексей Волков в категорию Все, ТехническоеВ очередной раз посмотрев фильм с так сильно мешающими мне низкочастотными искажениями звука (тут или тут — на 1, 17 и 23 секундах русской дорожки есть, на английской — нет), хочу написать подробно, что я об этом думаю. Если в результате хотя бы один будущий «релизер» задумается перед тем как портить звуковую дорожку, и сделает «релиз» не испортив ее (звуковую дорожку), — значит я достигну своей цели.
Начну с видео-части, потом перейду к проблеме звука.
Источник всей проблемы в том, что в разных странах по умолчанию приняты разные стандарты видео. В Европе это PAL (25 fps), в США — NTSC (23,976fps). Почему так — отдельная тема, но это так. Различия на самом деле не только в fps, но основная проблема для нас сейчас — именно fps. В результате, перед людьми, которые готовят DVD-диски, появляется проблема: в Европу по всем правилам нужно отправить диск в PAL, а в США — NTSC. Разница между 25 и 23,976 всего-то 4%. На глаз это будет не так заметно, если взрыв (или любой другой спецэффект) будет длиться не 0.5, а 0.45 секунд, никто не заметит. И по разным причинам (одним просто лень перекодировать, вторые считают это недопустимым) меняется fps в заголовке видео-файла. Элементарно! Заменили один байт, и у нас готов «релиз» для NTSC и PAL. Тот факт, что длительность 2-х часового фильма увеличивается на 5 минут, обычно никого не расстраивает: самое главное для них то, что качество картинки при этом сохранилось и все кадры переданы 1-в-1. Само собой, лицензионные диски так не готовят: у них длительность что в NTSC, что в PAL, — одинаковы. Поэтому все это относится только к самостоятельным переработкам видео.
По видео закончили. Теперь звук. Если использовать звуковую дорожку от PAL версии фильма, то появится прогрессирующая рассинхронизация. Другими словами, если видео теперь длится не 2:00:00, а 1:55:00, то под конец фильма наше видео отстанет от звука на 5 секунд, т.к. преобразования видео, связанные с (видео)кадрами-в-секунду, для звука абсолютно по барабану, т.к. для цифрового звука основа всех основ — частота дискретизации. Так вот если в видео мы меняем 25 на 23.976, то для звука нужно поменять 48кГц на 46кГц, что нереально, ни один DVD-плеер не воспроизведет такой звук, да и слух у человека более чувствителен: изменения на пол-тона вполне можно услышать.
И что же делают многоуважаемые «релизеры»? Правильно, растягивают звук, применяя алгоритмы, которые не изменяют тон. Но, если вы когда-нибудь делали эту операцию (Time-Stretch, и тому подобное), вы, наверняка, видели, что есть несколько алгоритмов пересчета. Одни подходят для басов, вторые для высокочастотных сигналов. Т.е., универсального алгоритма, которые не добавляет никаких искажений, — нет. А если и есть, то встречается крайне редко. Само собой, применяется алгоритм, который хорошо справляется со средне-высокочастотным диапазоном, где расположен звук голоса. Но! Звук пианино и бас-гитары при этом нещадно портится. Еще раз приведу ссылку для прослушивания: тут или тут (на 1, 17 и 23 секундах, сравните русскую и английскую дорожки, слушайте басы, слушайте лучше в хороших наушниках, а не в динамиках ноутбука, которые в принципе не играют басы).
И, казалось бы, к чему это я все пишу? Я могу ошибиться в каких-то технических деталях выше, но самое главное, что я там изложил суть проблемы. И, если честно, мне не хочется вступать ни с кем в дебаты по поводу того, должен ли различаться видео-фильм по продолжительности в NTSC и PAL, т.к. по этому поводу и так много копий переломано (1, 2). Я лишь хочу предложить простейший способ для «релизеров» подготовить свой «релиз» без искажения звука, и сохранить качество видео-дорожки.
Мое предложение основано на том, что если при преобразовании NTSC/PAL изменилась длительность фильма, то для конвертации был изменен fps, и не было никаких преобразований типа telecine/pulldown. А раз так, то не нужно изменять звук! Не нужно, слышите?! Измените в видео fps на оригинальное значение! Какая вам разница, будет ваш фильм.avi 24 или 25 кадров-в-секунду? Вы ведь будете смотреть его на своем компьютере, или DVD-плеере, который умеет показывать и то и другое. Сделайте его таким, какой нужно для звуковой дорожки, примените свою формулу не к звуку, а к видео, чтобы посчитать нужный fps, который все равно окажется одним из стандартных значений (23,976, 25, 30 и т.д.).
Я не призываю никого из «релизеров» садиться и перекодировать видео, нет. Это очень долго, я знаю. Но и звук не нужно перекодировать, хотя это дело на пару минут (именно поэтому никто не боится этого делать!). Просто поменяйте fps в своем «неправильном» видео, ведь это дело на пару секунд. Это не испортит видео, т.к. последовательность кадров останется прежней, последовательность видео-потока будет совпадать байт-в-байт, и, в дополнение, это позволит уберечь правильную звуковую дорожку. Да и времени это порядочно сэкономит, за 2 минуты вполне можно выпить чаю.
PS. Как изменить FPS без пересжатия видео популярно написано, например, вот здесь (читать до пункта «Сохраняем изменения FPS. Для этого, предварительно убедитесь, что для видео и аудио потоков, в соответствующих меню, выбран пункт “Direct stream copy”. Т.е. потоки будут копироваться без обработки») или вот здесь.
Tags: видео, интернет, кино, тз, фильмы
Записи (RSS)