Привет, Гость ( Вход | Регистрация )


 
Reply to this topicStart new topicStart Poll

Каскадный · [ Стандартный ] · Линейный+

> вопрос к знатокам AviSynth-а

genpix
post Воскресенье, 20 Марта 2005, 21:55
Сообщение #1


Видеоман
********

Группа: Ветеран Team RDA
Сообщений: 4763
Регистрация: 22 Мая '01
Откуда: USA



2 Юзер   Цитировать


Есть TS поток с HDTV канала в формате 1920х1080i @ 29.97fps.
Анализируя поток (пошаговый просмотр полуполей) понял, что изначальная запись была в 1920х1080i @ 25fps.
Перевод 25->29.97 был сделан очень грамотно.
Никаких blending, прсто определенне поля повторялись.
Для перевода в 640x352 Divx я вообще могу выбросить каждое четное/ нечетное поле (как понравится). Оставшихся пикселей (1920х540) все равно хватит для ресайза.
Так вот, когда смотрю 1920х540p @ 29.97, вижу, что каждое шестое поле повторяет предудущее. Вроде легко бороться:

SeparateFields() # разбитие на полуполя
SelectEvery(12,2,4,6,8,10) # брать 5 последних (из 6) нечетных полуполей

вроде все работает.
Одна проблема, было бы все идеально, если б перевод был 25->30fps.
На самом деле перевод был 25->29.97fps, т.e. какие-то фреймы были dropped (а именно, каждый 1000-ый).
Поэтому описаный выше кусок скрипта в некоторых местах "сбивается", начинает выкидывать не то.

Кто нибудь с таким сталкивался?
Есть ли plug-in который находит повторяющиеся кадры в потоке?
его бы применить, и было бы все чики-пики...

PS:
Repal () не помог
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
genpix
post Воскресенье, 20 Марта 2005, 23:54
Сообщение #2


Видеоман
********

Группа: Ветеран Team RDA
Сообщений: 4763
Регистрация: 22 Мая '01
Откуда: USA



2 Юзер   Цитировать


сейчас читаю про FDecimate().
Похоже он может спасти отца русской демократии...

вроде такой скрипт дает наилучший результат:

SeparateFields()
SelectEvery(2,0)
FDecimate(rate=24.975,threshold=3)
AssumeFPS(25.000)


Отредактировано: genpix в Понедельник, 21 Марта 2005, 0:30
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
Bubble-Gum
post Понедельник, 21 Марта 2005, 21:48
Сообщение #3


Танкист со стажем
***********

Группа: Админы
Сообщений: 8012
Регистрация: 26 Сен '01
Откуда: Germany



2 Юзер   Цитировать


а так не пробовал?

function remove_6(clip c) {
...
SeparateFields()
SelectEvery(12,2,4,6,8,10)
...
}

AviSource("my.avi").remove_6

в функции пишешь что нить типа условия если фрейм х000 то...

biggrinold.gif


--------------------
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
kvappa
post Вторник, 22 Марта 2005, 0:57
Сообщение #4


Нанотехник с ключом на 12
***********

Группа: Админы
Сообщений: 9123
Регистрация: 14 Авг '01
Откуда: Альфа-центавра



2 Юзер   Цитировать


А просто через
Telecide(order=1,post=1)
Decimate(6)
что получается?

(ну если order=1, а не 0, разумеется)

Да, а каким именно образом затягивал видео в AviSynth? Тут тоже тонкости могут быть.

Отредактировано: kvappa в Вторник, 22 Марта 2005, 1:03


--------------------
Крокодилы ходят лёжа
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
genpix
post Вторник, 22 Марта 2005, 8:52
Сообщение #5


Видеоман
********

Группа: Ветеран Team RDA
Сообщений: 4763
Регистрация: 22 Мая '01
Откуда: USA



2 Юзер   Цитировать


Собственно,

SeparateFields()
SelectEvery(2,0)
FDecimate(rate=24.975,threshold=3)
AssumeFPS(25.000)


и

SeparateFields()
SelectEvery(2,0)
Decimate(6)
AssumeFPS(25.000)


дали почти одинаковые результаты.
Первый скрипт выдал поток на один кадр длиннее (это при 110 минутах видео).
Я просто где-то читал, что обычный Decimate иногда сходит с ума, когда попадаются статические сцены (заставка, например). А в этом видео как раз и были такие куски.
FDecimate, вроде лучше себя ведет (потому как ему насильно ставят частоту кадров).
Я не стал проверять, закодировал с первым способом.

PS: Telecide я не применял, так как четные поля вообще выкинул smileold.gif

Видео затягивал из d2v проекта, который слепил в DGIndex.
DGIndex хорошо справляется с Transport Streams (ТС или ТS): он распознает PID-ы и дает список, а уже нужные Видео и Аудио можно вручную выбрать по PID-ам.
User is offlineProfile CardPM
Go to the top of the page
+Quote Post
kvappa
post Вторник, 22 Марта 2005, 14:09
Сообщение #6


Нанотехник с ключом на 12
***********

Группа: Админы
Сообщений: 9123
Регистрация: 14 Авг '01
Откуда: Альфа-центавра



2 Юзер   Цитировать


2 userinfogenpix:
Ага, вот DGIndex - это правильно. В отличие от DVD2AVI, он не теряет некоторых полей, по крайней мере.


--------------------
Крокодилы ходят лёжа
User is offlineProfile CardPM
Go to the top of the page
+Quote Post

Reply to this topicTopic OptionsStart new topic
1 пользователей читают эту тему (1 гостей и 0 скрытых пользователей)
здесь находятся:
 

Lo-Fi Версия CMSBlog Сейчас: Понедельник, 29 Апреля 2024, 10:04