Показать полную графическую версию : Синхронизация звука и видео
Блин, помогите! Конвертнул DVD в MPEG-4. Исходник был NTSC, поэтому я изменил частоту кадров до 23.976. Кодировал FlasKMPEG'ом. Звук закодировал Лэймом, 320 кбит/с. В общем, что ни пробовал - и изменение частоты кадров, и разные задержки аудио - ни фига не помогает. Максимум, чего я добился - того, что звук или сначала до середины нормально совпадает, или с середины до конца. Помогите, а...
SilentSpider
17-11-2004, 12:30
Для начала - как и на каком этапе была изменена частота кадров? Далее - необязательный комментарий - если звук столь важен, то лучше его оставить неизменным в AC3, чем кодировать в mp3 - на столь высоких битрейтах разница в объеме будет невелика, а лишние перекодировки только снижают качество. Для подавляющего большинства фильмов достаточно 128 или даже 96, если это не музыкальный фильм.
По всему похоже, что частота кадров некорректно изменена. В общем - больше подробностей про этап рипа и до начала кодирования видео. Как снималось с диска, как обрабатывалось, что делалось с видео. Я не в курсе работы с Flask, но общие принципы сохраняются, так что поможем
Уже все получилось - поставил задержку аудио в 540 мс. А так, частоту я менял FlaskMPEG'om, в настройках кодирования (исходник был 29,97). Звук действительно важен, т.к. это концерт, но по определённым соображениям я решил сделать мр3. Хотя, теперь это уже и неважно :)
Зарипал я как-то с помощью SmartRipperа дивиди диск. У етой проги есть особенность: она в имени выходного аудио файла указывает появившуюся рассинхронизацию в мс. Так вот у меня как раз и возникла такая рассинхронизация. А теперь вопрос - как от нее избавиться???
OSAMA
Загружаешь в Virtual Dub Mod получившийся файл, тыкаешь Video\Direct Stream Copy, затем Streams\Stream List и щелкаешь ПКМ на строке с звуковым потоком. В контекстном меню выбираешь Interleaving. В окошко Delay audio track by вводишь значение задержки. Положительное число если трек спешит и отрицательное, если опаздывает.
Сохраняешь файл - F7 и слушаешь результат.
Если число задержки неизвестно, подбираешь вручную, с некоторым шагом (несколько сотен ms).
При рипаньи итоговых получается два файла: один видео, другой аудио (т.е. звук отдельно, видео отдельно). Я так понимаю, в дубмоде надо открыть видео файл, затем добавить аудио, поставить значение рассинхронизации и сохранить все в один файл??? С каким расширением сохранять??? Если файл будет занимать более 2-х гиг, то его нельзя сохранить в одним файлом - на 2-х гигах процесс сохранения оборвется - что с етим делать??? Если у меня стоит значение рассинхронизации в -68 мс, то мне также и прописывать в окошке Delay audio track by значение -68???
и сохранить все в один файл???
Да, все правильно.
С каким расширением сохранять???
Ну-у, батенька, вы же решаете каким будет ваше видео.
Если звук в формате Vorbis, то в MKV, если все MP3 или AC3 - в AVI (можно и в MKV, но AVI более привычен).
Если файл будет занимать более 2-х гиг, то его нельзя сохранить в одним файлом - на 2-х гигах процесс сохранения оборвется - что с етим делать???
Либо ставить NTFS, либо резать файл на куски.
то мне также и прописывать в окошке Delay audio track by значение -68???
Да, так и пишешь, и минус не забудь.
Цитата:
С каким расширением сохранять???
Ну-у, батенька, вы же решаете каким будет ваше видео.
Если звук в формате Vorbis, то в MKV, если все MP3 или AC3 - в AVI (можно и в MKV, но AVI более привычен).
Цитата:
Если файл будет занимать более 2-х гиг, то его нельзя сохранить в одним файлом - на 2-х гигах процесс сохранения оборвется - что с етим делать???
Либо ставить NTFS, либо резать файл на куски.
Тут такое дело: если просто убрать рассинхронизацию, то нуно сливать в один .m2v (или как там его) и резать, резать, резать... А можно одновременно убирать рассинхронизицию и кодировать через дивХ/Хвид/vp62. Причем вместе с видео должен кодироваться и звук (Vorbis, МР3 и т.д.). Тогда можно бы было и в матрешку и в авишку и еще куда-нить слить. Возможно ли сделать все и сразу???
Alexey99
22-01-2005, 22:00
Рипую DVD и кодирую в VP6+AAC в матрешку. Первый раз столкнулся с проблемой рассинхронизации звука.
Делаю рип с помощью SmartRipper - имею файл с фильмом MPEG2 (звук AC3). Кодирую в VP62 с помощью VirualDub. AC3 дорожку перегоняю в WAV с помощью PX3's AC3 to WAV. Получаю рассинхронизацию звука примерно в 12 секунд.
MPEG2 файл проигрывается без рассинхронизации. В чем проблема? Как избавиться от рассинхронизации?
а зачем звук в Wav? попробуй софт созданный специально для кодирования звука к фильму, прога ВеSweet и графическая оболочка для неё BeLight, с их помощью можно AC3 напрямую в AAC-HE кодировать.
Alexey99
23-01-2005, 10:25
Ок попробую, но рассинхронизация происходит еще до кодирования.
В VirtualDub кодирую отдельно видео без звука (сначала обрезаю рекламу в начале фильма и титры в конце фильма), затем выбираю Audio >> Source Audio и затем Save WAV. Записывается кусок звука в оригинальном AC3. Здесь и возникает рассинхронизация.
Т.е. если в Dub вставить кодированный файл и получившийся AC3 файл - уже будет рассинхронизация...
Mogilnik
24-01-2005, 15:19
Forced Film делал?
Alexey99
24-01-2005, 17:10
Forced Film делал?
Это что? Фильтр? В какой программе?
GreatWizard
25-01-2005, 23:24
Это для обработки интерлейного NTSC чтобы изображение стало ровнее (это на англ. на doom9.org есть). Это в программе DVD2AVI, ссылки на инструкции нет, а вот здесь в мега большой теме DVD-риппинг все есть..
DarkStorm
11-02-2005, 16:52
Вобщим, если в кратце, то борьба с рассинхронизацией звука и видео сводится к следущему: (вобще уже писалось где-то и неоднократно )) )
Загружается видео. Лучше всего в Дабмод поновее, но можно в НанДаб или даже в обычный виртуалдаб.
Далее либо работаем с оригинальным звуковым потоком, либо загружается внешний звуковой файл (он лежит отдельно). При этом в ДабМоде оргинальный звуковой поток выключается (disable) - "затушёвывается", а новый (или несколько новых ) добавляется. В НанДабе примерно тоже самое, но не более 2-х потоков и выбрать можно только из нескольких известных форматов, а вот в Даб необходимо будет загружать только wav-файл и включать затем его пережатие (например, в мр3). Поэтому именно ДабМод обладает наиболее широкими возможностями.
Далее смотрим насколько куда и как убегает звук.
Если звук просто сдвинут относительно видео, то на закладке Interleaving в свойствах звукового потока выставляется его искусственная задержка в окне Delay audio track by. Если значение не известно, то оно подбирается вручную (на слух). Значение задержки можно выставить с точностью до 1 милисекунды, если таковая требуется (я обычно останавливаюсь на точности в 50 мсек). Причём, само значение может бы как положительным, так и отрицательным - в зависимости от того опережает звук видео или отстаёт от него, соответственно.
Следущей проблемой после коррекции сдвига может быть проблема "убегания" звука по ходу просмотра фильма. Например, звук совпадает с видео в начале фильма, но отстаёт или опережает к концу (и чем дальше, тем больше). В этом случае необходимо менять frame rate видео (fps).
Сначала установить задержку звука (если она вообще нужна), так, чтобы в самом начале фильма звук и видео совпадали. Затем идём на закладку video->frame rate и выбираем Change so video and audio duration match (при этом в скобках указано значение frame rate, расчитываемое Дабом автоматически ). В 80% случаях борьба с рассинхронизацией на этом заканчивается )).
Если же проблема осталась, значит автоматически расчитанное значение frame rate было неверным, и frame rate тогда необходимо задавать самостоятельно. В окне Change to... frame per second необходимо выставить (подобрать вручную) значение, при котором исчезает рассинхронизация в конце фильма. Точность fps при этом выставляется до тысячных (например, 23.976 fps).
Ну вот вроде так. Добавления и уточнения приветствуются ))
Alexey99 Может стоит попробовать в обратном порядке: Сначала кодируем "с запасом" размера, потом сводим полный звук и фильм, потом открываем готовый файл и отрезаем лишнее? Шансов для рассинхронизации намного меньше. А вообще, выше уже все приемы подробно описали кроме последнего :) - открыть готовый фильм через экспорт в Adobe Audition и подгонять звук кусками "вручную" :)
Добавления и уточнения приветствуются ))
Я сначала выдираю звуковую дорожку в дубмоде, затем правлю ее в вегасе, а потом леплю обратно.
Так возможно ли в FlasKMPEG кодировать без проблем со звуком? Я вот заметил, то если звук конвертируется из 48000 в 44100 то получаем рассинхронизацию, а если в 32000 то звук еще и замедляется.
Кодировал в HeadAC3he с понижением частоты до 44 и 32 кГц и никогда не получал рассинхронизацию или замедление. Все проблемы от кривого софта.
Рекомендую подыскать альтернативу Flask'у.
аналогично кодировал звук в HeadAC3he или последнее время в BeLight и никаких проблем с синхронизацией, а задежка если есть то устраняется автоматически.
а вот недавно мне попался фильм где для русской дорожки задержка непрописана, сравнил продолжительность русской и английской, оказалось русская запаздывает на 9640 ms, выставил это значение в mkvtoolnix и всё ok.
© OSzone.net 2001-2012
vBulletin v3.6.4, Copyright ©2000-2024, Jelsoft Enterprises Ltd.