|
altoto
Стаж: 16 лет Сообщений: 512
|
altoto ·
06-Май-10 18:50
(14 лет 6 месяцев назад, ред. 06-Май-10 19:08)
кстати да...что-то выходной не проходит даром.=) действительно ресайз там не нужен, да собственно там и ресайзить нечего)
просто взял за исходник предыдущий пост - вот и вышел казус, приношу извинения
Код:
LoadPlugin("C:\Program Files\megui\tools\dgindex\DGDecode.dll")
DGDecode_mpeg2source("D:\lol.d2v")
crop( 8, 72, -8, -72)
Код:
--настройки кодирования --sar 64:45 -o "%%~nm.mkv" "%%m" 2>> "%%~nm.txt"
|
|
Andreyua
Стаж: 17 лет 9 месяцев Сообщений: 205
|
Andreyua ·
06-Май-10 18:50
(спустя 8 сек.)
А это
Цитата:
Спрошу окончательно: стоит ли использовать канонический САР в этом варианте или нет все таки ?
А вообще, когда я использовал методику с картинокй для определения САРа и в скрипте у меня был
LanczosResize(720,448), то согласно этой методике у меня получилось вот такое разрешение
1041:448
Вот так вот Пойдет так или нет ?
Извиняюсь конечно, за настойчивость, но почему вы так уверены насчет --sar 64:45 при LanczosResize(720,448) ?
|
|
Taran2L_87
Стаж: 15 лет 4 месяца Сообщений: 655
|
Taran2L_87 ·
06-Май-10 19:05
(спустя 14 мин., ред. 06-Май-10 19:05)
Andreyua писал(а):
Извиняюсь конечно, за настойчивость, но почему вы так уверены насчет --sar 64:45 при LanczosResize(720,448) ?
Я такого абсолютно не писал. То есть писал, но до того как altoto написал о размер кадра в своем крипте. Так что 704х432 и сар 64:45 есть правильный вариант для вас !!!
Я же привел сравнении оригинала с первичной версией моего скрипта, первичной версией altoto скрипта и с конечной правильной версией скрипта altoto и моего сара
|
|
Andreyua
Стаж: 17 лет 9 месяцев Сообщений: 205
|
Andreyua ·
06-Май-10 19:06
(спустя 1 мин.)
Да я понял , вариант без ресайза проехали...
Возвращаемся к моему первому вопросу в это ветке, поскольку у меня сейчас кодированный фильм с LanczosResize(720,448) и больше я кодировать без ресайза не смогу (и не хочу, да и исходник уже потер), вот поэтому мне нужно определиться с идеальным саром насчет моего существующего варианта ...
Ну так почему же 64:45 ?
|
|
Taran2L_87
Стаж: 15 лет 4 месяца Сообщений: 655
|
Taran2L_87 ·
06-Май-10 19:15
(спустя 9 мин., ред. 06-Май-10 19:15)
Andreyua писал(а):
Ну так почему же
Самому не поставить сар кокой хотите, и не сравнить результат глазами, а мучать других?
Вам рассказали, что и как делать. Упражняйтесь на тестах уже сами
|
|
Andreyua
Стаж: 17 лет 9 месяцев Сообщений: 205
|
Andreyua ·
06-Май-10 20:04
(спустя 48 мин.)
Если бы я вас не мучал , так бы и использовали дальше ресайз в своих рипах
Упражняться я конечно буду, советов по этому по поводу я у вас не спрашивал , это уж мое дело.
Я лишь спрашивал у тебя или у других профессионалов , подойдет ли такой вариант как я указывал, с разрешением 1041:448 или это бред.
А настойчивость я такую проявляю лишь потому, что хочу досконально во всем разобраться, только и всего .........
(ничего личного)
|
|
renege79
Стаж: 17 лет 7 месяцев Сообщений: 1866
|
renege79 ·
06-Май-10 20:07
(спустя 3 мин.)
Taran2L_87
по моему сэмплу у вас есть еще идеи? а то я жду реакции, а ее нет...
|
|
Taran2L_87
Стаж: 15 лет 4 месяца Сообщений: 655
|
Taran2L_87 ·
06-Май-10 20:26
(спустя 19 мин., ред. 06-Май-10 20:26)
Andreyua писал(а):
Если бы я вас не мучал , так бы и использовали дальше ресайз в своих рипах
Всякое бывает. Мы постоянно что-то новое узнаем
Andreyua писал(а):
подойдет ли такой вариант как я указывал, с разрешением 1041:448
Сами как считаете? сравнивали скрины? Какие ощущения?
lehachuev писал(а):
по моему сэмплу у вас есть еще идеи? а то я жду реакции, а ее нет...
Больше не смотрел. Либо пробуйте другие варианты, либо спросите в ветке о скриптах. Может кто ответит…
|
|
Andreyua
Стаж: 17 лет 9 месяцев Сообщений: 205
|
Andreyua ·
06-Май-10 20:33
(спустя 7 мин.)
Цитата:
Сами как считаете? сравнивали скрины? Какие ощущения?
Визуально - вполне
Математически - не уверен
Еще раз повторяю, делал все по твоей ссылке,
Брал кадр с анформом, обрезал в фотошопе, высчитывал с помощью ARS калькулятора и так далее .... короче понятно....
Вот правильно ли я сделал или нет, мне нужно получить на это ответ
|
|
renege79
Стаж: 17 лет 7 месяцев Сообщений: 1866
|
renege79 ·
07-Май-10 00:24
(спустя 3 часа)
Taran2L_87 писал(а):
Больше не смотрел. Либо пробуйте другие варианты, либо спросите в ветке о скриптах. Может кто ответит…
А можно ссылку? Я такой ветки, простите, не увидел. Или искал не там и не тем...=)
|
|
tartak
Стаж: 18 лет 8 месяцев Сообщений: 2548
|
tartak ·
07-Май-10 07:12
(спустя 6 часов)
Taran2L_87 писал(а):
lehachuev
Неужели самому так сложно подобрать какой-то фильтр Ладно, завтра с утра. кодану ваш семпл. Посмотрю.
Ни к чему это высокомерие. Подобные фразы и заносчивость характерны для новичков, которые уже немного поиграли со скриптами, и им кажется, что все просто. А в реальности все обычно совсем не так просто, как кажется. Что и подтвердилось дальнейшим:
lehachuev писал(а):
Taran2L_87 писал(а):
lehachuev писал(а):
Мне нужно лишь убрать телекино, получить видео с fps 23.976 и без интерлейса.
А как насчет этого:
скрытый текст
Код:
AssumeTFF()
edeintted = nnedi2(field=-2,qual=2)
res = TDeint(edeint=edeintted,order=-1,mode=2,sharp=true,\
mtnmode=3,full=false,tryWeave=false,type=1,emask=TMM(mode=1))
tfm(order=-1,clip2=res,pp=7,slow=2,mode=2,\
chroma=false,display=false).tdecimate(hybrid=1,mode=1,vfrDec=0)
Да дергается же...
Да и двоения здесь больше, чем в других случаях.
Двоится, дергается, и интерлейс остался. И так всегда бывает, когда начинаешь применять "универсальные" рецепты, не разобравшись с проблемой.
lehachuev писал(а):
А можно ссылку?
Отчасти это здесь, просто название темы неудачное. Но и эта тема ничем не хуже.
Вы говорите, что хотите всего лишь избавиться от телесина и получить 23.976 в прогрессиве. А откуда вы собственно знаете, что тут телесин, что 23.976 - "правильная" скорость, и что прогрессив - удачная идея в данном случае? Пока это все догадки. Вот если вы все это выясните (или опровергните), тогда возможно и проблема найдет свое решение.
Первое, что следует делать в подобных ситуациях - четко выяснить, с каким материалом имеешь дело. Прежде всего, определите какое поле - первое. Это просто - AssumeTTF().SeparateFields(): если вернее поле - первое, то взад-вперед дергаться не будет. У вас конечно TF первое. Посмотрите на последовательность кадров, один за одним, потом разделите на поля и снова посмотрите. В телесине (все еще в 29.97 и без обратного пулдауна) вы бы увидели характерную повторяемость группами по 5 кадров (типа 3 прогрессивных кадра, 2 с гребенкой). Вы видите группы из 5 или что-то другое (скажем, группы из 6 кадров)? А если разделить на поля (SeparateFields()) - при обычном телесине вы бы увидели повторяемость типа аааввсссdd - группы из 10. Разве у вас такое? Какая у вас характерная длина группы (если она вообще есть)? А то, что у вас сами поля двоятся, видите? О чем все это может говорить?
Все эти наблюдения должны привести к пониманию, откуда вообще мог взяться весь этот ужас, что налицо в вашем клипе. С пониманием возможно станет ясно, что с клипом надо делать. Подумайте, отпишитесь, и завтра мы можем продолжить.
|
|
Taran2L_87
Стаж: 15 лет 4 месяца Сообщений: 655
|
Taran2L_87 ·
07-Май-10 07:37
(спустя 24 мин.)
tartak писал(а):
Ни к чему это высокомерие
Никого не хотел обидеть, ну если и вышло так, то сори
tartak писал(а):
Отчасти это здесь, просто название темы неудачное
Да, я ее имел ввиду
|
|
renege79
Стаж: 17 лет 7 месяцев Сообщений: 1866
|
renege79 ·
07-Май-10 15:21
(спустя 7 часов, ред. 07-Май-10 15:21)
tartak писал(а):
Какая у вас характерная длина группы (если она вообще есть)?
Просмотрел все глаза, никакой характерной длины не уловил. Хотя, не исключено, что я просто не так смотрю.
tartak писал(а):
откуда вообще мог взяться весь этот ужас, что налицо в вашем клипе.
Этот ужас, к сожалению, част с фильмами BBC годовВ 70-х - 80-х. Taran2L_87
если вас не затруднит, проверьте пожалуйста, верно ли я определил отсутствие характерной длины. Сэмпл же скачивали
|
|
tartak
Стаж: 18 лет 8 месяцев Сообщений: 2548
|
tartak ·
07-Май-10 18:02
(спустя 2 часа 41 мин.)
lehachuev писал(а):
Просмотрел все глаза, никакой характерной длины не уловил.
Ну, если бы это было так, ни о каком телесине вообще не было бы и речи. Но это не так.
Хорошо, сделаем так: возьмите кусок современного американского фильма на ДВД в NTSC, сделанного крупной американской компанией. Он будет с настоящим телесином, пулдаун 3:2. Посмотрите на повторяемость типов кадров, с гребенкой и без. Обозначим кадры с гребенкой буквой I, без - P. Вы увидите характерные группы типа P I I P P, причем этот образец будет все время повторяться. Посмотрите потом на ваш клип, обозначая гребенку и двоение I. Будут встречаться и P. Смотрите покадрово, записывайте буквы на бумажке, и определите, какова повторяющаяся группа.
Потом проделайте то же самое, но с разделенными полями. И на этот раз используйте все буквы, начиная с "а" - одной буквой обозначайте поля, явно относящиеся к одному и тому же моменту во времени. Смотрите кусок, где есть движение. В фильме с телесином у вас получится a a a b b c c c d d - три одинаковых (почти) поля, потом два из явно следующего момента, и так далее. А в вашем клипе?
|
|
renege79
Стаж: 17 лет 7 месяцев Сообщений: 1866
|
renege79 ·
07-Май-10 20:09
(спустя 2 часа 6 мин., ред. 07-Май-10 20:09)
Присмотрелся. Вроде, смотрел теперь куда надо, ваш совет очень помог, теперь хоть знаю, куда и как смотреть.)
Получилось вот что
За первое ручаюсь, за второе не очень, есть кадры, где общее движение почти незаметно, а есть такие, где оно чуть больше, но тоже похоже все же скорее на дубль. Просмотрел несколько раз, разные эпизоды, вроде порядок во второй строке именно такой.
|
|
tartak
Стаж: 18 лет 8 месяцев Сообщений: 2548
|
tartak ·
07-Май-10 20:54
(спустя 45 мин.)
lehachuev
Да, PIIIII - это именно то, что у вас. Группа из 6 кадров. При обычном телесине группа состоит из 5 кадров, причем 5-й добавляется телесином, чтобы поднять 24 fps до 30. Как вы думаете, какой должна быть скорость исходника, чтобы при переводе в 30 fps возникла повторяемость типа кадра через 6 кадров?
Далее. aa bb c не может быть, это не согласуется с IIIIIP. Если I, то при разделении на поля мы автоматически получаем ab. При разделении IIIIIP, мы получили бы куда больше разных полей, стоящих рядом. Проблема в том, что многие поля двоятся. Но если внимательно присмотреться, каждое такое поле - некое среднее между предыдущим и последующим полем, которые не двоятся. Если их обозначать, как a+b, то получится что-то типа
Код:
a a a+b b b+c c c+d d d ...
Посмотрите, как это выглядит в вашем клипе, выпишите последовательность в разных местах (где легко видно движение). Какой у нее период? Подумайте, а нужны ли вообще эти смешанные поля, есть ли хоть одно, которое несет информацию, не содержащуюся уже в его соседях?
И еще. Фильм ВВС, но в NTSC. Это тоже наводит на определенные мысли.
|
|
renege79
Стаж: 17 лет 7 месяцев Сообщений: 1866
|
renege79 ·
07-Май-10 22:18
(спустя 1 час 23 мин.)
tartak писал(а):
lehachuev
Да, PIIIII - это именно то, что у вас. Группа из 6 кадров. При обычном телесине группа состоит из 5 кадров, причем 5-й добавляется телесином, чтобы поднять 24 fps до 30. Как вы думаете, какой должна быть скорость исходника, чтобы при переводе в 30 fps возникла повторяемость типа кадра через 6 кадров?
Далее. aa bb c не может быть, это не согласуется с IIIIIP. Если I, то при разделении на поля мы автоматически получаем ab. При разделении IIIIIP, мы получили бы куда больше разных полей, стоящих рядом. Проблема в том, что многие поля двоятся. Но если внимательно присмотреться, каждое такое поле - некое среднее между предыдущим и последующим полем, которые не двоятся. Если их обозначать, как a+b, то получится что-то типа
Код:
a a a+b b b+c c c+d d d ...
Посмотрите, как это выглядит в вашем клипе, выпишите последовательность в разных местах (где легко видно движение). Какой у нее период? Подумайте, а нужны ли вообще эти смешанные поля, есть ли хоть одно, которое несет информацию, не содержащуюся уже в его соседях?
И еще. Фильм ВВС, но в NTSC. Это тоже наводит на определенные мысли.
У меня получилось так
Пара кадров a a, с с, и т.д. отличаются, насколько мне видно, разве что расположением по вертикали, и все. Можно ли удалить один из этих кадров, я не знаю. Остальные кадры, по-моему, совсем не идентичны, удалять нечего.
Прикинул, вышло у меня, что скорость исходника в моем случае должна быть 20 fps
Никаких мыслей насчет "Фильм ВВС, но в NTSC" у меня, к сожалению, нет - я дилетант в ДВД-шных делах, мне мало о чем это говорит. Знаю только, что NTSC используется в Северной Америке да Японии, вроде. Но не в Британии. А какой из этого сделать вывод - понятия не имею.
|
|
Mikky72
Стаж: 17 лет 7 месяцев Сообщений: 8498
|
Mikky72 ·
08-Май-10 00:24
(спустя 2 часа 5 мин.)
lehachuev
ВВС = Англия = PAL = 25 fps.
Т.е. было переделано 25 -> 29,97
|
|
renege79
Стаж: 17 лет 7 месяцев Сообщений: 1866
|
renege79 ·
08-Май-10 00:36
(спустя 11 мин.)
Mikky72
это лицензионный ДВД. Или это не имеет значения?
|
|
Andreyua
Стаж: 17 лет 9 месяцев Сообщений: 205
|
Andreyua ·
08-Май-10 01:43
(спустя 1 час 6 мин., ред. 08-Май-10 01:43)
Например, имеется вот такой h264 трек
скрытый текст
Код:
Video
ID : 1
Format : AVC
Format/Info : Advanced Video Codec
Format profile : High@L5.1
Format settings, CABAC : Yes
Format settings, ReFrames : 3 frames
Muxing mode : Container profile=Unknown@5.1
Codec ID : V_MPEG4/ISO/AVC
Duration : 1h 39mn
Bit rate : 5 999 Kbps
Nominal bit rate : 6 120 Kbps
Width : 1 312 pixels
Height : 720 pixels
Display aspect ratio : 16:9
Frame rate : 29.970 fps
Resolution : 8 bits
Colorimetry : 4:2:0
Scan type : Progressive
Bits/(Pixel*Frame) : 0.212
Stream size : 4.15 GiB (95%)
Writing library : x264 core 58 svn-736M
Encoding settings : cabac=1 / ref=3 / deblock=1:-2:-1 / analyse=0x3:0x113 / me=umh / subme=6 / me-prepass=0 / brdo=0 / mixed_ref=0 / me_range=12 / chroma_me=1 / trellis=1 / 8x8dct=1 / cqm=0 / deadzone=21,11 / chroma_qp_offset=0 / threads=6 / nr=0 / decimate=1 / mbaff=0 / bframes=16 / b_pyramid=1 / b_adapt=1 / b_bias=0 / direct=3 / wpredb=1 / bime=0 / keyint=250 / keyint_min=25 / scenecut=40(pre) / rc=2pass / bitrate=6120 / ratetol=1.0 / rceq='blurCplx^(1-qComp)' / qcomp=1.00 / qpmin=10 / qpmax=51 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / pb_ratio=1.30 / aq=1:0.5:13.0
Применима ли к нему , вот такая инструкция, которая описана в теме Обработка и пересжатие видео [инструкция]:
скрытый текст
Цитата:
Здесь возможны следующие варианты:
25.000 fps - видео представляет собой стандартную PAL последовательность. Ничего делать в этом случае не требуется.
20.000 fps - видео так же представляет собой стандартную PAL последовательность, но в меню "Video->Field Operation" у вас выбран пункт "Forced Film". Нужно выставить "Honor Pulldown Flags".
29.970 fps - видео представляет собой NTSC последовательность. В этом случае обращаем внимание на значение параметра "Video Type" - если оно равно "NTSC", то делать ничего больше не надо, если же значение равно "Film" или "Film 95%" или выше, то наша последовательность создана при помощи дублирования некоторых кадров, которые необходимо удалить - для этого выставим пункт меню "Video->Field Operation" в "Forced Film".
23.970 fps - видео представляет собой NTSC последовательность и в меню "Video->Field Operation" у вас выбран пункт "Forced Film". Оставлять все как есть можно только в том случае, если значение параметра "Video Type" равно "Film" или "Film 95%" или выше. В противном случае надо выставить "Honor Pulldown Flags".
Вообще, хочу изменить fps c 29.970 до 23.970.
Подскажите:
- есть ли смысл его изменять ?
- вообще подходит ли это замечание к даному треку или вообще к h264 трекам :
Цитата:
29.970 fps - видео представляет собой NTSC последовательность. В этом случае обращаем внимание на значение параметра "Video Type" - если оно равно "NTSC", то делать ничего больше не надо, если же значение равно "Film" или "Film 95%" или выше, то наша последовательность создана при помощи дублирования некоторых кадров, которые необходимо удалить - для этого выставим пункт меню "Video->Field Operation" в "Forced Film".
или это абсолютно разные вещи ?
- с помощью каких инструментов и как можно кодировать с изменением FPS
- можно ди подготовить проэкт, сначала сделав экстракт трека из MKV а потом открывать его в DGAVCIndex.exe по аналогии с GIndex.exe или есть лучшие методы ?
Заранее извиняюсь за нубские вопросы ...
|
|
Bilka
Стаж: 15 лет 9 месяцев Сообщений: 21
|
Bilka ·
08-Май-10 01:43
(спустя 54 сек.)
Помогите пожалуйста советом. Какой прогой переконвертировать клип в формате WMV с аудио WAV в VOB-файл, чтобы аудио дорожка была на выходе в LPCM-формате?Можно ли это сделать с помощью одной программы или нужны две - для видео и аудио?Подскажите.
|
|
Mikky72
Стаж: 17 лет 7 месяцев Сообщений: 8498
|
Mikky72 ·
08-Май-10 02:59
(спустя 1 час 15 мин., ред. 08-Май-10 02:59)
lehachuev
Лицензия - это юридический термин. К полям и пуллдаунам не имеет отношения. По поводу полей - лучше ещё верхнее поле пометить 1, а нижнее 2.
Тогда будет понятней. Т.е. получится что-то в стиле
а1 a2 a1+b1 b2 b1+c1 c2 c1+d1 d2 d1 d2+e2 d1+e1 e2
Вышеозначенную конструкцию я написал условно, смотрите, что у Вас реально...
Из этого надо получить a1 a2 b1 b2 c1 c2 d1 d2 e1 e2
Но это, по-моему, невозможно, так как некоторых полей в чистом виде нет.
Из моего примера можно соорудить такое (c1+d1 и d2+e2 выкидываем, d2 и d1 меняем местами)
а1 a2 a1+b1 b2 b1+c1 c2 d1 d2 d1+e1 e2
|
|
Pustovetov
Стаж: 17 лет Сообщений: 4255
|
Pustovetov ·
08-Май-10 06:53
(спустя 3 часа)
Andreyua писал(а):
Применима ли к нему , вот такая инструкция, которая описана в теме Обработка и пересжатие видео [инструкция]
Там про мпег2 c dvd.
Цитата:
Вообще, хочу изменить fps c 29.970 до 23.970.
Подскажите:
- есть ли смысл его изменять ?
А зачем Вы его хотите изменить?
Цитата:
- можно ди подготовить проэкт, сначала сделав экстракт трека из MKV а потом открывать его в DGAVCIndex.exe по аналогии с GIndex.exe или есть лучшие методы ?
Ну да, так и надо поступать. Впрочем можно загрузить видео и прямо из mkv -
FFVideoSource("xxxx.mkv")
|
|
Andreyua
Стаж: 17 лет 9 месяцев Сообщений: 205
|
Andreyua ·
08-Май-10 08:52
(спустя 1 час 58 мин.)
Цитата:
А зачем Вы его хотите изменить?
Ну во первых , у меня дорога под 23.970
Ну а во вторых 23.970 более стандартное и универсальное, к тому же я так и так буду кодировать этот трек, то почему бы и нет ...
Вообще поправьте меня, может я не прав, хотелось бы просто получить внятное объяснение
|
|
Pustovetov
Стаж: 17 лет Сообщений: 4255
|
Pustovetov ·
08-Май-10 09:57
(спустя 1 час 5 мин.)
Andreyua писал(а):
Цитата:
А зачем Вы его хотите изменить?
Ну во первых , у меня дорога под 23.970
А чем дорога для 24000/1001 отличается от 30000/1001? =) hint Перетяжка дорожек нужна когда имеем PAL<->NTSC потому что при обычном телекино чуть ускоряют или замедляют исходное кино c 24 fps до 25 и 24000/1001 соответственно.
Цитата:
Ну а во вторых 23.970 более стандартное и универсальное, к тому же я так и так буду кодировать этот трек, то почему бы и нет ...
24000/1001 должно получаться когда исходник было кино подвергнутое телекино преобразованию. Тогда выполняем обратное телекино (IVTC) и в частности выкидываем ненужные дублирующие кадры (даже не просто не нужные, а в прогрессиве если их оставить то на плавном движении будет подергивание + расход битрейта). Но если исходник был настоящее NTSC (к примеру видеокамера снимавшая в NTSC), то никакой децимации делать не нужно иначе выкинем кадры содеражащие информацию и опять же получим подергивание... Мораль, посмотрите если у Вас в видео один дубль в каждом "пятикадрии" =)
p.s. А бывает когда исходник то кинофильм, но трансфер в NTSC выполнялся такими прямыми руками, что обратно уже понизить частоту надо очень сильно напрячься ;(.
|
|
tartak
Стаж: 18 лет 8 месяцев Сообщений: 2548
|
tartak ·
08-Май-10 10:19
(спустя 21 мин., ред. 08-Май-10 10:19)
lehachuev
Mikky72 писал(а):
ВВС = Англия = PAL = 25 fps.
Т.е. было переделано 25 -> 29,97
Именно. И за такие переделки надо отрывать руки и все остальное. Обычно такими махинациями занимаются дешевые азиатские полуподпольные компании. Фильм был снят на пленку, но для показа по ТВ, в PAL Англии. Когда они вздумали выпустить этого Бида в Штатах, они взяли видео, а не исходную пленку, и перевели 25 fps в 29.97 самым непотребным способом - смешением полей. К счастью, все оригинальные поля на месте, надо "просто" отбросить смешанные (двоящиеся) поля (бывает и такое, что оригинальных полей не остается). Проблема в том, что смешанные поля идут в хитрой последовательности, которая к тому же меняется время от времени. Смешанные поля нужно детектировать, а не полагаться на определенную последовательность. Для этой цели существует замечательный скрипт srestore (скачайте с сайта avisynth). Он находит сдвоенные кадры и может отбросить их. Им же можно установить и окончательный диагноз. Поскольку он работает с кадрами, а не полями, а у нас двоятся именно поля, перед srestore должен идти боб (то есть, кадры разделяются на поля, которые растягиваются до полного кадра, с удвоением частоты). Бобов много - все деинтерлейсеры работают и как бобы. Единственное, деинтерлейсеры с компенсацией движения не слишком хорошо работают с двоящимися полями. Поэтому, используем что-нибудь типа yadifmod(mode=1, edeint=last.nnedi2(-2)). Итак, для анализа делаем
Код:
MPEG2Source("5q1eVTS_01_1.d2v")
yadifmod(mode=1, edeint=last.nnedi2(-2)).Crop(8, 0, -8, -0)
srestore(frate=29.97, cache=10, dclip=last.reduceflicker(strength=1))
mode=1 в yadifmod производит боб. Черные полосы по бокам сразу отрезаны, для улучшения детектирования сдвоенных полей. dclip в srestore служит для той же цели, но в принципе он не нужен.
Если теперь мы посмотрим на кадры, то увидим, что сдвоенные кадры ушли, но каждые 6 кадров один кадр повторяется. При любых идиотских операциях по смешению полей в пределах NTSC, все происходило бы группами по 5, и 6-му кадру было бы неоткуда взяться. Таким образом, мы имеем четкое доказательство, что исходник имел скорость 25 fps. Можно возникнуть желание выкинуть этот 6-й кадр, просто добавив в скрипт Decimate(cycle=6). Но тогда скорость бы упала до 24.975, а каждые несколько секунд возникал бы повторяющийся кадр. Правильней задать скорость в 25 fps в самом srestore. Итак, для рипа:
Код:
MPEG2Source("5q1eVTS_01_1.d2v")
yadifmod(mode=1, edeint=last.nnedi2(-2)).Crop(8, 0, -8, -0)
srestore(frate=25, cache=10, dclip=last.reduceflicker(strength=1))
BicubicResize(640,480,0,0.5)
Можно надеяться, что не будет ни дергаться, ни двоить, и гребенки не будет. И продолжительность не изменилась, со звуком ничего делать не придется.
В принципе, когда диагноз уже поставлен, почти точно такого же результата можно добиться и скриптом AnimeIVTC, который и использует yadifmod + srestore. Иными словами, вместо yadifmod и srestore, написать
Код:
AnimeIVTC(mode=2, normconv=true)
mode=2 направляет на борьбу со смешанными полями, normconv переводит из 29.97 в 25. Вот только обрезать поля после боба, но до srestore, уже не получится.
Дальше конечно можно (и нужно) бороться с шумом, поднять диапазон хромы, вообще поработать с цветом. И так далее. Но это уже из другой оперы.
|
|
Mikky72
Стаж: 17 лет 7 месяцев Сообщений: 8498
|
Mikky72 ·
08-Май-10 10:32
(спустя 13 мин.)
tartak
А по качеству картинки, что будет лучше - исходник NTSC (со смешанными полями) или восстановленный PAL (c учетом того, что реальное разрешение в 2 раза меньше - кадр восстановлен только из одного поля)?
|
|
tartak
Стаж: 18 лет 8 месяцев Сообщений: 2548
|
tartak ·
08-Май-10 10:40
(спустя 7 мин.)
Mikky72
Это же деинтерлейсный боб, а не простой. Так что, каждый кадр строится на основе всех доступных полей. Разрешение останется неизменным, а общее качество будет несравненно лучшим (я надеюсь).
|
|
Mikky72
Стаж: 17 лет 7 месяцев Сообщений: 8498
|
Mikky72 ·
08-Май-10 10:53
(спустя 13 мин., ред. 08-Май-10 10:53)
tartak
А как, например, восстанавливается кадр "b", если для него присутсвуют поля:
1) a1+b1 (интерполяция между верхними полями a и b кадров);
2) b2 (родное нижнее поле кадра "b");
3) b1+c1 (интерполяция между верхними полями b и c кадров);
а Вы пишете - "смешанные поля выкидываются"?
|
|
tartak
Стаж: 18 лет 8 месяцев Сообщений: 2548
|
tartak ·
08-Май-10 11:23
(спустя 29 мин., ред. 08-Май-10 11:23)
Mikky72
А ведь вы правы, 2/3 кадров будут восстановлены из только одного чистого поля. Для них разрешение упадет. Но сравнивать с разрешением раздвоенных полей в любом случае не приходится.
В принципе, потерянные поля можно восстановить - вычитанием. Для VCD есть такой скрипт, но он работает только для фиксированной последовательности. Чтобы это провернуть, надо модифицировать srestore, поскольку он смешанные поля выкидывает, заменяя их на лучшее из соседних. Не уверен, что что-то хорошее из этого получится - у меня сложилось впечатление, что даже веса при смешении не обязательно 1:1.
|
|
|