Member
Статус: Не в сети Регистрация: 23.02.2003 Откуда: Самара
Данная тема посвящена извечному вопросу. Нет, быть или не быть можно поискать в поиске, а в этой теме найдете ответы (или предложите свои) на вопросы : о кодировании видео, перекодировки видео из одного формата в другой и т.д.
FAQ по теме - http://forums.overclockers.ru/viewtopic.php?p=219601#219601. Обязателен к прочтению. Вопросы, на которые можно получить ответ в факе, будут удаляться. Особо рьянных будем одаривать картами и баннами.
Отредактировано куратором: Максим. Дата: 12.02.2007 19:31 Отредактировано куратором: SCIF-1986. Дата: 21.06.2007 1:53
_________________ Show yourself and die like a man
Member
Статус: Не в сети Регистрация: 10.11.2006 Откуда: Владивосток
Максим писал(а):
Скиф, я все еще жду ответа по поводу ваших любых скриптов с Жаруном.
Гм. Ну всё просто. LimitedSharpenFaster() - добавляет резкости соответственно, RemoveNoiseMC() - очень качественный шумодав с компенсацией движения, SeeSaw() - ("смотри пилу" что-ли??) тоже резкость, причём очень умная - на вход нужно подавать ещё и сам шумодав, но с ним не разбирался.
Degrainmedian(mode=0) - это самый сильный режим работы. Не советуется его юзать.
_________________ http://scif.net.ru/ Перевод контекстной справки MeGUI (согласован с RBF'ом и MuTeK'ом)
"Чтобы попасть в Рай, нужно переплыть Лету."
Advanced member
Статус: Не в сети Регистрация: 10.04.2003 Откуда: Москва
SCIF-1986, они все нелинейные, кроме .... Если я правильно понимаю суть работы фильтра FFT***, то это работает на эффекте разожения волны в спектр. (строки/столбци - это те-же волны аналогового сигнала). Дальше применяется принцип, аналогичный сжатию звука MP3 - выкидываются компоненты с слабой энергетикой (sigma), зарезаются или завышаются ВЧ компоненты (sharpen), после этого спектр обратно перегоняется в волну. Взаимно однозначно можно преобразовать волна-спектр-волна, но только при неизменном спектре. Волна-спектр-модификация-волна уже будет 'не то'. Грубо говоря, начинаются проблемы с фазами сигнала (точнее, множество сигналов) волны. Степень агрессивности выкидывании мелкого сигнала - это алгоритм уменьшения амплитуды точек в спектре.
Можно просто уменьшать, можно отдавать ее 'энергию' соседним точкам спектра. Правильнее второе.
Повышение четкости работает аналогично (наверно), только наоборот. Т.е. по некоторому закону повышается амплитуда точек спектра в ВЧ части спектра. (гм, тут еще надо понять, как резко наступает этот кретерий "ВЧ" спектра)
Главный недостаток FFT фильтрации - из-за внесения изменения в спектр волна восстанавливается не с той фазой, что была изначально. Т.к. блок не захватывает весь кадр, то наложение между блоками _есть_. Как способ устранить фазовое дрожжание можно предложить частично накладывать блоки между собой с последующим усреднением. (Ээээ, вроде так и есть )
Чем больше размер блока, тем точнее считается волна и тем меньше фаовый сдвиг в соседних блоках. Кусреднение между блоками - это есть размазывание. Т.е., смысл в увеличении блока есть и я его вижу. При переходе от 32 к 64 существенно уменьшается размазывание. (напомню - величина размазывания есть величина внесения изменения в спектр. Т.е. чем больше внесли коррекции фильтром, тем больше мыло).
Если у _этой_реализации_ FFT столько недостатков, но нафига он нужен? Эть ...
Это единственный способ восстановить первоначальный сигнал.
Если имеется сигнал вида 1 1 1 1 1 1, а нам оцифровали его в виде 1 1 * 1 1 1, то что сделают обычные фильтры?
Обычные фильтры сделают из него 1 1 _ 1 1 1, ибо у них нет кретерия о наличии точки. Преобразование сигнала в спектр и возврат назад скажет, что в месте * на предыдущем и последующем кадре было 'что-то'.
Тэкс, у меня проблемы с 'об'яснить'. Если не поняли, sorry.
SCIF-1986, когда я сравнивал работу фильтров, то, в том числе и методо вычитания кадров до и после обработки. Т.е. видно только то, что фильтр убирает из кадра. В этом отношении degrainmedian очень сильно искажает кадр. Это была основная причина, почему я вместо него часто применял vaguedenoiser. Потом обозвал себя крeтином и стал смотреть на реальную картинку. То, что degrainmedian заметно, но не особо важно. Для vaguedenoiser вышло наоборот - на тестах не заметно, но из-за высокой добротности он очень сильно вытирает мелкие детали.
О нелинейности - если фильтр работает с яркостью (цветом) пиксела и рукаводствуется кретерием брать-заместить-усреднить с яркостью другого пиксела, то это нелинейный фильтр. Он вносит нелинейные искажения в сигнал. В отличии от них FFT вносит изменения только в спектр сигнала.
Конечно, можно сказать, что это одно и то-же .... только разницу я вижу глазами. Нелинейные фильтры дают искажения типа есть/нет в виде скачкообразного появления и пропадения сигнала/свойств. (Дефект жуткий, лучше уж шум.)
Есть фильтры, в которых нет явных порогов, там кретерий компенсации описывается некоторым законом изменения свойств от сигнала. Результаты иногда хорошие.
Последний раз редактировалось serj 21.06.2007 13:45, всего редактировалось 1 раз.
Member
Статус: Не в сети Регистрация: 16.09.2004 Откуда: Chelyabinsk
Максим
Цитата:
Скиф, я все еще жду ответа по поводу ваших любых скриптов с Жаруном.
mvdegrain2. Пример скрипта бери из документации и крути размер блока и пороги. По LimitedSharpenFaster(): smode=3, суперсэмплинг (ss)= 1.5, и крутишь силу strengh. Я в 90% люблю 50. Эффект смотри subtract'ом. Про RNMC ты и сам в курсе. И вот только не надо писать про его скорость. Знамо, медленный, но классный.
ЗЫ: Если писать влом ник по-англицки, то можно просто Сергей.
Member
Статус: Не в сети Регистрация: 05.01.2003 Откуда: Москва Фото: 2
SCIF-1986 Значит mode=5 и mode=0 между собой перепутал. Ну ок, типа буду все заново вспопинать и изучать. Видимо из-за работы так давно ничего не кодил, что все забыл.
А по поводу SeeSaw - не пользую его, все-таки LimitedSharpenFaster получше будет (правда ИМХО) и пользую я часто. Добавлено спустя 5 минут, 48 секунд Zharun RemoveNoiseMC - да, очень качественный, но он настолько медленный и его начинает плющить от MT. А про mvdegrain2 надо заново читать, например того же Физика. А я Максим Правда я все-равно быстро все забываю, так что потом опять напомнишь, как тя зовут.
_________________ Устав традиций нужно соблюдать, Хоть и не раз ответят вам отказом: Конечно, баба может и не дать, Но предложить ты ей всегда обязан!
Member
Статус: Не в сети Регистрация: 05.01.2003 Откуда: Москва Фото: 2
Zharun Ну я люблю когда все быстро или задействуется полностью все возможности, которые доступны на этот момент. А mvbob зачем пользуешся? Я просто вообще им никогда не пользовался.
Цитата:
Заберите "пролетающего финна" обратно и продайте нам негра, ну пожалуйста!!
Финна заберем, а негра не отдадим. Забирайте лучше испанца, такой нам не нужен.
_________________ Устав традиций нужно соблюдать, Хоть и не раз ответят вам отказом: Конечно, баба может и не дать, Но предложить ты ей всегда обязан!
Member
Статус: Не в сети Регистрация: 05.01.2003 Откуда: Москва Фото: 2
Zharun Ну я тоже качество люблю, но когда качество бывает еще и как можно быстрее получено. Ведь можно по идее и то, и другое совместить. Надо только найти решение.
mvbob это который в виде скрипта или он в mvtools есть? Как им пользоваться, то бишь давай параметры для различного видео.
_________________ Устав традиций нужно соблюдать, Хоть и не раз ответят вам отказом: Конечно, баба может и не дать, Но предложить ты ей всегда обязан!
Member
Статус: Не в сети Регистрация: 25.11.2003 Откуда: Санкт-Петербург
Zharun Давай ,давай параметры ,а то я в связи с кучей жизненных обстоятельств то-же давно нормально не кодил и половину перезабыл Mvbob - он лучше чем TomsMoComp ? И ещё сразу назрела тема - для применения RNMC к интерлейсному материалу ,надо сначала его разложить на поля ,очистить ,а затем собрать ,если я ничего не путаю.
Добавлено спустя 3 часа, 16 секунд Так пойдёт? Это чуть добавленный скрипт из описания avs от Физика (шумодав поменян на rnmc и добавлен colormatrix. Чуть не забыл - источкик DV. Нужна-ли здесь строка с colormatrix ???
AviSource("e:\1-1.avi")
ConvertToYV12(interlaced=true)
Separatefields()
colormatrix()
Even = SelectEven() # Выделяем четные (0,2,4…) поля в переменную Even
Even = mq_filter(Even) # фильтруем четные поля и замещаем результатом
Odd = SelectOdd() # Выделяем нечетные (1,3,5,…) поля в переменную Odd
Odd = mq_filter(odd) # фильтруем четные поля и замещаем результатом
Interleave(even, odd) # чередуем четные и нечетные поля,
# собирая исходную последовательность (0,1,2,3,4,5…)
Weave() # соединяем поля
Member
Статус: Не в сети Регистрация: 10.11.2006 Откуда: Владивосток
Игорь Т. писал(а):
Чуть не забыл - источкик DV. Нужна-ли здесь строка с colormatrix ???
Нужно смотреть по цветовому стандарту используемому в твоём dv. В доке (русской кстати) всё написано. А вообще - colormatrix() нужно ставить сразу после фильтра-источника (плевать на интерлейс)!!
_________________ http://scif.net.ru/ Перевод контекстной справки MeGUI (согласован с RBF'ом и MuTeK'ом)
"Чтобы попасть в Рай, нужно переплыть Лету."
Member
Статус: Не в сети Регистрация: 25.11.2003 Откуда: Санкт-Петербург
Zharun писал(а):
Ничего поделать не могу.
А как-же твой принцип - главное качество ,но это я так - отвлёкся ToALL Кто-нибудь пользовался DV кодеком Сedocida 0.1.7 (freeware) ? Он напрямую работает в Yv12 - теоретически можно избежать преобразований цветового пространства ,что само по себе хорошо. Но вот как он сам по себе ,как кодек? Может кто-то практически уже с ним работал ? Толковых отзывов не нашёл.
Вопрос у меня, я думаю, не из области FAQ, а может и ответ на него настолько тривиален и лежит на поверхности, что мне новичку в упор не видно,
вот какой:
Имеется DVD рекордер, которым пишу ТВ с макс. доступным качеством видеокартинки (режим XP), в результате чего получаются файлы DVD-Video, насколько я понимаю (т.е. BUP, IFO, VOB), такие, что видеоролик на 1 час занимает ок. 4,2Гб. Сначала научился сжимать Divx-кодеком (GKnot, VirtualDub, DVD2AVI и т.д.), а потом только понял, что мой несчастный плейер читает Divx-файлы только на CD! (что хотели этим сказать создатели, мне не понятно, может они так с пиратством борются?)
Решить задачу просмотра записанного видео можно, двигаясь по крайней мере 2-мя путями:
1) Записывать сжатые Divx-ом файлы на DVD-R/RW, но обмануть плейер так, чтобы он понимал его как CD (не знаю, возможно ли это, но для меня в данный момент эта задача нерешаема)
2) Записывать VOB-ы, но также ужав их раза в 1,5-2 и желательно без заметного ущерба картинки.
Возможно ли это? (т.е. грубо говоря, записанные рекордером VOB-ы сжимать и на выходе также получать VOB-ы, не конвертируя их в MPEG4 и потом обратно в MPEG2 (уже пробовал Nero-й Vision). Каким софтом лучше делать? какие настройки выбирать? (желательно еще бы черные полосы по краям обрезать, но это наверное можно сделать VirtualDub-ом, если не ошибаюсь?)
Прошу сильно не ругаться - в поиске был, ничего подобного не нашел, всё в основном обсуждается DVD->MPEG4 и наоборот.
Спасибо за участие! Извините, что сумбурно излагаю - я не проф и даже не любитель, начал заниматься в первОй.
Member
Статус: Не в сети Регистрация: 20.10.2005 Откуда: kiev
Скажите, чем открыть битый avi? Кодился divx 6.5.1 pro на двухпроцессорной машине, да не докодился - ребутнуло машину. Источника нет. Dub Говорит "Cannot detect source type". И всё тут. Чем его пофиксить можно?
DVDate выдаёт вот такой RIFF заголовок файла:
--------------- Start of Avi RIFF ---------------
>>> There are 08E18E00 bytes of garbage at the end of the file
Сейчас этот форум просматривают: Nick57 и гости: 11
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения