Ru-Board.club
← Вернуться в раздел «Программы»

» AviSynth

Автор: himand
Дата сообщения: 07.08.2006 02:45
Писал недавно в теме VirtualDub меня направили сюда.
Вопрос такой возможно AviSynth сделать такую штуку:

Беру одно видео


Беру другое видео



Мне нужно их слить чтоб вышло такое видео



Если возможно, то подскажите скрипт
Автор: unreal666
Дата сообщения: 07.08.2006 03:13
himand
Ты хоть саму прогу скачал? Если скачал, то пиши какую версию. У разных версий немного отличается синтаксис некоторых команд.
И напиши, какие размеры у этих видео и их длина. Это чтобы сразу под твои нужды подгонять.
Автор: himand
Дата сообщения: 08.08.2006 01:10
unreal666
Версия 2.5.7 Я там в хелпе что то прочитал, но не то. Размеры и длину напишу завтра, а то я ночью шас пишу и нет времени шас вычислять размер и длину.
Автор: himand
Дата сообщения: 09.08.2006 02:23
Вот посмотрел что и как и надо мне сделать такое:
Есть видео клип 530х424

И есть другое видео 530х100

Нужно наложить второе видео на первое (что б лого забрались из клипа).
Второе видео было взято совсем из другого клипа и Я заметил что оно поярче первого, может можно как то первое видео сделать по цветней, что б они совпадали цветами.

Второе видео нужно посунуть на самый верх первого
Автор: unreal666
Дата сообщения: 09.08.2006 03:24

Цитата:
может можно как то первое видео сделать по цветней, что б они совпадали цветами.

В AviSynth много чего можно. У него только около 90 базовых фильтров, а еще до фига внешних. Ты документацию читал? Там даже на русском языке есть.

И кстати. Каким кодеком закодировано видео и в каком контейнере?
Просто в зависимости от контейнера и кодека нужно использовать разные команды для открытия видео.

И ты не можешь куда-нибудь скинуть куски этих видео (секунды по 2 каждый)? Чобы прямо на них экспериментировать.
И где ты откопал нижнее видео, состоящее только из одной полоски? И кстати, это нижнее видео на протяжении всего видео меняется ? И длительность у их видео одинаковое?
Автор: himand
Дата сообщения: 10.08.2006 01:59

Цитата:
ы документацию читал? Там даже на русском языке есть.

Документацию читал пару часиков почитал, посмотрел. Так в основы влился что к чему, а так что б сильно читать не читал.


Цитата:
И кстати. Каким кодеком закодировано видео и в каком контейнере?

Сейчас это .mpg и с раcшырением 528х576. (Приходится делать рисайз в Дабе.) Но Я его в чистое .avi хочу перекодировать, потом их склеить или наложить, а потом в Xvid


Цитата:
И ты не можешь куда-нибудь скинуть куски этих видео (секунды по 2 каждый)?

Завтра скину


Цитата:
И где ты откопал нижнее видео, состоящее только из одной полоски? И кстати, это нижнее видео на протяжении всего видео меняется ? И длительность у их видео одинаковое?

Я эту полоску сделал сам в ВиртуалДабе из другого видео сделал урезание. И она така я же как и в первом видео, только без логотипов и немножко по цветней (выложить полоску и видео или два видео?)

Хочу еще добавить что с видео и с полоской есть небольшая не стыковочка(в полоске есть по боках еще маленькие черные полосочки, а в первом видео нут их. Придется немного растянуть полосочку, я думаю что это итак не будет заметно)
Автор: unreal666
Дата сообщения: 10.08.2006 06:22

Цитата:
Сейчас это .mpg и с раcшырением 528х576. (Приходится делать рисайз в Дабе.) Но Я его в чистое .avi хочу перекодировать, потом их склеить или наложить, а потом в Xvid

Зачем потом? Ведь при склеивании тебе опять придется перекодировать.
Все можно в самом Ависинте сделать. В том числе и обрезку, ресайз и все остальное. Фильтры Ависинта в основном работают с форматами YUY2 и YV12, т.е. в родном формате большинства кодеков. И поэтому при кодировании в VD можно кодировать в режиме 'Fast Compress', т.е. без двойного перекодировани цветового пространства (YUY2(или YV12) <-> RGB32), если не собираешься использовать фильтры VD.

