Монтирую фильм, снятый 3 разными устройствами с разной частотой кадров: 29.9, 25 и 15. Весть проект настроен на 29.9fps.
Существуют ли программы, позволяющие изменить частоту кадров видео без потери качества?
Всё, что я нашёл или тупо повторяет кадры (XviD4PSP) или же усредняет 2 соседних кадра, как Sony Vegas (smart resampling), что приводит к смазыванию картинки.
Я был уверен, что resampling - это увеличение числа пикселей в кадре. Resampling используется при обработке фотографий, чтобы они соответствовали параметрам печати.
Ну, ресэмплинг - это понятие широкое. В общем случае это изменение шага выборки при оцифровке аналогового сигнала (во времени или в пространстве). В даннм случае я имею в виду именно частоту кадров.
Монтирую фильм, снятый 3 разными устройствами с разной частотой кадров: 29.9, 25 и 15.
А не лучше бы было привести эти кадры к частоте 25 кадров в секунду, как к среднему значению для всех трёх величин? Всё-таки, делать из частоты 15 кадров частоту почти в 30 кадров - это почти двукратное увеличение и естественно это может максимально сказаться на качестве картинки.
Да, фильм уже почти смонтирован. Изменение всего проекта на 25fps не желательно.
Кстати, если проект на 30fps, то для фрагментов с 25fps добавляется 1 кадр после каджого 5-го. Это не так сильно заметно (есть дёргание, но терпимо). А вот если проект на 25 кадров, то для фрагментов с 30 каров удаляется каждый 6-й. А это гораздо заметнее!
А пересчёт 15 на 30 кадров - это проще. Добавляется каждый второй кадр. Хуже, чем есть, уже не будет.
Но при всех этих манипуляциях дёргание всё равно есть Вот я и ищу, чем бы корректно изменить частоту кадров.
Если в Вегасе включить для фрагмента Smart resample, то добавляемые кадры будут смазанными (усреднение двух соседних). Это заметно на сильно динамичных сценах. Если движдения мало, то более-менее прилично.
horse, А если весь материал привести к одной частотк кадров в конвертере, например, в Canopus ProCoder, а потом подставитть его в смонтированный проект?
Пробовать надо конвертеры. С этими перекодировками частоты кадров из одной вы другую всегда то смаз, то двоение, то строб. Вот из этого и приходится выбирать.
horse, Попробуй воспользоваться функцией Frame rate в программе VirtualDub. Она как раз меняет частотут кадров у видео по выставленной вручную частоте.
Да, провбовал, только ничего не получилось Т.е. на выходе частота кадоров осталась той же. Модет VD только в целое число раз может частоту кадоров менять?
Я разобрался. VD ничего не перекодирует и на добавляет. Функция Fram Rate просто меняет скорость воспроизведения фильма. Т.е. если из 15 кадров сделать 30, фильм будет проигрываться в 2 раза быстрее.
Мне больше понравился Твикстор - меньше всего артефактов. Правда, я не понял, как им изменить именно частоту кадров. Он меняет СКОРОСТЬ, т.е. есть надо замедлить видео, он добавляет промежуточные кадры. Мне пришлось замедлить мой клип в 2 раза, а потом через VirualDub ускорить воспроизведение в 2 раза (см. мой пост выше).
Посмотрел все варианты и меня ни один вариант по качеству не устроил - вокруг фигуры женщины у всех были артефакты. Более или менее прилично смотрится Txixtor, но он же не меняет частоту кадров, поэтому не очень понятен смысл его использования при этой задаче приведения всех видеофрагментов к одной частоте кадра.
--------------------
Никогда не спорьте с дураком, люди могут не заметить между вами разницы.
Но я нашёл спосбо использовать Твикстор для этих целей без перекодировки самих клипов. Всё длается прямо в редакторе. В Вегасе делал так: 1. Проект настривается на 30 или 29.9 fps. 2. В свойствах отрезка (события, как это назвается в Вегасе), снятого с 15fps, ставим галочку No resample. При этом каждый кадр просто удваивается. 3. Обрабатываем событие Твикстором, ставим скорость 50%. Я ещё ставил motion weighted smooth. Событие стало в 2 раза длиннее. Но на таймлайне ничего трогать не надо. 4. В свойствах события ставим скорость воспроизведения 2,00. Его длительность стала в точности, как была до обработки. Но вместо повторения кадров добавились промежуточные.
Я таким образом весь свой фильм уже откорректировал. Если не знаешь, что какой-то кусок снаят с 15 fps, то при просмотре и не заметишь! Иногда бывают глюки на возвратно-поступательных вдижениях, но это мелочь по сравнению с СУЩЕСТВЕННЫМ улучшением восприятия.
Да, особенно не заметно. Есть, конечно размытие в некоторых местах, но это гораздо лучше, чем дёргание при 15 кадрах.
Кстати, если менять скорость в целое число раз, как я делал, то искажений получается мало. Т.е. сначала добавляются лишние кадры к исходным, а потом удаляются лишние тоже при сохранении исходных кадров.
Интересный способ с использованием Twixtor, но уж больно трудоёмкий и растянутый по времени. Всё-таки, на мой взгляд, такие вещи, как частота кадров, быстрее и лучше менять через конвертеры.
horse, А какие пробовал? Вот, эти неплохие конвывертеры - Canopus ProCoder, CCE (CinemaCraft Encoder), TMPGEnc Encoder Plus и Movavi могли бы справиться с перекодированием видео.
--------------------
"Совесть велит мне снимать коммерческие фильмы" - Алфред Хичкок.
Обычно при изменении параметров на вывод относительно исходника перекодировка материала идёт в любом случае, даже если расширение формата не меняется. Думаю, что этот принцип реализован во всех конверторах, которые тут перечислили.
Вот, эти неплохие конвывертеры - Canopus ProCoder, CCE (CinemaCraft Encoder), TMPGEnc Encoder Plus и Movavi могли бы справиться с перекодированием видео.
Нет, такие не пробовал. Все, что пробовал, перечислены выше. Как-нибудь попробую и эти. Если не сложно, кинь ссылочку.
А то, что лучше сначала перекодировать весь материал, а потом уже монтировать, это ещё вопрос.
Я же в редакторе перекодирую только те куски, которые мне надо (обычно остаётся не более четверти от исходного). И этот процесс занимает довольно много времени. Если сразу перекодировать всё, это займёт ещё больше.
horse, Если в работе к видео применяются разные фильтры, то всё же лучше сначала привести в соответствие формат материала, а потом монтировать. Если перекодирование происходит непосредственно с таймлайн с применением разных фильтров, то они могут влиять на качество кодировки.
Для корректной работы видеоредактора принципиально важно, чтобы импортируемый видеоматериал соответствовал избранному формату проекта в целом. Поэтому все вопросы с форматом материала лучше решать до импорта в монтажку.
Да, безусловно, лучше иметь исходники в соответствии с форматом проекта. Но чем этого добиться???
Попробовал Canopus Pro coder3. Нифига он кадры не пересчитывает - тупо дублирует предыдущий Да ещё конец клипа проглотил. Вот, что получилось http://youtu.be/15fL20imbe0
Хочу попробовать TMPGEnc Encoder Plus. Подскажите, плз, где можно скачать?
Странно, что ProCoder конец клипа проглотил. Это говорит о том, что с настройками кодирования было явно что-то не то. Но вместе с тем, мне показалось, что вокруг головы идущей женщины не было артефактов, как в других роликах.
Валерий, так артефактов Канопус и не добавил - он же ничего не пересчитывал, просто дублировал кадры. Если приглядишься, там каждый второй кадр повторяется. И толку-то от этого конвертора тогда?!
Aleksandr, я ничего в настройках не выставлял, только частоту кадров на выходе. Собственно, я не нашёл там каких-либо ещё настроек, кроме фильтров. Подскажи, где их искать?
Да, кстати, оба конвертера не смогли открыть файл в MJPEG , пришлось перекодировать исходник через VD.
Спасибо, Well, но лучше не стало. По-прежнему каждый второй кадр дублируется. 2 прохода - это установка кодека, а не собственно материала. Кодек жмёт то, что ему передают. А в исходном материале всего 15 кадров.
Если конвертеры при перекодировании материала с более высокой частотой кадров просто повторяют каждый второй кадр, то, значит, другого решения этой задачи и нет. Видимо, так и должно быть.
Кстати, было бы интересно посмотреть, если материал 25 к/с перекодировать в материл 29,97 к/c, то как там будет решена эта задача, ведь, просто повторить каждый второй кадр уже не получится.
Перекодировать 25 к/с в 29,97 к/c - это же ничто иное, как преобразование PAL в NTSC. В ЭТОЙ статье довольно подробно расписан процесс с указанием программных средств для решения этой задачи.
Последовал совету этой статьи. Интересный результат: Если менять частоту кадров с 25 на 29.97 для интерлэйсного клипа, то движение получается более-менее гладким. А вот если потом провести деинтерлэйсинг, то всё, как обычно - каждый 5-й кадр повторяется, опять движение рывками. Как я понял, причина в том, что конвертер просто повторяет некоторые поля (т.е. нарушается порядок полей "верхнее-нижнее-верхнее-нижнее..."). При черезстрочной развёртке это незаметно. А вот при деинтерлэйсинге поля собираются в кадры, и для части кадров не хватает второго поля.
Так что простым повторением полей качественно увеличить частоту кадров не получается
Нашёл способ перегнать клип из 25fps interlaced в 29.97fps progressive с очень приличным качеством. Использовал TMPGEnc 4.0 Xpress
Для клипа ставим фильтр Deinterlace Deinterlace mode: Deinterlace always (Double framerate) Deinterlace field: bottom field (или Top - у кого какой клип - короче. поле, которое идёт вторым) Deinterlace method: Interpolation - animation (можно и Interpolation - simple или Interpolation - adjusted, разницы я особой не обнаружил)
Далее при выводе ставим нужный кодек частоту кадров. В моём случает это 29.97fps (progressive).
Суть в том, что конвертер сначала производит деинтерлэйсинг и делает частоту кадров = частоте полей. А уж потом выкинуть лишние кадры, имея 50fps - не проблема.
Ну, не совсем обмануть. Все операции там честные и в правильном порядке. Главное - результат хороший. Всем рекомендую.
А вот с прогрессивным видео такой фокус не пройдёт Даже если его в интерлэйсное перегнать. Там просто нет кадров (полей) с частотой больше, чем в исходном потоке. Так что тут в помощь только Твикстор и пр...
А по моему, это всё какие-то "левые" решения, когда для кодирования видео из одного формата в другой используется плагин для изменения скорости воспроизведения видео. Я не в том плане говорю, что это плохо, а в том, что это не правильно. Странно, что нет нормальных программных средств для конвертирования файлов с разной частотой кадров в один формат.
Так это только Twixtor так используется. MSU_Rfame Rate Converter и MotionPerfect напрямую меняют частоту кадров. Только результат так себе А лучше я ничего найти не смог.