del_line
11.12.2014, 02:28
Всем привет!
Скажите, что означает interleave every saconds (frame)? В настройках кодека AVI при рендеринге?
Дело в том, что видео просчитывал в несколько этапов и у меня сместился звук. При том, не могу понять в каком месте этот сдвиг начинается.
Грешу на этот параметр....
Сейчас стоит interleave every saconds со значением 0.250.
Если дело не в этом, то дайте какой-нибудь совет, в чем может быть дело.
Но вопрос с расшифровкой этого пункта все равно остается открытым...
да, если я не в той части форума отписался, то перенесите пожалуйста топик...
Проходчик
11.12.2014, 03:00
Этот параметр точно не влияет на сдвиг - дефолтное значение -нормальное. Если очень грубо - это как раз привязка аудио потока - к видео в контейнере - по дефолту - каждые 250мс - этого более чем достаточно. Если убегает звук - сверяй частоту кадров в исходнике-проекте-рендере, и частоту звука в тех же местах. Но, сначала попробуй посмотреть итоговое видео в другом плеере, или в самом Вегасе...
Видеофайл файловой системе пишется последовательно, но логически внутри него есть несколько независимых потоков - для рендеринга в Вегасе один видеопоток и один аудиопоток.
Чтобы проигрывателю не приходилось бегать по файлу туда-сюда слишком далеко, потоки записываются небольшими кусками (чанками) по очереди (это и есть interleave, перемежение потоков).
К слову, avi "расшифровывается" как audio video interleave :)
Настройка interleave every second (frame) через какое "время" чередовать видеопоток и аудиопоток в файле. При проигрывании файл читается в идеале последовательно, и складывается в буфферы проигрывателя для каждого потока отдельно. Чем меньше значение, тем меньшего размер буффер для неразобранных потоков может потребоваться проигрывателю, но тем больше накладных расходов на контейнер (каждый чанк имеет свой служебный заголовок, в типичной ситуации эта информация в avi-файле может достигать 10% объёма).
Эта настройка не имеет отношения к синхронизации потоков между собой - таймкод (или его avi-вариант) пишется уже где-то внутри потока.
Синхронизация звука и видео зависят от настроек fps проекта/файла, частоты дискретизации, настроек fps для звука. Например, если потоки разделить в муксере, видеопоток ускорить, а аудиопоток нет - будет постепенно нарастающий рассинхрон, нужно ускорять и звук. Например, эту операцию делают при переводе NTSC progressive в PAL progressive (24p в 25p) - ускоряют видео и аудио.
Возможно также наступить на грабли с рассинхроном в начале файла при использовании b-фреймов (где-то рядом живут зелёные экраны на первом кадре). Вегас не учитывает эти хаки в avi, и в результате могут получаться некорректные, то есть несинхронизированные потоки. На один файл ошибка в несколько фреймов, но при большом числе файлов она накапливается до заметных значений, на 250мс/500мс это уже хорошо заметно на глаз.
Если задача частная - вернуть всё "взад", то я бы загрузил всё получившееся на таймлайн, искал точки для синхронизации звука/видео и вручную бы подгонял видеофрагменты и звуковые фрагменты.
А в целом, промежуточные результаты выгонять в avi IMHO не стоит. Ну разве что в беспотерьные кодеки.