Цитата:
выложить полоску и видео или два видео?

Можешь и 1-ое и 2-ое и 3-е. Только в родном формате mpg.

И ты так и не ответил. Какая длительность у этих видео?
Автор: himand
Дата сообщения: 10.08.2006 20:57
Длительность точно не знаю, ну где то как стандартный видео клип. ночью напишу поточнее.
Автор: himand
Дата сообщения: 11.08.2006 03:27
Длительность клипов 4 мин 0 сек а точнее (0:04:00.439)
Вот ссылка на первый клип и на второй (я их в .avi скодировал, не мог .mpg порезать, а целые клипы не мог выложить т.к. на модеме сижу)

Ты там что то писал про контейнеры, а что это такое?
Автор: unreal666
Дата сообщения: 11.08.2006 05:59
himand
А mpg - это MPEG1 или MPEG2? А то уже давно не кодировал файлы с таким расширением. (в основном VOB).

Цитата:
целые клипы не мог выложить т.к. на модеме сижу)

Я сам на модеме, поэтому качать буду ночью (через 12 часов). У меня ночью бесплатно (тариф ROL 20)

Цитата:
Ты там что то писал про контейнеры, а что это такое?

Контейнер - метод "упаковки" видео в файле, иначе говоря "контейнер". Для извлечения из контейнера потоков видео, аудио и субтитров и их разделения используются специальные библиотеки Windows – сплиттеры, или демультиплексоры. Контейнеры - avi, mkv, mp4, ogg, asf, wma и т.д.

Поддерка:
* AVI: видеокодек - не все, аудиокодек - wav и mp3 (через жопу, особенно с переменным битрейтом)
* MKV, MP4: видеокодек - почти любой, аудиокодек - почти любой, субтитры, меньше избыточных данных (overhead) и многое другое. Недостатки - не проигрываются на стационарных DVD-проигрывателях.
* Насчет других не знаю.

Я в основном кодирую в контейнер mkv (для распаковки этого контейнера есть сплиттер Haali Matroska Splitter). Т.к. аудио я в основном перекодирую в формат Vorbis (*.ogg) (в ogg с битрейтом 96 качество лучше, чем mp3 с битрейтом 128), а avi этот аудиоформат не поддерживает.

А вообще мог бы поискать в гугле.
http://itc.ua/article.phtml?ID=23928&IDw=45&pid=20#g7zконтейнер0
http://www.hot.ee/andreichb/codek.html
http://codecs.org.ua/voice.html


Автор: unreal666
Дата сообщения: 14.08.2006 18:08
himand
Вот тебе скрипт

