|
SolarVortex
Стаж: 15 лет 9 месяцев Сообщений: 100
|
SolarVortex ·
04-Апр-11 17:57
(14 лет 5 месяцев назад, ред. 04-Апр-11 17:57)
Наконец появилась программа!
начинала она как "уплавнитель видео", теперь используя её настройки и внедряя их в видеоредакторы (virtualdub например), можно дорисовать кучу промежуточных кадров, а затем в Вашей видеомонтажке вывести проект с требуемой частотой. Ведь выкинуть ненужные кадры проще чем их дорисовать 
Всем спасибо, кто так отзывчиво поддерживал тему (решение поставленной задачи) и вывел кучу ценных предложений.
|
|
GarfieldX
  Стаж: 20 лет 7 месяцев Сообщений: 4017
|
GarfieldX ·
05-Апр-11 01:11
(спустя 7 часов)
Цитата:
можно дорисовать кучу промежуточных кадров, а затем в Вашей видеомонтажке вывести проект с требуемой частотой. Ведь выкинуть ненужные кадры проще чем их дорисовать
Хочешь сгенерировать тучу кадров, а потом выбрать те, которые соответствуют временным меткам для равномерного расположения при требуемой частоте кадров?
|
|
SolarVortex
Стаж: 15 лет 9 месяцев Сообщений: 100
|
SolarVortex ·
05-Апр-11 03:23
(спустя 2 часа 12 мин., ред. 05-Апр-11 03:23)
Скорее да, чем нет. В теории - всё должно получиться, но как всегда - нужно проверять.
Ведь по идее, монтажки так и делают, когда вставляешь видеофрагмент в проект с меньшим FPS. Это с бОльшим не получалось - в том и была задача: нужно было дорисовывать. И монтажка это делала, но делала не просчитывая все кадры, а раз в секунду (т.е. тупо дублировала последние кадр-два). Получалось двоение/торможение/подёргивание.
Другими словами ни одна монтажка не утруждает себя математикой при увеличении FPS.
|
|
Pustovetov
 Стаж: 17 лет 10 месяцев Сообщений: 4247
|
Pustovetov ·
05-Апр-11 06:32
(спустя 3 часа)
|
|
SolarVortex
Стаж: 15 лет 9 месяцев Сообщений: 100
|
SolarVortex ·
05-Апр-11 07:41
(спустя 1 час 8 мин., ред. 05-Апр-11 07:41)
Pustovetov
Верно, дали. Готовый скрипт, не гарантирующий требуемого результата.
В SVP же, и особенно в последней версии очень гибкие настройки, не требующие знания консольных языков. Причём все настройки можно пронаблюдать в реальном времени.
|
|
Tim68
Стаж: 15 лет 7 месяцев Сообщений: 712
|
Tim68 ·
05-Апр-11 10:36
(спустя 2 часа 55 мин.)
SolarVortex
Пакет программ о котором идет речь расчитан на увеличение частоты в реальном времени и поэтому использует облегченные алгоритмы анализа движения, в случае сильного движения в кадре промежуточные кадры не строются, а создаются дубли (своеобразная защита от артифактов).
Вывод: Рассматривать данный пакет программ для качественного построения промежуточных кадров не стоит.
|
|
SolarVortex
Стаж: 15 лет 9 месяцев Сообщений: 100
|
SolarVortex ·
05-Апр-11 11:02
(спустя 25 мин.)
Tim68
Не совсем так. Почитайте про алгоритмы программы.
В любом случае разумеется это не панацея. Другого варианта-то пока нет.
|
|
GarfieldX
  Стаж: 20 лет 7 месяцев Сообщений: 4017
|
GarfieldX ·
05-Апр-11 16:20
(спустя 5 часов)
SolarVortex писал(а):
Другого варианта-то пока нет.
Вообще есть.... не заниматься глупостями 
Такими преобразованиями ведь никто не занимается.
|
|
SolarVortex
Стаж: 15 лет 9 месяцев Сообщений: 100
|
SolarVortex ·
05-Апр-11 17:36
(спустя 1 час 15 мин.)
Дать ссылок на видеофорумы???
Говорю как есть: это проблема, и проблема серьёзная.
|
|
Pustovetov
 Стаж: 17 лет 10 месяцев Сообщений: 4247
