PDA

Показать полную графическую версию : Синхронизация звука и видео


Страниц : [1] 2 3

Ace
12-11-2004, 22:24
Блин, помогите! Конвертнул DVD в MPEG-4. Исходник был NTSC, поэтому я изменил частоту кадров до 23.976. Кодировал FlasKMPEG'ом. Звук закодировал Лэймом, 320 кбит/с. В общем, что ни пробовал - и изменение частоты кадров, и разные задержки аудио - ни фига не помогает. Максимум, чего я добился - того, что звук или сначала до середины нормально совпадает, или с середины до конца. Помогите, а...

SilentSpider
17-11-2004, 12:30
Для начала - как и на каком этапе была изменена частота кадров? Далее - необязательный комментарий - если звук столь важен, то лучше его оставить неизменным в AC3, чем кодировать в mp3 - на столь высоких битрейтах разница в объеме будет невелика, а лишние перекодировки только снижают качество. Для подавляющего большинства фильмов достаточно 128 или даже 96, если это не музыкальный фильм.
По всему похоже, что частота кадров некорректно изменена. В общем - больше подробностей про этап рипа и до начала кодирования видео. Как снималось с диска, как обрабатывалось, что делалось с видео. Я не в курсе работы с Flask, но общие принципы сохраняются, так что поможем

Ace
18-11-2004, 23:41
Уже все получилось - поставил задержку аудио в 540 мс. А так, частоту я менял FlaskMPEG'om, в настройках кодирования (исходник был 29,97). Звук действительно важен, т.к. это концерт, но по определённым соображениям я решил сделать мр3. Хотя, теперь это уже и неважно :)

OSAMA
02-01-2005, 06:28
Зарипал я как-то с помощью SmartRipperа дивиди диск. У етой проги есть особенность: она в имени выходного аудио файла указывает появившуюся рассинхронизацию в мс. Так вот у меня как раз и возникла такая рассинхронизация. А теперь вопрос - как от нее избавиться???

Kvazar
02-01-2005, 09:31
OSAMA
Загружаешь в Virtual Dub Mod получившийся файл, тыкаешь Video\Direct Stream Copy, затем Streams\Stream List и щелкаешь ПКМ на строке с звуковым потоком. В контекстном меню выбираешь Interleaving. В окошко Delay audio track by вводишь значение задержки. Положительное число если трек спешит и отрицательное, если опаздывает.
Сохраняешь файл - F7 и слушаешь результат.
Если число задержки неизвестно, подбираешь вручную, с некоторым шагом (несколько сотен ms).

OSAMA
03-01-2005, 03:31
При рипаньи итоговых получается два файла: один видео, другой аудио (т.е. звук отдельно, видео отдельно). Я так понимаю, в дубмоде надо открыть видео файл, затем добавить аудио, поставить значение рассинхронизации и сохранить все в один файл??? С каким расширением сохранять??? Если файл будет занимать более 2-х гиг, то его нельзя сохранить в одним файлом - на 2-х гигах процесс сохранения оборвется - что с етим делать??? Если у меня стоит значение рассинхронизации в -68 мс, то мне также и прописывать в окошке Delay audio track by значение -68???

Kvazar
03-01-2005, 10:02
и сохранить все в один файл???
Да, все правильно.
С каким расширением сохранять???
Ну-у, батенька, вы же решаете каким будет ваше видео.
Если звук в формате Vorbis, то в MKV, если все MP3 или AC3 - в AVI (можно и в MKV, но AVI более привычен).
Если файл будет занимать более 2-х гиг, то его нельзя сохранить в одним файлом - на 2-х гигах процесс сохранения оборвется - что с етим делать???
Либо ставить NTFS, либо резать файл на куски.
то мне также и прописывать в окошке Delay audio track by значение -68???
Да, так и пишешь, и минус не забудь.

OSAMA
06-01-2005, 03:31
Цитата:
С каким расширением сохранять???

Ну-у, батенька, вы же решаете каким будет ваше видео.
Если звук в формате 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 файл проигрывается без рассинхронизации. В чем проблема? Как избавиться от рассинхронизации?

Skaarj
23-01-2005, 00:44
а зачем звук в 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).

Ну вот вроде так. Добавления и уточнения приветствуются ))

aviLeX
11-02-2005, 17:49
Alexey99 Может стоит попробовать в обратном порядке: Сначала кодируем "с запасом" размера, потом сводим полный звук и фильм, потом открываем готовый файл и отрезаем лишнее? Шансов для рассинхронизации намного меньше. А вообще, выше уже все приемы подробно описали кроме последнего :) - открыть готовый фильм через экспорт в Adobe Audition и подгонять звук кусками "вручную" :)

OSAMA
13-02-2005, 18:36
Добавления и уточнения приветствуются ))
Я сначала выдираю звуковую дорожку в дубмоде, затем правлю ее в вегасе, а потом леплю обратно.

dascon
16-02-2005, 11:39
Так возможно ли в FlasKMPEG кодировать без проблем со звуком? Я вот заметил, то если звук конвертируется из 48000 в 44100 то получаем рассинхронизацию, а если в 32000 то звук еще и замедляется.

Kvazar
16-02-2005, 15:18
Кодировал в HeadAC3he с понижением частоты до 44 и 32 кГц и никогда не получал рассинхронизацию или замедление. Все проблемы от кривого софта.
Рекомендую подыскать альтернативу Flask'у.

Skaarj
16-02-2005, 17:07
аналогично кодировал звук в HeadAC3he или последнее время в BeLight и никаких проблем с синхронизацией, а задежка если есть то устраняется автоматически.

а вот недавно мне попался фильм где для русской дорожки задержка непрописана, сравнил продолжительность русской и английской, оказалось русская запаздывает на 9640 ms, выставил это значение в mkvtoolnix и всё ok.




© OSzone.net 2001-2012