Код: # Т.к. ты дал мне видео в avi-формате, то я использовал фильтр AVISource
# Родное видео в mpg формате, поэтому тебе надо использовать фильтр DirectShowSource()
# или MPEG2Source, но источником для фильтра MPEG2Source являются файлы c расширением
# d2v, которые создаются прогой DGIndex.
# Этот фильтр MPEG2Source подключается плагином DGDecode.dll, который поставляется с прогой DGIndex.
video1 = AVISource("1.avi")
video2 = AVISource("2.avi")
# Используй один из двух фильтров для ресайза
#video1 = video1.LanczosResize(512,64,20,16,504,100)
video1 = video1.Spline36Resize(512,72,20,16,504,100)
# Используй один из двух фильтров для ресайза
#video2 = video2.LanczosResize(512,368,0,4,528,568)
video2 = video2.Spline36Resize(512,368,0,4,528,568)
# Повышение насыщенности
video2 = video2.Tweak(sat=1.2)
# Наложение 1-го клипа на 2-ой
out = Overlay(video2,video1)
# Приведение к стандарту CCIR 601
out = out.Limiter()
return out
Автор: Tarakanov_Igor
Дата сообщения: 15.08.2006 04:49
Попутный вопрос, а как сделать растворение в видео при смене сцен (можно вручную выставлять номера кадров), растворение со стоп кадром на конце и переходом в такой же стоп кадр другой сцены и\или без стоп кадров, а просто растворение?
Автор: himand
Дата сообщения: 17.08.2006 01:52
unreal666
Большое спасибо на днях попробую.
Автор: Matrosking
Дата сообщения: 18.08.2006 20:47
Объясните пожалуйста, как удалить объект (лого) из кадра ависинтом? (Есть XLogo конечно, но как им пользоваться - загадка не для средних умов!)
Автор: Yourbill
Дата сообщения: 18.08.2006 21:36
Matrosking
Лого из кадра можно только при помощи плугина и поновому пережать при этом все видео. Плугин (не помню как назывваетсят) анализирует пиксели рядом с логотипом и проанализировав пытается на место логотипа (субтитров) подставить более подходящие по цвету пиксели. Иногда получается довольно сносно.
Ависинтом можно разве только по верху того лого который тебе мешает свой влепить
Автор: Matrosking
Дата сообщения: 18.08.2006 21:47
Вот что написано на Думе по этому поводу:
[more]There is an AviSynth logo-removal called Xlogo. In AviSynth you will have to enter the parameters manually (I recommend to use VirtualdubMod's script editor to adjust the parameters of Xlogo). Note that this plugin converses internally to RGB32, since this is the only format with an alpha channel (at least in all versions up to AviSynth v2.52). Also, the mask must have an even width/height.

But IF you decide to use AviSynth v2.5x and feel up to the task of manually specifiying the parameters in your AviSynth script, here's what you will have to add to your script:

Where all the other plugins are loaded:
LoadPlugin("c:\yourplugindir\xlogo.dll")

After deinterlacing:
Xlogo(Clip, filename, X, Y, ALPHA, T1, T2, T3, B1, B2, B3, WHITE, SIDE, SCENE, FEATHER, NOISE)

Here's how a complete configured Xlogo command could look like:

AviSource("e:\pdwork\atomic.avi")
Telecide() # or some other deinterlace method
Xlogo("e:\guides\000000.bmp", 530, 38, 0) # Xlogo converts internally to RGB32

Afterwards proceed as described in the AviSynth post processing guide.

А это корявый машинный перевод, который картину не проясняет:

Есть удаление эмблемы AviSynth по имени Xlogo. В AviSynth Вы должны будете войти в параметры вручную (я рекомендую использовать редактора подлинника Виртуолдубмода, чтобы приспособить параметры Xlogo). Отметьте, что это вставной разговаривает внутренне к RGB32, так как это - единственный формат с алфавитным каналом (по крайней мере во всех версиях до AviSynth v2.52). Кроме того, маска должна иметь даже ширина/высота.

Но ЕСЛИ Вы решаете использовать AviSynth v2.5x и чувство до задачи вручную specifiying параметры в вашем подлиннике AviSynth, вот - то, что Вы должны будете добавить к вашему подлиннику:

Где все другие plugins загружены:
LoadPlugin ("c:\yourplugindir\xlogo.dll")

После deinterlacing:
Xlogo (Скрепка, имя файла, X, Y, АЛЬФА, T1, T2, T3, B1, B2, B3, БЕЛЫЙ, СТОРОНА, СЦЕНА, ПЕРО, ШУМ)

Вот - то, как формируемая команда Xlogo полного могла быть похожа:

AviSource ("e:\pdwork\atomic.avi")
Telecide () # или некоторый другой deinterlace метод
Xlogo ("e:\guides\000000.bmp", 530, 38, 0) # Xlogo преобразовывает внутренне в RGB32

Впоследствии перейдите как описано в посте AviSynth, обрабатывающем гида.[/more]
вопрос остаётся.

Автор: himand
Дата сообщения: 20.08.2006 01:57
А может есть такой фильтр чтоб полу прозрачные лого убирал, (например под лого провидняется картинка, а фильтр цвета те что под лого делал боле насыщнее и лого автоматически бы пропадало)
Автор: Yourbill
Дата сообщения: 21.08.2006 13:32
Matrosking
А в чем собственно вопрос? Вытащи плугин под avisynth и эксперементируй. Вот описание синтаксиса плугина [more]
Syntax:

Xlogo(Clip, filename, X, Y, ALPHA, T1, T2, T3, B1, B2, B3, WHITE, SIDE, SCENE, FEATHER, NOISE, BLEND, FADEIN, FADEOUT)

filename:
    Filename of the first logo bitmap. Uses same naming convention as vdub version. The
    first file must end in 0.bmp or 2.bmp
X:
    Horizontal position of left edge of the bitmap
Y:
    Vertical position of top edge of bitmap
ALPHA:
    Transparency over range 0-255. 0 gives all interpolated result, 255 gives all
    transparent processing result. Default is 255.
T1:
    On the first interpolation pass any pixel for which the difference of the two source
    pixels exceed this threshold will not be processed. Default is 10.
T2:
    Same as T1 but for the second pass. Default is 25.
T3:
    The third pass is done 4 way, unless the 2 pixels differ by more than T3, in which case
    it reverts back to 2 way. Default is 40.
B1:
    Number of blur passes done on the interpolated pixels that pass the first two thresholds.
    Default is 5.
B2:
    Number of blur passes done on the remainder of the interpolated pixels. Default is 20.
B3:
    Number of blur passes done on the entire bitmap area. Default is 10.
WHITE:
    White level, used only for white transparent processing (see vdub docs) Default is 230.
SIDE:
    Pre-Interpolates one side of the image (see vdub docs) 0 for no side, 1 top, 2 right,
    3 bottom, 4 left. Default is 0.
SCENE:
    If fewer than this percentage of border pixels have changed by T1 then the previous frame
    is used instead of calculating the new frame. Helps reduce flicker and decreases processing
    time.
FEATHER:
    Feathers edges of bitmap blur this number of pixels. Your bitmap should be this number
    of pixels larger than the logo. Default is 8.
NOISE:
    Adds random noise of this magnitude after blurring to try to make the blurring less
    obvious. Default is 0.
BLEND:
    (BOOL) Blends interpolated pixels with the previous frame between 0 and 50% depending on
    amount of change in the border pixels from the previous frame. The greater the change
    the less influence the previous pixel has. Setting SCENE=0 and BLEND=TRUE should give
    more natural results but increase encoding time. Default is true.
FADEIN:
    Forces ALPHA=0 starting at frame 0 for this duration.
FADEOUT:
    Forces ALPHA=0 from last frame for this duration.

Sample usage:

    Use "c:/logo_0.bmp" at x=300, y=200, alpha=180 with all others default:

        LoadPlugin("c:/avisynth/xlogo.dll")
        AviSource("c:/foo.avi")
        Xlogo("c:/logo_0.bmp",300,200,180)


Notes:
    For YUY2 and YV12 clips X-Logo internally processes as RGB by invoking crop, converttoRGB32(),
    processing as RGB, converting back to YUY2 or YV12, and then overlaying the result back on the
    source. This is much faster than converting the entire frame. However, if you were going to
    convert to RGB later anyway you aren't going to get any speed improvements from delaying it.

    When making your bitmaps for transparent processing if the source is not RGB then consider loading
    it with avisynth and converttoRGB32() to be sure than the bitmap and the frames fed to X-Logo
    have been decoded from the source in the same way.[/more]
Вот здесь можно прочитать про плугин для VD (на русском).
Сам я не одним ни другим плугином не пользовался, но судя из того что читал и видел ранее - замыливание всеравно остается на том месте где удаляешь. Удачи.
Автор: Yourbill
Дата сообщения: 23.08.2006 12:21
Набрел на описание использования Avisynth с примерами (на русском). Читайте здесь. Добавлю в шапку может пригодится
Автор: Yourbill
Дата сообщения: 31.08.2006 09:46
Подскажите как в AviSynth подключить текстовик с субтитрами. Если у когото есть готовый пример поделитесь
Автор: unreal666
Дата сообщения: 31.08.2006 13:28
Yourbill
Для подключения субтитров для ависинта есть внешний фильтр VSFilter (TextSub & VobSub). См. в справке к ависинту.
Автор: andryuha
Дата сообщения: 06.09.2006 18:26
Как в AviSynth замедлить скорость воспроизведения, скажем на 10%??
Автор: xitsa
Дата сообщения: 20.09.2006 13:30
Подскажите, как указывать параметры для загруженного плагина VirtualDub.
Есть стандартные методы или это определяется для каждого плагина индивидуально?
Автор: unreal666
Дата сообщения: 20.09.2006 13:57
xitsa
Для каждого плагина индивидуально.
[more=Вот][no]###########################################################
# Этот файл обеспечивает стандартный интерфейс AVISynth к #
# различным плагинам VirtualDub.                          #
# А также доволнительные пользовательские функции #
# Его можно загрузить в                                  #
# свой скрипт командой: #
# #
#      Import("User_Function.avs")                          #
###########################################################

#########################################################
# Измените VirtualDub_plugin_directory ниже на истинный #
# путь к директории содержащей    ваши плагины VirtualDub #
#########################################################

global VirtualDub_plugin_directory = "C:\Program Files\VirtualDubMod\plugins"


##############################
# 2D Cleaner by Jim Casaburi #
##############################

function VD_2DCleaner(clip clip, int "threshold", int "radius", bool "interlaced")
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\2dclean.vdf", "_VD_2DCleaner")
    return clip._VD_2DCleaner(default(interlaced,false)?1:0, threshold, radius)
}

