Форум: ТЕХНИЧЕСКАЯ ЧАСТЬ Тема: Рассинхронизация звук/видео автор: Bea$t сообщение оставил Bea$t , 01 марта 2008, 10:48
В общем, скачал я фильм и хочу приклеить к нему звуковую дорожку с другим переводом (от этого же фильма, конечно). Клею через VDMod. Звук новой дорожки расходится с видео сначала немного, а к концу уже весьма прилично. Т.е. просто сдвинуть звук не поможет. Подскажите, может кто в курсе, как избежать этого рассинхрона? Может дорожку сохранять с какими-то особыми настройками надо?В инете нашел вот эту < СТАТЕЙКУ >, но в ней рассказывается про рассинхрон после пережатия DVD в AVI, а у меня просто дорожка от другого файла. Реально ли решить проблему без подгона в ручную? сообщение оставил Ge$PeR , 01 марта 2008, 12:07
Всё крайне просто, ты клеишь дорожку от другого файла, как пример:Видео ДВД фильма и звуковая дорожка этого же фильма но с Аvi версии. Так как чаще всего ДВД версия это 25-30 кадров в секунду и аудио подогнано под этиже 25-30. То в АВИ- часто 23-25 кадров в сек. Следовательно аудио дорожка из АВИ чуть короче ДВД. Самый простой совет- синхронизируй дорожки по колличеству кадров в сек. и установи в VDb - синхронзацию аудио и видео по кадрам в сек сообщение оставил Bea$t , 02 марта 2008, 16:06
Fps у видео и звука одинаковые Так что не помогло... Может еще какие мысли есть? сообщение оставил Endymion , 02 марта 2008, 16:19
Bea$tЯ думаю новую дорожку надо подгонять на глаз. Вот можешь попробовать в ависинте что-то типа этого:
Нужно открывать такой скрипт в плеере и подгонять значение TimeStretch(tempo=100). Значения выставляются в процентах. Если аудио спешит, то значение надо уменьшить. Если опаздывает, то увеличить. По умолчанию 100%. Когда найдешь нужное значение tempo - перекодируй звук через такой скрипт
UPD: Можно и с ФПСпоиграться... Но если фпс нормальный (кстати какой он у тебя?), то лучше так и оставить. сообщение оставил Bea$t , 03 марта 2008, 16:50
Endymion, спасибо, попробую ФПС 29.970. сообщение оставил Armed , 16 марта 2008, 18:04
Закодил я клип с фреймрейтом 59,94 при помощи Megui, как было написано по инструкции (что на сайте). При воспроизведении наблюдается притормаживание, т.е. Со Временем происходит рассинхронизация видео и звука, если матнуть на середину, то синхра снова появится, а потом через какое-то время исчезнет. Кодил с разным разрешением (880x480 и 440X240) - таже самая фигня;).Может пригодится, еслив че: Видео декодер у меня CoreAVC H.264 Video Decoder v.1.5.0.0. В инфе о файле (В VDM) в строке Decompressor указан ffdshow Video Codec. В свойствах ffdshow, У формата H.264/AVC Декодер указан libavcodec, в столбике где поддержка, написано: "H264, X264, VSSH (incomplete)..." Кто не понял: видео и звук по времени у меня совпадают, а рассинхронизация происходит, на мой взгляд, вроде как при декодировании;) У ково нить есть предложения, как можно это исправить? UPD: Еслив взять тока кусок клипа (скажем 1 мин.) и закодить, то рассинхронизация, точнее отставания видео от музыки, будет происходить медленее. А еслив вообще взять кусок 10 сек. и его закодить, то все будет Ровно. UPD2: Да, и при проигрывании в разных плеерах - одно и тоже. Правда кроме супер "Crystal Player"-а - в нем рассинхронизации нет за счет того, что происходит выкидывание кадров (за минуту викинул 670). сообщение оставил Armed , 17 марта 2008, 12:19
Провел несколько тестов;1. В ffdshow отключил все декодеры кроме H.264/AVC - все тоже самое. 2. В ffdshow отключил сам H.264/AVC - ситуация изменилась, при воспроизведении в любом плеере (даже в MPC) вместо отставания видео от музона, стало происходить заметное (для меня) выкидываение кадров - как говорил ранее это можно проследить в "Crystal Player". Т.е. вместо встроенного в ffdshow декодера H.264/AVC, декодированием стал заниматься отдельно установленный: CoreAVC H.264 Video Decoder v.1.5.0.0. 3. Поставил СССР (у которго тоже есть встроенный H.264 Decoder) - ситуация напоминала туже, что и при встроеном H.264/AVC в ffdshow. --------------------------------------------- 4. Запустил клип на ноуте - в некоторых местах видео стало опережать музон, в других отставать. это получается так же за счет выкидывания кадров (просматривается в "Crystal Player"). В клипе переходы у меня происходят под каждый бит песни (поэтому рассинхронизация легко просматривается), т.е. сцены меняются через каждые 11 - 22 кадра. Ни скажу, что прям таки очень динамично смотрится, но переходы, понятное дело, происходят чаще чем при просмотре обычного фильма сжатого H264. Такойже клип сжатый этим кодеком и частатой 29,97 проигрываются нормально (без единого выкидывания кадров) Вывод: а может еще рановато использовать частоту 59,94 для клипов, поскольку там происходит частая смена сцен? P/S: Кто нить уже кодил клип с фреймрейтом более 30? сообщение оставил -Px- , 17 марта 2008, 15:58
Ещё бы, он ведь из ffdshow цельнотянутый сообщение оставил Esc , 17 марта 2008, 16:46
Кто откуда тянутый? Побойся Хурмы! СССР есть пак, включающий в себя ffdshow. сообщение оставил Armed , 17 марта 2008, 17:50
И этот пак "заменяет" ранне отдельно установленный Ffdshow (по моим наблюдениям) - декодер H.264/AVC у них по всей видимости одной версии. А вообще я слегка разочаровался в СССР, ибо после его удаления наблюдаются проблемы с установкой других кодеков, а точннее с отдельно устанавливаемым Ffdshow (во всяком случае у меня). Супер Esc, неужели даже у тебя нет никаких гениальных идей? Конечно можно сделать и переменный фреймрейт. Но вот та самая минута, которую я отдельно кодил и требует 59,94 (из за чего и возникла потребность в увеличении фпс) Попробую еще 50 фпс, но это будет "не правильно":( UPD: Мож кому и интересно, Endymion говорил насчет декодера H264.
P/S: По всей видимости за счет выкидывания кадров. (тока для моего клипа как то неподходит) У кого нить есть COREAVC H.264 VIDEO DECODER 2.0.0.0 - говорят вышла;) (в инете только 1.6.0.0) сообщение оставил -Px- , 17 марта 2008, 21:08
Есть ньюансы©
сообщение оставил Armed , 06 апреля 2008, 10:18
Короче, я протестил 2 разных клипа с разной динамикой на нескольких компах. Каждый клип (точнее я взял тока 1 минуту из каждого клипа) был закодирован с двумя фреймрейтами: 50 и 60 фпс. Результаты тестов выглядят в виде пропущеных кадров в Crystal Player (чем меньше, тем понятное, дело лучше).Компы: Celeron 2000, 256Mb Pentium 1700, 512Mb Pentium 2800, 1024Mb (мой) 1 клип (50фпс) (730) (600) (0) 1 клип (60фпс) (1150) (1150) (70) 2 клип (50фпс) (1100) (900) (0) 2 клип (60фпс) (1750) (1500) (140) P/S: Т.е. клипы с фреймрейтом 50 у меня нормально проигрываются (польностью). Чтобы не страдать фигней количество кадров было округлено. Да, и еще на результат конечно влияет динамика в взятой минуте;) Ноуты: Celeron M 1500, 256Mb Pentium M 1800, 512Mb Pentium M 1500, 512Mb (мой) 1 клип (50фпс) (40) (0) (10) 1 клип (60фпс) (110) (0) (20) 2 клип (50фпс) (50) (0) (10) 2 клип (60фпс) (140) (0) (30) P/S: Типа того. Если честно на ноутах результаты с каждым разом меняютя, на компах количество пропущеных кадров более постоянно;) Также протестил на Pentium D 3000, 1024Mb (вчера тока смог добраться, поэтому результаты так долго не выкладывал) - вобщем все норм (пропусков нету). P/S: Еслив у вас двухядерный проц и вы решили закодить клип с двое увеличенным фреймрейтом, то сначало подумайти как все это будет проигрываться у других людей;) С HD видео думаю все проще - на тормознутость больше влияет количестово быстро меняющихся сцен, а не разрешение;)
Думаю, для нас (пользователей) это только плюс;) сообщение оставил Lenchik , 06 апреля 2008, 15:21
По-моему, давно пора уже выложить эти куски с видео, если действительно нужен совет.
Потом задуматься сколько ядер собираетесь использовать. Потом о софте для многопоточного кодирования. Выучив английский, залезть на forum.doom9.org
битрейт влияет
ага, поймете что кодекпаки - зло и ставить всё подряд от всех "болезней" вредно. сообщение оставил Aggressor , 06 апреля 2008, 15:44
ArmedСпешу тебя обрадовать: твоя рассинхра- это проблема кристал плеера, а не видео. У него есть свой метод борьбы с недостатком вычислительных ресурсов- пропуск кадров. Кстати, фича настраиваемая. Я в свое время из-за этой ерунды перестал использовать этот плеер. сообщение оставил Lenchik , 06 апреля 2008, 16:54
Можно попробовать KMPlayer - у него вроде бы все кодеки в него самого встроены. Так можно исключить проблемы с установкой кодеков на каждой из тестируемых систем.
сообщение оставил Armed , 06 апреля 2008, 18:05
Ммм. ну незнаю мне надо подумать.
Да, под разрешением я имелл в виду и битрейт, как уже говорил:
при 880x480 - битрейт 2000 при 440X240 - битрейт 500 Но вот тормозит все это при 50 и 60 фпс практически одинаково. При 24 и 30 с разными битрейтами и разрешениями все норм. Aggressor Кстати кто говорил, что дубли требуют 3-5% дополнительного битрейта? На мой взгляд 30-50% - почему я так решил? Проверял, кодируя клип с фпс 30 и 60, разрешением 440x240 и битрейтом 500 - результат при 60 фпс заметно хуже чем при 30 (т.е. не на 3-5%, а на 30-50%) Хотя к примеру разница при 880x480 и битрейте 2000 не так сильно заметна (это потому, что при битрейте 1500 клип уже нормально смотрится, а дальнеейшее увеличение битрейта не столь заметно - думаю понятно о чем я;)
Спешу тебя огорчить: у кристал плеера рассинхры как раз нету - за счет выкидывания кадров. А вот в MPC (и в других плеерах) она появляется, потому, что нету такой супер фичи. Т.е. кристал плеер тут не причем.
Да, и раз люди придумали такой метод борьбы с недостатком вычислительных ресурсов, то почему ты думаеш, что у меня не может возникнуть такая ситуация? Комп то все таки не из мощных;) А вот эти же клипы закоденный с фреймрейтом 24, 30 фпс проигрываются как обычное хорошее видео;)
Не понял - почему перестал использовать? Намутил, чтото с настройками?
А про кодек паки говрят же, что это - зло. Да и проблем с установкой COREAVC H.264 VIDEO DECODER 1.5.0.0 у меня не возникает.
Да ладно, думаю последний пункт не обязателен к исполнению. сообщение оставил Aggressor , 06 апреля 2008, 18:58
Я допускаю, что такая фишка могла быть только у меня, но все-таки: попробуй, перемотай свое видео. У меня при перемотке в кристале появлялась рассинхра. А в МПК проблем как раз не было.
Ага, донастраивался )) А серьезно- пересел на ffdshow и директ-шоу плееры. Для слабых машин есть такой метод: отключаешь пропуск кадров в кристале, запускаешь видео, ждешь, пока заполнится фрейм-буфер (вроде буковкой L вызывалось это окошко) и тогда смотришь, секунд 30. Потом пауза- и снова ждешь заполнения буфера. У меня один знакомый анимешник так смотрит аниме на своем допотопном 500-мегагерцовом селероне )
Я говорил. Только именно дубли, и при условии кодирования хорошим кодеком (со включенной опцией b-frame, например). Хотя я мог и занизить цифру- я буквально только что понял, что мой метод тестирования был неправильным. Так что соглашусь и с 30%, но не с 50%. сообщение оставил suteh , 07 апреля 2008, 01:28
статейку посмотреть почему то уже нельзя, потому на глаз скидываю то что у меня есть, чем черт не шутит может быть поможет.Нам понадобится программа Adobe Audition 1.5 Открываем программу Adobe Audition 1.5, в мультитрековом режиме Вставляем видео файл: После того как вставили видеоклип, жмём правой кнопкой на аудио дорожку и выбираем «Свойства растяжения клипа по времени» и видим такую картину, здесь в процентном соотношении показана длина звуковой дорожки по отношению к видео файлу < > Вы видите пример прогрессирующей рассинхронизации < > которую я сам создал для наглядности за неимением, такого файла, но так даже лучше видно. Конечно, такая большая рассинхронизация на самом деле вряд ли возможна, но тем не менее. Вы видите, насколько звук выходит вперёд, т.е. длиннее видео. Процент 104,464 % создан мной (увеличен на 4,464%), поэтому программа отобразила это. Но при вводе фильма процент всегда 100%. Так вот к чему я это всё, значение разнобоя звука с видео, обычно измеряется вот этими тремя цифрами после запятой(464-хотя возможно и целое число). Меняя эти цифры, вручную ищем ту золотую середину, которой так нам не хватает, вставляем цифры, жмём «ОК» и прослушиваем, если результат радует вас всё больше, значит вы на правильном пути. После того как с рассинхронизацией звука удалось справиться, надо конечно всё это дело как - то увековечить. Жмём правой кнопкой на видео дорожку и выбираем Экспорт - видео, откроется вот такое окно < > Выбираем папку, куда будем сохранять фильм, и обязательно измените название фильма, чтоб не уделать оригинальный файл. *старая правда статья, но вдруг на мысли натолкнет на какие нибудь* сообщение оставил pon , 16 апреля 2008, 15:11
Вот ещё проблемка:есть видео в mkv - само видео х264, аудио аас (6ch) Как выяснилось у видео fps=23.976, а у аудио fps=46.875 :( Хотелось бы перегнать видео в другой кодек, а звук не трогать, но после перекодировки видео полусается рассинхронизация со звуком..., и даже перекодировка звука не помогает :( Чем бы это дело вылечить и желательно без лишних перекодировок ... ? сообщение оставил Endymion , 16 апреля 2008, 16:31
ponфпс аудио это не то о чем ты думаешь. дело скорее всего не в нем. покажи всю инфу о файле, которую выдает < mediainfo > (в режиме отображения html или text) сообщение оставил pon , 16 апреля 2008, 16:48
Endymionвот < тут > сообщение оставил Endymion , 16 апреля 2008, 16:52
ponЧто-то не похоже на то, что я просил. Я говорил про это (см. аттач): сообщение оставил pon , 16 апреля 2008, 17:06
Сорьки (обшибся) ...вот < тут > сообщение оставил Endymion , 16 апреля 2008, 17:14
ponОоть видишь, тут ФПС другой уже. Хоть и не видно минимального и максимального значения, но похоже на переменный. Попробуй значит открывать этот файл через ависинт вот так: DirectShowSource("имяфайла.mkv", fps=23.976, convertfps=true) или DirectShowSource("имяфайла.mkv", fps=119.880, convertfps=true) Tdecimate(mode=2, rate=23.976) Второй вариантработает если у тебя в папке плагинов лежит TIVTC. Честно не знаю какой вариантлучше, правильнее. Надо пробовать. сообщение оставил pon , 17 апреля 2008, 10:59
EndymionЧто то не помогает :( В начале серии - расхождение уже пропало, но в конце опять вылазиет :( (попробовал оба варианта) Пробанул тут ещё мимолётом обну прогу (я ей себе на плеер пакетно перегоняю видео) Total Video Converter - она всё перегнала замечательно (всмысле рассинхронизации нет, но перегоняет она только в один проход с фиксированным битрейдом :(, тобишь качество конечно не супер :( (вот думаю может каждую серию в лосслесс, а потом уже кодить дабом ... (но это уже накрайняк ... если больше вариантов не останется :( сообщение оставил pon , 23 апреля 2008, 11:11
EndymionЕщё раз спасибо за совет :) Выдернул себе руки из ..., подтачил как надо и поставил туда где они должны быть, попробовал ещё разок и всё получилось по первому способу :) И сразу ещё вопросик (дабы более правильно помимать происходящее) - получается я перегнал этим скриптом видео с переменным фпс в видео с принудительно заданной фпс ... могут ли от этой операции появиться локальные артевакты фпс (назовём это так), т.е. например небольшие рывки кадров? сообщение оставил Aggressor , 23 апреля 2008, 12:01
ponРывки могут, проверено. Поэтому используй второй способ, должно быть лучше. Либо в первом способе вместо 23.976 задай 29.97, например. сообщение оставил pon , 23 апреля 2008, 12:52
AggressorСпасибо! Теперь всё гут :) сообщение оставил Endymion , 23 апреля 2008, 14:46
Ну да рывки могут быть, но там где оригинальный фпс вылазит за значение, которое ты указал. Например опенинги/эндинги последнее время в 60фпс попадаются, так что по ним дерганье лучше не проверять, а остальная часть серии должна быть норм ну или до 29.97 поднять, да.Хотя я лично люблю целые фпс. 24, 25, 30... и делаю их если не прореживанием, так ускорением AssumeFPS(30) сообщение оставил AKUNAMATATA , 15 апреля 2014, 19:38
Помогите с проблемой. Уезжает видео назад(или аудио вперед) на 2 фрейма. Кодирую XviD'ом из Вегаса. Какая еще информация нужна? Неважно какой кусок видео и какой длительности - всегда рассинхрон 2 фрейма UPD Если вывожу анкомпресс, то таже рассинхронизация появляется при конвертировании. Только AMVSimple справляется. Просто раньше кодировал напрямую из вегаса. сообщение оставил NIGHT , 15 апреля 2014, 21:11
AKUNAMATATAПо описанию похоже на глюк. У меня был один раз похожий, перестановка кодеков/Avisynth/разные программы для кодирования не помгли -__- Из вегаса и надо выводить в несжатом виде. Причём и видео и аудио (если последнее в wav). AMVSimple кодирует несжатое видео в h264. Если у тебя постоянный сдвиг аудио (всегда одинаковый и не скачет), попробуй сдвинуть в вегасе аудиодорожку (или видеодорожку) аккурат на эти 2 фрейма, потом сохранить в несжатом виде и закодировать (или AMVSimple, или < Baka Encoder > ) Ещё можно вручную поставить сдвиг например с помощью mkvmerge GUI - плюс/минус 84 мс. сообщение оставил AKUNAMATATA , 15 апреля 2014, 22:23
Я пробовал сдвигать на 2 фрейма. И нормально кодируется XviD'ом) Просто раньше такого не было.Хорошо если одна, две аудио-дорожки - легко подвинуть. Тоже пробовал всякое переустанавливать. все кроме самого Вегаса |