|
Pustovetov ·
05-Апр-11 18:23
(спустя 47 мин.)
SolarVortex писал(а):
Говорю как есть: это проблема, и проблема серьёзная.
Нет такой проблемы. Ваще.
|
|
SolarVortex
Стаж: 15 лет 9 месяцев Сообщений: 100
|
SolarVortex ·
05-Апр-11 19:15
(спустя 51 мин.)
Ну что ж, рад за Вас. Можете проходить мимо.
|
|
Tim68
Стаж: 15 лет 7 месяцев Сообщений: 712
|
Tim68 ·
05-Апр-11 19:23
(спустя 8 мин.)
SolarVortex писал(а):
Не совсем так. Почитайте про алгоритмы программы.
Совсем так. За профильной веткой на ixbt слежу с момента появления. В основе алгоритма борьбы с артифактами в сегодняшнем SVP лежит скрипт Юшко, который как раз и выдает дубли при значительных перемещениях в кадре.
Если порыться в инете, то можно конечно встретить "тяжелейшие" алгоритмы по анализу движений в кадре используя которые можно получить видеоряд с минимальнейшими искажениями, ну и работают они не быстрее чем 0,01fps.
Само по себе преобразование частоты кадров дело интересное, рассматривается побочный эффект, например по моим умозаключениям может приводить к стабилизации изображения.
Нарисовал как смог но смысл думаю будет понятен. Преобразование 29,97fps в 23,976fps.
Зачем? Просто было необходимо.
Жаль, что нет под руками Mac OS-и, можно было бы проверить информацию.
Код:
Технология Core Animation предназначена для разработчиков приложений. Эта технология позволяет создавать потрясающие визуальные эффекты при минимальных затратах и знаниях со стороны девелоперов.
Core Animation прекрасно интегрирован с ядром OS X и позволяет добиться максимальной производительности при просчете графики.
Также Core Animation предоставляет широкие возможности для автоматизации. Достаточно задать только ключевые кадры, начальное и конечное состояния объектов, остальное Core Animation сделает за вас!
|
|
Pustovetov
 Стаж: 17 лет 10 месяцев Сообщений: 4247
|
Pustovetov ·
05-Апр-11 20:09
(спустя 46 мин.)
SolarVortex писал(а):
Ну что ж, рад за Вас. Можете проходить мимо.
Нет чтобы задуматься почему это у меня нет такой проблемы, а у Вас она есть. Вдруг и у Вас ее нет в реальности, а есть банальное незнание матчасти?
|
|
SolarVortex
Стаж: 15 лет 9 месяцев Сообщений: 100
|
SolarVortex ·
05-Апр-11 21:02
(спустя 52 мин., ред. 05-Апр-11 21:02)
Tim68
Благодарю за труды. Но Вы же сами говорите: "В основе алгоритма борьбы с артифактами". То есть дубли идут для борьбы с заразой. А рисованием промежутков занимаются другие алгоритмы, просчитывающие сколько нужно этих промежуточных кадров. Ведь в противном случае уплавнения бы просто не получилось. Видео бы тупо - замедлялось. Кстати по стабилизации изображения. Где-то читал, что именно так и делают видеокамеры, когда включен эффект подавления дрожания рук. Жаль что Core Animation только под Mac OS. Но отчаиваться рано. Думаю моя задумка вполне качественно воплотится (постараюсь проверить на неделе). Ведь мне требуется просчитать не целый фильм, а лишь некоторые кусочки, да и кадров-то надо добавить лишь пару-тройку. Чтобы не дёргалось и выдерживало метраж. Полагаю артефактов при этом будет незначительно.
|
|
GarfieldX
  Стаж: 20 лет 7 месяцев Сообщений: 4017