####################################
# Temporal Cleaner by Jim Casaburi #
####################################

function VD_TemporalCleaner(clip clip, int "threshold", int "pixel_lock", int "threshold2", int "pixel_lock2", int "scene", bool "partial", bool "yuv")
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\tclean.vdf", "_VD_TemporalCleaner", 10)
    return clip._VD_TemporalCleaner(default(threshold,10), default(pixel_lock,4), default(threshold2,16), default(pixel_lock2,8), default(scene,30), default(partial,false)?1:0, default(yuv,true)?1:0)
}

############################
# Colorize by Donald Graft #
############################

function VD_Colorize(clip clip, int "hue", int "sat", int "lum")
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\colorize.vdf", "_VD_Colorize")
    return clip._VD_Colorize(default(hue, 0), default(sat, 150), default(lum, 150))
}

#############################
# Deflicker by Donald Graft #
#############################

# Двух-проходный фильтр, не поддерживается.
# Возможно будет переписан как фильтр AVISynth

############################################
# Hue/Saturation/Intensity by Donald Graft #
############################################

function DG_FloatToInt(f) { return round((default(f,1.0) - 1) * 100) }

function VD_Hue(clip clip, int "hue", bool "preserve_luma", float "sat", float "inten", bool "r", bool "g", bool "b", bool "y", bool "c", bool "m")
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\hue.vdf", "_VD_Hue")
    hue = default(hue, 0)
    sat = DG_FloatToInt(sat)
    inten = DG_FloatToInt(inten)
    flags = (default(r,true)?1:0)+(default(g,true)?2:0)+(default(b,true)?4:0) +(default(y,true)?8:0)+(default(c,true)?16:0)+(default(m,true)?32:0)
    return clip._VD_Hue(hue, default(preserve_luma,false)?1:0, sat, inten, flags)
}

