Printable Version of Topic
Click here to view this topic in its original format |
Forums > Работа с видео и аудио > Опять нужен совет по "сглаживанию" картинки |
Posted by: gunnar_at_home on 22-05-2006, 23:52 |
В общем, было тут годика 1.5-2 назад общение по фильтрам для явно неидеальной картинки. Помню, решение было - "что получится сгладить фильтрами, а нет - нафиг" ![]() Сейчас вот наблюдаю такую картину: ![]() Видимые продольные полосы по экрану. Причем такое скверное изображение приходит еще от поставщиков ТВ-сигнала (а отказаться нельзя... ну разве что заменой на "тарелку"). cnr/dnr неплохо "размывают" картинку, но чей-то слишком уж размытая выходит... |
Posted by: Set on 23-05-2006, 18:40 |
Полосы двигаются? |
Posted by: valja on 23-05-2006, 20:39 |
Очень похоже на помеху от другого канала (и полосы, скорее всего, двигаются). Тут может помочь convolution3D() от Avisynth. Мне помог исправить пилота Пиркса, имевшего аналогичную помеху. Установки придется ставить весьма крутые, что то около convolution3d(0,16,24,10,10,3,0) Но в любом случае их придется подбирать. |
Posted by: gunnar_at_home on 25-05-2006, 11:59 |
Ага, двигаются. В динамике! В основном, правда, как дождь, т.е. полосы, слава богу, по горизонтали не смещаются. Спасибо за совет по AviSynth, дельный, но мне перестраиваться на другие проги при моей консервативности, в общем-то смерти подобно ![]() Да, это не то что помехи, "убивать" за такое надо провайдеров, у них через канал дикие помехи... А переходить если на "тарелку", то это целая система, поскольку тогда планируется и покупка хорошего тюнера на 4-8 выходов и ДВД-рекордера, очень желательно с винтом, авторить я и сам смогу уж. Впрочем, наступит скука, поскольку вдаб канет в лета ![]() |
Posted by: sdandrey on 27-05-2006, 12:03 |
в VirtualDub тоже есть подобные фильтры,поиши на сайте VirtualDub ты уверен,что проблема не у тебя с кабелем,по картинке такое ощущение,что кабель не заземлён или кабель левый |
Posted by: gunnar_at_home on 27-05-2006, 12:37 |
Уверен, что проблема с провайдером ![]() Так что каким бы не был кабель, ничем это не поможет ![]() Или ты про 75Омный, толстый, который по дому? Да явно "левый" ![]() Щас временно решил так - заземлил фильтр-удлинитель, по-научному заземлил, да, забыл сказать, что я устав бороться с Вика-ТВ прикупил активный усилитель, включенный в тот удлинитель, и изображение более-менее улучшилось, по крайней мере нет продольных помех, которые были (продольные полосы, спускавшиеся по экрану). |
Posted by: sdandrey on 27-05-2006, 18:09 | ||
кста,проверь еще,может они плохо кабель,входящий в твою квартиру к общему усилку прилепили.ети проблемы только у тебя или у остальных трёх человек тоже? |
Posted by: Set on 27-05-2006, 19:47 | ||
|
Posted by: valja on 27-05-2006, 23:27 | ||
![]() AviSource(film.avi) ConvertToYUY2() Convolution3D(0,16,24,10,10,3,0) У Дуба точно такого фильтра нету - ависинтовский Convolution3D исползует текущий, предыдущий и последующий фреймы. А в фильтрах Дуба учитывать последующие фреймы очень трудно - выход видео будет запаздывать по сравнению со входом. Это делает, например, TemporalSmoother, но он встроенный и тут Дуб учитывает запаздывание видо на три фрейма. А с внешними фильтрами это сложнее. Имеющийся "general convolution 3d" работает с текущим и двумя предыдущими фреймами (они просто запоминаются в буфере и запаздывания видео не происходит). Кроме того, тут просто конволюция и нет порогов, задаваемых в ависинтовском фильтре. |
Posted by: gunnar on 02-06-2006, 20:05 |
2 Set: Конечно, выкину ![]() 2 valja: Тады, честно признаюсь, не понял ![]() Просто как я понимаю - должен быть Ависинх, который будет работать какое-то время и на выходе даст новые авишки, которые потом уже можно обрабатывать. Или же не совсем так? |
Posted by: valja on 02-06-2006, 23:08 | ||||||
Не совсем так. Avisynth не дает на выходе авишников. Это, по сути, фреймсервер, который может попутно обрабатывать картинку. Выход Avisynth передается другой программе, тому же VirtualDub. Вся работа Avisynth определяется скриптом - текстовым файлом с расширением avs. В нем описано, какой файл и как открывать, и как обрабатывать. Данный скрипт открывается тем же VirtualDub - то есть, Дуб так и так нужен и запись AVI файла производится Дубом. Например, файл film.avi можно открыть прямо в VirtualDub, а можно написать скрипт film.avs, состоящий из одной строки:
Этот скрипт можно открыть в Дубе, точно так же, как и film.avi напрямую. При открытии скрипта запускается Avisynth, который декодирует картинку и звук и передает их дубу. То есть, для Дуба ависинтовский скрипт представляется как AVI файл. Но Avisynth может и обрабатывать картинку. Там есть много фильтров, выполняющих те же функции, что и аналогичные фильтры Дуба. Например, ресайз кадра к размеру 512х384 можно делать в Дубе, а можно и скриптом
Avisynth откроет видеофайл и передаст Дубу уже кадр размером 512х384. Но у Avisynth есть и ряд фильтров, аналоги которых у Дуба отсутствуют, например, тот же Convolution3d(). В этом случае приходится открывать файл Дубом не напрямую, а через Avisynth, в скрипте которого записаны нужные фильтры и их параметры. Сглаживание есть и в Генке, но, опять таки, не такое, как в Дубе и у Avisynth. Convolution3d() у Генки нету. |
Posted by: gunnar_at_home on 04-06-2006, 00:07 | ||
Усилитель какой-то вообще странный там, вроде дореволюционный. ![]() Невозможно залезть в щитовую без их ключа... ![]() |
Posted by: gunnar_at_home on 05-06-2006, 23:46 |
Че-то, наверное, я не понял ![]() Но в моем 1.5.10 virtualdub не прописано открытие скриптов Avisynth..., а при открытии написанных .avs вообще виснет, намертво. У меня пока недоверие к дабу 1.6.х, но если токо в нем такое возможно - перейду... Либо же пути где-то не прописаны (хотя Ависинт установил нормально, длл-ку с Конволюшн кинул в каталог плагинов)... Жаль, в Генке нема возможности выполнить скрипт Ависинт... Ну да ладно, смотрю, что картинка такая же как и в непакованном видео, т.е. с простым неразмытым "дождем". |
Posted by: grif on 06-06-2006, 00:13 |
gunnar_at_home кинь свой скрипт для Avisynth глянуть , может у тебя там что-то не правильно прописано . твой дуб должен есть Avisynth |
Posted by: sdandrey on 06-06-2006, 00:20 |
Основы использования утилиты AviSynth при обработке видео (http://www.ixbt.com/divideo/avisynth1.shtml Описание утилиты AVISynth. (http://www.kage.orc.ru/docs/avisynth/index.htm |
Posted by: gunnar_at_home on 09-06-2006, 23:31 |
AviSource(20060604-104856.avi) ConvertToYUY2() Convolution3D(0,16,24,10,10,3,0) Вот скрипт, вроде все ОК. Да меня удивило, что среди понимаемых вдабом расширений не было .avs, это уже настораживает... |
Posted by: gunnar_at_home on 22-06-2006, 22:11 |
Наверное, надо было сразу показать ошибки, а то, получается, спрашиваю совета в том, о чем все могут лишь догадываться ![]() Кстати, скрипт открыл, только вне логичности, открываются они как и открытие видео-файла, я ж пытался открыть скрипт... Итак, изменил код, дабы уж точно быть уверенным в синтаксисе: AviSource("i:\20060604-104856.avi") ConvertToYUY2() Convolution3D(0,16,24,10,10,3,0) Дальше (1) - virtualdub 1.5.10, (2) - virtualdubmod 1.5.10. (1) - выдает ошибку: http://f1up.com.ua/avs_err_1.jpg (http://f1up.com.ua/avs_err_1.jpg что ж, видимо проблема с несовместимостью AviSynth 2.5 c VirtualDub 1.5.10, т.к. как бы ни делал первую строку, все равно ругается на .avi ... (2) - ошибка: http://f1up.com.ua/avs_err_2.jpg (http://f1up.com.ua/avs_err_2.jpg О, уже лучше! Файл заметил, вторая строка тоже ОК, а вот на YUY2-конверсию (строка 3) ругается. В принципе, граб настроен на YUY. Какие будут советы? |
Posted by: Set on 23-06-2006, 12:46 | ||
![]() |
Posted by: gunnar_at_home on 24-06-2006, 00:35 | ||
![]() Так мне ж пользователь valja и посоветовал проюзать Конволюшен. Как единственный вариант. Есть еще скрипт для RGB, но у меня именно YUY используется при записи с эфира. |
Posted by: agor on 27-06-2006, 18:22 |
А скачать Convolution3D c avisynth.org (http://www.avisynth.org/warpenterprises/ не судьба? (Convolution3D из GK не работает в YUY2) |
Posted by: gunnar_at_home on 28-06-2006, 22:58 | ||
![]() Я скачивал все фильтры на avisynth.org и только там! Гордиан я вообще ни в какую не трогал... Только что заметил, что в ошибке вообще значится YV2. Странная цветовая группа, таковой не встречал. А граблю в YUY2. Вообще странно все это. Кстати, кстати... а может ли это быть из-за того, что я положил в каталог плагинов как convolution3d_25_dll_20030422 так и convolution3dyv12_25_dll_20030329 (вернее, .dll из этих Архивов)? Может оно реально берет 2-ю dll? Ладно, завтра уберу и гляну. Но почему не работает в VirtualDub, а токо в VirtualDubMod??? |
Posted by: agor on 28-06-2006, 23:43 | ||
|
Posted by: gunnar on 04-07-2006, 18:30 |
Все точно так и объясняется - именно наличием двух плугинов ![]() ![]() Впрочем, улучшилась картинка не особо... Ну здесь уж не боги, чай... ![]() |
Posted by: gunnar_at_home on 03-05-2007, 19:34 |
Не буду создавать еще тем ![]() Вот фреймы: ![]() ![]() Видно, что "идет дождь". Исправить в авишках более-менее получилось, что правда - картинка размытая несколько... Решил сделать в ДВД - как было в тот момент на экране ТВ, так и на ДВД, что вызывает оптимизм ![]() Пока юзаю Генку, какие в ней фильтры отвечают за убирание "артефактов"? Или же использовать иной софт? |
Posted by: gunnar_at_home on 17-05-2007, 20:00 |
Никто не слышал о таких фильтрах? ![]() |
Posted by: valja on 17-05-2007, 21:20 |
Как я понял, исходник ДВД и результат нужен тоже в ДВД? Если так, то придется перекодировать рипнутый воб. Запись сделана с ТВ, и эти полосы типичная помеха другого канала. Если результат Convolution3D() подходил по качеству, то можно попробовать использовать его и тут. Но мороки будет немало. Воб открывается скриптом avisynth. Для этого нужен пакет DVD2AVI + MPEG2DEC3 (http://avisynth.org/warpenterprises/files/dgmpgdec148_20060720.zip от neuron2 (вся страница фильтров тут (http://avisynth.org/warpenterprises/). Программой DGIndex.exe делается файл film.d2v (попутно получим и mp2 звук), далее этот d2v открывается в avisynth: LoadPlugin("c:\DGDecode.dll") MPEG2Source("planeta.d2v",cpu=0,iPP=true) ConvertToYUY2() Convolution3D(параметры надо подбирать) В первой строке указывается путь на плагин DGDecode.dll. Параметры Convolution3D могут быть около того, что было ранее, их придется подбирать. Далее ависинтовский скрипт открывается в Дубе. Теперь идем в "File" -> "Start frame server", там "Start" и в следующем открывшемся окошке пишем имя vdr файла (например, film.vdr). После этого этот film.vdr открываем в TMPGEnc и кодируем MPEG2 для ДВД (звук берем готовый mp2). То есть, для кодироваиня получается такая цепочка - avisynth открывает vob, используя подготовленный ранее film.d2v. Ависинтовский скрипт открывается Дубом, в Дубе запускается фреймсервер и пишется очередной файлик - film.vdr, а этот файлик скармливем Генке (не выключая, естественно, Дуб ![]() |
Posted by: gunnar_at_home on 18-05-2007, 17:08 |
2 valja: Не, исходник тот же, о котором говорили в начале темы - а именно мпег-4, несжатый! |
Posted by: valja on 18-05-2007, 22:40 |
Если устраивают фильтры avisynth (тот же Convolution3S() ), тогда пишешь avs скрипт и открываешь его Генкой. Генка работает с avs скриптами так же, как и VirtualDub. Если же в дополнение (или вместо avisynth) хочется воспользоваться фильтрами VirtualDub, то после открытия фильма Дубом (напрямую или через avs скрипт) запускается фреймсервер, создается Дубом vdr файл и этот vdr файл открывается Генкой (то есть работа с vdr файлами такая же, как и с avs скриптами). |
Posted by: gunnar_at_home on 25-05-2007, 21:35 |
Спасибо. Исчерпывающий ответ! Впрочем, фильтры не особо изменили картинку. Увы, но там не только прямые вертикальные полосы. Там явно э/маг наводка. Что же, более не буду писать с эфира, пока не поставлю "тарелку". ![]() |