|
GarfieldX ·
06-Апр-11 00:56
(спустя 3 часа)
Pustovetov писал(а):
Нет такой проблемы. Ваще.
Совершенно верно. SolarVortex
Задача: сгенерировать тучу промежуточных кадров при исходном fps=23.976 так, чтобы из этого массива можно было с минимальной погрешностью выбрать равнорасположенные по времени кадры для видео с fps=25. Если не будет совпадения по времени хотя бы до сотых долей секунды, то предположу, что видео будет местами дергаться вперед-назад. Где то будет чуть замедляться, где то ускоряться.
По идее получается так, что для секунды видео при разных fps у нас совпадает только один кадр - начальный. Остальные придется генерировать. Причем те, которые подойдут по времени будут сгенерированны на основе даже не исходных кадров, а их далеких потомков. Т.е. вероятность, что будет куча артефактов очень высока.
Цитата:
То есть дубли идут для борьбы с заразой.
Дубли идут потому что алгоритм банально не в состоянии выдать качественный результат при быстрых сменах плана и просто халтурит.
SolarVortex писал(а):
А рисованием промежутков занимаются другие алгоритмы, просчитывающие сколько нужно этих промежуточных кадров. Ведь в противном случае уплавнения бы просто не получилось. Видео бы тупо - замедлялось.
Задача "уплавления" значительно проще. Там нужно лишь сгенерировать 2-3 промежуточных кадра равнорасположенных между исходными кадрами. Дальше лишь останется поднять fps в те же 2-3 раза и получим более плавное видео той же продолжительности.
|
|
Tim68
Стаж: 15 лет 7 месяцев Сообщений: 712
|
Tim68 ·
06-Апр-11 09:46
(спустя 8 часов)
GarfieldX писал(а):
Дубли идут потому что алгоритм банально не в состоянии выдать качественный результат при быстрых сменах плана и просто халтурит.
Именно так, SVP расчитан на работу в реальном времени и из за сложности расчетов имеет на борту только облегченные алгоритмы анализа движения.
|
|
nayTuHbl4
Стаж: 16 лет 5 месяцев Сообщений: 25
|
nayTuHbl4 ·
24-Май-11 14:46
(спустя 1 месяц 18 дней)
подскажите, пожалуйста, софтинку для измерения точного fps суть дела:
имеется несколько видеофайлов (вытащенных из ДВД), с частотой кадров близкой к 29.97, но при попытке конверта с этой частотой видео немного разъезжается со звуком. погугли возможные варианты и выяснил, что бывает ещё частота 29.975. некоторые файлы сошлись с этой частотой, но не все. измерять пробовал следующими методами:
- MediaInfo (часто врёт, место 29.975 пишет 23.976)
- MPC (лучше, но только до сотых частей кадра)
- VLC (выдаёт число 59.940059, что при делении на 2 даёт 29.9700295 на всех роликах. сейчас кодирую с этой частотой, но очень сомневаюсь, что результат будет положительный, т.к. частота, очевидна, у роликов разная, да и, к тому же, 3 стотысячных вряд ли сделают погоды)
|
|
SolarVortex
Стаж: 15 лет 9 месяцев Сообщений: 100
|
SolarVortex ·
24-Май-11 16:46
(спустя 2 часа)
Мне думается что рассинхрон не из-за несовпадения фпс. Что-то с монтажкой. Судя по своему опыту, для склейки файлов вполне достаточно сотых долей.
|
|
silencerF
Стаж: 18 лет 2 месяца Сообщений: 458
|
silencerF ·
24-Май-11 19:05
(спустя 2 часа 18 мин.)
А ты посчитай сколько даёт сотая доля от fps на 2часах
|
|
SolarVortex
Стаж: 15 лет 9 месяцев Сообщений: 100
|
SolarVortex ·
25-Май-11 16:24
(спустя 21 час)
Лично я - как-то куски по 2 часа не клеил.
|
|
1st_Novel
 Стаж: 16 лет 8 месяцев Сообщений: 264