#############################################
# Red/Green/Blue Adjustment by Donald Graft #
#############################################

function VD_RGBAdjustment(clip clip, float "r", float "g", float "b")
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\rgb.vdf", "_VD_RGBAdjustment")
    return clip._VD_RGBAdjustment(DG_FloatToInt(r), DG_FloatToInt(g), DG_FloatToInt(b))
}

#############################
# Smart Bob by Donald Graft #
#############################

# входной клип должен пройти через SeparateFields. Возможно вам
# понадобится AssumeFrameBased, AssumeFieldBased, или ComplementParity
# перед ним.

function VD_SmartBob(clip clip, bool "show_motion", int "threshold", bool "motion_map_denoising")
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\bob.vdf", "_VD_SmartBob", 1)
    return clip.SeparateFields._VD_SmartBob(clip.GetParity()?1:0, default(show_motion,false)?1:0, default(threshold,10), default(motion_map_denoising,true)?1:0)
}

########################
# Logo by Donald Graft #
########################

function VD_Logo(clip clip, int "x", int "y", int "alpha", bool "transparent", int "xr", int "xg", int "xb", string "filename", bool "animate", int "start", int "duration", int "loops")
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\logo.vdf", "_VD_Logo", 1)
    return clip._VD_Logo(default(x,0), default(y,0), default(alpha,128), default(transparent,true)?1:0, default(xr,0), default(xg,0), default(xb,255), default(filename,"d:\virtualdub\plugins\logo.bmp"), default(animate,false)?1:0, default(start,0), default(duration,0), default(loops,0))
}

#####################################
# Smart Deinterlace by Donald Graft #
#####################################

# "Advanced Processing" опция не включена, так-как
# в ней дублируется встроеная функциональность AVISynth

