manual avisynth

152
24 de Abril de 2015, 10:36 Buscar Foro MundoDivX & H264 | General y otros temas | Manuales (Moderadores: Dressler, LUCHOO, Amármol, 888) | Manual AviSynth Páginas: [1] Ir Abajo Manual AviSynth « Mensaje inicial: 03 de Noviembre de 2009, 01:50 » 888 Moderador Desconectado Bienvenido(a), Visitante. Por favor, ingresa o regístrate . ¿Perdiste tu email de activación? Ingresar Siempre Ingresar Ingresar con nombre de usuario, contraseña y duración de la sesión Noticias: AC3 Filter 2.6.0b Esta nueva versión de AC3 Filter resuelve un problema de cuelgues en Windows Media Player, problemas relacionados con el ACM driver y con el SPDIF, y añade más combinaciones de speakers. Las traducciones han sido también actualizadas. http://www.mundodivx.org/foro/index.php?topic=42280.0 « anterior próximo » Autor Tema: Manual AviSynth (Leído 85308 veces) murriato, frank_zappa y 1 Visitante están viendo este tema. Presentacion Inicio Ayuda Buscar Ingresar Registrarse IMPRIMIR

Upload: carrancomike

Post on 10-Nov-2015

396 views

Category:

Documents


121 download

DESCRIPTION

Manual AviSynth

TRANSCRIPT

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 1/152

    24 de Abril de 2015, 10:36

    Buscar

    Foro MundoDivX & H264 | General y otros temas | Manuales (Moderadores: Dressler, LUCHOO, Amrmol, 888) |

    Manual AviSynth

    Pginas: [1] Ir Abajo

    Manual AviSynth Mensaje inicial: 03 de Noviembre de 2009,

    01:50

    888Moderador

    Desconectado

    Bienvenido(a), Visitante.

    Por favor, ingresa o

    regstrate. Perdiste tu

    email de activacin?

    Ingresar

    Siempre Ingresar

    Ingresar con nombre de usuario, contrasea y duracin de la sesin

    Noticias: AC3 Filter 2.6.0b

    Esta nueva versin de AC3 Filter resuelve un problema de cuelgues en WindowsMedia Player, problemas relacionados con el ACM driver y con el SPDIF, y aadems combinaciones de speakers. Las traducciones han sido tambin actualizadas.http://www.mundodivx.org/foro/index.php?topic=42280.0

    anterior prximo

    Autor Tema: Manual AviSynth (Ledo 85308 veces)

    murriato, frank_zappa y 1 Visitante estn viendo este tema.

    Presentacion

    Inicio Ayuda Buscar Ingresar Registrarse

    IMPRIMIR

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 2/152

    Registrado: 26/06/2006

    Mensajes: 8.872

    Valoracin: 8

    Sexo:

    Este manual se encuentra en un estado de constante actualizacion y expansion, y probablemente

    asi lo este por siempre (siempre y cuando quede alguien que de ello se ocupe ^^), dado el tipo de

    programa que es AviSynth y la enorme cantidad de filtros que existen y aun faltan ser agregados

    asi como tambien todos los nuevos que continuan saliendo. Por eso sepan que los filtros tratados

    aqui no son todos los disponibles, aunque me gustaria creer que nos vamos acercando .

    En principio el objetivo inicial de servir como introduccion a AviSynth creo que fue alcanzado, pero

    si no lo creen asi por favor dejen un comentario sobre lo que les parece que falta para cumplir con

    el mismo.

    Las consultas sobre el funcionamiento de los filtros y recomendaciones sobre su aplicacion por

    favor realicenlas en hilo nuevo en el subforo de edicion de video.

    Sugerencias, criticas y comentarios sobre el manual son muy bienvenidos y pueden hacerlas en

    este hilo, desde donde tambien pueden colaborar con el manual, nomas publiquen alli la

    explicacion del filtro que deseen y este sera agregado a la brevedad dejando por supuesto

    constancia de su colaboracion.

    Colaboran con este manual:

    overdrive80

    ElMagno90

    piscator

    Nagash

    Ferny

    Burnout

    LUCHOO

    Introduccion

    AviSynth es un programa libre y gratuito destinado a realizar frameserver y edicion de videos. Pero

    no es un programa de edicion convencional como los que estan acostumbrados a usar. Para darse

    una idea de porque, carece completamente de una interfaz grafica desde donde puedan ejecutar

    sus opciones y/o configurarlo. En su lugar, la configuracion se "escribe" enteramente sobre un

    archivo de texto sin formato, mediante el uso de un lenguaje propio de AviSynth. En cuanto a su

    ejecucion, esta es en todo momento transparente para el usuario (salvo quizas en casos de error

    en la configuracion).

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 3/152

    De forma muy basica y breve, el funcionamiento podria resumirse asi: AviSynth toma video y/o

    audio descomprimido (la decodificacion siempre es externa) y se ocupa de procesarlo en tiempo

    real mediante la aplicacion de filtros (internos o externos) de muy variada indole, para luego

    "soltarlo" y sea recibido por el programa compresor (encoder) o reproductor. Entonces AviSynth

    vendria a ser una especie de intermediario, y por lo tanto requiere no solo que haya alguien antes

    que le entregue el video descomprimido (decodificadores y/o demultiplexores), sino tambien

    alguien a continuacion (encoder o reproductor) a quien devolverle el video filtrado. No funciona

    solo por su cuenta y esto tiene logica con lo dicho anteriormente sobre que su ejecucion es

    transparente, por ello sin el programa a continuacion no se podria usar.

    Volviendo a su configuracion, se dijo que se hacia a traves de un archivo de texto usando el

    lenguaje que entiende AviSynth. Es decir que se deben escribir las instrucciones de lo que

    queremos que haga. A este archivo de texto con las instrucciones se le llama script, y puede ser

    creado con el bloc de notas o similares pero siempre guardando sin formato (.txt), aunque para

    que AviSynth lo reconozca como un script debe tener extension AVS. Tambien existen utilidades

    que permiten crear el script de forma mucho mas comoda e incluso interactiva, siendo lo mas

    cercano a una interfaz grafica que se puede encontrar. En el script se pueden indicar los filtros que

    se desean aplicar y su configuracion, teniendo en cuenta que AviSynth respeta el orden del texto

    en su ejecucion.

    Es este archivo .avs el que luego debe cargarse al compresor o reproductor, donde una vez

    abierto AviSynth se encarga de que estos vean un archivo AVI con video descomprimido, siendo

    esta la funcion principal del programa, tomar un video en algun formato cualquiera (como minimo

    debe poder ser reproducido con los codecs instalados en el sistema) y entregarlo como un video

    AVI, funcion denominada frameserver.

    Descarga de AviSynth

    La siguiente es su web oficial, donde pueden encontrar mas informacion sobre su funcionamiento,

    asi como tambien listados de la mayorias de los filtros disponibles.

    http://avisynth.org/

    Durante la instalacion se les preguntara si desean habilitar ciertas opciones, como por ejemplo la

    de asociar a Avisynth los archivos de extension AVS(Associate AVS with Notepad), recomendable

    activarla para asi identificar facilmente los script.

    Tambien Add Avisynth Script to new items men, que les permite acceder a ClickDerecho->Nuevo-

    >AviSynth Script para crear directamente un archivo con extension AVS.

    Algunas de las utilidades que se pueden usar para la creacion y evaluacion de scripts son:

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 4/152

    AVSEdit

    AvsP (version original - discontinuada)

    AvsPmod (continuacion extraoficial del desarrollo de AvsP)

    AviSynth Batch Scripter

    Todas estas ofrecen exelentes ventajas y funciones, como la posibilidad de previsualizar o incluso

    (AvsP) de regular los parametros de configuracion de los filtros mediante una interfaz grafica

    mientras se comprueban los resultados casi instantaneamente.

    Una ves tienen el script terminado, pueden abrirlo con el programa que usen para codificar o

    reproducir como si de un archivo de video de tratara, y Avisynth se ocupa del resto.

    En teoria pueden cargar el archivo .avs en cualquier programa que soporte archivos AVI, ya que

    aunque este no se los muestre como soportado pueden forzar la carga con la opcion comunmente

    llamada All Files de la ventana de carga.

    Introduccion al Lenguaje de AviSynth

    Como se menciono anteriormente AviSynth se configura a partir de archivos de texto sin formato

    denominados scripts. Aqui veremos las bases del lenguaje que se debe emplear en dichos scripts

    para poder "ordenarle" a AviSynth lo que necesitamos que haga.

    AviSynth va leyendo el script en orden, linea por linea hacia abajo, y de izquierda a derecha en

    cada linea, igual que como acostumbramos a leer un libro. Debemos considerar esto cuando

    armemos nuestro script, ya que los comandos y filtros seran ejecutados en este orden y el mismo

    es de suma importancia, como se comenta mas adelante.

    Es importante aclarar que AviSynth ignora espacios en blanco dejados entre comandos o filtros

    sucesivos, asi como tambien mayusculas y minusculas, es lo mismo usar DirectShowSource que

    diRecTShowSoURCE.

    Nota: de aqui en mas aquello que se encuentra resaltado en amarillo corresponde a lenguaje de

    AviSynth, por ello lo veran en la sintaxis y en los ejemplos; y lo que vean resaltado en verde son

    los parametros.

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 5/152

    Filtro: Comando que le indica a AviSynth que debe aplicar un determinado filtro en ese punto del script.

    Este comando se compone por el nombre del filtro seguido de dos parentesis entre los que es

    posible dar valores personalizados a ciertos parametros que regulan su configuracion.

    Con esta denominacion de "filtro" aqui estamos incluyendo todos los tipos de descriptos mas

    adelante (internos, externos y funciones).

    NombreDelFiltro()

    Al margen del orden en que AviSynth ejecuta el script, los filtros sucesivos pueden ir de forma

    completamente arbitraria, considerando que AviSynth ignora los espacios en blanco.

    Por ejemplo, el siguiente script:

    AviSource("C:\video.avi")

    Resize(1280,720)

    FFT3DFilter()

    Es exactamente lo mismo que:

    AviSource("C:\video.avi")Resize(1280,720)FFT3DFilter()

    Ambas formas son identicas en funcionalidad, pero la primera resulta mucho mas ordenada para

    quien debe leer y trabajar con dicho script.

    Parametros: La accion de un filtro se configura a partir de una serie de parametros, que son valores propios de

    cada filtro en particular y utilizados internamente para calculo y/o configuracion.

    A estos parametros se les debe asignar un cierto valor, segun el efecto que dicho valor tendra en

    el funcionamiento del filtro, para ello consultar el manual. Cabe aclarar que en la enorme mayoria

    de los filtros los parametros ya vienen con un valor asignado por defecto, en cuyo caso veran que

    con solo aplicar el comando del filtro el script es funcional. Sin embargo, aunque existen filtros

    cuyos valores por defecto pueden ser aplicados a variedad de situaciones, siempre es aconsejable

    ajustarlos a nuestro video y asi lograr los resultados optimos.

    Dichos valores se pueden asignar de diferentes formas: en algunos filtros se debe conocer el

    orden en que se encuentran los parametros dentro del parentesis y los valores se les asignan en

    el mismo orden separados por comas:

    STMedianFilter(a,b,c,d) (obviamente deben conocer que representa cada parametro)

    STMedianFilter(8,15,4,7)

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 6/152

    Esto puede aplicarse a todos los filtros.

    Sin embargo, en la gran mayoria se conoce el nombre de los parametros y el filtro es capaz de

    reconocerlos, por lo que se les puede asignar su valor en cualquier orden mientras se los nombre

    como se ve a continuacion:

    FFT3DFilter(sigma=2.0, bt=3, plane=0)

    Esta es una forma mucho mas comoda y versatil, ya que nos permite solo asignar valores a

    aquellos parametros a los que necesitemos modificar su valor por defecto.

    Dentro de los parentesis pueden dejar cuantos espacios deseen, pero si quieren continuar en la

    siguiente linea deben emplear el comando \, de la siguiente forma:

    STMedianFilter(8, 15 \

    ,4,7)

    Esta linea es perfectamente valida, que por supuesto queda muy fea pero es solo un ejemplo.

    Los valores que puede tomar un cierto parametro dependen de su tipo, que puede ser: integer -

    numeros enteros (1, 3, 800, etc); real - numeros reales (1.25, 6.9887, 0.006, etc); string - texto,

    que debe ser escrito entre comillas; boolean - puede ser verdadero (se escribe True) o falso (se

    escribe False), sin comillas.

    En el siguiente ejemplo ven la aplicacion de todos los tipos:

    LSFmod(defaults="fast", strength=85, secure=false, ss_x=1.78)

    Trabajando con multiples archivos de audio/video, asi como tambien

    multiples pistas de audio o video:AviSynth solo es capaz de aplicar una cierta sucesion de filtros a un archivo o pista a la vez. Por

    ello, si deseamos aplicar un filtrado diferenciado a diferentes pistas dentro del mismo script es

    necesario recurrir al uso de variables. Esta es una nocion basica de programacion, y aqui basta que

    la consideremos como un nombre que recibe una cierta fraccion de informacion, ya sea un valor

    numerico, una pista de video o audio, texto, etc. Se utiliza para almacenar dicha informacion

    dentro del script cuando esta sera requerida mas adelante.

    En el caso particular que nos compete, estas variables se crean asignandole a un determinado

    archivo o pista de audio/video un cierto nombre, el cual pasara a identificarlo de aqui en mas

    dentro del script y siempre que requieran aplicarle algun filtrado deberan invocar a la variable que

    lo contiene. La asignacion se realiza utilizando el comando =, como se ve en el siguiente ejemplo:

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 7/152

    video = AviSource("C:\mi_video.avi", audio=false)

    audio = WAVSource("C:\mi_audio.wav")

    Este par de lineas les permtite cargar audio y video por separado, asignando cada uno a una

    variable cuyo nombre es completamente arbitrario, pero que por supuesto deben de emplear cada

    vez que requieran acceder a su contenido.

    Cuando necesiten aplicarle un cierto filtrado al contenido de una variable, no solo deben de

    invocarla por su nombre sino tambien, luego del filtrado, actualizar su contenido, lo cual pueden

    hacerlo de diferentes formas:

    video = video.LSFmod()

    Aqui se almacena en la variable video el resultado de la sucesion de filtros luego del comando =.

    En la jerga se dice que se "evalua" la expresion luego del = y se asigna el resultado a la variable.

    Entonces lo que ocurre es que el contenido de la variable es primero modificado y luego

    almacenado en la misma, sobreescribiendo el contenido original.

    El . (punto) deben emplearlo para separar la variable del filtro que la sucede cuando ambos se

    encuentra pegados en la misma linea. O tambien pueden simplemente dejar un espacio pero asi

    queda mas lindo.

    Tambien pueden usar algo asi:

    video.LSFMod()

    video = last

    En este otro caso se le aplica el filtrado a la variable video, para luego emplear la variable especial

    last para la asignacion. Esta variable especial siempre contiene el ultimo resultado disponible en

    esa parte del script, siendo en este caso lo que queda luego de aplicar el filtro LSFmod a la

    variable video.

    A su vez, muchos filtros soportan introducir el video a filtrar como el primer parametro dentro de

    los parentesis, mediante la variable que lo contiene. El mismo ejemplo anterior puede ser reescrito

    asi:

    video = LSFmod(video, defaults="fast")

    Si no se especifica nada entonces el filtro toma como entrada el ultimo video disponible (o lo que

    es lo mismo, aquel que se encuentre dentro de la variable last).

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 8/152

    LSFmod(defaults="fast") es lo mismo que: LSFmod(last, defaults="fast")

    Y por ultimo, cuando finaliza el script se le debe indicar a AviSynth cual es el video de salida de

    entre todas las variables presentes.

    Esto se realiza mediante el comando return, y colocando a continuacion el nombre de la variable

    que contiene el video. En nuestro ejemplo, supongan que ya esta la etapa de filtrado de video y

    ahora queremos que la salida contenga dicho video mas el audio cargado por separado al

    comienzo del script:

    final = AudioDubEx(video,audio)

    return final

    El filtro AudioDubEx se encuentra explicado en la seccion sobre carga de archivos.

    De no especificar nada el video a la salida sera aquel contenido en la variable last, o sea el ultimo

    video en ser filtrado. En este ultimo ejemplo hubiera sido lo mismo poner:

    AudioDubEx(video,audio)

    En este caso es mas sencillo usar esta ultima sintaxis, pero esto es solo un simple ejemplo para

    fijar ideas, el uso del comando return se hace especialmente util en scripts mas complejos.

    Multiproceso en AviSynth: aprovechamiento

    de procesadores con multiples nucleos

    Para ello existe una version especial modificada del programa y a su vez un plugin especifico:

    Filtro MT

    Filtros

    A continuacion se presentan los filtros actualmente abarcados por este manual, ordenados por

    categorias y subcategorias.

    El formato de explicacion de cada filtro es el mismo: se da una breve (o no tanto) explicacion de su

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 9/152

    utilidad y a veces funcionamiento (muy basico), se muestra su sintaxis (en la mayoria de los casos

    junto con el valor por defecto de los parametros) y se pasa a explicar la funcion de cada

    parametro. A continuacion puede que haya algun que otro ejemplo y finalmente enlaces a la

    descarga, documentacion y otra informacion relacionada.

    Debajo del nombre de cada filtro tienen indicado los formatos de color sobre los que soporta

    trabajar. Si su video no se encuentra en uno de estos, pueden recurrir al filtro ConvertToXXX que

    encuentran dentro de la categoria Color y Niveles.

    AviSynth es capaz de trabajar con tres tipos diferentes de filtros, a saber:

    Filtros Internos: Son aquellos incluidos con AviSynth y pueden usarse directamente.

    Filtros Externos o Plugins: Filtros no incluidos con AviSynth, tambien llamados plugins. Secomponen de un unico archivo .dll aunque en algunos casos pueden requerir que otras librerias

    esten presentes en el sistema.

    Para poder invocar un plugin en el script (mediante su sintaxis correspondiente) primero debe

    cargarse el mismo utilizando la siguiente linea en el comienzo del script:

    LoadPlugin("C:\...\plugin.dll"), o para que se cargue automaticamente, colocar el plugin en la

    carpeta por defecto: C:\Archivos de programa\AviSynth 2.5\plugins.

    Por supuesto que en un mismo script pueden utilizar tantos plugins como gusten, nada mas deben

    usar una linea por cada uno para cargarlos, o ponerlos todos en la carpeta mencionada.

    Funciones: Para crear los scripts, Avisynth ofrece un lenguaje mucho mas complejo de lo que sevemos aqui, donde solo nos limitamos a nombrar los filtros y el modo de aplicarlos y configurarlos.

    Es posible "programar" lo que queremos que se haga con determinados filtros, de una forma muy

    compleja y con el objetivo de lograr mejores resultados de los que se consiguen con la aplicacion

    de los filtros "a lo bruto".

    Estos scripts suelen contener la programacion, en el lenguaje que entiende AviSynth, de lo que se

    acostumbra a llamar "funcion", es decir que cada script de este tipo define una funcion. La forma

    de trabajar con estas funciones es muy similar a como se trabaja con los plugins, es decir que hay

    que asegurarse de cargarla al script y luego se la puede invocar mediante su sintaxis como si de

    otro filtro se tratara.

    Es importante tener en cuenta que el script solo contiene una programacion, pero no puede filtrar

    por si mismo, depende para funcionar de los filtros internos o externos que se mencionan en las

    respectivas secciones del manual.

    Existen variedad de estos scripts, dedicados por ejemplo a aumento de nitidez (efecto sharpen),

    filtrado de ruido, filtrado de bloques, etc.

    Como la funcion suele requerir de filtros externos deben asegurarse de cargarlos como

    corresponde o tenerlos en la carpeta por defecto.

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 10/152

    Respecto a la carga de la funcion misma, se realiza mediante la linea: Import("C:\...\funcion.avs").

    Para la carga automatica de las funciones pueden colocarlas en la carpeta por defecto junto al

    resto de los plugins, con la unica salvedad de ponerles extension .avsi para que puedan ser

    reconocidas por AviSynth.

    Orden de aplicacion de los filtros:

    Es de fundamental importancia el orden en que aplican los diferentes filtros sobre el video,

    pudiendose afectar de forma nagativa la calidad del video de usarse un orden incorrecto.

    Este asunto lo discutimos en el hilo abierto para hablar sobre el manual y llegamos a cierto

    concenso, que son las consideraciones presentadas a continuacion. Sin embargo sepan que el

    tema aun se encuentra abierto a modificaciones, por lo que son bienvenidos a dar su opinion.

    Consideraciones para ordenar los filtros dentro del script:

    Desentrelazado: antes de cualquier otra etapa de filtrado.

    DeBlock: antes de crop, resize y de otras etapas de filtrado de ruido.

    Denoising temporal: antes del denoising espacial.

    Anti-Aliasing: luego del resize.

    Resize cuando se reduce la resolucion: antes del filtrado de ruido (denoisers).

    DeHalo y Deringing: luego del filtrado general de ruido y luego de los filtros de nitidez

    (sharpen).

    A continuacion pueden ver un script de ejemplo con el orden correcto:

    Spoiler

    Carga y Manipulacion de Archivos

    Lo que necesitan para que AviSynth pueda cargar sus archivos, ya sean audio, video o imagenes,

    asi como tambien los filtros que permiten su manipulacion.

    Filtros en esta categoria:AVISource / AVIFileSource / OpenDMLSource

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 11/152

    DirectShowSource

    WAVSource

    ImageSource

    DGMPGDec

    DGAVCDec

    DGDecNV

    FFmpegSource2

    LSMASHSource

    NicAudio

    BassAudio

    Trim

    AudioDub / AudioDubEx

    UnalignedSplice / AlignedSplice

    ImageWriter

    Carga y Manipulacion de Archivos

    Transformaciones Geometricas

    Todo lo que sirva para escalar, cortar, rotar, etc, la imagen.

    Filtros en esta categoria:AddBorders

    Crop

    FlipHorizontal / FlipVertical

    Letterbox

    Resize

    Turn

    Transformaciones Geometricas

    Desentrelazado

    Introduccion al contenido entrelazado y los filtros para restaurar un contenido progresivo.

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 12/152

    Filtros en esta categoria:AnimeIVTC

    Decomb

    QTGMC

    Desentrelazado

    Filtrado de rudio (denoisers)

    Filtros destinados al ruido aleatorio.

    Subcategorias y filtros:

    Espaciales: FRFun3b - FRFun7 - SpatialSoften - UnDot - VagueDenoiser - SPresso - TBilateral

    - RemoveGrain.

    Temporales: TemporalSoften - Temporal Degrain.

    Espacio-Temporales o 3D: Deathray - DeGrainMedian - DFTTest - FFT3DFilter - FFT3DGPU -

    FluxSmooth - STMedianFilter.

    Temporales con compensacion de movimiento: MVTools+MDegrain - TTempSmooth.

    Denoisers

    Restauracion

    Por aqui estan los filtros que se dedican a eliminar o atenuar efectos indeseables del video,

    tambien llamados artifacts. Estos filtros todos tienen un uso especifico, no son filtros para aplicar

    sobre ruido en general, sino especificamente sobre el efecto al que apuntan.

    Subcategorias y filtros:

    Debanding: GradFun2db - GradFun2DBmod.

    Deblocking: BlindPP - DeBlock - DeBlock_QED - SmoothD - UnBlock.

    Dehaloing y Deringing: DeHalo_alpha - EdgeCleaner - HQDering - YAHR.

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 13/152

    Antialiasing: SAA - RAA - SharpAAMCmod.

    Correccion de Color: Colormatrix.

    Filtros para Eliminar Logos: rm_logo.

    Restauracion

    Aumento de nitidez (efecto sharpen)

    La finalidad de estos filtros se explica por si sola.

    Filtros en esta categoria:aSharp

    aWarpSharp / aWarpSharp2

    MSharpen

    LimitedSharpenFaster

    LSFmod

    SeeSaw

    Sharpen

    Filtros Sharpen

    Multiproposito

    Funciones dedicadas a mas de un tipo de filtrado, es decir que abarcan mas de una categoria.

    MCTemporalDenoise

    Ajustes

    Ajustes de color, niveles y framerate.

    Subcategorias y filtros:

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 14/152

    ltima modificacin: 13 de Marzo de 2015, 15:19 por 888

    3Me gustaTweet 00

    Carga y Manipulacion Respuesta #1: 04 de Noviembre de 2009, 02:20

    888Moderador

    Desconectado

    Registrado: 26/06/2006

    Mensajes: 8.872

    Conversion: ConvertToXXX.

    Color y Niveles: ColorYUV - GreyScale - Tweak.

    Framerate: AssumeFPS - ChangeFPS - Decimate - FDecimate - PullDown.

    Oscurecimiento de lineas: FastLineDarkenMOD - LineDarkenToon - Toon.

    Ajustes

    Varios

    Subcategorias y filtros:

    Efectos: AddGrainC - GrainFactory3 - ShowAlpha - Overlay - Reverse.

    Subtitulado: Subtitle - VSFilter.

    Mascaras: MaskTools - MaskTools 2.

    Otros: Freezeframe - StackHorizontal/StackVertical

    Varios

    En lnea

    Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php

    Carga de Archivos

    Por aqui se presentan los filtros que le permiten a AviSynth cargar sus archivos de audio y/o video.

    En principio aquellos filtros internos incluidos con AviSynth, para luego pasar a los plugins.

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 15/152

    Valoracin: 8

    Sexo: Frame Accuracy: esta es una caracteristica que poseen los filtros de carga cuando son capaces de

    busqueda y localizacion de frames de forma exacta.

    Esto significa que ante una operacion de busqueda de un frame en particular, se puede estar

    seguro de que ese es el frame devuelto por el filtro.

    Por ejemplo, supongan que utilizan el filtro Trim para seleccionar un trozo de su video. La

    seleccion se realiza mediante frame incial y frame final. Pues si estan utilizando un filtro de carga

    que no les garantiza frame accuracy para el formato de su video, los frames donde se realiza el

    corte pueden no ser aquellos que ustedes especificaron.

    Cabe aclarar que si se trata de un filtrado directo de principio a fin del video no es necesario que

    el filtro que usen sea frame accurate, esta es una caracteristica deseable solo cuando se

    requieren operaciones de busqueda.

    AviSource

    AviSource("C:\...\video.avi", pixel_type="YV12")

    AviFileSource("C:\...\video.avi", pixel_type="YV12")

    OpenDMLSource("C:\...\video.avi", pixel_type="YV12")

    AviSource permite cargar archivos AVI, WAV, AVS o VDR(frameserver de VirtualDub). Si el archivo

    AVI es estandar (ergo, no posee cosas raras como audio AAC o video H264) este filtro deberia ser

    frame accurate.

    Esta detecta automaticamente el tipo de archivo y lo pasa a la interfaz AVIFile o OpenDML segun

    corresponda. En caso de encontrase problemas se puede forzar el uso de alguna de estas

    utilizando las otras dos lineas de carga, teniendo en cuenta que AviFileSource sirve para archivos

    AVI

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 16/152

    DirectShowSource("C:\...\video.mp4", fps=25, convertfps=false)

    Para poder cargar otros formatos, o tambien util si no tienen un codec VFW para el video o uno

    ACM para el audio pero si pueden reproducir el archivo sin problemas en Windows Media Player,

    se utiliza esta linea que hace uso de la interfaz DirectShow y asi permite demultiplexar/decodificar

    todo formato que posea un Decoder o Splitter directshow instalado en el sistema.

    Debe destacarse que este filtro no ofrece frame accuracy en la mayoria de los casos.

    Definir el parametro fps sirve para fijar el frame rate de reproduccion, pero solo es necesario en

    ciertos casos de decoders directshow que fallan en informarlo, como cuando se trata de achivos

    ASF o MOV.

    Si desean solo cargar el video, pueden agregar audio=false a la linea, quedando video.mp4",

    audio=false), y viceversa con video=false.

    Para videos con framerate variable o VFR se puede usar convertfps=true para convertir a

    framerate constante o CFR mediante duplicado de frames. Aparentemente ofrece mejores

    resultados si tambien se fija el framerate a un valor de 120 usando fps=120, dado que este valor

    es el primero que posee como multiplos a 24 y 30. Esto surge de una cuestion de entrelazado,

    para mas info consulten la categoria de filtros para Desentrelazado.

    WAVSource

    WAVSource("C:\...\audio.wav")

    WAVSource("C:\...\video.avi")

    Para cargar un archivo externo de audio descomprimido en formato WAV, o tambien cargar solo el

    audio de un archivo AVI(decodificandolo mediante la interfaz ACM).

    ImageSource

    ImageSource("C:\...\%d.bmp", start=0, end=1000, fps=24, pixel_type="RGB24")

    Para carga de imagenes, ya sea sueltas o una secuencia de las mismas para formar un video. En

    este ultimo caso los archivos deberan estar nombrados en orden adecuadamente.

    start y end sirven para fijar un intervalo de carga. Los valores mostrados en la sintaxis son los que

    vienen por defecto.

    pixel_type puede ser Y8, RGB24(por defecto) o RGB32. El canal alfa(transparencias) solo es

    cargado si se usa RGB32 y si es soportado para el formato de imagen cargado.

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 17/152

    Ejemplos:

    ImageSource("C:\...\%d.jpg", 51, 256)

    Carga todas las imagenes desde la 51.jpeg hasta la 256.jpeg formando un video que corre a 24

    fps.

    ImageSource("C:\...\%2d.png", end=69, fps=30)

    Carga todas las imagenes desde la 00.png hasta la 69.png, formando un video que se reproduce

    a 30 fps.

    ImageSource("C:\...\imagen.bmp", end=100)

    Repite la imagen.bmp 100 veces, formando un video a 24 fps.

    Plugins para carga de archivos

    Estos plugins se ocupan de la demultiplexacion y decodificacion (y en algunos casos, de otros

    ajustes), actuando asi como frameservers para AviSynth o cualquier otro programa que soporte

    cargar los archivos de proyecto que crean los indexadores.

    De esta forma se puede evitar usar los decodificadores del sistema y se gana en estabilidad.

    Ademas, suelen ofrecer frame accuracy para algunos de los formatos que soportan.

    La carga de los mismos se puede realizar manualmente mediante la linea

    LoadPlugin("C:\...\plugin.dll"), o para que se cargue automaticamente, colocar el plugin en la

    carpeta por defecto: C:\Archivos de programa\AviSynth 2.5\plugins.

    Sobre los plugin DG: el funcionamiento en el caso de los primeros tres plugin "DG" para carga de

    video es comun a todos ellos, dado que son desarrollados todos por el mismo autor. Este es

    basicamente asi: se incluyen en la descarga dos software diferentes, un programa llamado

    DG[...]Index.exe y el plugin propiamente dicho de nombre DG[...]Decode.dll

    Primero se debe usar el programa DG[...]Index para abrir el video. Y aqui es cuando deben extraer

    el audio, dado que estos plugin solo procesan video, asi que el audio hay que tratarlo aparte.

    Tambien es posible aplicar algo de filtrado sencillo (Luminancia y crop) mientras se observan los

    resultados en tiempo real, a manera de preview del video que obtendra AviSynth del plugin.

    A su vez, mediante estos plugin se facilita la deteccion del tipo de entrelazado que pueda tener un

    video, para mas info ver en la seccion sobre Desentrelazado del manual.

    Con este programa se crea un archivo de proyecto que contiene informacion sobre el video a

    decodificar, incluidos los ajustes de luminancia y crop que hayan hecho. Es este archivo de

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 18/152

    proyecto el que luego se carga desde el script de AviSynth y es a partir del mismo que el

    decodificador (DG[...]Decode.dll) carga el video, decodifica y envia el video descomprimido a

    AviSynth para la aplicacion del script.

    Y por ultimo, segun tengo entendido todos estos plugin "DG" son frame accurate en todos los

    formatos de video que soportan.

    DGMPGDec

    Este conjunto de utilidades permite cargar archivos con video en el formato MPEG-1 o MPEG-2,

    contenidos en alguna de las siguientes extensiones soportadas: VOB, MPG, M2V, M1V, MPV, MPEG,

    TP, TS, TRP, M2T, M2TS, PVA o VRO.

    Se usa asi: abren el programa DGIndex.exe y cargan su video con File->Open. Pueden usar el

    cursor para desplazarse por el mismo o bien las opciones de reproduccion en el menu File.

    Para extraer el audio, pueden usar las opciones en Audio->Output Method, siendo estas: Disable

    (no se extrae nada); Demux Tracks (eligen que pistas extraer); Demux All Tracks (extrae todas las

    pistas); Decode AC3 Track to WAV (extrae y decodifica hacia WAV). La extraccion ocurre durante el

    proceso de creacion del archivo de proyecto .d2v

    Ajustes de luminancia estan disponibles (brillo y gamma), a los que se puede acceder desde Video-

    >Luminance Filter.

    Tambien se ofrece la posibilidad de hacer cropping (cortar parte de la imagen), accesible desde

    Video->Cropping Fliter. En ambos casos los resultados se aplican en tiempo real.

    Para crear el proyecto .d2v van a File->Save Project y guardan el mismo, el proceso demorara un

    cierto tiempo, pueden ver el progreso en la linea de tiempo. Tambien, de paso que se crea el

    proyecto, se puede demultiplexar el video hacia un archivo solo de video, mediante File->Save

    Project and Demux Video, o solo extraer las pistas de audio con Demux Audio-Only Stream.

    Sintaxis para carga del video:

    DGDecode_MPEG2Source("C:\...\video.d2v")

    Descarga (hay un link debajo de todo, el plugin de AviSynth es el archivo DGDecode.dll incluido en

    la descarga)

    DGAVCDec

    Para cargar archivos de video en el formato H264 o MPEG-4 AVC, el que puede encontrarse en

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 19/152

    alguno de los siguientes formatos de archivo (extensiones): H264, 264, AVC, M2T, M2TS, MTS, TP,

    TS, TRP.

    Se procede de la siguiente manera: ejecutan DGAVCIndex.exe y cargan el archivo de video (File-

    >Open). Una vez abierto pueden usar el cursor para navegar por el mismo, o aprovechar las

    opciones de reproduccion (File->Play, Stop, Pause).

    Pueden extraer (demultiplexar) el audio mediante Audio->Audio Demux, se abre una lista con las

    pistas detectadas, las marcan para extraer con Set y las mismas seran demultiplexadas al guardar

    el proyecto. Pueden desmarcar usando Clear.

    Ajustes de luminancia estan disponibles (brillo y gamma), a los que se puede acceder desde Video-

    >Luminance Filter.

    Tambien se ofrece la posibilidad de hacer cropping (cortar parte de la imagen), accesible desde

    Video->Cropping Fliter. En ambos casos los resultados se aplican en tiempo real.

    Finalmente, para crear el archivo de proyecto .dga, utilizan File->Save Project para iniciar el

    proceso, cuyo avance puede ser monitoreado mirando el cursor.

    Al guardar el proyecto tambien es posible extraer el video a un archivo RAW (solo video) a partir

    de File->Save Project and Demux Video.

    Sintaxis para carga del video:

    AVCSource("C:\...\video.dga")

    Descarga (en la carpeta de plugins de AviSynth deben estar presentes DGAVCDecode.dll y

    libavcodec.dll)

    DGDecNV

    Este plugin (DGDecodeNV.dll) tiene la particularidad de poseer soporte para la tecnologia CUDA

    de Nvidia. Gracias a esta es capaz de entregar el procesamiento a la placa de video (GPU),

    aprovechando el impresionante poder de calculo que estas poseen y liberando asi al CPU del

    proceso de decodificacion. Actualmente este plugin es de pago, aunque este es irrisorio (para

    donde se gane en dolares por lo menos ) y solo necesario una vez.

    No todas las placas de video Nvidia soportan CUDA, solo aquellas con PureVideo version VP2 o

    superior. Pueden consultar en esta lista.

    Teniendo la placa, solo les faltan los drivers oficiales de Nvidia desde la version 191.07 en

    adelante.

    Como ultimo paso antes de poder ejecutar el script, deben iniciar el servicio CUVID ejecutando el

    archivo CUVIDServer.exe, incluido con la descarga del plugin.

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 20/152

    Los formatos de video soportados, junto con sus posibles contenedores y/o extensiones, son:

    MPEG-2 y MPEG-1 -> VOB, MPG, M2V, M1V, MPV, MPEG, TP, TS, TRP, M2T, M2TS, PVA o VRO.

    H264 -> MKV, H264, 264, AVC, M2T, M2TS, MTS, TP, TS, TRP.

    VC-1 -> MKV, VC1, M2TS, Transport Streams.

    Noten que en el caso de VC-1 no es soportada la extension WMV, en cuyo caso pueden recurrir a

    la herramienta GDSMux incluida con el Haali Media Splitter para pasar de .wmv a .mkv

    Se usa asi: ejecutan DGIndexNV.exe y cargan el video con File->Open. Pueden usar el cursor para

    desplazarse por el mismo o bien las opciones de reproduccion File->Play/Preview/Stop/Pause-

    Resume.

    La extraccion del audio se realiza desde Audio->Audio Demux. En el caso de un archivo TS

    (Transport Stream) se listan las pistas detectadas y deben seleccionar cuales desean extraer: click

    sobre la pista->Set para agregar, Clear para quitar. La extraccion ocurre durante el proceso de

    creacion del archivo de proyecto.

    Cuando se trata de un archivo PS(Program Stream) o MKV las pistas se eligen de la misma forma

    pero se extraen desde ahi mismo usando Demux.

    Ajustes de luminancia estan disponibles (brillo y gamma), a los que se puede acceder desde Video-

    >Luminance Filter.

    Tambien se ofrece la posibilidad de hacer cropping (cortar parte de la imagen), accesible desde

    Video->Cropping Fliter. En ambos casos los resultados se aplican en tiempo real.

    Para crear el archivo de proyecto (.dgv si es VC-1, .dgm si es MPG o .dga si es H264), es decir

    iniciar el proceso de indexado, van a File->Save Project y guardan el mismo. El proceso demora

    unos minutos, pueden ver el progreso en la linea de tiempo. Tambien, de paso que se crea el

    proyecto, se puede demultiplexar el video hacia un archivo solo de video, mediante File->Save

    Project and Demux Video.

    Sintaxis para carga del video:

    DGSource("C:\...\video.dgm")

    Algunos de los parametros disponibles:

    deinterlace, para desentrelazado usando el decodificador PureVideo de Nvidia. Puede tomar los

    valores: "0", por defecto, no se aplica desentrelazado; "1", desentrelazado normal; "2",

    desentrelazado al doble del framerate original (o tambien llamado bobbing).

    resize_w y resize_h permiten aplicar reescalado usando la GPU, y por supuesto representan la

    resolucion horizontal y vertical respectivamente.

    DGDecNV

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 21/152

    DirectShowSource2

    A pesar de su nombre esta no es una version posterior del mismo filtro interno de AviSynth, sino

    un desarrollo independiente. El uso del nombre seguro haya sido para hacer notar que es una

    alternativa mas avanzada.

    En particular, este plugin es parte del desarrollo del Haali Media Splitter, por lo que hace uso de

    este ultimo para abrir los contenedores por el soportados. Para otros formatos recurre a

    DirectShow tal como el filtro original.

    Por lo que tengo entendido su principal ventaja por sobre el filtro DSS es su capacidad para

    ofrecer "frame accuracy" sobre los formatos contenedores soportados por el Haali Media Splitter:

    MKV, MP4 y OGM.

    Por otro lado, no se ocupa de cargar el audio, a diferencia del original que si lo hace, por lo que

    deberan realizar extraccion previa y carga por separado. Para saber como aplicar esto remitirse al

    apartado Introduccion al Lenguaje de AviSynth del post principal.

    Vale aclarar tambien que solo es capaz de cargar VFR (frame rate variable) convirtiendo el video a

    CFR (frame rate constante), que seria equivalente a usar DirectShowSource con el parametro

    convertfps=true.

    Sintaxis:

    DSS2("C:\...\video.mkv")

    El plugin consiste en el archivo avss.dll que viene incluido con el Haali Media Splitter.

    FFmpegSource2

    Este es un conjunto de filtros que hacen uso del proyecto FFmpeg para la carga de los archivos, ya

    sean de audio y/o video. Al igual que los plugin "DG" realiza un indexado completo del video previo

    a su decodificacion.

    El soporte de formatos abarca: AVI, MKV, MP4 y FLV, que deberian ser frame accurate; OGM y

    WMV, que podrian serlo tambien pero no es seguro; VOB, MPG, M2TS, TS, donde ya no esta

    garantizado y la localizacion de frames suele desviarse ligeramente (unos pocos frames, ya sabran

    ustedes si les resulta un problema o no).

    Posee ciertas limitaciones, como ser la necesidad de contar con Haali Media Splitter para la carga

    de OGM o MPEG TS/PS (MPG, TS, etc). No soporta (al menos no correctamente) abrir elementary

    streams, es decir archivos que contienen solo la pista de video, como ser .m2v, .h264, etc

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 22/152

    Funciones:

    FFIndex("C:\...\video.avi", indexmask=-1, dumpmask=0, errorhandling=3)

    Esta funcion solo se ocupa de realizar el indexado del archivo. Les sirve para cuando requieran

    realizarlo de forma separada a la carga del video y/o audio, por ejemplo si luego planean cargar

    video y audio pueden usar esta funcion para que solo se aplique una etapa de indexado, caso

    contrario se aplicara una etapa de indexado en cada llamada al filtro de carga.

    Por si sola no les sirve para cargar audio ni video al script.

    indexmask les sirve para especificar que pistas de audio seran indexadas. Por defecto "-1" indexa

    todas las pistas, mientras que un valor de "0" no indexa ninguna. La forma de seleccionar las

    pistas es algo extraa, por ejemplo para extraer las pistas 1 a 3 se debe usar un valor de "7", si

    alquien puede aclarar un poco mejor como se utiliza este parametro bienvenido sea.

    dumpmask no solo indexa las pistas seleccionadas sino que tambien las extrae del video a

    archivos por separado. Sus valores son los mismos que el anterior parametro.

    errorhandling controla como reacciona el filtro ante un error de decodificacion del audio. El valor

    por defecto "3" lo ignora y continua con el indexado. Se puede usar tambien: "0" para detener el

    indexado; "1" para anular la pista con problemas y continuar indexando; "2" para detener el

    indexado pero conservar las pistas ya indexadas hasta ese punto.

    FFVideoSource("C:\...\video.avi", track, cache=true, rffmode=0, fpsnum=-1, fpsden=1)

    Para cargar el video. Realiza una pasada de indexado salvo se haya realizado antes con FFIndex.

    Con track eligen que pista de las indexadas debe ser cargada. Esta funcion (al igual que la de

    carga del Audio) solo es capaz de cargar una pista a la vez, asi que si necesitan cargar mas de

    una sera necesario que utilicen esta funcion con cada una de ellas.

    Si lo desean pueden escribir la informacion de indexado en un archivo externo para su uso

    posterior. Para ello usan cache=true. Esto a su vez permite el uso de la informacion de indexado

    ya existente.

    Para poder seleccionar como tratar a las marcas (flags) de pulldown tienen el parametro rffmode,

    cuyos valores son: "0" las ignora; "1" las respeta; "2" es el equivalente a Force Film de los plugin

    "DG". Si el video no posee marcas y seleccionan algun valor mayor que cero el filtro dara error.

    Esta opcion es muy util para trabajar con videos Soft o Hard Telecined. Para mas detalle sobre que

    opcion elegir remitirse a la seccion de Desentrelazado.

    fpsnum y fpsden estan para fijar el valor del framerate del video cuando se busca aplicar una

    conversion VFR -> CFR. Se trata de especificar un valor de framerate mediante una relacion fpsnum

    / fpsden. Por ejemplo: para 29,97: fpsnum=30000 y fpsden=1001. Por defecto fpsnum=-1 (o "0")

    implica que no se modifica.

    FFAudioSource("C:\...\video.avi", track, cache=true, adjustdelay=-1)

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 23/152

    Para cargar el audio. Realiza una pasada de indexado salvo que se ya se haya realizado antes

    mediante FFIndex.

    Para tratar de aplicar un cierto delay a la pista de audio pueden emplear el parametro

    adjustdelay, mediante los valores: "-1" ajusta segun la primera pista de video; "-2" ajusta segun

    el tiempo cero; "-3" no hace nada. Y tambien pueden poner aqui el numero que representa a

    cualquier otra pista, de tal forma que el ajuste sea relativo a la misma.

    Descarga

    Requiere que esten presentes en la carpeta plugins de AviSynth: el plugin propiamente dicho,

    ffm2.dll, y el programa ffmsindex.exe.

    LSMASHSource

    De aquellos mencionados en este manual, este es el plugin de carga de Audio y Video de mas

    reciente aparicion, y el recomendado para trabajar con compresion de video H264 y sus

    contenedores mas habituales (MP4, MKV).

    Su operacion es muy similar al FFmpegSource, y emplea tambien las librerias de decodificacion y/o

    demultiplexado del proyecto FFmpeg.

    Ofrece dos filtros distintos para la carga del video o audio segun lo que se requiera.

    Para el demux ofrece 2 alternativas, recomendadas para diferentes formatos.

    Demux LSMASH (MP4, MOV, 3GP, y derivados)

    LSMASHVideoSource(track=0, threads=0, seek_mode=0, seek_threshold=10, dr=false, fpsnum=0,

    fpsden=1, stacked=false, format="")

    LSMASHAudioSource(track=0, skip_priming=true, layout="", rate=0)

    Vale destacar que esta opcion no requiere una pasada de indexacion previa a la decodificacion, a

    diferencia de la opcion que emplea FFmpeg.

    track nos sirve para seleccionar la pista que se ira a decodificar, si se deja en "0"

    automaticamente intenta decodificar la primera pista disponible.

    Para forzar el numero de hilos de procesamiento (nucleos de CPU) podemos usar threads, o

    dejarlo en "0" para su deteccion automatica (max. 16).

    seek_mode define el modo de actuar del filtro ante un error de decodificacion: "0" es Normal; "1"

    es No Seguro; "2" es Agresivo. La diferencia entre los modos radica en la insistencia del filtro

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 24/152

    cuando se encuentra un error que evita la correcta decodificacion del frame, cuando mas agresivo

    el modo, mas probabilidad de que se descarte el frame en favor del inmediato anterior. En cambio,

    un valor Normal implica que el filtro agote todas las instancias para recuperar el frame.

    Cuando se le solicita al decodificador un frame en particular, el mismo debe alcanzar dicho punto

    especifico decodificando en forma secuencial desde un frame de referencia. seek_threshold nos

    permite fijar un valor maximo en numero de frames para que el filtro localice la referencia mas

    cercana, caso contrario se aplica un algoritmo de busqueda mas extenso.

    Es posible forzar una velocidad de repdoduccion (frames por segundo o FPS), por medio de los

    parametros fpsnum y fpsden, siguiendo la formula FPS = fpsnum / fpsden. La salida se fuerza al

    valor elegido por medio de duplicado o prdida de frames, no recomendandose usar estos

    parametros y en su lugar recurrir a los filtros adecuados de AviSynth.

    En el caso de trabajar con mayores tasas de bits (10 bits), se usa stacked=true para activar un

    "hack" en AviSynth que admite estos valores mas elevados.

    format nos sirve para forzar el espacio de color de salida.

    Puede definirse una posicion para los canales de audio por medio de layout. Para mas detalle de

    que sintaxis emplear ver aqui. De no especificarse nada, prevalece la disposicion original.

    La frecuencia de muestreo de salida la fijamos con rate. Caso contrario ("0") se conserva valor de

    origen.

    El parametro skip_priming es conveniente no modificarlo y dejarlo como viene por defecto (activo).

    Permite anular la consideracin del delay inicial que existe en los audios de formato AAC

    contenidos en MP4. De fijarse skip_priming=false se ignora este delay (informado en la cabecera

    del archivo) y puede resultar en la perdida de sincronizacion con el video.

    Demux FFmpeg (resto de los formatos)

    LWLibavVideoSource(stream_index=-1, threads=0, cache=true, seek_mode=0, seek_threshold=10,

    dr=false, fpsnum=0, fpsden=1, repeat=false, dominance=0, stacked=false, format="")

    LWLibavAudioSource(stream_index=-1, cache=true, av_sync=false, layout="", rate=0)

    Para seleccionar la pista a decodificar: stream_index, por defecto en "-1" para autodeteccion (se

    decodifica la pista de mayor resolucion).

    cache=true crea el archivo de indexado en la misma carpeta que el archivo de origen. Util para

    cuando requerimos realizar mas de una decodificacion del archivo, para evitar el indexado en

    futuras pasadas. De usar cache=false la indexacion se realiza igual, pero no se crea el archivo

    auxiliar, por lo que cada vez que se llame al filtro para el mismo archivo se debera indexar.

    Deberia usarse repeat=true cuando la fuente es entrelazada y el filtro es incapaz de identificarlo

    correctamente. El sintoma de esta problematica es el duplicado del numero de frames y una

    incorecta velocidad de reproduccin, dado que el filtro trata a los campos entrelazados como

    frames individuales.

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 25/152

    Para fuentes entrelazadas, dominance fija el orden de los campos. En "0" obedece las marcas del

    archivo de origen, o bien "1" para campo superior primero, y "2" para viceversa.

    Si se usa av_sync=true el filtro intenta la sincronizacion entre el audio y el primer frame de la pista

    de video seleccionada (si corresponde).

    NicAudio

    Para carga de varios formatos audio.

    Sintaxis:

    AC3(Dolby Digital)

    NicAC3Source("C:\...\audio.ac3",Channels,DRC)

    DTS, DTSWAV

    NicDTSSource("C:\...\audio.dts",Channels,DRC)

    Channels: opcional, valor entero, maximo numero de canales a la salida, por ejemplo si cargan un

    .ac3 de 6 canales pueden hacer Downmix a estereo si le ponen al parametro un valor de 2.

    DRC(0,1): aplica el algoritmo de Dynamic Range Compresion, por defecto en 0. 1 aplica el perfil

    Normal del algoritmo.

    MP1, MP2, MP3

    NicMPG123Source("C:\...\audio.mp3",Normalize)

    Normalize(0,1): si normalizar o no el volumen, por defecto en 0 (apagado).

    LPCM

    NicLPCMSource("C:\...\audio.lpcm",SampleRate,SampleBits,Channels)

    WAV, WAVEFORMATEXTENSIBLE, W64, BWF, RF64, AU, AIFF y CAF

    RaWavSource("C:\...\audio.wav",SampleRate,SampleBits,Channels)

    SampleRate: valor entero a expresarse en Hz, representa la frecuencia de muestreo.

    SampleBits: representa el tamao de la muestra digital del audio. Valores validos: 8, 16, 24, 32. Y

    33 solo para RAW (equivale a 32 float). LPCM tambien acepta 20, -8, -16, -24 y -32, siendo los

    valores negativos para audio LPCM de Blu-Ray (Big-Endian).

    Descarga

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 26/152

    BassAudio

    Para carga de audio. Amplio soporte de formatos.

    El plugin no es mas que una interfaz para AviSynth de las librerias decodificadoras provistas por:

    http://www.un4seen.com/, desde donde pueden descargarlas.

    Hay varias librerias, cada una dedicada a un determinado grupo de formatos. Segun que formato

    deseen cargar necesitaran que la libreria que corresponda este acompaando al plugin

    (BassAudio.dll), pero en el script solo es necesario cargar este ultimo.

    La libreria principal es el archivo bass.dll y soporta los formatos: MP1, MP2, MP3, OGG, WAV, AIFF,

    entre otros.

    Otros formatos se soportan mediante Addons, es decir que ademas del archivo .dll que posee

    dicho soporte extra de formatos, tambien debe estar presente bass.dll, todo junto al plugin.

    Pueden ver que hay disponible y para que formatos desde aqui, asi como descargar lo que

    necesiten.

    Sintaxis:

    Para cargar el plugin

    LoadPlugin("C:\...\BassAudio.dll")

    Para cargar un archivo de audio

    BassAudioSource("C:\...\audio.mp3")

    El plugin lo consiguen como parte del BeHappy, ojo que puede ser que algunas versiones sean

    solo el ejecutable, busquen el programa completo, descomprimen y lo encuentran en la carpeta

    plugins.

    Filtros para Manipular Archivos

    AudioDub / AudioDubEx

    Este filtro une la pista de video del clip1 con la pista de audio del clip2, para formar una nueva

    pista de audio y video.

    AudioDub(clip1, clip2)

    AudioDubEx(clip1, clip2)

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 27/152

    La diferencia entre las variantes es que la "Ex" no arroja un error cuando alguno de los clips no

    poseen la pista necesaria. Por ejemplo si el clip1 no posee pista de video, en vez de dar error el

    resultado solo contendra la pista de audio del clip2. Y lo mismo vale si el clip2 no posee audio.

    AlignedSplice / UnalignedSplice[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

    Para unir dos o mas videos, uno a continuacion del otro. La diferencia entre ambas alternativas es

    que AlignedSplice une los videos teniendo en cuenta la sincronizacion del audio, es decir que

    corta y/o agrega silencio en la pista de audio del primer video segun sea necesario para evitar

    desincronzaciones.

    UnalignedSplice debe usarse cuando originalmente las pistas de audio eran una sola continua.

    AlignedSplice(clip1, clip2, clip3, ...)

    UnalignedSplice(clip1, clip2, clip3, ...)

    Tambien puede reemplazarse esta sintaxis por los simbolos + para representar UnalignedSplice y

    ++ para AlignedSplice, por ejemplo asi:

    AviSource("C\...\video1.avi") + AviSource("C\...\video2.avi")

    Trim[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

    Sirve para seleccionar un determinado trozo de un video. Se deben indicar el frame de inicio y

    frame final del trozo, siendo ambos tambien incluidos en la seleccion. A partir de este filtro solo el

    trozo seleccionado continuara siendo procesado.

    Tambien puede usarse para seleccionar diferentes partes del video no consecutivas, "sumando" la

    aplicacion del filtro a cada una de ellas.

    Sintaxis:

    Trim(a,b,pad_audio)

    Trim(a,b)+Trim(c,d)

    Donde a y/o c son los frames iniciales y b y/o d los finales de cada trozo.

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 28/152

    El segundo metodo puede usarse para cortar un sector intermedio del video, basta que a sea el

    frame 0(cero) y d el ultimo frame, entonces se elimina el rango de frames desde b+1 hasta c-1.

    pad_audio(true,false) por defecto activo, de ser desactivado (pad_audio=false) impide que el

    audio sea ajustado para coincidir con la duracion del video.

    Ejemplos extraidos de la wiki:

    Trim(100,0) -> borra los primeros 100 frames, audio ajustado o cortado para coincidir con la

    duracion del video.

    Trim(100,0,false) -> elimina los primeros 100 frames de audio y video. Las duraciones de audio y

    video resultantes permanecen independientes.

    Trim(100,-100) -> lo mismo que trim(100,199)

    Trim(100,199,false) -> el audio sera cortado si es mas largo pero no ajustado de ser mas corto

    que el frame 199.

    Trim(0,-1) -> devuelve solo el primer frame.

    Trim(0,100)+Trim(200,300) -> conserva los frames 0 a 100 y 200 a 300, eliminando los frames

    desde 101 a 199.

    ImageWriter[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

    Permite exportar el video en forma de secuencia de imagenes, o lo que es lo mismo permite

    extraer los frames hacia archivos de imagenes sueltos.

    Sintaxis y valores por defecto:

    ImageWriter("C:\...\nombre_archivo", start=0, end=0, type="ebmp", info=false)

    Entre comillas va la ubicacion y nombre de archivo que tendran las imagenes. AviSynth las nombra

    de la siguiente manera: nombre_archivo000000.type, nombre_archivo000001.type,

    nombre_archivo000002.type, etc.

    Mediante start y end pueden elegir que porcion del video desean exportar, marcando el frame de

    inicio y final. Por defecto ambos valores en 0 indica que se exporta todo el video.

    El formato de las imagenes se selecciona con type, pudiendo ser: bmp, dds, ebmp, jpg/jpe/jpeg,

    pal, pcx, png, pbm/pgm/ppm, raw, sgi/bw/rgb/rgba, tga, tif/tiff. Por defecto se guardan en el

    formato nativo de AviSynth ebmp, que viene a ser un bmp con la posibilidad de exportar en

    cualquier formato de color (YUY, RGB, etc). Si se usan los formatos Y8 o RGB el archivo ebmp es un

    bmp estandar, pero de usarse el resto la compatibilidad probablemente quede restringida a

    AviSynth y el filtro ImageSource.

    Para los demas formatos de imagen el color debe ser Y8 o RGB24/RGB32.

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 29/152

    ltima modificacin: 13 de Marzo de 2015, 15:30 por 888

    Re: Manual AviSynth nueva estructura (por

    favor no postear) Respuesta #2: 04 de Noviembre de 2009, 02:28

    888Moderador

    Desconectado

    Registrado: 26/06/2006

    Mensajes: 8.872

    Valoracin: 8

    Sexo:

    Con info=true se graba sobre el video si el frame fue exportado y de serlo el nombre de archivo de

    la imagen que le corresponde.

    En lnea

    Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php

    Filtros para Transformaciones Geometricas

    AddBorders[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

    Sintaxis:

    AddBorders(left,top,right,bottom,color)

    En ciertos casos no es posible modificar el tamao(espacial) de un vdeo con solo redimensionar

    dado que las resoluciones que se deben obtener son fijas para cumplir algn estndar, entonces

    con solo dimensionar se daaria el aspect ratio(AR) del mismo y este se veria alargado o

    achatado; asi que para llegar a la resolucion definitiva hace falta completar los pixeles faltantes

    con bandas de un color solido, para ello se usa el filtro AddBorders; este filtro agrega una banda

    de pixeles de algun color de altura configurable por separado en cada margen.

    Observen la sintaxis, los parametros left(izquierda), top(arriba), right(derecha) y bottom(abajo)

    representan la cantidad de pixeles(valores enteros) que ocuparan las bandas contando desde

    cada uno de los cuatro margenes.

    Lo mas comun es agregar bandas arriba y abajo, pero tambien se agregan en los cuatro lados por

    ejemplo cuando se desea solucionar el efecto overscan.

    El parametro color permite elegir un color distinto del negro (color por defecto). Este color lo deben

    indicar en codigo hexadecimal. Aqui pueden ver una lista con los codigos y colores soportados,

    mientras que por aca pueden cotejar a que color corresponde cada codigo.

    Ejemplo:

    AddBorders(0,64,0,64,$00FFFF)

    Esta linea agrega bandas de 64 pixeles tanto arriba como abajo de color Cyan. De seguro quede

    horrible pero es un ejemplo nomas .

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 30/152

    Crop[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

    Sintaxis:

    Crop(left,top,-right,-bottom,align)

    Este filtro sirve para cortar cierta cantidad de pixeles de los lados de la imagen.

    Se configura indicando la cantidad a cortar de cada lado, donde left es izquierda, top es arriba,

    right es derecha y bottom es abajo. Y deben colocar los ultimos dos valores negativos como se ve

    en la sintaxis.

    El parametro align(true,false) permite activar(true) o desactivar(false, por defecto) la alineacion de

    la informacion que representa al frame en memoria (RAM). Cuando se usa align=true el filtro, luego

    de cortar y almacenar la imagen en memoria de forma no alineada, procede a copiarla hacia otra

    posicion pero esta vez alineada. Cuando la perdida de velocidad debido a esta copia es menor a la

    perdida que tendria el filtro a continuacion si estuviera la imagen desalineada se logra una

    ganancia de velocidad, especialmente cuando luego siguen filtros de suavizado (Smoothers).

    Una variante del mismo filtro es la siguiente:

    CropBottom(count,align)

    Remueve count lineas de la parte inferior de la imagen, especialmente util para eliminar la

    distorsion inferior de un video capturardo de un VHS.

    FlipHorizontal / FlipVertical[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

    Rotan al video de tal manera que lo que se veia de izquierda-derecha pasa a verse de derecha-

    izquierda, en el caso del horizontal, el vertical hace lo mismo pero en vertical valga la redundancia.

    Dicho de otra forma el video pasa a verse como el original se veria en un espejo.

    Sintaxis:

    FlipHorizontal()

    FlipVertical()

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 31/152

    Letterbox[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

    Se ocupa de solapar sobre el video bandas negras o de color a eleccion, tapando la parte superior

    e inferior, y opcionalmente los lados, del video.

    Puede servir para cubrir bandas negras ya existentes que contengan ruido o para cubrir rudio,

    artifacts, etc de los bordes de un video.

    Sintaxis y valores por defecto:

    Letterbox(top, bottom, x1, x2, color=0)

    Con top y bottom se fijan los tamaos en pixeles de las bandas superior e inferior

    respectivamente. Con x1 y x2 se cubren los laterales izquierdo y derecho.

    Para cambiar el color usan codigo hexadecimal, por ejemplo color=$00FFFF es cyan. Pueden

    consultar otros colores aqui.

    Resize[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

    Este filtro se usa para modificar la resolucion del video, para asi estirarlo o

    comprimirlo(espacialmente hablando) lo necesario hasta alcanzar la nueva resolucin deseada.

    Existen unas cuantas variantes que se pueden usar:

    Sintaxis:

    BilinearResize(ancho,altura)

    BicubicResize(ancho,altura,b,c)

    LanczosResize(ancho,altura,taps)

    Lanczos4Resize(ancho,altura)

    GaussResize(ancho,altura,p)

    BlackmanResize(ancho,altura,taps)

    PointResize(ancho,altura)

    SincResize(ancho,altura,taps)

    SplineXXResize(ancho,altura) , donde XX puede ser 16, 36 o 64

    El ancho y altura deben indicarse con valores enteros, dado que la unidad mas chica posible es el

    pixel. Tambien tengan en cuenta que muchos codecs compresores requieren para su correcto

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 32/152

    funcionamiento que el video a comprimir tenga valores de resolucion, tanto horizontal como

    vertical, multiplos de 8 o 16, asi que antes de aplicar el resize averiguen cual es el caso que les

    compete para no encontrarse luego con errores inexplicables.

    Explicacion Detallada de cada variante:

    Bilinear: tiende a suavizar la imagen, esto significa que es el que menos detalle deja pasar al

    redimensionar; adecuado para cuando usen bitrates bajos al comprimir, y/o cuando se reduce la

    resolucion.

    Bicubic: es similar en funcionamiento al anterior, pero gracias a mejores algoritmos logra procesar

    un mayor nivel de detalle y por ende es mejor para cuando se aumenta la resolucion, lograndose

    una imagen mas nitida, pero solo es recomendable cuando habra suficiente bitrate como para

    comprimir dicho detalle extra, sino puede ser mas conveniente el Bilinear para evitar que la calidad

    se vea afectada negativamente al comprimir. Puede ser personalizado mediante los parametros b

    y c que pueden ver en la sintaxis de mas arriba. Estos son llamados blurring y ringing

    respectivamente; el blurring sirve para quitar nitidez, agregando un efecto "borroso", eliminando

    detalle. Puede servir para evitar la aparicion de macrobloques al comprimir a bajos bitrates;

    mientras que el ringing hace todo lo contrario, a mayores valores mas fino sera el filtro y mas

    detalle dejara pasar llegando tambien a producir el efecto de un filtro sharpen(aumento de

    nitidez), con la posibilidad de aparicion de ruido si el filtro se setea muy fuerte. Con b=0 y c=0.75

    el filtro es identico al presente en VirtualDub, "VirtualDub`s Precise Bicubic". Un valor normal seria

    b=0 y c=0.5 para asi lograr una importante ganacia de detalle respecto del Bilinear, valores

    mayores a c=0.6 pueden producir ruido. Los valores por defecto son: b=1/3 y c=1/3.

    Lanczos: permite alcanzar muy alto nivel de detalle y con mejor calidad que el Bicubic, solo

    recomendable para altos bitrates. Sirve como alternativa al Bicubic con valores de 0.6

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 33/152

    ltima modificacin: 15 de Enero de 2015, 20:53 por 888

    Denoisers Respuesta #3: 07 de Noviembre de 2009, 02:56

    888Moderador

    ser que se quiera disminuir la calidad del vdeo adrede. Sus resultados suelen contener mucho

    bloque.

    Sinc: incorporado a partir de la version 2.6, permite usar la funcion Sinc truncada. El parametro

    taps es lo mismo que en Lanczos.

    SplineXX: este filtro tiene como objetivo alcanzar un muy alto nivel de detalle, pero generando

    menos ruido que si se usara Lanczos. XX puede valor 16, 36 y 64, cuanto mayor este valor mayor

    sera el detalle.

    Otra forma de uso:

    Desde la versin 2.5.6 de avisynth existe la posibilidad de cortar la imagen desde el mismo filtro

    de resize, como con el filtro Crop. Si se utiliza, en el proceso primero se corta y luego se aplica el

    resize.

    Usar esta linea:

    Crop(10, 10, 200, 300).BilinearResize(100, 150)

    Seria casi lo mismo que usar la siguiente:

    BilinearResize(100, 150, 10, 10, 200, 300)

    Este metodo es conveniente usarlo cuando quieren cortar parte de la imagen previa a su

    reescalado. Usandolo se logra mayor calidad en el reescalado de los bordes. Pero para cortar

    bandas negras o artifacts es mejor usar el filtro Crop.

    Turn[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

    TurnLeft()

    TurnRight()

    Turn180()

    Rotan el video 90 grados hacia la izquierda(left), derecha(right) o 180 grados.

    En lnea

    Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 34/152

    Desconectado

    Registrado: 26/06/2006

    Mensajes: 8.872

    Valoracin: 8

    Sexo:

    Denoisers Espaciales

    Son aquellos que filtran un determinado pixel basandose en informacion obtenida del analisis de

    los pixeles adyacentes. Por ello un parametro que muchos de estos filtros tienen en comun (asi

    como tambien los 3D) es aquel que regula que tan lejos del pixel se extiende el analisis. Como se

    imaginaran aumentar dicho radio resulta en perdida de velocidad pero tambien aporta mejoras de

    calidad.

    FRFun3b[YV12]

    Denoiser basado en fractales, lo que no dice nada util salvo que su funcionamiento difiere de otros

    filtros, y basta probarlo para notar muy alto nivel de limpieza y a su vez una alta conservacion de

    detalle fuerte, por lo que constituye uno de los filtros mas potentes y precisos, a pesar de ser solo

    espacial. Tambien es bastante rapido.

    Aunque no todo son rosas, tiende a dejarse llevar y ataca al detalle debil o difuso, lo que puede

    llevar a un efecto de sobrefiltrado en ciertas areas de la imagen. A pesar de esto el resultado

    general suele ser muy bueno si el video es muy ruidoso.

    Sintaxis:

    frfun3b(T, Tuv, S)

    Los parametros son bien simples: T es la fuerza de filtrado sobre luminancia, mientras que Tuv lo

    es sobre la crominancia. S es un parametro que de subirlo cambia calidad por velocidad.

    Y nada mas... eso si, no tengo idea de cuales son los valores por defecto, salvo que si prueban

    aplicar frfun3b() directamente, seguro notaran que es demasiado fuerte.

    Quizas un mejor punto de partida sea: frfun3b(2.0,2.0,1)

    Descarga

    FRFun7[YV12]

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 35/152

    Aparentemente es la continuacion del anterior, aunque en verdad producen resultados diferentes.

    Por ello es que decidi mencionarlos a ambos como filtros separados.

    Debido a la carencia total de documentacion y la falta de informacion en general no tengo idea de

    que diferencias de calidad o potencia puede haber, aunque en mis pruebas observe que parece

    menos potente que el anterior, particularmente al filtrar artifacts de crominancia en fondos.

    Tambien note que es menos preciso filtrando cerca del detalle, produciendo un resultado de menor

    calidad.

    Tambien parece ser notablemente mas rapido, de seguro en compensacion por la menor calidad.

    Sintaxis y valores por defecto:

    frfun7(Lambda=1.1, T=6.0, Tuv=2.0)

    Lambda viene a ser la fuerza de aplicacion en general. Mientras que T y Tuv representan la fuerza

    de aplicacion especificamente sobre bordes, para luminancia y crominancia respectivamente.

    De seguro requieran reducir el valor de T, ya que por defecto es algo fuerte y ataca detalle. Este

    es el parametro que mas impacto tiene sobre el filtrado.

    Descarga

    SpatialSoften[YUY2]

    Unico filtro de ruido espacial incluido con AviSynth.

    Sintaxis:

    SpatialSoften(radius,luma_threshold,chroma_threshold)

    El valor de radius afecta directamente la velocidad del filtro, a mayores valores el filtro compara el

    pixel en estudio con una mayor cantidad de pixeles adyacentes. Por supuesto el aumento de este

    valor reduce drasticamente la velocidad pero tambien aporta una calidad superior dado que le

    permite al filtro identificar con mas precision que es y que no es ruido, en teoria permitiendo una

    mayor conservacion de detalle.

    luma_threshold y chroma_threshold representan la intensidad de aplicacion para luminancia y

    crominancia respectivamente.

    UnDot

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 36/152

    Dudaba sobre si valia la pena mencionarlo, pero es tan simple de usar que aqui va.

    Filtro extremadamente debil. Rara vez notaran a simple vista sus efectos, salvo quizas si observan

    su impacto en la compresibilidad, aunque tampoco esperen gran cosa.

    En particular esta pensado para eliminar ruido en forma de "puntos" aislados, de ahi su nombre, y

    con ellos tambien el denominado ruido mosquito que se presenta en bordes. Se nota su efecto

    especialmente al hacer upsize (reescalar hacia mayor resolucion), donde estos puntos se hacen

    mas evidentes.

    Tambien es extremadamente rapido y el detalle que puede eliminar es despreciable en la mayoria

    de los casos, por lo que usarlo no cuesta casi nada y podria ayudar a un filtrado mas completo.

    Puede resultar contraproducente en videos de muy alto nivel de detalle, ya que tiende a llevarse

    por delante detalle muy fino y/o en movimiento (lluvia o copos de nieve por ejemplo).

    Sintaxis:

    UnDot()

    Eso es todo, ni siquiera tiene parametros .

    Descarga y Documentacion

    VagueDenoiser[YV12-YUY2-RGB24-RGB32]

    Parece mas efectivo contra bajos niveles de ruido, dado que aplicarlo fuerte produce un efecto

    Smooth muy marcado y daa demasiado al detalle. En el caso de anime puede resultar efectivo

    para mayor cantidad de ruido.

    Segun el changelog presente en la documentacion el modo mas completo en funcionalidad y

    optimizaciones es el YV12, asi que si notan problemas con videos en otro modo de color,

    convierten a YV12.

    Sintaxis y valores por defecto:

    VagueDenoiser(threshold=0, method=3, nsteps=4, chromaT=-1, interlaced=false)

    La intensidad de aplicacion se regula con threshold, donde un valor de 0 estima la misma

    automaticamente (adaptativo). Valores menores que 0 desactivan filtrado de Luma. Regular este

    parametro es fundamental, dado que por ser un filtro solo espacial no tendra ningun problema en

    eliminar detalle si se lo aplica mas fuerte de lo que requiere el video.

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 37/152

    nsteps es el tipico parametro que a mayor valor mayor calidad pero mas lento el filtrado y

    viceversa. Valores tipicos recomendados son 3 a 6.

    Para activar filtrado de Chroma aumentan el valor de chromaT>=0, donde 0 es estimacion de

    intensidad automatica (adaptativo).

    Usan interlaced=true para videos entrelazados.

    El metodo de accion que se puede elegir con method varia desde 0 hasta 3. Aparentemente el

    orden de mas fuerte a mas suave es el siguiente: 1>3>0>2. Recomiendo usar el valor por defecto.

    Buenos resultados (sobre poco ruido) y buena conservacion de detalle en un video con poco

    detalle fino:

    VagueDenoiser(threshold=2, nsteps=6)

    Descarga y Documentacion

    SPresso

    Esta es una funcion denoiser muy ligera, ideal para conseguir modestas mejoras de

    compresibilidad sin afectar de forma notable la nitidez.

    En un principio se ideo para el filtrado solo de la luminancia. Aunque luego se le incorporo la

    posibilidad de filtrar tambien crominancia, no parece ser tan efectiva para ello.

    Filtros necesarios: MaskTools v2

    RemoveGrain

    Sintaxis y valores por defecto:

    SPresso(limit=2, limitC=4, bias=25, biasC=50, RGmode=4, RGmodeC=0)

    La "C" identifica a los parametros que regulan el filtrado de crominancia.

    El parametro limit sirve para indicar que tanto se puede cambiar un pixel, y vendria a ser una

    forma de limitar la fuerza de filtro.

    bias permite modificar algo asi como la agresividad, a mayor valor mas pixeles seran filtrados. Un

    valor de "20" es una aplicacion muy liviana, mientras que "30" ya es bastante fuerte.

    El modo de filtrado le corresponde al parametro RGmode, que permite elegir el modo de

    funcionamiento del filtro RemoveGrain. El valor por defecto parece ser el mejor para amplia

    variedad de situaciones. Como el filtrado de crominancia se encuentra desactivado por defecto

    (solo se procesa luma), RGmodeC=0, pero por supuesto pueden jugar con este parametro para

    procesar ambos o solo crominancia, asi como cambiar el modo de filtrado.

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 38/152

    Discusion en doom9 y descarga del script

    TBilateral[YV12-YUY2]

    Este plugin se basa en el algoritmo bilateral de fitrado, para quien sepa de que se trata

    (bienvenida es cualquier informacion, siempre y cuando corresponda al nivel de este manual).

    Yendo al grano, mis pruebas me permitieron observar que hace un trabajo bastante decente con

    niveles ligeros de ruido sin afectar de forma importante al detalle (las hice sobre HDTVRip de

    720p), nada que un buen filtro Sharpen no sepa corregir.

    Por ello incialmente lo recomiendo para ese tipo de videos, pero tambien habria que probarlo con

    niveles de ruido mas importantes a ver como se comporta.

    Sintaxis y valores por defecto:

    TBilateral(diameterL=5, diameterC=5, sDevL=1.4, sDevC=1.4, iDevL=7.0, iDevC=7.0, csL=1.0,

    csC=1.0, d2=false, chroma=true, gui=false, resType=0)

    "L" identifica los parametros que afectan a la luminancia, mientras que "C" a aquellos ligados a la

    crominancia.

    Para cada pixel el filtro lo compara con una serie de pixeles adyacentes, en base a lo cual decide

    como aplicar el filtrado. El parametro diameter fija la distancia hasta donde deben tomarse en

    cuenta pixeles adyacentes. A mayor valor mas pixeles (cada vez mas lejanos al central) seran

    tenidos en cuenta en los calculos del filtro, en teoria proporcionando un resultado mas preciso y

    de mejor calidad, aunque mas lento. El valor debe ser impar, mayor que 1 y menor que la

    resolucion vertical.

    La agresividad del filtro puede ser regulada mediante dos parametros: sDev e iDev. Segun puedo

    observar el primero afecta de forma mas directa la fuerza de aplicacion sobre los pixeles que se

    son filtrados (lo que en teoria seria ruido), aunque usar valores muy elevados tambien conduce a

    sobrefiltrado (tiende a atacar el detalle mas grueso). El segundo parametro proporciona una forma

    de limitar hasta donde llega el filtro cuando se trata de detectar que es ruido y que es detalle;

    este valor debe regularse segun la relacion que haya entre el nivel de ruido y el nivel de detalle

    del video. Por ejemplo, en videos con alto nivel de detalle conviene mantenerlo bajo, pudiendo ser

    necesario reducir bastante los valores por defecto. La agresividad del filtro sobre el detalle es muy

    sensible a este parametro.

    Con el valor de cs tambien se afecta en parte la agresividad del filtro. Aumentar el valor desde

    "1.0" les dara una mayor conservacion de detalle, aunque el efecto es bastante sutil. Disminuirlo

    (se puede hasta un minimo de "0") parece reducir la calidad del resultado, afectando al detalle

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 39/152

    sobre bordes, por ello esto ultimo no creo que sea recomendable, a lo sumo dejarlo en el valor por

    defecto, o si se observa perdida de detalle, aumentarlo.

    Si se trata de imagen real conviene fijar d2=true, dado que permite un filtrado mas eficiente sobre

    gradientes de color suaves. En cambio si la imagen corresponde a anime o dibujos animados

    (areas de color solido y/o gradientes bruscos) es mejor como viene por defecto.

    chroma=true por defecto implica que se procesa la crominancia, por supuesto un valor de "false" la

    deja intacta y solo se filtra luminancia.

    El filtro incluye la posibilidad de habilitar una interfaz grafica (gui=true) para observar en tiempo

    real el resultado de modificar los parametros y asi poder ajustarlos mas comodamente.

    El valor por defecto resType=0 parece ser poco amigable con el detalle difuso en fondos, lo que no

    parece ser el caso al usar un valor de "1" o "2". En teoria tambien es posible un valor de "3", pero

    en mis pruebas siempre causaba el cuelgue de AviSynth, muy probablemente debido a algun bug

    siendo que este modo se introdujo en la ultima version.

    Descarga

    RemoveGrain

    Este es el famoso filtro espacial de ruido muy utilizado en funciones o scripts de variada indole. Se

    caracteriza por poseer una gran variedad de modos de funcionamiento y por ser relativamente

    rapido.

    Descarga

    Autor del filtro: Kassandro

    Sintaxis: (por defecto)

    RemoveGrain(mode=2, modeU=2, modeV=2, planar=false)

    Mode= Determina el modo en que se eliminara grano sobre la luminancia

    ModeU y ModeV= Determina el modo en que se eliminara grano sobre los 2 canales de croma

    Planar= Sirve para que el filtro trabaje con un determinado espacio de color o sobre otros

    tambien.

    Cosas a tener en cuenta:

    -El filtro trabaja por defecto solo bajo YV12 (planar=false), si se quiere utilizar este filtro bajo

    espacios de color YUY2, RGB24 o RGB32 se debe utilizar planar=true.

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 40/152

    planar=true bajo YV12 no produce ningun efecto, ni negativo ni positivo.

    -El RemoveGrain siempre se debe utilizar antes de realizar un crop y en lo posible aplicarlo antes

    de un resize tambien.

    -Al descargarnos el RemoveGrain nos encontramos con 4 .dll con nombre parecido, se recomienda

    NO ponerlas todas juntas dentro de la carpeta Plugins de avisynth. Cada una corresponde al tipo

    de instrucciones que acepte nuestro procesador por lo que si el nuestro acepta SSE3 no habra

    necesidad de poner las anteriores. En el caso de queres tener la opcion de elegir cualquiera de las

    4 .dll es preferible que se cargue a travs de LoadPlugin que ponerlas en la carpeta Plugin de

    Avisynth.

    -Kassandro ofrece la siguiente clasificacin de los modos en lo que respecta al riesgo de generar

    artifacts, desde el ms seguro al de mayor riesgo: 1, 5, 2, 18, 6, 7, 8, 17, 3, 4, 9.

    -Kassandro ofrece la siguiente clasificacin de los modos con respecto a la compresin, de las de

    mayor ganancia compresin a las de menos: 4, 17, 9, 8, 3, 7, 6, 2, 5, 1.

    -Se puede incluso utilizar diferentes modos para la luminancia y la croma

    -Utilizarlo 2 veces seguidas es totalmente valido, igualmente el filtro es muy rapido por lo que no

    debe influir demasido en la velocidad, ej:

    RemoveGrain(mode=17).RemoveGrain(mode=17) o incluso cambiando de modos

    RemoveGrain(mode=17).RemoveGrain(mode=2), etc

    Modos:

    Modo 0= No hace filtrado, solo sirve cuando se buscar filtrar ciertas partes (por ejemplo si solo se

    desease filtrar la luminancia y no la croma, o viceversa).

    Modo 1= No parece hacer practicamente efecto o al menos mis ojos no lo perciben, segun su autor

    da el mismo efecto que el filtro Undot. Por supuesto no hay ningun riesgo de crear artifact ni de

    atacar lineas y detalle fino.

    Modo 2= Parece tener un infimo efecto sobretodo se puede apreciar sobre los bordes pero es tan

    debil que es dificil darse cuenta. Los riesgos siguen siendo nulos como el modo anterior.

    Modo 3= Limpia grano moderadamente pero ataca un poco las lineas delgadas y detalle fino.

    Modo 4= Segun Kassandro es el que obtiene mayor compresibilidad pero tiene un gran riesgo de

    crear artifact y destruir lineas. En mi caso personal limpio bastante bien el grano en general pero

    algunas lineas y detalles muy finos fueron literalmente "devorados", incluso me aparecio un efecto

    parecido al "dientes de sierra" en una linea que era parte de la curvatura de una letra.

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 41/152

    Modo 5= Diseado para ser piadoso con las lineas (incluido sus extremos) y detalles finos pero a

    causa de eso no parece tener un gran poder de limpieza de grano.

    Modo 6= Diseado con el mismo fin que el modo anterior, tiene una leve mejora en la limpieza de

    grano y mantiene muy bien las lineas aunque a veces se come un poco los puntos finales de la

    lineas.

    Modo 7= Limpia mas grano que el modo 6 intentando conservar las lineas y el detalle fino, de

    hecho lo logra bastante bien aunque se come mas los pixeles finales de las lineas que el anterior.

    Modo 8= Limpia un poquito mas de grano que el anterior a costo de seguir perdiendo pixeles en

    los extremos de las lineas.

    Modo 9= Limpia mas grano que los modos del 5 al 8 pero tiene graves problemas con las lineas y

    detalles finos, aunque no tanto como el modo 4.

    Modo 10= Este modo no se menciona en ninguna parte de la documentacion del Remove grain

    pero segun mis pruebas da un resultado muy curioso, no solo no limpia el grano sino que parece

    acentuarlo ms, sobretodo en los bordes y lineas...

    Modo 11= Se diferencia bastante de los otros modos ya que parece darle un efecto "Blur" al video.

    Este modo fue reemplazado por el modo 12

    Modo 12= Es un reemplazo del modo 11, el efecto "blur" o de "desenfoque" parece ser el mismo

    pero este modo es bastante mas rapido que el anterior.

    Modo 13 al 16= Son modos de "Bob" para fuente entrelazada, parece que de 13 a 16 cada modo

    que voy avanzando limpia un poquito mas de grano pero genera algunos artifacts y tiene

    problemas con lineas muy finas, el tema de desentrelazados escapa totalmente a mis

    conocimientos por lo que me abstengo de seguir opinando.

    Modo 17= Vendria a ser el modo inteligente, actua como el 4 pero se adapta a las lineas y detalles

    finos cambiando automaticamente a un modo mas suave. Conlleva un riesgo moderado de

    artifacts.

    A mi me agrado sue resultado, limpio bien el grano sin devorarme las lineas aunque me suavizo un

    poquito la imagen y se comio algunos pixeles de los extremos de las lineas, se puede ganar una

    gran compresibilidad con el. Supongo que un buen Sharpen no deberia tener problemas en

    arreglarlo.

    Modo 18= Es como el modo 17 pero mantiene mucho mejor los pixeles en los extremos de las

    lineas, ademas ese efecto de suavizado del modo 17 casi no se distingue en este modo. Lo malo

    es que no limpia tanto grano como el anterior.

    Bueno, las pruebas las hice con AvsP para no andar recomprimiendo y por supuesto siempre tome

    el mismo frame como referencia.

    Si quieren chequear las fotos que exporte con AvsP con las que fui comparando los distintos

    modos, quiz ustedes encuentren algo en lo que me equivoque o sino ampliar un poco mas la

    descripcin de alguno de ellos.

    Aca les dejo el Pack de fotos.

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 42/152

    Denoisers Temporales

    En este caso el analisis que determina como se filtra un determinado pixel se realiza sobre pixeles

    en la misma posicion pero de frames anteriores y posteriores.

    En este caso el radio del analisis se mide en frames.

    Este modo de filtrado suele ser menos agresivo que el espacial pero tambien mas amable con el

    detalle, y por ello recomendado para bajos niveles de ruido.

    TemporalSoften[YUY2-Y8-YV411-YV12-YV16-YV24]

    Filtro interno (incluido con AviSynth).

    Sintaxis:

    TemporalSoften(radius,luma_threshold,chroma_threshold,scenechange,mode)

    El valor de radius afecta directamente la velocidad del filtro, a mayores valores el filtro compara el

    pixel con sigo mismo en mayor cantidad de frames adyacentes. Por supuesto el aumento de este

    valor reduce drasticamente la velocidad pero tambien aporta una calidad superior dado que le

    permite al filtro identificar con mas precision que es y que no es ruido, en teoria permitiendo una

    mayor conservacion de detalle.

    luma_threshold y chroma_threshold representan la intensidad de aplicacion para luminancia y

    crominancia respectivamente.

    Por defecto en mode=1, se puede setear en mode=2 para aprovechar un mejor desempeo del

    filtro temporal(mejor calidad y mayor velocidad).

    scenechange permite fijar un valor limite para no procesar imagenes involucradas en cambios de

    escena. El valor representa el cambio promedio de los pixeles entre frames. Un rango

    recomendado es 5

  • 24/4/2015 Manual AviSynth

    http://www.mundodivx.org/foro/index.php?topic=37925.0 43/152