|
1st_Novel ·
13-Сен-11 12:36
(спустя 3 месяца 18 дней)
см. Adobe Premiere Frame Blending / Adobe After Effects Frame Blending Pixel Motion
|
|
SolarVortex
Стаж: 15 лет 9 месяцев Сообщений: 100
|
SolarVortex ·
13-Сен-11 12:56
(спустя 19 мин.)
Пробовал. Потеря качества сильная.
Пока что твикстор спасает: в некоторых случаях, где изображение более-меннее статично и нет резкой смены сюжета.
По-прежнему, упование на SVP.
|
|
yaboxer
Стаж: 16 лет 11 месяцев Сообщений: 87
|
yaboxer ·
22-Ноя-11 07:33
(спустя 2 месяца 8 дней)
У меня файл в формате mp4 с непонятной частотой кадров 10 fps. При просмотре на медиаплеере всё нормально (в ВиртуалДабе покадрово тоже всё гладко). Однако мне не удается перевести его на двд диск, т.к. при авторинге как PAL 25 fps, получается брак в виде повторяющихся кадров. Если я не меняю частоту кадров и оставляю как есть 10 fps, то все равно в итоге после авторинга получается брак в виде кадров-дубликатов. Как можно безболезненно превратить 10 fps в 25 fps, но так, чтобы длительность клипа и его скорость воспроизведения после преобразования не изменялись?
|
|
yazev70
Стаж: 12 лет 11 месяцев Сообщений: 36
|
yazev70 ·
25-Дек-12 18:58
(спустя 1 год 1 месяц)
yaboxer писал(а):
49295267У меня файл в формате mp4 с непонятной частотой кадров 10 fps. При просмотре на медиаплеере всё нормально (в ВиртуалДабе покадрово тоже всё гладко). Однако мне не удается перевести его на двд диск, т.к. при авторинге как PAL 25 fps, получается брак в виде повторяющихся кадров. Если я не меняю частоту кадров и оставляю как есть 10 fps, то все равно в итоге после авторинга получается брак в виде кадров-дубликатов. Как можно безболезненно превратить 10 fps в 25 fps, но так, чтобы длительность клипа и его скорость воспроизведения после преобразования не изменялись?
http://code.google.com/p/xvid4psp/downloads/list
https://rutr.life/forum/viewtopic.php?t=4119816
|
|
Areyou
Стаж: 16 лет 10 месяцев Сообщений: 1724
|
Areyou ·
25-Дек-12 21:36
(спустя 2 часа 37 мин.)
yaboxer
При такой низкой исходной кадровой частоте интеллектуальные методы интерполяции недостающих кадров бесполезны. Получите реальный "брак" - страшенные артифакты на движушихся участках (не теряйте времени на соотв. фильтры Ависинта или на паразитирующую на его скриптах программу). При такой частоте кадров можно рассчитывать на удачу в интерполяции только при съемке движения луны со штатива. А при отправке 10 fps на кодер с выходной установкой 25 fps он будет добавлять кадры неравномерно во времени, и обязательно возникнут рывки в воспроизведении движения и (как вы уже заметили) будет хуже, чем в исходном варианте. Поэтому меньшее из зол - добавить повторные кадры на кратной основе, т.е. до 30 fps. Чтобы не подгонять звук, можно отбросить каждый 1001-й до 29.97. В принципе, надежнее сделать это в Ависинте ( ChangeFPS("ntsc_video") ), но и кодер с аналогичными установками может это сделать. Тогда хоть и с повторными кадрами, но фазы движения будут во времени следовать равномерно.
|
|
Slim9174
 Стаж: 16 лет 6 месяцев Сообщений: 1559
|
Slim9174 ·
06-Янв-13 03:17
(спустя 11 дней, ред. 06-Янв-13 03:17)
Тоже вопрос про не стандартный фпс.
Имеем видео записанное с экрана (оно определяется как прогрессивное) 15 fps.
Насколько я знаю 15 fps = 29.970 fps. А это уже телекино) следовательно надо преобразовывать в 23.976.
Посоветуйте как на ваш взгляд лучше.
Цитата:
DirectShowSource("J:\123.avi", audio=false, fps=15.000, convertfps=true)
ConvertToYV12()
ChangeFPS(29.97)
TDecimate(cycleR=1, cycle=5) #remove 1 frame from every 5 frames
Или все же сразу напрямую сделать ChangeFPS(23.976)
Кстати говоря не одним и не другим способом продолжительность не меняется. Но меня волнует как все же будет более правильней и без дефектов в фреймах
|
|
Areyou
Стаж: 16 лет 10 месяцев Сообщений: 1724
|
Areyou ·
06-Янв-13 10:25
(спустя 7 часов)
Slim9174 писал(а):
57198401Насколько я знаю 15 fps = 29.970 fps. А это уже телекино) следовательно надо преобразовывать в 23.976
23.976 имеет смысл восстанавливать только из 29.97 и только в том случае, если при создании 29.97 имел место обратный процесс (pulldown - растяжка кино 24 fps до телевизионной частоты кадров). Тогда производится перестановка ранее добавленных полей с образованием повторного 5-го кадра, затем - его удаление. Если вы будете просто вставлять кадры от 15 до 23.976 (любым способом), получите неравномерность движения, которой нет в исходном видео (если оно нормальное - без повторных кадров, и из телевизионого источника). Поэтому лучше ChangeFPS("ntsc_video") или ConvertFPS("ntsc_video") до 29.97. Во втором случае вставляются смешанные кадры (более плавное движение, но слегка замутненное изображение).
Если движение между кадрами медленное и без тряски, можно попытаться интерполировать кадры с mvtools2 (в этом случае пересчитываются все кадры, и частоту можно выбирать более свободно).
|
|
yr2s75fv
Стаж: 16 лет 7 месяцев Сообщений: 13
|
yr2s75fv ·
08-Апр-13 20:20
(спустя 3 месяца 2 дня)
Pustovetov писал(а):
43926761
SolarVortex писал(а):
Говорю как есть: это проблема, и проблема серьёзная.
Нет такой проблемы. Ваще.
Для меня это проблема №1
|
|
tiger9991
 Стаж: 15 лет 8 месяцев Сообщений: 196
|
tiger9991 ·
27-Ноя-13 00:55
(спустя 7 месяцев)
Использую такой скрипт для AviSyntch: LoadPlugin("c:\Program Files (x86)\MeGUI\tools\mvtools\mvtools.dll")
LoadPlugin("c:\Program Files (x86)\MeGUI\tools\ffms\ffms2.dll")
source = FFVideoSource("f:\output\13\1x04 - Un Altra Vita.avi")
source = trim(source,500,1500)
source = ConvertToYV12(source)
backward_vec = source.MVAnalyse(overlap=4, isb = true, pel=2, search=3, idx=1)
forward_vec = source.MVAnalyse(overlap=4, isb = false, pel=2, search=3, idx=1)
source.MVFlowFps(backward_vec, forward_vec, num=2*FramerateNumerator(source), den=FramerateDenominator(source), idx=1) Получаемое после кодирования x264 видео ( в данном случае отдельный участок) меня не особо устраивает, хотя вполне вероятно играет роль и то, что кодируется уже сжатое xvid ом видео с невысоким битрейтом (1300).
Как-то недавно смотрел Форсаж 6 с 60fps, очень приятно глазу, причем ускорения не заметил при проигрывании, значит все-таки программно интерполировали промежуточные кадры... Надо бы попробовать перекодировать отрывок из видеодорожки одного из блюров..
|
|
SolarVortex
Стаж: 15 лет 9 месяцев Сообщений: 100
|
SolarVortex ·
28-Ноя-13 08:39
(спустя 1 день 7 часов)
Не совсем понятно что делает скрипт - расставляет кадры по временному промежутку (что и требуется) или же всё-таки интерполирует и генерит дополнительные промежуточные кадры?
Однако, огромная благодарность Вам, попробую тоже так сделать.
|
|
|