function VD_SmartDeinterlace(clip clip, string "mode", string "channel", bool "show_motion", bool "blend", bool "motion_map_denoising", int "threshold")
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\smart.vdf", "_VD_SmartDeinterlace", 1)
    mode = default(mode, "frame")
    mode = (mode=="frame") ? 0 : (mode=="field") ? 1 : (mode=="both") ? 2 : -1
    Assert(mode>=0, """VD_SmartDeinterlace: "mode" parameter must be "frame", "field", or "both"""")
    channel = default(channel, "luma")
    channel = (channel=="luma") ? 0 : (channel=="all") ? 1 : -1
    Assert(channel>=0, """VD_SmartDeinterlace: "channel" parameter must be "luma" or "all"""")
    return clip._VD_SmartDeinterlace(default(show_motion,false)?1:0, default(blend,false)?1:0, default(threshold,20), 0, 0, 0, default(motion_map_denoising,true)?1:0, mode, channel)
}

##################################
# Smart Smoother by Donald Graft #
##################################

function VD_SmartSmoother(clip clip, int "diameter", int "threshold", bool "interlaced")
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\smooth.vdf", "_VD_SmartSmoother", 1)
    return clip._VD_SmartSmoother(default(diameter,5), default(threshold,25), default(interlaced,false)?1:0)
}

################################
# Unsharp Mask by Donald Graft #
################################

function VD_UnsharpMask(clip clip, int "diameter", int "strength", int "threshold", bool "interlaced", int "mask_top", int "mask_bottom", int "mask_left", int "mask_right")
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\unsharp.vdf", "_VD_UnsharpMask", 1)
    return clip._VD_UnsharpMask(default(diameter,5), default(strength,32), default(threshold,0), default(mask_left,0), default(mask_right,0), default(mask_bottom,0), default(mask_top,0), default(interlaced,false)?1:0)
}

##########################
# Subtitler by Avery Lee #
##########################

# не-сглаженный режим не поддерживаентся, так-как
# эмулятор VirtualDub не поддерживает NEEDS_HDC

function VD_Subtitler(clip clip, string filename)
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\subtitler.vdf", "_VD_Subtitler")
    return clip._VD_Subtitler(1, filename)
}

#################################
# Border Smear by Simon Walters #
#################################

function VD_BorderSmear(clip clip, int yt, int yb)
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\brdrsmr.vdf", "_VD_BorderSmear")
    return clip._VD_BorderSmear(yt, yb)
}

################################
# Logoaway by Krzysztof Wojdon #
################################

function VD_LogoAway(clip clip, string "mode", int "x", int "y", int "width", int "height", int "keyframe", int "color")
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\logoaway.vdf", "_VD_LogoAway")
    mode = default(mode, "xblur")
    mode = (mode=="xblur")?1mode=="yblur")?2mode=="xyblur")?3mode=="copy")?4mode=="avgborder")?5mode=="solid")?6:0
    Assert(mode>0, "VD_LogoAway: mode must be one of: xblur yblur xyblur copy avgborder solid")
    return clip._VD_LogoAway(mode, default(x,300), default(y,8), default(width,14), default(height,12), default(keyframe,0), default(color,0))
}

##########################
# Cartoon Tool by flaXen #
##########################

# "Show Inverse Map" не поддерживается, так-как очевидно
# недоступен через интерфейс скрипта

function VD_CartoonTool(clip clip, int "scale_base", int "scale_intensity", int "pixel_base")
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\fxtoon.vdf", "_VD_CartoonTool")
    return clip._VD_CartoonTool(default(scale_base,16),default(scale_intensity,200),default(pixel_base,16))
}

########################
# VHS Filter by flaXen #
########################

function VD_VHS(clip clip, bool "stabilize", int "luma_threshold", int "chroma_threshold", int "temporal_error", int "temporal_bias", int "noise_threshold", int "pixel_radius", bool "prefilter", bool "postfilter", bool "sharpen", int "sharpen_amount", bool "eight_direction", int "chroma_shift_x", int "chroma_shift_y", bool "shift_i", bool "shift_q")
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\fxvhs.vdf", "_VD_VHS")
    return clip._VD_VHS(default(stabilize,true)?1:0, default(luma_threshold,5), default(chroma_threshold,30), default(temporal_error,15), default(temporal_bias,5), default(noise_threshold,10), default(pixel_radius,1), default(prefilter,false)?1:0, default(postfilter,false)?1:0, default(sharpen,false)?1:0, default(sharpen_amount,15), default(eight_direction,false)?1:0, default(chroma_shift_x,-1), default(chroma_shift_y,0), default(shift_i,false)?1:0, default(shift_q,false)?1:0)
}

