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
Вы не можете начинать темы Вы не можете отвечать на сообщения Вы не можете редактировать свои сообщения Вы не можете удалять свои сообщения Вы не можете добавлять вложения