MAG79
Спасибо большое. Как раз то, что нужно. Только подправил Trim(1,173544) потому что на файле с полным фильмом на дубль не попадало сразу. Это вы хорошо придумали.

По поводу кривизны релизеров. Попался мне один релиз на рутрекере, проверенный, между прочим, хоть и старый, 23.976, примерно каждую секунду голый пропуск, не дубль, а просто проскок. Релизер сам признался, что кодил из PAL-а и сам вручную поменял fps (простым выкидыванием 25 кадра). Мол человек не замечает разницы между 25 и 23.976. А звук закодил 6 каналов в 192 kbps. И самое страшное, там еще несколько рипов с 23.976, но с паловской продолжительностью. Вот и откуда такие берутся. Впрочем наши издатели тоже порой фигню делают, что с видео, что со звуком.

Так вот, если бы он кодил 25>24, можно было бы искусственно воссоздать дубли changefps(25), чтобы GameDropFix построил на их месте кадры, но 25>23.976 интервалы неравномерные - замучаешься подгонять. Правильнее всего, конечно, найти нормальный исходник.

MAG79 Не посмотрели еще чувствительность скрипта? Я все жду, откладываю кодирование и просмотр. А может и фильм то не стоит того, посмотрю, наверное, так.

Bars wrote:

которое просто выбрасывает каждый 5-й кадр чаще всего нормальный кадр

Да, тогда все складывается. Я тут прикинул, получается выбрасывается нормальный кадр следующий сразу за дублем или точнее с первого кадра.

PPPPDPPPPDPPPPDPPPPDPPPPD (P - обычный кадр, D - дубль)

выбрасываются первые назовем их p кадры

pPPPDpPPPDpPPPDpPPPDpPPPD

для наглядности представим это как

PPPDpPPPDpPPPDpPPPDpPPPDp
PPPD-PPPD-PPPD-PPPD-PPPD- (- отсутствие кадра)
D- это дубль и пропуск. Вместо - должен быть четвертый полноценный кадр, но его вырезали, а вместо него остался дубль третьего кадра (по текущей нумерации). Дубль стал дроподублем.
Казалось бы совсем близко был алгоритм от правильного удаления. Если бы вырезался из PPPPD четвертый P, то его бы заменил D (D=P4). Или, конечно, если бы сразу удалялся D. В общем очень не повезло.
А с другой стороны хорошо, что хотя бы из середины PPPP цепочки кадр не удалялся, это был бы недетектируемый пропуск вообще. Были бы дубли, еще и с пропусками.

Bars wrote:

о прогрессивном видео

29.97p в кинофильмах не бывает. Я имел в виду кинофильмы. Там 29.97 означает 23.976+hard telecine (3 прогрессивных, 2 интерлейсных кадра) и прочие извращения. В сериалах, клипах, там могут быть и честные 29.97.

tracker35 wrote:

существуют микро-изменения в структуре
необходимо составить скрипт, который удаляет данный дубль-кадр, заменяя его предыдущим


TDecimate(cycleR=1, cycle=4)
ChangeFPS(23.976)

Разницы особой нет, в слабодинамичных сценах по прежнему дубли.

Думаю дело в том, что картинка чистая и движение в кадре только в небольшой области. Как-то я пропускал шумное и артефачное видео с периодическими дублями через GameDropFix и он нормально справился, а сейчас не хочет. И добавление искусственного шума перед ChangeFPS ничего не меняет, наверное GameDropFix опирается еще на какие-то флуктуации.

Bars wrote:

29,970fps в которых все кадры уже прогрессивные и просто каждый 5-й кадр-дубль

То есть 4 прогрессивных кадра (23.976) + левый 5 кадр = 29.97. Такое TDecimate с дефолтными настройками устраняет. Но люди используют что попало. Иногда только ради того, чтобы на трекере "сомнительно" не поставили  пытаются сделать стандартный fps, но с рывкотней.

Bars wrote:

после этапа объединения полукадров, тоже получается каждый 5-й кадр-дубль

После деинтерлейса хардтелесиненного видео получится точнее 3+2. 3 прогрессивных кадра и 2 бленда. Здесь уже надо было делать IVTC.

tracker35 wrote:

Для данного семпла необходимо составить скрипт, который удаляет данный дубль-кадр, заменяя его предыдущим, тогда gamedropfix подхватит такие (не перекодированные) кадры.

Не очень понял о чем речь. Ведь дубль и так копия предыдущего кадра.

MAG79 wrote:

Как так могло получиться?

Остается только догадываться, раздающий накосячил. Может IVTC неправильно настроил или фильтр вроде TDecimate не к месту применил. Я скачал этот рип с зарубежного трекера. А больше этот фильм нигде не скачать. То есть есть еще один торрент, где как сообщается, с fps все нормально, но полного источника нет, качается только 55%. Так что пока единственный вариант.

А вообще чего в интернете только не встретишь. Это еще повезло, что дропы как дубли, а бывают дропы как пропуски и ничем не выделяются. Это вообще жесть, такое не задетектишь. В таком случае можно, наверное, понасоздавать на их месте искусственные дубли, чтобы GameDropFix сгенерировал недостающие кадры, но если структура сложная или нестабильная, то гиблое дело.

Можно как-нибудь увеличить чувствительность скрипта? У меня есть видео 624x352 23,976 fps, где после каждых 3 кадров идет 1 дроп/дубль. Скрипт отрабатывает только на сценах, где много движения, а там, где мало, дропы остаются и это заметно. Залил Сэмпл. Посмотрите, пожалуйста.

Частично удалось повысить определяемость дропов предварительным ресайзом до 1280x720. К примеру на 50 секунде, когда мужик появляется, все кадры восстановлены (в отличии от 624x352), но все равно слабодинамичные сцены не определяются и остаются дропы, хоть уже и в меньшей степени.
Может есть какие-нибудь настройки в самом скрипте. Использую 5 версию.