###########################
# Wavelet Noise Reduction #
###########################

function VD_WNR(clip clip, int "Y_X0", int "Y_Y0", int "Y_X1", int "Y_Y1", int "Y_X2", int "Y_Y2", int "Cb_X0", int "Cb_Y0", int "Cb_X1", int "Cb_Y1", int "Cb_X2", int "Cb_Y2", int "Cr_X0", int "Cr_Y0", int "Cr_X1", int "Cr_Y1", int "Cr_X2", int "Cr_Y2")
{
    LoadVirtualdubPlugin(VirtualDub_plugin_directory+"\wnr.vdf", "_VD_WNR", 0)

    Y_X0 = default(Y_X0, 0)
    Y_Y0 = default(Y_Y0, 0)
    Y_X1 = default(Y_X1, 0)
    Y_Y1 = default(Y_Y1, 0)
    Y_X2 = default(Y_X2, 0)
    Y_Y2 = default(Y_Y2, 0)
    Cb_X0 = default(Cb_X0, 0)
    Cb_Y0 = default(Cb_Y0, 0)
    Cb_X1 = default(Cb_X1, 0)
    Cb_Y1 = default(Cb_Y1, 0)
    Cb_X2 = default(Cb_X2, 0)
    Cb_Y2 = default(Cb_Y2, 0)
    Cr_X0 = default(Cr_X0, 0)
    Cr_Y0 = default(Cr_Y0, 0)
    Cr_X1 = default(Cr_X1, 0)
    Cr_Y1 = default(Cr_Y1, 0)
    Cr_X2 = default(Cr_X2, 0)
    Cr_Y2 = default(Cr_Y2, 0)
    return clip._VD_WNR(Y_X0*256+Y_Y0, Y_X1*256+Y_Y1, Y_X2*256+Y_Y2, Cb_X0*256+Cb_Y0, Cb_X1*256+Cb_Y1, Cb_X2*256+Cb_Y2, Cr_X0*256+Cr_Y0, Cr_X1*256+Cr_Y1, Cr_X2*256+Cr_Y2)
}[/no][/more] примеры для некоторых плагинов VD
Автор: xitsa
Дата сообщения: 22.09.2006 08:16
unreal666
Нашел способ как узнавать параметры:
Загружается плагин в фильтры VirtualDub, настраивается.
Потом File/Save processing settings-->*.vcf
И в этом файле ищем строчку
VirtualDub.video.filters.instance[0].Config(16, 2);
Вот с этими параметрами и вызываем загруженый плагин в AviSynth'е
Автор: Yourbill
Дата сообщения: 22.09.2006 08:46
xitsa
Можно еще описание(хелп) плугина почитать, в котором обычно все параметры описаны
Автор: jackkud
Дата сообщения: 22.09.2006 11:53
Народ, такой вопрос , а avisynth ставится на windows2003sp1? А то я пробовал он мне рассказывает что мне не хватает прав для установки, хотя я ставил под встроенным администратором. Заранее спасибо за ответ.
Автор: Yourbill
Дата сообщения: 22.09.2006 12:29
jackkud
Становиться без проблем. Если на разделе куда ставишь - НТФС, проверь права на папку в которую устанавливаешь avisynth.

Добавлено:
У тебя сервер русский?
Автор: xitsa
Дата сообщения: 23.09.2006 14:06
Yourbill
К сожалению, не все описывают как прикрутить их VD–плагин к AviSynth'у, вот и приходится перебором определять в каком порядке параметры следуют
Автор: unreal666
Дата сообщения: 23.09.2006 17:41
xitsa

Цитата:
К сожалению, не все описывают как прикрутить их VD–плагин к AviSynth'у, вот и приходится перебором определять в каком порядке параметры следуют

Там моет быть сложнее. В одном параметре в instance[0].Config(.., ..) может содераться несколько реальных параметров (параметров из GUI).
Посмотри по моей ссылке выше как мне пришлось создавать функцию для плагина WNR.

Страницы: 12345678910111213141516171819

Предыдущая тема: Вставка из clipboard'а в MS Outlook 2000


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.