Bienvenido(a), Visitante . Por favor, ingresa ingresa o o regístrate.. ¿Perdiste tu regístrate ema il de a ct ctivac ivación ión??
24 de Abri Abrill de 2015, 10:36 Ingresar Siempre
Ingresar
Ingresar con nombre nom bre de usuario, usuario, contraseña y duración de la sesión Inicio
A yuda
Buscar
Ingresar
Registrarse
Noticias: AC3 Filter 2.6.0b Esta nueva versión de AC3 Filter resuelve un problema de cuelgues en Windows Media Med ia Player, problemas relacionados con e l ACM driver y con el SPDIF, y añade más combinaciones de speakers. Las traducciones han sido también actua actualiz lizadas. adas. http://www.mundodivx.org/foro/index.php?topic=42280.0
Buscar
Foro MundoDivX MundoDivX & H264 H264 | Gen General eral y otros o tros tema tem a s | Ma nuales (Mo (Moderadores: Dressler Dressler,, LUCHOO LUCHOO,, Amármol Amármol,, 888 888) )| Manual AviSynth
« anterior próximo »
Páginas: [1] Au t o r
IMPRIMIR
Ir Abajo
Te ma : M a n u al Av iSyn t h (Le íd o 8 53 08 v e ce s)
m urriato urriato,, frank_zappa frank_zappa y y 1 Visitante están viendo este tema.
888 88 8 Moderador Desconectado
Manual AviSynth « Mensaje inicial: inicial : 03 de Noviembre de 2009, 01:50 »
Presentacion
Registrado: 26/06/2006 Mensajes: 8.872 Valoración: 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 me gustaria creer que nos vamos acercando . En principio principio el e l objetivo inicial inicial de servir como como introduccion a AviSynth AviSynth creo que fue alcanzado, a lcanzado, pe ro si no lo creen as i por favor dejen un comentario sobre lo que les pa rece que falta fa lta para cumplir cumplir con 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 criticas y comentarios comentarios s obre el e l manua manuall son muy bienvenidos y pueden pue den hacerlas ha cerlas en este hilo, hilo , desde donde d onde ta mbien pueden pued en colaborar con el e l manua manual, l, nomas nomas publiquen pu bliquen alli la la explic expl icacion acion del fil filtro tro que dese en y este sera agregado a la brevedad dejando por s upuesto constancia de su colaboracion. Colaboran con este manual: overdrive80 ElMagno90 piscator pi scator Nagash Ferny Burnout LUCHOO
Introduccion AviSynth es un programa libre y gratuito destinado a realizar frameserver y edicion de videos. Pero AviSynth 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 archiv o de te xto sin formato, formato, mediante el uso de un lenguaje lengu aje propio de Avi AviSynth. Synth. En cuanto a su ejecucion, esta es en todo momento transparente para el usuario (salvo quizas en casos de error en la configuracion). configuracion).
Registrado: 26/06/2006 Mensajes: 8.872 Valoración: 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 me gustaria creer que nos vamos acercando . En principio principio el e l objetivo inicial inicial de servir como como introduccion a AviSynth AviSynth creo que fue alcanzado, a lcanzado, pe ro si no lo creen as i por favor dejen un comentario sobre lo que les pa rece que falta fa lta para cumplir cumplir con 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 criticas y comentarios comentarios s obre el e l manua manuall son muy bienvenidos y pueden pue den hacerlas ha cerlas en este hilo, hilo , desde donde d onde ta mbien pueden pued en colaborar con el e l manua manual, l, nomas nomas publiquen pu bliquen alli la la explic expl icacion acion del fil filtro tro que dese en y este sera agregado a la brevedad dejando por s upuesto constancia de su colaboracion. Colaboran con este manual: overdrive80 ElMagno90 piscator pi scator Nagash Ferny Burnout LUCHOO
Introduccion AviSynth es un programa libre y gratuito destinado a realizar frameserver y edicion de videos. Pero AviSynth 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 archiv o de te xto sin formato, formato, mediante el uso de un lenguaje lengu aje propio de Avi AviSynth. Synth. En cuanto a su ejecucion, esta es en todo momento transparente para el usuario (salvo quizas en casos de error en la configuracion). configuracion).
De forma muy basica y breve, el funcionamiento funcionamiento podria resumi re sumirse rse asi: AviSynth AviSynth toma video y/ y/o o audio descompri de scomprim mido (la decodificacion decodificacion siempre es e xterna) y se ocupa o cupa de procesarlo e n tiempo real mediante la aplicacion de filtros filtros (internos o e xternos) de muy variada variada indole, para pa ra luego "soltarlo" y sea s ea recibido por el programa compreso compresorr (encoder) o reproductor. Entonces AviSynth AviSynth vendria a ser una especie de intermediario, y por lo tanto requiere no solo que haya alguien antes que le entregue el video descompri d escomprim mido (decodificadores (decodificadores y/ y/o o de multipl ultiplexores), exores), sino ta mbien alguien a continuacion (encoder o reprod uctor) 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 nota s o similares similares pero siem s iempre pre guarda ndo sin formato (.txt) (.txt),, aunque pa ra que AviSynth AviSynth lo reconozca reconoz ca como como un s cri cript pt debe tene tenerr extension AV AVS. S. Tambien Tambien existen utilidades que permi p ermiten ten crear crea r el script de form formaa mucho mas comoda e incl incluso uso interactiv interactiva, a, 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 AviSynth se encarga e ncarga de que q ue es tos vean vea n un archivo AVI AVI con video video de scompri scomprim mido, siendo esta la funcion principal del programa, tomar un video en e n algun a lgun formato cualquiera (c (como omo minim minimo o debe poder ser reproducido con los codecs instalados en el sistema) y entregarlo como un video AVI,, funcion denomi AVI den ominada nada fram framese ese rver. Descarga de Avi AviSynth Synth La siguiente es su web oficial, donde pueden encontrar mas informacion sobre su funcionamiento, asi como tambien tambien listados de d e 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 as ociar a Avisynth Avisynth los archivos de extension e xtension AVS( Associate Associate AVS with Notep Notepad ad ), recomendable activarlaa para asi identifi activarl ide ntificar car facilmente facilmente los scri s cript. pt. Tambien Ad rmite ite acceder a ClickDerecho->Nuevo Add d Avi Avisynth synth Scrip Scriptt to new items items menú menú, que les pe rm para crear directamente directamente un archivo con extension AVS AVS.. >AviSynth >AviS ynth Script para Algunas de las utilidades que se pueden usar para la creacion y evaluacion de scripts son:
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 tiene n 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 pue den cargar e l archivo .avs en cualquier programa que s oporte a rchivos 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 ante riormente 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 ha cia abajo, y de izquierda a derecha e n cada linea, igual que como acostumbramos a leer un libro. Debemos considerar esto cuando armemos nue stro script, ya que los comandos y filtros seran ejecutados en e ste orden y el mismo es de suma importancia, como se comenta mas a delante. Es importante aclarar que AviSynth ignora espacios en blanco dejados entre comandos o filtros sucesivos, as i como tambien mayusculas y minusculas, es lo mismo usar DirectShowSource que diRecTShowSoURCE . Nota: de aqui en mas a quello que se e ncuentra resaltado en amarillo corresponde a lenguaje de AviSynth, por ello lo veran en la sintaxis y en los ejemplos; y lo que vean res altado e n verde son los parametros.
Filtro: Comando que le indica a AviSynth que debe aplicar un determinado filtro en es e 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 ordena da 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 pa ra 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 e llo consultar el manual. Cabe a clarar 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 a plicar 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 e ncuentran 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)
Esto puede aplicarse a todos los filtros. Sin embargo, en la gra n mayoria se conoce el nombre de los pa rametros 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 e s una forma mucho mas comoda y versa til, 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 desee n, pero si quieren continuar en la siguiente linea deben emplear el comando \, de la siguiente forma: STMedianFilter(8, ,4,7)
15 \
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 ente ros (1, 3, 800, etc); real - numeros reales (1.25, 6.9887, 0.006, etc); string - texto, que debe se r escrito entre comillas; boolean - puede ser verdadero (se escribe True) o falso (se escribe Fa lse), sin comillas. En el siguiente ejemplo ven la aplicacion de todos los tipos: LSFmod(defaults="fast", strength=85, secure=false, s s_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 de ntro 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 re cibe una cierta fraccion de informacion, ya sea un valor numerico, una pista de video o audio, texto, etc. Se utiliza para a lmacenar 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 a qui 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:
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 a cceder a su contenido. Cuando necesiten aplicarle un cierto filtrado al contenido de una variable, no solo deben de invocarla por s u nombre sino tambien, luego del filtrado, actualizar su contenido, lo cual puede n 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 "e valua" la e xpresion 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 e l 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 pa rametro dentro de los parentesis, mediante la variable que lo contiene . El mismo ejemplo anterior puede ser ree scrito asi: video = LSFmod(video, defaults="fast")
Si no se e specifica nada e ntonces e l filtro toma como entrada e l ultimo video disponible (o lo que es lo mismo, aquel que se encuentre dentro de la variable last ).
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 sepa rado al comienzo del script: final = AudioDubEx(video,audio) return final
El filtro AudioDubEx se encuentra explicado en la se ccion 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 s er 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 ha ce espe cialmente 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
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 pas a 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 de ntro 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 puede n usarse directamente. Filtros Externos o Plugins: Filtros no incluidos con AviSynth, tambien llamados plugins. Se componen 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 pa ra cargarlos, o pone rlos todos en la carpeta mencionada.
Funciones: Para crear los scripts, Avisynth ofrece un lenguaje mucho mas complejo de lo que se vemos a qui, 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 resu ltados de los que s e consiguen con la a plicacion 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 traba jar 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.
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 a sunto 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 de l filtrado gene ral 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 s u manipulacion.
Filtros en esta categoria: AVISource / AVIFileSource / OpenDMLSource
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.
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 - Vague Denoiser - SPresso - TBilateral - RemoveGrain. Temporales: TemporalSoften - Temporal Degrain. Espacio-Temporales o 3D: Deathray - DeGrainMedian - DFTTest - FFT3DFilter - FFT3DGPU FluxSmooth - STMedianFilter. Temporales con compensacion de movimiento: MVTools+MDegra in - 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 tiene n un uso espe cifico, 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.
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 / aW arpSharp2 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:
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 « Última modificación: 13 de Marzo de 2015, 15:19 por 888 »
En línea 0
Tweet
0
Me gusta
3
Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php
Carga y Manipulacion
888 Moderador Desconectado
Registrado: 26/06/2006 Mensajes: 8.872
« Respuesta #1: 04 de Noviembre de 2009, 02:20 »
Carga de Archivos Por aqui se presentan los filtros que le permiten a AviSynth cargar sus archivos de audio y/o video. En principio aque llos filtros internos incluidos con AviSynth, para luego pasa r a los plugins.
Valoración: 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 re aliza 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 de tecta automaticamente e l tipo de archivo y lo pasa a la interfaz AVIFile o OpenDML segun corresponda. En caso de e ncontrase problemas se puede forzar el uso de alguna de es tas utilizando las otras dos lineas de carga, teniendo en cuenta que AviFileSource sirve para archivos AVI<2GB y el resto de formatos mencionados, mientras que OpenDMLSource puede abrir archivos AVI de cualquier tamaño pero no los otros formatos. Entre las comillas se indica la ruta completa al archivo, aunque esta se puede obviar (solo se pone el nombre) si el archivo .avs(el script) esta en la misma carpeta que e l archivo de video a s er cargado. Este modo de cargar el archivo requiere de un code c VFW para decodificar el video y de un codec ACM para decodificar el audio, asi que deberan tener codecs con dicha capacidad instalados. Pueden evitar la carga del audio colocando audio=false en la linea, quedando as i: AviSource("C:\...\video.avi", audio=false). El parametro pixel_type sirve para forzar un formato de color en la salida de l decodificador, siendo validos los siguientes: YV12, YV411, YV16, YV24, YUY2, Y8, RGB32 y RGB24. Si se omite (que es lo mas comun) AviSynth usa ra el primer formato s oportado por el de codificador respe tando e l orden ya mostrado.
DirectShowSource
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 es ta 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. Aparente mente o frece 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 a udio 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 a lfa(transpa rencias) solo es cargado si se usa RGB32 y si es soportado para el formato de imagen cargado.
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 de multiplexacion y decodificacion (y en algunos casos, de otros ajustes ), actuando a si 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, sue len ofrecer frame accuracy para a lgunos de los formatos que soportan. La carga de los mismos se puede re alizar 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 apa rte. 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 obte ndra 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 ajuste s de luminancia y crop que hayan hecho. Es este a rchivo de
proyecto el que luego se carga desde el script de AviSynth y es a partir del mismo que e l 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 a rchivos con video en e l formato MPEG-1 o MPEG-2, contenidos en alguna de las siguientes extens iones soportada s: 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 e xtraer el audio, pueden usar las opciones e n 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 es tan 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 a udio 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 a rchivo 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
alguno de los siguientes formatos de archivo (extens iones): 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 extrae r (demultiplexar) el audio mediante Audio->Audio Demux , se abre una lista con las pistas detectadas, las marcan para extraer con Set y las mismas sera n demultiplexadas al guardar el proyecto. Pueden desmarcar usando Clear . Ajustes de luminancia es tan 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, pa ra 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 ante s de poder ejecutar el script, deben iniciar el servicio CUVID ejecutando el archivo CUVIDServer.exe, incluido con la descarga del plugin.
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 pasa r de .wmv a .mkv Se usa asi: ejecutan DGIndexNV.exe y cargan el video con File->Open. Pueden usar e l cursor para desplazarse por el mismo o bien las opciones de reproduccion File->Play/Preview/Stop/PauseResume. La extraccion del audio se realiza de sde 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 a gregar, 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 usa ndo Demux . Ajustes de luminancia es tan 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 de cir iniciar el proceso de indexado, van a File->Save Project y guardan e l 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 de sentrelazado usa ndo el decodificador PureVideo de Nvidia. Puede tomar los valores: "0", por defecto, no se aplica desentrelazado; "1", desentrelazado normal; "2", dese ntrelazado 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
DirectShowSource2 A pesar de su nombre esta no es una version po sterior del mismo filtro interno de AviSynth, sino un desarrollo independiente. El uso del nombre s eguro haya sido pa ra hacer notar que es una alternativa mas avanzada. En particular, este plugin es parte del desa rrollo del Haali Media Splitter, por lo que ha ce 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 pos t principal. Vale aclarar tambien que solo e s capaz de cargar VFR (frame rate variable) convirtiendo e l video a CFR (frame rate constante ), que se ria 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 sea n 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 a barca: AVI, MKV, MP4 y FLV, que debe rian 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 de cir archivos que contienen solo la pista de video, como ser .m2v, .h264, etc
Funciones: FFIndex("C:\...\video.avi", indexmask=-1, dumpmask=0, errorhan dling=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 so lo 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 a lgo extraña, por ejemplo para extraer las pistas 1 a 3 se debe usa r 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, fpsnu m=-1, fpsden=1)
Para cargar el video. Realiza una pasada de indexado salvo se haya realizado a ntes 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 e l equivalente a Force Film de los plugin "DG". Si el video no posee marcas y seleccionan algun valor mayor que cero e l filtro dara e rror. Esta opcion es muy util para trabajar con videos Soft o Hard Telecined. Para mas deta lle 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 espe cificar un valor de framerate mediante una relacion fpsnum / fpsden. Por e jemplo: 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)
Para cargar el audio. Realiza una pa sada 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 es ten presentes e n 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 apa ricion, y el recomendado pa ra trabajar con compresion de video H264 y sus contenedores mas ha bituales (MP4, MKV). Su opera cion es muy similar al FFmpegSource, y e mplea 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 e mplea FFmpeg. track nos sirve para seleccionar la pista que se ira a decodificar, si se deja en "0" automaticamente intenta de codificar la primera pista disponible. Para forzar el numero de hilos de procesamiento (nucleos de CPU) podemos usar threads, o dejarlo en "0" para su dete ccion 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
cuando se encuentra un error que e vita la correcta decodificacion del frame, cuando mas agresivo el modo, mas probabilidad de que se de scarte el frame en favor del inmediato a nterior. 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 e n particular, el mismo debe alcanzar dicho punto espe cifico decodificando en forma se cuencial 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 pérdida 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 a ctivar 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 e specificarse nada, prevalece la disposicion original. La frecuencia de muestreo de sa lida 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 consideración del delay inicial que e xiste 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 pe rdida 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 reque rimos rea lizar mas de una de codificacion del archivo, para evitar el indexado e n futuras pa sadas. 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 e l mismo archivo se debera indexar. Deberia us arse repeat=true cuando la fuente es entrelazada y el filtro es incapaz de identificarlo correctamente. El sintoma de esta problematica es el duplicado de l numero de frames y una incorecta velocidad de reproducción, dado que el filtro trata a los campos entrelazados como frames individuales.
Para fuentes entrelazadas, dominance fija el orden de los campos. En "0" obedece las marcas del archivo de o rigen, o bien "1" pa ra campo superior primero, y "2" para viceversa. Si se usa av_sync=true el filtro intenta la sincronizacion entre el audio y e l 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 ente ro, maximo numero de canales a la s alida, 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 e l 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 tamaño 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 ne gativos para audio LPCM de Blu-Ray (Big-Endian). Descarga
BassAudio Para carga de audio. Amplio soporte de formatos. El plugin no es mas que una interfaz pa ra AviSynth de las librerias decodificadoras provistas por: http://www.un4seen.com/, desde donde puede n 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 acompañando al plugin (BassAudio.dll), pero en el script solo es ne cesario cargar es te ultimo. La libreria principal es e l 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 a l plugin. Pueden ver que hay disponible y pa ra que formatos de sde 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 de l BeHappy, ojo que puede ser que a lgunas versiones se an solo el ejecutable, busquen e l 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)
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 s eleccionar un determinado trozo de un video. Se deben indicar el frame de inicio y frame final del trozo, siendo a mbos ta mbien incluidos e n la se leccion. A partir de es te 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.
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 s e e limina el rango de frames de sde b+1 has ta c-1. pad_audio(true,false) por defecto activo, de se r desactivado ( pad_audio=false) impide que el audio sea ajustado para coincidir con la duracion del video. Ejemplos extraidos de la w iki: 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 se cuencia de imagenes, o lo que es lo mismo permite extraer los frames hacia archivos de imagenes sueltos. Sintaxis y valores por de fecto: ImageWriter("C:\...\nombre_archivo", s tart=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_archivo 000000.type, nombre_archivo 000001.type, nombre_archivo 000002.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 s e exporta todo e l 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, s gi/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 e l filtro ImageSource. Para los demas formatos de imagen el color debe ser Y8 o RGB24/RGB32.
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. « Última modificación: 13 de Marzo de 2015, 15:30 por 888 »
En línea
Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php
888 Moderador
Desconectado
Re: Manual AviSynth nueva estructura (por favor no postear) « Respuesta #2: 04 de Noviembre de 2009, 02:28 »
Filtros para Transformaciones Geometricas AddBorders
Registrado: 26/06/2006 Mensajes: 8.872 Valoración: 8 Sexo:
[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24] Sintaxis: AddBorders(left,top,right,bottom,color)
En ciertos casos no es posible modificar el tamaño(espacial) de un vídeo con solo redimensionar dado que las resoluciones que se de ben obtener son fijas para cumplir algún estándar, entonces con solo dimensiona r se da ñaria el as pect 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 banda s 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 .
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 de recha y bottom es a bajo. Y deben colocar los ultimos dos valores negativos como se ve en la sintaxis. El parametro align(true,false) permite activar(true) o desa ctivar(false, por defecto) la alineacion de la informacion que re presenta 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 pe rdida de velocidad debido a e sta 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 pa rte inferior de la imagen, espe cialmente 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 s e veia de izquierda-derecha pasa a verse de derechaizquierda, en el caso del horizontal, el vertical hace lo mismo pero e n vertical valga la redundancia. Dicho de otra forma el video pasa a verse como el original se veria en un espejo. Sintaxis: FlipHorizontal() FlipVertical()
Letterbox [RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24] Se ocupa de solapar sobre e l video bandas negras o de color a eleccion, tapando la parte superior e inferior, y opcionalmente los lado s, 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 de fecto: Letterbox(top, bottom, x1, x2, color=0)
Con top y bottom se fijan los tamaños 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 es tirarlo o comprimirlo(espacialmente hablando) lo necesario hasta alcanzar la nueva resolución deseada. Existen unas cuantas variantes que se puede n 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 tenga n en cuenta que muchos codecs compresores requieren para s u correcto
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 redimensiona r; adecuado pa ra cuando us en bitrates bajos a l comprimir, y/o cuando s e reduce la resolucion. Bicubic: es s imilar en funcionamiento al anterior, pero gracias a mejores algoritmos logra proces ar 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 pue de 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 pue den ver en la sintaxis de mas arriba. Estos son llamados blurring y ringing respectivamente; el blurring sirve para quitar nitidez, agregando un efecto "bo rroso", eliminando detalle. Puede se rvir para e vitar la aparicion de macrobloques a l comprimir a bajos bitrates; mientras que el ringing hace todo lo contrario, a mayores valores mas fino se ra el filtro y mas detalle dejara pasar llegando tambien a producir el efecto de un filtro sharpen(aumento de nitidez), con la posibilidad de apa ricion de ruido si el filtro se setea muy fuerte. Con b=0 y c=0.75 el filtro es identico al prese nte e n 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 e l Bicubic, solo recomendable para altos bitrates. Sirve como alternativa al Bicubic con valores de 0.6
ser que se quiera disminuir la calidad del vídeo 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 gene rando 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 versión 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 s e 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 . « Última modificación: 15 de Enero de 2015, 20:53 por 888 »
Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php
888 Moderador
Denoisers « Respuesta #3: 07 de Noviembre de 2009, 02:56
En línea
» Desconectado
Denoisers Espaciales Registrado: 26/06/2006 Mensajes: 8.872 Valoración: 8 Sexo:
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 s obre 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]
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 te ngo 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 nota blemente mas rapido, de seguro en compensacion por la menor calidad. Sintaxis y valores por de fecto: 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 a plicacion especificamente sobre bordes, para luminancia y crominancia respe ctivamente. De seguro requieran reducir el valor de T, ya que por defecto es algo fuerte y ataca detalle. Este es e l parametro que mas impacto tiene s obre 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 de talle. luma_threshold y chroma_threshold representan la intensidad de aplicacion para luminancia y crominancia respectivamente.
UnDot
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 espe ren 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 de spreciable 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 de talle 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 daña demasiado a l detalle. En el caso de anime puede res ultar 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 o tro modo de color, convierten a YV12. Sintaxis y valores por de fecto: 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 (ada ptativo). Valores menores que 0 desa ctivan 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 e l video.
nsteps es el tipico parametro que a mayor valor mayor calidad pe ro 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 es timacion de intensidad automatica (adapta tivo). 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 sua ve es el siguiente: 1>3>0>2. Recomiendo usa r 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 se r tan efectiva para ello.
Filtros necesarios: MaskTools v2 RemoveGrain Sintaxis y valores por de fecto: 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 se r 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.
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 proba rlo con niveles de ruido mas importantes a ver como se comporta. Sintaxis y valores por de fecto: TBilateral(diameterL=5, diameterC=5, sDevL=1.4, s DevC=1.4, iDevL=7.0, iDevC=7.0, cs L=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 a plicar e l filtrado. El parametro diameter fija la distancia hasta donde debe n tomarse en cuenta pixeles adyacentes. A mayor valor mas pixeles (cada vez mas lejanos a l 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 e l valor desde "1.0" les dara una mayor conservacion de detalle, aunque e l efecto es ba stante sutil. Disminuirlo (se puede hasta un minimo de "0") parece reducir la calidad del resultado, afectando al detalle
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 e ficiente sobre gradientes de color suaves . En cambio si la imagen corresponde a anime o dibujos a nimados (areas de color solido y/o gradientes bruscos) es mejor como viene por de fecto. chroma=true por defecto implica que se procesa la crominancia, por supue sto 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 obse rvar en tiempo real el resultado de modificar los parametros y asi poder ajusta rlos 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 causa ba el cuelgue de AviSynth, muy probablemente debido a algun bug siendo que este modo se introdujo en la ultima version. Descarga
RemoveGrain Este e s 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 de fecto) RemoveGrain(mode=2, modeU=2, modeV=2, planar=false)
Mode= Determina el modo en que se e liminara 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 e spacio de color o sobre otros tambien.
Cosas a tener en cuenta: -El filtro traba ja por de fecto solo ba jo YV12 (planar=false), si se quiere utilizar este filtro bajo espa cios de color YUY2, RGB24 o RGB32 se debe utilizar planar=true.
planar=true bajo YV12 no produce ningun efe cto, 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 e ncontramos con 4 .dll con nombre pare cido, 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 habría 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 través de LoadPlugin que ponerlas en la carpeta Plugin de Avisynth. -Kassandro ofrece la siguiente clasificación de los modos en lo que respecta al riesgo de generar artifacts, desde el más seguro al de mayor riesgo: 1, 5, 2, 18, 6, 7, 8, 17, 3, 4, 9. -Kassandro ofrece la siguiente clasificación de los modos con respecto a la compresión, de las de mayor ganancia compresión 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 dese ase 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 supue sto 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 basta nte bien e l grano en ge neral pero algunas lineas y detalles muy finos fueron literalmente " devorados ", incluso me aparecio un efecto parecido al "dientes de sierra" e n una linea que e ra parte de la curvatura de una letra.
Modo 5= Diseñado para ser piadoso con las lineas (incluido sus extremos) y detalles finos pero a causa de e so no parece tener un gran poder de limpieza de grano. Modo 6= Diseñado 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 intenta ndo conservar las lineas y el deta lle 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 s e 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 más, 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 ree mplazo de l modo 11, el efecto "blur" o de "dese nfoque" pa rece ser e l mismo pero este modo es bastante mas rapido que el anterior. Modo 13 al 16= Son modos de "Bob" para fuente e ntrelazada, 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 sua ve. Conlleva un riesgo moderado de artifacts. A mi me agra do sue resultado, limpio bien el grano sin devorarme las lineas a unque 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 pe ro mantiene mucho mejor los pixeles e n 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 gra no como el anterior. Bueno, las pruebas las hice con AvsP para no andar recomprimiendo y por supue sto 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 descripción de alguno de ellos. Aca les dejo el Pack de fotos.
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 de talle. 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 desempeño 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 represe nta el cambio promedio de los pixeles entre frames. Un rango recomendado es 5
Ejemplos sugeridos por piscator: Temporalsoften(2,3,3,mode=2,scenechange=6) (suave)
Temporalsoften(3,5,5,mode=2,scenechange=10) (medio) Temporalsoften(4,8,8,mode=2,scenechange=10) (fuerte)
Temporal Degrain Se trata de una función que ofrece una calidad excelente de filtrado de ruido, pero es muy lenta al momento de encodear debido a los plugins pesados que utiliza. Necesita los siguientes plugins: -RemoveGrain y Repair -MaskTools v2 -MVTools2 -FFT3DFilter o FFT3DGPU -HQdn3D Sintaxis por defecto: TemporalDegrain(denoise=null, GPU=false, s igma=16, bw=16, bh=16, blksize=8, pel=2, ov=0, degrain=2, SAD1=300, SAD2=300, HQ=1) -GPU: Activa el uso o no de la version GPU del FFT3DFilter, si se quiere activar se es cribe true o si se quiere desa ctivar se pone false -sigma: Es el parámetro que regula la fuerza de filtrado del FFT3D, según su documentación funciona bien para la mayoría de los casos, aunque a simple vista me parece un valor excesivo (voy a hacer pruebas) -bw: Parámetro del FFT3D, indica el bloque de ancho (para mas detalle ver e xplicación en el FFT3DFilter) -bh: Parámetro del FFT3D, indica el bloque de alto (para mas deta lle ver explicación en e l FFT3DFilter) -blksize: Parámetro del MAnalyse, indica el tamaño de los bloques horizontales. Estos podrían ser 4, 8 o 16. Bloques mas grandes son menos sensibles al ruido, mas rápidos pero menos precisos. -pel: Parámetro de l MAnalyse, indica la precisión de la estimación de movimiento. Los valores podrían ser 1, 2 o 4... siendo 1 una precisión de un frame ente ro, 2 la precisión de medio pixel y 4 la precisión de un cuarto de pixel, valor por defecto 2 y el ideal entre velocidad y calidad. -ov: Parámetro del MAnalyse, indica el solapamiento de bloques. -degrain: Parametro del MDegrain, es para s eleccionar que modo del MDegrain se va a utilizar (MDegrain1, MDegrain2, MDegrain3, ver explicación del filtro MVTools+MDegrain para mas detalle) -SAD1: Parametro del MDegrain, equivaldría a thSAD etapa 1 (no se a que se refiere con etapa 1) -SAD2:IDEM Anterior pero etapa 2 (tampoco se a que se refiere con etapa 2)
-HQ: Ajusta e l nivel de filtrado, 0 deshabilita el prefiltrado, 1 agrega la etapa de prefiltrado, y 2 ademas del prefltrado agrega una paso posterior a la limpieza de ruido Descarga y documentacion NOTA: Hay 5 scripts distintos, 1 es el original y los otros 4 son variantes. Para aquellos que tengan una P C multinucleo les recomiendo descarga r la función que se llama TemporalDenoise_MT.avsi, obviamente deben contar con e l plugin MT y la versión modificada del avisynth.dll... eso lo pueden ver en la siguiente parte del manual.
Denoisers 3D Estos filtros realizan un ana lisis tanto espacial como temporal (ver explicaciones de las subcatego rias anteriores) para decidir como se filtra en de terminado pixel. La combinacion de estos dos enfoques en teoria les da a estos filtros una importante ventaja de calidad. Particularmente se destacan FFT3DFilter y DFTTest, dos filtros muy potentes que son capaces de eliminar enormes cantidades de ruido con muy alta precision.
Deathray Deathray es un filtro para quitar ruido espacial/temporal que utiliza la potencia de la GPU pa ra realizar el filtrado dejando libre el CPU para otro trabajo, la aceleración de video la hace mediante OpenCL. Lo malo es que al ser un filtro muy nuevo (publicado e n Doom9 el 17 de enero de 2011) no se sabe a ciencia cierta que placas de video soporta y cuales no, solo algunas confirmaciones: -Funciona en placas de video ATI HD Serie 57xx, probado con éxito en una HD 5870 (del autor de l plugin, Jawor) y en mi placa ATI HD Raedon mobility 5730. -No funciona en placas ATI de las Series 4000 o anteriores y la Serie 5400 (según documentación del filtro) -Hubo algunos problemas con las NVidias que se mejorarían en futuras versiones, aunque conviene que cada uno haga la prueba si le funciona o no. -Las placas debe n ser bas tante modernas y potentes Sintaxis por defecto:
Deathray(hY=1.0, hUV=1.0, tY=0, tUV=0, s=1.0, x=1)
hY: Fuerza de filtrado de la luminancia, el valor 0 desa ctiva el filtrado de luma... valores negativos no se aceptan. hUV: Fuerza de filtrado de ambos canales (U,V) de la crominancia, el valor 0 desa ctiva el filtrado de croma... valores negativos no se aceptan. tY: Cantidad de frames adelante y atras a tener en cuenta para un filtrado temporal de la luminancia, va de un rango de 0 a 64. El valor 0 desa ctiva el filtrado te mporal dejando el filtro solo espacial. tUV:Cantidad de frames adelante y atras a tener en cuenta para un filtrado temporal de la crominancia, va de un rango de 0 a 64. El valor 0 desactiva el filtrado temporal dejando el filtro solo espacial. El filtro por defecto da un excelente resultado, mantiene bien el detalle aunque se le puede ir la mano en alguna parte, quiza seria mejor optimizarlo activando el filtrado temporal Hilo oficial en doom9 (en ingles)
DeGrainMedian [YV12-YUY2] Su nombre lo dice todo , un denoise r espa cio-temporal para eliminar grano. Rápido y efectivo. Cómo se usa y valores por defecto: DeGrainMedian(limitY=4, limitUV=6, mode=1)
Valores posibles: para limitY(luma) [0-255], limitUV(chroma) [0-255] y mode [0 fuerte - 5 débil]. Buenos valores (de más débil a más fuerte) DeGrainMedian(limitY=2,limitUV=3) DeGrainMedian(limitY=3,limitUV=7) DeGrainMedian(limitY=2,limitUV=3).DeGrainMedian(limitY=2,limitUV=3) DeGrainMedian(limitY=3,limitUV=7).DeGrainMedian(limitY=3,limitUV=7)
Descarga y Documentación
DFTTest [YV12-YUY2] Muy potente y preciso, pero lento. Funcionamiento similar a FFT3DFilter. Sintaxis y valores por de fecto: DFTTest(Y=true, U=true, V=true, sigma=16.0, sbsize=12, sosize=9, smode=1, tbsize=5, tmode=0, tosize=0, dither=0, threads=0, opt=0)
Se puede usar por defecto y ya logra exelentes resultados en videos muy ruidosos: DFTTest()
Aunque lo mas comun es que requieran reducir la fuerza de filtrado si se trata de un video relativamente limpio. Si ven que limpia mucho detalle reducen e l valor de sigma. Por ejemplo, para una limpieza de muy alta calidad (muy lenta) sobre un video ba stante limpio, pueden probar: DFTTest(sigma=4)
Con Y, U y V se activa o des activa el filtrado de los planos de luminancia, chroma_U y chroma_V respectivamente. sigma regula la fuerza del filtrado. sbsize es el tamaño del bloque(en pixeles) que se usa para muestrear el frame, a menor valor un filtrado mas preciso(se conserva mas de talle) pero mas lento, y viceversa . sosize regula el overlap o solapamiento entre bloques, por supues to no pue de se r mayor que sbsize-1 y de ser mayor a sbsize /2 el resultado de la resta sbsize-sosize debe ser multiplo de sbsize, asi dice en la docu. smode=1 indica que se usa el esquema de filtrado espacial de bloques y solapamiento. Pero puede ser cambiado a smode=0, lo que involucra que el filtro se mueva pixel por pixel y se transforme en algo ridiculamente lento, aunque tambien ultra preciso. En este modo no hay solapamiento y el valor de sbsize debe ser impar. El radio del filtrado temporal se fija con tbsize, que es la cantidad de frames tomados en cuenta alrededor del que se esta filtrando. Minimo tbsize=1, que equivale a filtrado solo espacial. Desde la version 1.8 el filtro ofrece la posibilidad de aplicar dithering cuando es crea do el resultado. El dithering consiste en aproximar un color desconocido mediante la mezcla de otros colores conocidos y es util para contrarrestar el efecto banding (ver categoria Restauracion). Por defecto esta etapa del filtrado se encuentra desactivada. Se activa con valores mayores que cero y existen dos modos de operacion: dither=1, que deberia ser suficiente para remover el banding introducido por la aplicacion del filtro; dither=>2 (hasta 100), que aplica el mismo metodo de dithering pero agregando una cierta cantidad de ruido aleatorio previo (mas cuanto mayor sea el valor del parametro), lo que sirve para mejorar la efectividad y se pue de utilizar para reducir el
banding ya presente e n el video antes de la aplicacion de DFTTest. Se pueden usar dos metodos de filtrado temporal: tmode=0 filtra frame por frame, centrandose en cada uno y desplazandose hacia a mbos lados se gun tbsize. En cambio con tmode=1 se procesan bloques de frames de tamaño tbsize, cuyo solapamiento e s el valor tosize. La diferencia pasa por la velocidad y precision siendo mas preciso pero mas lento tmode=0. threads esta blece el numero de hilos en que se divide el procesamiento. Un valor de "0" implica que el filtro los fija automaticamente segun el numero de procesadores(nucleos) detectados. A su vez puede elegirse el nivel de optimizacion de las instrucciones usando el parametro opt cuyo valor por defecto s irve pa ra autodeteccion (otros valores posibles: "1"->rutinas C; "2"->SSE; "3">SSE2). El filtro posee opciones de configuracion mas avanzadas, incluyendo la posibilidad de analizar el video en busca de un pa tron de ruido y con el optimizar el filtrado "enseña ndole" a l filtro a localizarlo. Importante: para funcionar requiere que libfftw3f-3.dll (http://www.fftw.org/install/windows.html) este presente en C:\Windows\System32 . Descarga (documentacion incluida)
FFT3DFilter [YV12-YUY2] Elimina ruido conse rvando la nitidez de la imagen (incluso aplicándolo fuerte). Mejora muchísmo la compresibilidad. Tambien ofrece una funcion de sharpen. Sintaxis y valores por de fecto: FFT3DGPU(sigma=2.0, bt=3, plane=0, bw=32, bh=32, ow=bw/3, oh=bh/3)
Cómo se usa: FFT3DFilter() -> config estandar que va bien pa ra muchos caso s FFT3DFilter(bt=5, sharpen=0.5, plane=4, ow=16, oh=16) -> opcion potente y de alta calidad, pero
lenta, ideal para videos muy ruidosos. Parametros: Se pueden cambiar los valores de sigma para la fuerza del filtrado (1.0
2.0
3 más fuerte). Es el parámetro más importante, ojo con aumentarlo porque el filtro es muy potente. También el plane. Por defecto plane=0 solo pilla la luma, si ponemos plane=4 pilla luma y croma. Se pueden cambiar los valores de bt desde 2 a 5 (a mayor valor más frames serán tenidos en cuenta e n el filtrado te mporal). Si colocan bt=1 el filtro pasa a ser solo espacial o 2D. Es interesante mencionar que con el filtro funcionando solo en modo espacial la fuerza del mismo aumenta, es decir que se filtra mayor cantidad de ruido, especialmente en areas oscuras y/o de poco deta lle. Sin embargo tambien se pierde detalle fino, como texturas . El termino medio se alcanza usandolo por defecto, aumentar el radio temporal hara que se salve mas detalle pero tambien se conservara mas ruido en ciertas areas. Usenlo como mas les guste. bw y bh son las dimensiones (ancho y alto) del bloque que usa el filtro para el muestreo del video, se pue den bajar para mejorar la calidad y aumentar la limpieza de ruido. Tambien se pueden editar los valores de ow y oh (el overlap o solapamiento entre bloques en el muestreo), que por defecto dependen de bw y bh como pueden ver en la sintaxis. Para mejorar la calidad se deben subir estos valores y por supuesto se pierde en velocidad (y viceversa), sin embargo el filtro tiene una limitacion y no se permite que 2* ow>bw y/o 2*oh>bh, asi que ojo con eso. Se puede usar la función sharpen, desactivada por defecto. Si se usa, los valores están entre 0.3 y 1.0; Su aplicacion aporta una ganancia notable de nitidez sin ruido extra, muy recomendable. Como podéis ver en la documentación tiene decenas de opciones más, que hacen de este filtro uno de los mejores. ojo al instalar! Se debe colocar el archivo fftw3.dll (que pueden des cargar de Código: [Seleccionar] ftp://ftp.fftw.org/pub/fftw/fftw3win32mingw.zip
) en C:\Windows\System32 . El filtro no funciona sin el. Descarga y Documentación
FFT3DGPU [YV12-YUY2] Version del filtro FFT3DFilter con capacidad para aprovechar la GPU (placa de video) para el procesamiento. Requerimientos:
-> DirectX 9.0c o superior (version de abril del 2006 en a delante). -> Placa de video con soporte DirectX 9 por hardware. En el caso de Nvidia de la linea FX5xxx en adelante, recomendandose de 6xxx en adelante. En cuanto a ATi, de 95xx en adelante. Sintaxis: FFT3DGPU(sigma, bt, sharpen, plane, ow, oh)
Los parametros son los mismos que en el filtro FFT3DFilter. Tambien requiere del archivo fftw3.dll. Descarga y Documentacion
FluxSmooth Sencillo filtro de ruido espa cio-temporal. No particularmente efectivo, limpia mas detalle del que deberia a pesar de s er un filtro 3D, y de los mas s uaves. Sin embargo parece resultar util para limpiezas muy ligeras y mejorar la compresibilidad. Sintaxis y valores por de fecto: FluxSmoothT(temporal_threshold=7) -> filtrado solo temporal. FluxSmoothST(temporal_threshold=7, spatial_threshold=7) -> filtrado espacial y temporal.
Los unicos parametros que se pueden configurar representan la fuerza del filtrado temporal y espacial por separado. Para limpiar muy suavemente y evitar perder detalle de mas, aunque bastante efectivo, particularmente sobre bordes: FluxSmoothST(2,2)
Descarga y Documentacion
STMedianFilter Este plugin realiza un filtrado e spacial y temporal con cierta compensacion de l movimiento. No lo veo pa rticularmente muy preciso, lo cual es consistente con que utiliza un modo de
funcionamiento bastante simple. Por lo que no esperen que sea muy considerado con el detalle. Segun mis obs ervaciones, asi como tambien lo que se describe en la documentacion, el filtro esta regulado para suavizar solo ruido muy fino, por lo que pareceria recomendable para ocasiones donde se desee alguna leve ganancia de compresibilidad (quizas un 5%) o como apoyo en alguna etapa de filtrado mas completa. Por ejemplo, se me ocurre que podria usarse pa ra una primera limpieza muy fina, para luego pas ar a aplicar algo mas potente y de mayor calidad. Sintaxis y valores por de fecto: STMedianFilter(8,15,4,7)
El filtro bas icamente compara los valores de luminancia y crominancia de un determinado pixel con aquellos de los pixeles inmediatos adyacentes (tanto en el espacio como en el tiempo), para luego modificar el valor de dicho pixel y que este quede dentro de cierto rango definido por los pixeles adyacentes. Entonces, el primer parametro regula la a gresividad espacial, ya que es tablece e l maximo cambio que puede sufrir el pixel al ser filtrado espacialmente. Es decir que si los pixeles adyacentes son muy diferentes, el pixel no sera filtrado a no ser que se aumente este parametro. Tengan en cuenta que un aumento desmedido causara perdida de detalle fino con altos contrastes, siendo que este tipo de detalle se suste nta en variaciones a ltas de los valores de pixeles adyacentes. El segundo parametro regula la agresividad sobre bordes, de la misma forma que el anterior. El filtrado parece ser mucho menos sensible a este parametro. Evidentemente el plugin debe poseer algun algoritmo de de teccion de bordes, sino s eria lo mismo que el para metro ante rior. Ya en el tercer parametro se trata de la agresividad en el filtrado temporal, de una forma similar al primero sa lvo porque ahora la comparacion es con los pixeles adyacente s en e l tiempo (frames anterior y posterior). Aqui conviene usar siempre valores bajos (no mayores a 10) para evitar el efecto fantasma. Y por ultimo el cuarto limita el filtrado se gun la compensa cion de movimiento, a mayores valores mayor filtrado pero tampoco conviene pasarse de 10 para evitar el efecto fantasma. Descarga
Denoisers Temporales con Compensacion de Movimiento Se trata de analizar y dete ctar el movimiento del video para asi realizar una limpieza te mporal mas precisa.
MVTools+MDegrain MVTools es un plug-in de avisynth que incluye varias herramientas. El MVAnalyse se usa pa ra la estimación y compensa ción de los objetos en movimiento de un video. Se basa e n vectores de movimiento, los mismos que usa el códec XVID p.ej. a la hora de trabajar, lo que permite hacer una limpieza temporal mejor. Se puede usar la función MVAnalyse junto con cualquier denoiser, pero lo normal es us ar los filtros MDegrain1 , MDegrain2 o MDegrain3. Este filtro trabaja teniendo en cuenta las una, dos o tres frames anteriores y la una, dos o tres frames poste riores, con lo que la limpieza e s mucho más precisa. Limpia sin apenas alterar la imagen y es el que mejora más la compresibilidad de un video. Cómo se usan: Se carga el mvtools2.dll (ver introduccion a filtros externos) y copiamos del siguiente script una de las tres partes, según queramos usar el MDegrain1, 2 o el 3 MVTools con MDegrain1 super = MSuper() backward_vec1 = MAnalys e(super, is b=true, delta=1, overlap=4) forward_vec1 = MAnalyse(super, isb=false, delta=1, overlap=4) MDegrain1(super, backward_vec1, forward_vec1, thSAD=300, thSADC=400)
MVTools con MDegrain2 super = MSuper() backward_vec2 = MAnalys e(super, is b=true, delta=2, overlap=4) backward_vec1 = MAnalys e(super, is b=true, delta=1, overlap=4) forward_vec1 = MAnalyse(super, isb=false, delta=1, overlap=4) forward_vec2 = MAnalyse(super, isb=false, delta=2, overlap=4) MDegrain2(super, backward_vec1, forward_vec1, backward_vec2, forward_vec2, thSAD=300, thSADC=400)
MVTools con MDegrain3 super = MSuper() backward_vec3 = MAnalys e(super, is b=true, delta=3, overlap=4) backward_vec2 = MAnalys e(super, is b=true, delta=2, overlap=4) backward_vec1 = MAnalys e(super, is b=true, delta=1, overlap=4)
forward_vec1 = MAnalyse(super, isb=false, delta=1, overlap=4) forward_vec2 = MAnalyse(super, isb=false, delta=2, overlap=4) forward_vec3 = MAnalyse(super, isb=false, delta=3, overlap=4) MDegrain3(super, backward_vec1, forward_vec1, backward_vec2, forward_vec2, backward_vec3, forward_vec3, thSAD=300, thSADC=400)
Lo único que debemos variar es el valor de thSAD y thSADC (unmbral para el filtrado de luma y chroma). Recordad que se pue de aplicar más fuerte a la chroma sin que afecte a la imagen. Valores orientativos, después cada uno que pruebe: 100 para las fuentes excelentes 200 para las muy buenas 300 para las buenas 400 para las normales-limpia más fuerte (es el valor por defecto) En la docu se explican el resto de opciones, pero por defecto van muy bien. Descarga y Documentación
TTempSmooth [YV12-YUY2] Filtro temporal adaptativo al movimiento (solo trabaja en zonas esta ticas de la imagen), y usa valores de referencia en frames anteriores y posteriores (hasta un máximo de 15!, 7 de cada lado). Tiene su tiempo pero se sigue usando. Cómo se usa y valores por defecto: TTempSmooth(maxr=3, LThresh=4, CThresh=5, scthresh=12.0, debug=false, interlaced=false)
Valores pos ibles para maxr: de 1(menos frames, más rapidez , menos calidad) a 7(más frames, menos rapidez, mas calidad). LThresh, CThresh: limite de luma y chroma, rango: 1 a 256. Para regular la sensibilidad de deteccion de cambio de escena se ofrece el parametro scthresh. Para ver que frames estan siendo detectados como cambio de escena, y asi poder ajustar este valor de forma optima segun el video, pueden usar debug=true. Para monitorear la informacion que el filtro entrega pueden usar la utilidad DebugView.
Para aplicar sobre video YV12 entrelazado, interlaced=true. No tiene efecto si el video es YUY2, dado que no ha ce falta. Descarga y Documentación « Última modificación: 10 de Noviembre de 2013, 15:07 por LUCHOO »
En línea
Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php
Restauración
888 Moderador
« Respuesta #4: 07 de Noviembre de 2009, 04:04 »
Desconectado
Registrado: 26/06/2006 Mensajes: 8.872 Valoración: 8 Sexo:
Filtros para Debanding El banding se presenta sobre zonas del video donde hay una variacion de color suave o gradual. El artifact o efecto indeseable consiste en bandas de colores solidos bien definidas en vez de una variacion de color continua, producto de una representacion con menos bits de los necesarios. Para ilustrar mejor este efecto ver imagen. Entonces los filtros dentro de esta subcategoria se ocupan de sua vizar la transicion entre estas bandas, tratando de restaurar el gradiente de color. Quizas enfocados mayormente a post-proceso, es decir para filtrar durante la reproduccion, dado que si los us an para corregir el efecto y luego comprimir, el encoder e s muy probable que vuelva a generar los artifacts al reducir la cantidad de bits como parte de la compresion. De toda s formas basta que prueben y llegado el caso se podria aumentar la fuerza del filtro para ver si el efecto se conserva.
GradFun2db [YV12-YUY2-RGB24-RGB32] Filtro basico para debanding. Sintaxis: GradFun2db(thr)
thr(valor real) regula la fuerza del filtro, por defecto e n "1.2"
Descarga
GradFun2DBmod Esta funcion, que s e basa en e l filtro ante rior, ofrece una mayor calidad y funcionalidad. La mayoria de los s cripts que son capaces de a plicar debanding hacen uso de esta funcion. Filtros requeridos: GradFun2db AddGrainC MaskTools2 RemoveGrain Agregar ruido de grano (AddGrainC) ayuda a disimular mejor el efecto, y me parece que tambien ayuda a evitar que ocurra de nuevo en futuras compresiones. Sintaxis y valores por de fecto: GradFun2DBmod(thr=1.2, thrC=thr, str=0.8, strC=0.0, temp=50, custom="tu_generador_de_grano_favorito", show=false, screenW, screenH)
Los parametros que fijan la intensidad de aplicacion son thr y thrC para luma y chroma respectivamente. La intensidad del grano generado se pue de configurar con los parametros str y strC para luma y chroma respectivamente. Estos representan los parametros var y uvar del filtro AddGrainC. temp es el parametro seed de AddGrainC, que regula la estabilizacion temporal del grano generado y sirve para lograr un ruido de grano desde mas aleatorio (0) a mas estatico (100). Un valor de -1 desactiva dicha estabilizacion. Pueden usar el plugin generador de grano que prefieran, asi: custom="GrainFactory3()", pudiendo tambien agregar otros filtros en cadena separandolos por puntos, por ejemplo para usar supersampling: custom="spline36resize(resolution*2).addgrain(xx,0,0).spline36resize (resolution)". Con show=true a la salida se obtiene una comparacion donde se puede observar el frame original y el frame filtrado, junto a las diferencias entre ellos mostradas graficamente, asi como tambien los valores fijados para todos los parametros. Esto constituye una exelente herramienta de ayuda para la configuracion del filtro. screenH y screenW son las resoluciones, vertical y horizontal respectivamente, de la salida cuando esta activa la comparacion con show=true.
Descarga y discusion en doom9
Filtros para Deblocking Seguro ya habran notado esos feos bloques que aparecen en los videos comprimidos con los codecs mas modernos, que se hacen mas notables cuanto mas sobrecomprimido este el video. Ya se imaginaran para que sirven los filtros de esta subcategoria, pues si, se ocupan de remover a los nefastos bloques.
BlindPP Buen filtro de bloque s, potente y efectivo. Logra aniquilarlos con muy poca perturbacion del detalle, y ya que esta en eso limpia buena parte del ruido en general que pudiera haber, asi como tambien ofrece la posibilidad de filtrar ruido en bordes (ringing). Como localiza los bloques por su tamaño, debe ser aplicado antes de cualquier etapa de crop o resize para evitar que estas los deformen. Sintaxis y valores por de fecto: BlindPP(quant=2, cpu=6, iPP=false, moderate_h=20, moderate_v=40)
Para que ataque e xclusivamente a los bloques se de be usar cpu=4. Valores menores (hasta 0) reducen la efectividad del deblocking. cpu=5 activa filtrado extra de ruido de Luma en bordes (deringing), y cpu=6 incluye tambien chroma. Aunque e l filtro realiza un exelente traba jo solo con la funcion de blocking. La fuerza se fija con quant, y va desde 0 a 31. Usan iPP=true unicamente si su video es entrelazado. moderate_h y moderate_v (ambos desde 0 a 255) son limites para establecer hasta donde se filtra. Aumentar e stos valores permite una menor agresividad (se filtran menos bloques, pero puede ayudar a conservar mas detalle), y viceversa. Ejemplo: Para filtrado de bloques y ruido en general, relativamente fuerte: BlindPP(quant=4, cpu=4)
Descarga
Deben descargarse el paquete DGMPGDec, donde viene incluido dentro de l archivo DGDecode.dll. Se usa dicho archivo como plugin.
DeBlock [YV12-YUY2] Utiliza el filtro para deblocking presente en la decodificacion de H264. Es conveniente aplicarlo antes de cualquier resize o crop, para evitar alterar los bloques y dificultar o impedir su localizacion. Sintaxis: Deblock(quant,aOffset,bOffset)
quant(valor entero, rango: 0 a 60) regula la fuerz a del filtro. Por defecto es 25. aOffset(entero) modifica el limite de deteccion de bloque s, a mayores valores el filtro se ra aplicado tambien donde los bloques son menos visibles. Por defecto en 0. bOffset(entero) modifica la deteccion de bloque s y la fuerza del filtro, a mayores valores mas fuerte es la aplicacion. Por defecto en 0. Si quant+aOffset es menor de 16 el filtro no hace nada. Descarga y Documentacion
DeBlock_QED Esta funcion filtra los bloques distinguiendo e l borde de los mismos y su interior, para rea lizar un filtrado mas fuerte sobre el contorno de los bloques, mientras se evita un filtrado excesivo en su interior. Como el objetivo de la funcion es preservar una mayor cantidad de de talle debilitando el filtrado en el interior del bloque, es mejor usarla en videos ligeramente so brecomprimidos o que no tengan presencia de bloques demasiado notable. Es conveniente aplicarlo antes de cualquier resize o crop, para evitar alterar los bloques y dificultar o impedir su localizacion. Filtros requeridos: MaskTools2
DeBlock DCTFilter Sintaxis y valores por de fecto: DeBlock_QED(quant1=24, quant2=28, aOff1=2, bOff1=4, aOff2=4, bOff2=8, uv=3)
quant1: fuerza de filtrado en bordes de bloques. quant2: fuerza de filtrado en interior de bloques. aOff y bOff represe ntan los mismos pa rametros ya explicados en el filtro DeBlock(mas arriba), pudiendose regular para los bordes(1) o interior(2) de bloques por separado. uv=3 aplica la funcion a chroma. Un valor de 2 no filtra chroma. Y valores de -1 o 1 aplican un filtrado convencional con el filtro DeBlock, fuerte o normal respectivamente. Es decir que para que la funcion se a aplicada a la crominancia, debe us arse como viene por de fecto. Una aplicacion del filtro por defecto ya aporta buenos resultados: DeBlock_QED()
Descarga (Click derecho->Guardar como)
SmoothD Este filtro esta un poco viejo y su desarrollo fue abandonado en etapas muy tempranas sin llegarse a una version es table. A pesar de todo se las arregla bastante bien para eliminar los bloques produciendo resultados mas que satisfactorios para su rapida velocidad. Tambien puede usarse como denoiser general, aunque habiendo mejores y mas nuevas opciones en es e rubro yo lo recomiendo e xclusivamente para e liminar bloques. Sintaxis: SmoothD(quant=3, num_shift=4, adaptive_shift=0, zero_weight=1)
La fuerza se fija con quant, desde 1 a 31. A mayor valor mas fuerza. El tipico parametro para canjear velocidad por calidad esta presente en num_shift, que a mayor valor da mas calidad pero menor velocidad. Va desde 1 a 8. adaptive_shift (0 o 1), de activarse (1), regula el valor de num_shift respecto del valor de quant, supongo que para permitir una mejor relacion calidad/velocidad, aunque quizas sea mejor que lo hagan manualmente.
De aumentarse zero_weight los bloques son atacados con menos agresividad, lo que puede servir para una mayor conservacion de detalle. Ejemplo: Para un video con bloques bien visibles esta linea parece hacer un buen trabajo: SmoothD(quant=5, num_shift=8)
Descarga y Documentacion
UnBlock Fuerte filtro de bloques, para videos moderada a fuertemente sobre comprimidos. En mis pruebas observe que es muy efectivo en areas de bajo nivel de detalle, pero donde los bloques a parecen s obre detalle mas fino el filtro distorsiona mucho, y de nada sirve si va a generar mas ruido de l que elimina. Reservenlo para videos muy feos. Sintaxis: Unblock(chroma, photo, cartoon)
Por defecto: chroma=true, photo=false, cartoon=false. chroma=false desactiva el filtrado sobre la crominancia (informacion de color). Se puede colocar photo=true cuando se sabe que la imagen del video es "fotografica", lo que configura al filtro mas a gresivo. Y si se aplica el filtro a un video de dibujos animados (colores solidos con a lto contraste) se puede colocar cartoon=true , lo que sirve para que el filtro sea menos agresivo. Descarga y Documentacion
Filtros para Dehaloing y Deringing El indeseable e fecto "halo" se presenta como una ba nda luminosa u oscura en los bordes de alto contraste. Usualmente es causado por pasarse con el efecto sharpen, aunque tambien puede encontrarse nativamente, por ejemplo en DVD comerciales. Por otro lado , los filtros para de ringing son aquellos destinados limpiar el ruido que muchas veces
acompaña a los bordes. La mayoria de los filtros para dehaloing tambien puede usarse para deringing dado que su principio de funcionamiento suele s er muy similar. Por ello es que esta subcategoria engloba ambos tipos de filtros.
DeHalo_alpha Muy buena funcion para dehaloing, altamente efectiva, aunque suele requerir que configuren bien sus parametros se gun el video pa ra lograr la maxima eficiencia. Tambien pueden usarla para de ringing, aunque no e speren tan bue nos resultados por ese lado. Filtros requeridos: MaskTools2 Repair (parte del paquete RemoveGrain) Sintaxis y valores por de fecto: DeHalo_alpha(rx=2.0, ry=2.0, darkstr=1.0, brightstr=1.0, ss=1.5)
rx y ry es el radio de aplicacion del filtro, horizontal y vertical respectivamente. La funcion es muy sensible a este parametro asi que no se aparten mucho de los valores por defecto. Un valor de 1.0 desactiva el filtrado e n esa direccion. Basicamente este parametro permite regular el tamaño de los halos y asi evitar filtrar de mas y perder contraste (detalle) o quedarse corto y dejar pasar halos gruesos. Es muy importante que fijen este parametro segun su video si notan que sobrefiltra. darkstr y brightstr es la fuerza de aplicacion del filtro para halos oscuros y brillantes respectivamente. Yo diria que conviene bajar bastante la intensidad de aplicacion sobre halos oscuros, dado que son los que menos molestan, ademas de que su presencia resa lta contornos y da la impresion de mayor nitidez. Quizas valores menores de 0.5 sean recomendables. ss es e l factor de supersa mpling, util para evitar aliansing (efecto serrucho en b ordes). Descarga
EdgeCleaner Funcion para deringing y dahaloing. Es efectiva para ambos tipos de artifacts, aunque para halos muy fuertes puede que se quede corta.
Filtros requeridos: aWarpSharp MaskTools2 RemoveGrain y Repair (RemoveGrain solo para smode=1) Deen (solo para smode=2) Sintaxis: EdgeCleaner(strength=8.0, rep=true, smode=0, hot=false, fix=true)
strength es la fuerza de aplicacion. rep=true usa el filtro Repair sobre el resultado de aWarpSharp, supongo reduciendo la intensidad de la deformacion producida por este . smode define el modo en que la funcion busca pequeñas particulas, pudiendo ser: 0-Desactivado; 1-Usando RemoveGrain; 2- Usando Deen. hot=true activa el filtrado de "hot pixels" como se les dice en la jerga, que vendria a ser ruido muy fino compuesto de pixeles con un color muy diferente de l color que los rode a. Similar a usa r el filtro UnDot. fix=true soluciona un bug conocido del filtro aWarpSharp. Script de la funcion: Spoiler
HQDering Funcion que resulta bastante efectiva versus el efecto halo, aunque produce notable aliasing. En cuanto a deringing, ofrece una limpieza muy ligera para no dañar detalle, asi que si poseen un video que tiene considerable ruido en bordes deberan recurrir a algo mas potente. Filtros requeridos: MaskTools2 Deen Sintaxis y valores por de fecto: HQDering(strength=255, overall=0)
El valor que tiene la fuerza por defecto es e l maximo que admite la funcion (0
Para un efecto smooth generalizado pueden darle valores mayores que cero a overall, hasta 255. Script de la funcion: Spoiler
YAHR O tambien: Yet Another Halo R educing script. Funcion extremadamente potente y efectiva. Deben cuidar donde la aplican para no perjudicar al detalle. Ademas, debido al uso de aWarpSharp, objetos pequeños se ven ligeramente deformados. Filtros requeridos: MaskTools2 RemoveGrain y Repair aWarpSharp MedianBlur Sintaxis: YAHR()
Eso es todo, no tiene parametros, aunque serian bienvenidos para controlar su agresividad. Descarga (click derecho->guardar como)
Filtros para AntiAliasing El efecto de aliasing provoca en los bordes de las imagenes pixelaciones dando el aspecto de sierra:
Para este proceso, existen funciones intrinsecamente creadas para evitar este efecto y dar suavidad a los bordes y otras que no siendo su funcion principal, tambien lo consiguen.
SAA Funcion antialiaser poderosa y rapida, recomedable para fuentes de calidad media a mala, necesita plugin SangNom. Filtros requeridos: SangNom Sintaxis: SAA(SS=2, CP=true)
SS regula la proporcion de SuperSampling. SS regula SuperSampling. CP indic CP indicaa si se procesa o no la croma. croma. Script de la funcion: Spoiler
Residual Anti-Aliasing Aqui otro antialiaser, al contrario de SAA() SAA() este este debe deberia ria ser muy preciso preciso y la calidad muy buena buena,, recomendado recom endado pa ra calidad calidad media media a alta, es lento, deberia ser capaz de agua ntar setmtmode(2) , es parecido al resultado de ediaa() pero deberia ser mas preciso y mas rapido. Filtros requeridos: eedi3 Sintaxis: RAA() (no tiene parametros) Script de la funcion: Spoiler
SharpAAMCmod Impresionante funcion que ofrece excelentes resultados aunque requiere una enorme cantidad de filtros fil tros pa ra funcionar. Filtros requeridos: Toon-v1.1 LSFmod aWarpSharp2 MaskTools MaskTools2 RemoveGrain MVTools2
EEDI2 SangNom SharpAAMCmod(da SharpAAMC mod(dark, rk, thin, th in, sharp, s harp, smooth, sm ooth, stabilize, s tabilize, tradius, aapel, aaov, aablk, aatype) aatype)
El parametro dark dark tiene tiene la funcion de remarcacion de la linea. Por defecto 0.2 El parametro thin thin la la de a delgazarla. Por defecto defecto 10 10.. El parametro sharp sharp que que indic indicaa a LSFM LSFMod od la funcion de enfocado (0(0-100). 100). Por defecto 100 100.. El parametro smooth smooth que que indica a LSFMod la funcion funcion de s uavizado (0-100). Por defecto 100 100.. (smooth-piel (sm ooth-piel melocoton-suavizado elocoton-suavizado)) El parametro stabilize stabilize controla controla la esta bili bilizacion zacion de movimiento movimiento de los bordes para p ara evitar e vitar el parpade o. Provoca mucha mucha lentitud, en casos caso s muy extremos. extremos. Por defecto true El parametro tradius tradius m marca arca el radio temporal de estabilizacion e stabilizacion (0 a 3). Por defecto de fecto 2. El parametro aapel aapel indica indica el factor de supermuestreo su permuestreo pa ra cálculos del vector de movimiento movimiento cuando usamos stabilize=true stabilize=true.. (1, 2 o 4). Por de fecto 1. El parametro aaov aaov determina determina el solapam solapa miento de los bloques para e l cálculo cálculo del vector de movim ovimiento iento cuando usamos stabilize=true stabilize=true.. Por defecto 4 para SD SD y y 8 para HD HD.. El parametro aablk aablk dete determ rmina ina el tamaño de los bloques para los cálculos del vector de movimiento movimiento cuando usamos stabilize=true stabilize=true (4, (4, 8 o 16). Por defecto 8 para SD SD y y 16 16 para para HD HD.. El parametro aatype aatype indica indica el tipo de antialiasing, en este caso "Sangnom" o "EEDI2". Por defecto Sangnom Ejemplo Ejempl o (valores por defecto): de fecto): SharpAAMCmod(dark=0.2, thin=10, sharp=150, smooth=-1, stabilize=false, aatype="Sangnom", aapel=1, Tradius=2)
Esta funcion esta incl incluida uida en e l codigo de la funcion AnimeIVTC AnimeIVTC y y puede ser cargada de forma separada, pero si quereis podeis crear un Script .avsi por separado usando el codigo contenido en el siguiente spoiler: Spoiler
Filtros para Correccion de Color Aquellos filtros que solucionan artifacts que haya sobre los colores.
Colormatrix Al convertir convertir des de un DVD a XviD mediante mediante Avi AviSynth Synth muchas muchas veces la inform información ación de color de la fuente no es interpretada correctamente. Colormatrix Colormatrix soluci soluciona ona e sto. Cómo se usa: Cómo En la carga del de l video video mpeg2source("C:\RIP\pelicula.d2v" ,info=3) mpeg2source("C:\RIP\pelicula.d2v" ColorMatrix(hints=true)
Si se observa obse rva mejoría mejoría lo usamos. Si no, no hace falta. Descarga y Documentacion Documentacion
Filtros para Eliminar Logos Para cuando dese en desha cerse de algun molesto molesto logo o marca de agua que haya sobre el video. video.
rm_logo Funcion que hace uso de una interesante variedad de filtros para lograr su objetivo. Descarga (Click Descarga (Click derecho->guardar como) Filtros requeridos: AVSInpaint ExInpaint MaskTools2 MedianBlur RemoveGrain TTempSmooth
FFT3DFilter (solo FFT3DFilter (solo para PP=2 PP=2)) Ojo porque el filtro filtro AVSInpaint AVSInpaint se se carga mediante el comando especial LoadCPlugin. No se carga automaticamente con tenerlo en la carpeta de plugins por defecto. Sintaxiss y valores por de fecto: Sintaxi rm_logo(logomask="", loc="", cutsize="small", par=1.0, mode="both", percent=25, PP=1, debug=false)
Parametros: El filtro requiere de una mascara que marque donde se encuentra el logo. Dicha imagen se carga mediante al parametro logomask logomask.. Deben indicar la localizacion de la misma misma entre "", por ejemplo logomask="C\...\logo.bmp".. Mas adelante se explica como se crea esta mascara. logomask="C\...\logo.bmp" Para evitar operar sobre la totalidad de la imagen, el filtro corta el trozo donde esta el logo. Entonces es necesario indicarle en que parte del frame se encuentra, mediante loc loc,, que puede ser: "tr", "tl", "br" o "bl", respectivamente las esquinas superior derecha, superior izquierda, inferior derecha e inferior izquierda. Si el logo logo es demasi demasiado ado grande puede n aumentar el area de recorte usando cutsize="medium" cutsize="medium" o o cutsize="large".. cutsize="large" Esto lo aplic ap lican an si ven que parte de l logo permanece intacto, como como si no hubiera sido filtrado. par es par es para especificar la relacion de aspecto, por ejemplo par=16.0/9.0 par=16.0/9.0 o o par=4.0/3.0 par=4.0/3.0.. Segun el tipo de logo existen 3 modos para removerlo. Si es translucido, usan mode="deblend" mode="deblend".. Si son colores solidos, mode="inpaint" O una com combinacion binacion de am a mbos, mode="both" mode="both".. PP=1, 2 o 3 activan alguno de los modos de post-proceso, con la intencion de minim PP=1, inimizar izar los artifacts resultantes de la elim e liminacion inacion del logo. Un valor de "0"(cero) desacti desa ctiva va esta funci funcion. on. Habilitando debug=true debug=true la la salida se transforma en un mosaico de imagenes donde se muestran las diferentes etapas de filtrado. Ideal para comparar. Modo de uso:
Necesitan se leccionar un frame del video donde aparesca el logo, y guardarlo como imagen .bmp (pueden us ar Media Player Classic). Lo ideal es que elijan un frame que posea el fondo negro, por ejemplo uno de los creditos, ya que luego deben editar esa imagen .bmp, resaltar el logo con color blanco y dejar el resto de la imagen de color negro puro. Esta nueva imagen es la mascara que utiliza la funcion para identificar al logo, y la ruta a la misma es la que deben colocar como valor del parametro logomask. El primer script es mejor ejecutarlo mediante algun reproductor, y no cargarlo directamente al programa conversor. Esto es asi porque el filtro realiza una primera pasada de analisis sobre un trozo de video donde la totalidad de los frames contengan el logo. Por e llo en el script aplican el filtro Trim (categoria Manipulacion de Archivos) para seleccionar un intervalo donde estan seguros que el logo aparece en todos los frames. Esto solo si el logo aparece o de saparece en algun punto del video. Entonces, la primera vez que ejecuten el script el filtro realiza una pasada de analisis sobre un deteminado porcentaje del video (o intervalo que hayan fijado con Trim), el que pueden configurar mediante el parametro percent (entre 0 y 100 por supuesto). A mayores valores mejor el resultado, pero procuren no pa sarse de "50". Este analisis puede tardar mucho, dependiendo del porcentaje que elijan y la resolucion del trozo a analizar. Mientras tanto el programa reproductor aparenta estar colgado, pero tengan paciencia. Finalizado el ana lisis se crea un a rchivo de imagen .ebmp que contiene la informacion recolectada y requerida por el filtro para e liminar el logo. De aqui en mas el video es accesible (se reproduce) y aunque cierren el reproductor no es necesario un nuevo analisis salvo cambien algun parametro (no editen la linea del filtro rm_logo). Conformes con el resultado pueden quitar del script los comandos Trim y cargarlo al programa conversor. Como el resultado del analisis esta contenido en la imagen .ebmp la conversion debe empezar inmediatamente (sin analizar). De yapa un ejemplo con imagenes incluidas: rm_logo(logomask="H:\tallervideo\samples\logo.bmp", loc="br", par=16.0/9.0, mode="both", ercent=40, pp=2, cutsize="medium", debug=true)
« Última modificación: 24 de Enero de 2012, 01:50 por 888 »
Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php
En línea
Sharpen
888 Moderador
« Respuesta #5: 07 de Noviembre de 2009, 21:24 »
Desconectado
Filtros Sharpen aSharp
Registrado: 26/06/2006 Mensajes: 8.872 Valoración: 8 Sexo:
[YV12] Se caracteriza por poseer capacidad de adaptarse ante situaciones en donde su aplicacion podria provocar ruido o enfatizar bloques, y asi lograr un mejor resultado que un filtro sharpen convencional como el interno incluido con AviSynth ( Sharpen). Sintaxis: asharp(T,D,B,hqbf)
T(valor real en el rango 0..32) representa el limite hasta donde e l filtro sera aplicado (2 por defecto). Un valor de 0 no hara nada. D(real rango 0..16) permite configurar la fuerza con que el filtro adaptara su funcionamiento a nte situaciones que lo ameriten, un valor de 0 desactiva completamente la capacidad de adaptarse. Valor por defecto es 4. Cuando esta activo el valor de T actua como maximo. B(real rango 0..4) permite a ctivar y regular la adaptacion del filtro para evitar la aplicacion del filtro sobre bloques y empeorar aun mas los mismos. Un valor negativo desactiva es ta funcion. Un valor igual o mayor a cero lo activa y cuanto mayor se a mayor influencia tendra al ser aplicado. Solo funciona con D>0. Por defecto esta desactivado (B=-1). hqbf (true,false). Ideal activarlo para videos con bloque s, su funcion es filtrarlos, requiere que D>0. Por defecto esta des activado (hqbf=false). Descarga y Documentacion
aWarpSharp Segun lo que mis ojos me permiten obse rvar, el resultado de a plicar este filtro difiere basta nte de un efecto sharpen convencional. Lo que se observa es una compresion de los bordes difusos, "afinandolos" se podria decir. Esto ofrece un efecto sharpen muy potente en videos borrosos,
pero no es mag co, tam en stors ona eta e no y e orma o etos peque os. Por supuesto es posible regular los parametros para disminuir esta deformacion y aun asi se logra un efecto sharpen notable, no tan fuerte pero por lo menos mas normal. Debido a su principio de funcionamiento quizas sea mas recomendable para aplicar sobre dibujos animados o anime, donde se puede aprovechar mejor sin necesidad de reducir mucho su intensidad de aplicacion. Existen dos versiones de este filtro, la original cuyo desarrollo se abandono hace tiempo, y una version modificada y actualizada con mejoras de e stabilidad y optimizaciones. Por raz ones historicas se mencionan ambas, pero lo mas recomendable es usar la nueva version. aWarpSharp original aWarpSharp(depth=16, blurlevel=2, cm=2)
La intensidad de aplicacion se varia con depth, y les aseguro que que rran bajarla si deciden usar el filtro sobre imagen normal . blurlevel parece regular la magnitud de la deformacion, a menor valor mas acotada es esta, es decir que limita el sharpe n pero tambien permite un efecto mas normal. Puede variar entre 1 y 4. cm es el modo de tratar la crominancia, donde un valor de 0 desactiva el filtrado de la misma. 1 y 2 son do s modos pa ra filtrarla, donde 1 involucra a la luminancia y 2 es filtrado de chroma independiente. Segun la documentacion es mas recomedable usar cm=1. En mis pruebas lo que note fue una mayor estabilidad de color con dicho valor, ya que ciertos bordes quedaban sobre coloreados usando cm=2. Descarga v1 aWarpSharp v2 aWarpSharp2(thres h=128, blur=2, type=0, depth=16, chroma=4)
depth es la intensidad general de aplicacion, puede variar entre -128 a 127. Equivale a depth*blurlevel /2 (valores version original). thresh sirve para ajustar la deteccion de bordes, reducir para bajar la agresividad del filtro. Variable entre 0 y 255. blur permite regular la intensidad de la deformacion, puede variar entre 0 y 100. Disminuir este valor implica aumentar el efecto s harpen, pero disminuye la calidad de usarse el filtro en alta intensidad y/o agresividad, en cuyo caso conviene a umentarlo. type=1 ofrece mejor calidad pero es mas lento que usar type=0. Al usar type=1 el valor por defecto de blur pasa a se r 16 dado que para lograr el mismo efecto sharpen debe ser 8 veces el valor que con type=0.
Para e eg r e mo o e procesar cromnanc a: c roma=0 anu a cromnanca e a a v eo en anco y negro); chroma=1 ignora la informacion de chroma y produce un video inservible; chroma=2 la copia tal como esta en e l original (cm=0); chroma=3 la procesa de forma independiente (cm=2); chroma=4 la procesa basa ndose en la informacion de luminancia (cm=1). Descarga v2
MSharpen Filtro sharpen que posee la particularidad de poder ser configurado para solo aplicarse sobre los bordes (detalle grueso). Esto se logra mediante una mascara que "oculta" las zonas de la imagen sin este detalle y evita que el filtro se aplique so bre las mismas. Util para evitar amplificar el ruido de fondo. Por supuesto, la cantidad de de talle que abarca la mascara puede ser configurada, segun hasta donde queramos que se filtre. Sintaxis y valores por de fecto: MSharpen(mask=false, threshold=10, strength=100, highq=true)
Para poder ver el detalle que esta siendo cubierto por la mascara colocan mask=true. Luego pueden disminuir el parametro threshold para abarcar detalle mas grueso, o viceversa. Una vez tienen este parametro bien configurado, quitan de la sintaxis mask=true. La fuerza de aplicacion se fija con strength, como de costumbre. Imponer highq=false implica mayor velocidad pero menor calidad en la dete ccion de detalle. Ejemplo: Primero usamos la mascara para configurar que detalle sera filtrado: MSharpen(mask=true, threshold=10)
Una vez establecida la mascara (se bajo threshold para a barcar detalle mas grueso) se puede proceder al filtrado: MSharpen(threshold=7)
Descarga y Documentacion
LimitedSharpenFaster
Es ta u nc o n t e ne co mo o e t vo a gu z ar a n t e z e v e o m n m z an o a a pa r c o n e e e ctos indesea bles. Vendria a se r un filtro sharpe n con proteccion contra efectos como halo, ruido mosquito, aliasing, todos a quellos comunmente encontrados al aplicar un filtro sharpen. Debo decir que hasta ahora es el mejor filtro sharpen que he visto, los resultados que logra son impresionantes, pero claro esto no viene gratis y hay que sacrificar tiempo siendo mucho mas lento que aplicar un filtro sharpen convencional. Visto que el objetivo de la funcion es ofrecer un aumento de la nitidez limitado para evitar los artifacts ya mencionados, de necesitar resultados mas fuertes, en vez de aumentar la fuerza de aplicacion a lo bruto puede que sea mas conveniente recurrir a un filtro convencional sin las protecciones. Filtros requeridos: MaskTools2 RemoveGrain WarpSharp (solo para Smode=1) Sintaxis y valores por de fecto: LimitedSharpenFaster(Smode=3, edgemode=0, strength=100, Lmode=1, ss_x=1.5, ss_y=1.5, dest_x, dest_y, soft=0, wide=false)
Smode(1,2,3,4) selecciona el modo de operacion. Estos modos son: 1-UnsharpMask, 2-Sharpen, 3Range sharpening, 4-Nonlinear sharpening. Los primeros dos aplican los filtros que les dan nombre, mientras que los ultimos dos aplican un metodo propio del script LSF. Mis pruebas me mostraron que e l modo (3) parece ser e l mas e ficiente (relacion sharpe n/calidad). edgemode(-1,0,1,2), permite elegir si agudizar solo el deta lle de bordes (1) o solo e l detalle de todo lo que no sea bordes (2), o todo (0). (-1) muestra lo que e l filtro identifica como bordes. Usa r edgemode=1 es idea l para cuando quieren evitar amplificar innecesa riamente ruido de fondo y/o para videos con bajo nivel de texturas, les recomiendo que lo prueben. strength(0 a inf), este parametro regula la intensidad con la que se agudiza el detalle. En Smode=2, el valor esta limitado entre 0-100, y representa e l rango de 0.0 a 1.0 del filtro Sharpen; valores mayores son tomados como 100. Por defecto el valor es de 100 salvo para Smode=1 donde es de 160. El valor de este parametro puede subirse sin miedo, dado que por diseño la funcion "limita" el efecto si este po dria causar artifacts, aunque por supue sto de subirlo mucho estos se haran notables. Lmode(0,1,3), controla la forma en que la funcion limita el efecto s harpen para e vitar los artifacts. Un valor de (0) desactiva la limitacion, (1) limita normalmente sobre toda la imagen y (3) no limita sobre bordes pero si lo hace normalmente sobre todo lo demas. ss_x y ss_y(>=1.0) permiten a plicar e l metodo llamado supersampling (cuando son mayores que 1.0), que se trata de primero usar resize para a grandar la imagen, aplicar el filtro, y luego resize al tamaño original (internamente se utiliza el filtro lanczos). El objetivo de hacer es to es evitar la
aparicion de aliasing, aunque tampoco conviene s ubir mucho estos valores pa ra evitar reducir la efectividad de l filtro, lo ideal es usar los minimos que eviten el aliasing. Con dest_x y dest_y pueden indicar una resolucion de salida, para as i ahorrarse una etapa de resize. soft(-1 a 100) suaviza (efecto smooth) el efecto del filtrado, es de cir que se deberia ocupar de limpiar ruido que haya sido amplificado dura nte el mismo. Su intensidad depe ndera de que tanto ruido haya en el video antes de aplicar la funcion. Tambien podria usarse como filtrado ligero de ruido si por ejemplo tambien usan edgemode=1, ya que de esta forma el filtro no a mplifica el ruido que pudiera haber sobre fondos o areas de poco detalle y soft puede trabajar de forma mas eficiente sobre el ruido que suele presentarse en dichas areas. (-1) calcula automaticamente un valor apropiado. wide=true en vez de tomar los limites locales de un pixel en una matriz de 3x3 pixeles aledaños, utiliza una matriz de 5x5, y permite lograr mejores resultados si el video original esta muy borroso y/o si se usa supersampling. Existen otros parametros que no se mencionan, pero que no deberian necesitar para una correcta aplicacion del filtro. De todas maneras pue den recurrir a la Ejemplo: LimitedSharpenFaster(edgemode=1, ss_x=1.0, ss_y=1.0) -> efecto sha rpen sin prote ccion contra
aliasing y aplicado solo sobre bordes. Descarga (click derecho->guardar archivo como...) Pueden leer mas sobre la filosofia detras de su funcionamiento aqui, aunque se trata de una version anterior lo que alli se explica seguro sigue siendo valido, pero no presten atencion a los parametros y sus valores, eso cambió.
LSFmod Modificacion de la funcion LimitedSharpenFaster, que agrega importantes mejoras de versatilidad, asi como tambien otras correcciones y optimizaciones varias. Al igual que la funcion original, el objetivo es el aumento de nitidez del video tratando de e vitar o por lo menos minimizar la aparicion de los artifacts comunes a la aplicacion de un filtro sha rpen. Visto que la razon principal de e sta modificacion es ofrecer una mayor versatilidad en la configuracion, de no buscar hilar muy fino seria mejor que usen la version original, para evitar complicarse de mas con la gran cantidad de parametros extra. Filtros requeridos:
MaskTools2 RemoveGrain WarpSharp (solo WarpSharp (solo para Smode=1 Smode=1)) VariableBlur (solo VariableBlur (solo para Smode=2 Smode=2)) Sintaxiss y valores por de fecto: Sintaxi LSFmod(defaults="fast", strength=100, Smode=3, Smethod=2, kernel=11, preblur="OFF", secure=true, source, Lmode=1, soft=0, soothe=true, keep=20, edgemode=0, edgemaskHQ=false, ss_x= ss _x=1.5, 1.5, ss _y=ss_x, dest_x, dest_y, s how= how=false, false, screenW=1280, screenW=1280, s creenH= creenH=1024) 1024)
El parametro defaults defaults permi permite te prede termi terminar nar el valor de todo s los dem de mas. Desde ya que aunque fijen este parametro tambien pueden fijar los demas, en cuyo caso el valor del parametro que fijen manualmente es el que se usa. defaults="old" : funcionamiento defaults="old": funcionamiento exactamente igual igua l a la funcion LimitedSharpenFas LimitedSharpenFas ter por defecto. Equivale a los mismos mismos valores mostrado s en la s intaxis salvo por: secure=false, secure=false, soothe =false, kee p= p=25, 25, edgemaskHQ= ed gemaskHQ=true true defaults="fast":: es la config por defecto, y son los valores mostrados en la sintaxis, que defaults="fast" corresponden a una aplicacion rapida del filtro. defaults="slow" : aplicacion aplicacion lenta pero pe ro en teoria te oria de mayor calidad. calidad. Los pa rametros diferentes a los por defecto de fecto son: Sm Smode=5, ode=5, Smethod=3, Smethod=3, secure=true, Lmode=4, Lmode=4, soft=-2, soft=-2, edgemaskHQ=true. Como siempre, strength strength regula regula la fuerza de aplicacion. Dado que el proposito de la funcion es limitar lim itar el efecto para evitar remarcar remarcar o crear ruido, puede n subir el valor de este es te parametro pa rametro sin miedo (dentro de limites limites razona ra zonables bles claro). Se pueden usa r diferentes diferentes modos para logr lograr ar el e fect fecto o sharpen, segun el valor de Smode Smode sea sea igual a: 1-UnSharp Masking (filtro WarpSharp); 2-UnSharp Masking (filtro VariableBlur); 3-Range Sharpening; 4-NonLinear Sharpening Sha rpening (origi (original); nal); 5-N -NonLinear onLinear Sharpening (c (corregido). orregido). A su vez, vez, los modos modos 3, 4 y 5 puede pueden n aplicarse aplicarse us ando tres metodos diferente s, que se fijan como como Smethod=:: 1-3x3 kernel; 2-Min/Max; 3-Min/ Smethod= -Min/Max Max + 3x3 kernel. ke rnel. En mis pruebas (usando Smode=3 Smode=3), ), el primer primer metodo lo note menos agres agresivo ivo que el segundo, se gundo, es decir que el efecto sharpen era notablemente inferior. Mientras que el tercer metodo no presenta mucha diferenci diferenciaa respecto del s egundo, apenas se nota que es mas agresivo. El valor de kernel kernel solo solo a fecta a los metodo etodoss 1 y 3, y permite incrementar incrementar su a gresividad. El valor por defecto es e s la minim minimaa agresividad, a gresividad, y de ahi puede tomar los valores: 20, 12 y 19, en orde n de menos a mas agresivo. Aunque no esperen grandes diferencias, por lo que pude ver se nota mas en fondos y areas de colores solidos. solidos. Solo en los modos 3, 4 y 5, para evitar producir ruido ruido sobre so bre bordes borde s (ringing), (ringing), se puede activar preblur="ON".. Y si ademas preblur="ON" ademas s e dese a evitar reforzar reforzar el ruido en general, se puede usar este parametro junto con su s u filtro filtro de ruido favorito, por ejemplo ejemplo as i: preblur="FFT3DFilter(plane=4)" .
Esto en e caso Esto caso e qu quee no ay ayan an tr traa o e ru o pr prev ev am ament ente. e. secure=true (solo secure=true (solo util en los modos 3, 4 y 5) evita el efecto de bandas sobre gradientes de color, asi como tambien la apariencia aceitosa. Segun mis observaciones lo que hace este parametro es reducir o directamente anular la aplicacion del efecto sharpen sobre fondos o superficies de color solido, y asi logra evitar e vitar los problemas mencionado mencionado s. Recomenda Recomendable ble dejarlo a ctiv ctivado. ado. Lmode sirve Lmode sirve para configurar la forma forma e n que la funcion lim limita el efecto efe cto sharpen. sharpe n. No limitar limitar equivale a mayor agresividad pero tambien a mayores artifacts. Los valores posibles son: 1-Limita la aplicacion aplicaci on de form formaa ge neral; 2-Li -Lim mita la aplic a plicacion acion solo sobre s obre bordes bo rdes (mayor agresividad sobre so bre fondos, colores solidos, so lidos, texturas); 3-Li -Lim mita a cero la aplicacion sobre bordes bo rdes y norm no rmal al sobre sob re todo lo demas (menor (menor agresividad a gresividad sobre bordes); 4-Li -Lim mita normal sobre bordes y tambien limita limita pero pe ro mas agresivo sobre lo demas. Para compensar compensar el efecto sharpen se puede hacer uso de soft soft,, que puede variar de 0 a 100. Un valor de -1 calcula un valor automaticamente automaticamente igual que e n la funcion original, y un valor de -2 calculaa auto maticam calcul aticamente ente s egun un nuevo n uevo metodo de LSFm LSFmod. od. Ignoro las diferencias. Para reducir la inestabilidad temporal(ruido temporal(ruido aleatorio ale atorio en gene general ral y artifacts sobre e l movim movimiento) iento) y el aliasing, lim limitando un poco po co mas mas e l efecto sharpen, sharpe n, se puede pue de aplic a plicar ar soothe=true soothe=true.. El param para metro keep es keep es el mini minim mo porcentaje de efecto sharpen que se debe dejar pasar, es decir que pone un maximo a que tanto puede debilitarse el efecto sharpen de estar usando soothe=true soothe=true.. edgemode=0:: filtra todo; =1: filtra edgemode=0 filtra solo bordes bo rdes (similar (similar a usar us ar secure=true secure=true); ); =2: filtra filtra todo lo que qu e no sea bordes; =-1 -1 muestra muestra los bordes. edgemaskHQ=true:: mism edgemaskHQ=true mismaa mascara de bordes que la version original; =false =false:: mascara mascara mas rapida pero de menor calidad. Para controlar el aliasing(efecto serrucho en bordes) estan presentes los tipicos factores de supersampling: ss_x ss_x y y ss_y ss_y,, cuyo valor equivale a un resize de tantas veces la imagen original, aplicacion aplicaci on de l filtro filtro y vuelta a tamaño original. No usen use n valores muy altos porque lim limitaran itaran mucho el efecto sha rpen, solo el minim minimo para evitar el aliasing. Con dest_x dest_x y y dest_y dest_y pueden pueden indicar una resolucion resoluc ion de salida, para asi ahorrarse una e tapa de resize. Colocando show=true show=true pueden pueden aprovechar una funcionalidad extra de la funcion que consiste en mostrar a la salida una com comparacion paracion entre el video antes y despues despue s de a plic plicar ar el filtrado, filtrado, junto con informacion inform acion sobre la configuracion. configuracion. Los valores va lores de screenW screenW y y screenH screenH son son las resoluciones resoluciones horizontal y vertical vertical de la imagen de s alida respe ctiv ctivamente. amente. Una utilidad mas que interesante la encuentran en el parametro source source.. Basicamente este les permite permi te defini de finirr un video de refere ncia, para que la funcion no aumente la n itidez mas mas a lla de este. es te. Es decir que pueden usar la funcion funcion para restaurar el detalle perdido en una etapa de filtrado filtrado de ruido. El uso vendria a ser: video_original filtro_de_ruido()
LSFm LS Fmo o sou sourc rce= e=vi vi eo eo_o _ori rig gin ina a
Ejemplo: a = last FFT3DFilter(bt=5, plane=4, bw=32, bh=32, ow=16, oh=16) LSFmod(source=a)
Ejemplos: Aplicacion Apli cacion identica a la funci funcion on LSF original por de fecto: LSFmod(defaults="old")
Partiendo de la configuracion por defecto de LSF original pero aprovechando las mejoras de la nueva version: LSFmod(defaults="old", secure=true, soothe=true, preblur="ON") -> tengan en cuenta que la finalidad de estas nuevas opciones es controlar los artifacts, cosa que logran reduciendo el efecto sharpen. Descarga y discusion en doom9 do om9
SeeSaw Cuando se busca el aumento de la nitidez de un video, lo que se recomienda para lograr un resultado satisfactorio es hacerlo mediante dos etapas de filtrado, ambas opuestas en objetivos. Una etapa de filtrado de ruido (o efecto smooth) y la etapa de efecto sharpen. Esto se hace asi porque de aplicar solo el efecto sharpen el ruido ya presente se veria muy intensificado y el resultado aunque tendria la mayor nitidez tambien se veria bastante mal por el incremento del ruido. Entonces un resultado que podriamos llamar estable se consigue combinando ambas etapas de filtrado, que siendo opuestas tienden a ofrecer un termino medio aceptable. De aplicarse primero primero el e l filtrado filtrado de ruido, luego el e l sharpen podra p odra aplic a plicarse arse de forma segura s in miedo a intensificar el ruido que ya no esta. Pero de usar este orden mucho del detalle fino se pierde con la primer primer limpieza, limpieza, y dicho detalle no pue de se r recuperado. Si primero se aplica el sharpen, todo el detalle esta disponible para ser intensificado. Pero luego, debido a la prescencia potenciada de ruido, se debe aplicar el smooth, y este proceso contraresta mucha de la ganacia de detalle obtenida en la primer etapa. Por supuesto, lo que se busca es e l termino termino medio medio sea cual sea el metodo que se use. La funcion SeeSaw SeeSaw se se ocupa de realizar este proc proceso eso de dos etapas autom automatic aticam amente. ente. Sin Sin embargo no usa ninguna de las aproximaciones mencionadas por si solas, sino que combina ambas tratando de permanecer en un punto intermedio y asi obtener los mejores resultados. Resumiendo: Resumi endo: el resultado resu ltado se vera bene fic ficiado iado por una dism disminuci inucion on del de l ruido ruido y un aumento de
n t ez. Por otro a o, s e org na posee e ecto a o, este se vera nota emente ntens ca o. Importante: esta funcion esta pensada para videos que ya se ven razonablemente bien. Aplicarla directamente sobre videos que poseen artifacts mas "pesados" que simple ruido no es recomendable sin antes ayudar con algo de filtrado previo que apunte especificamente a dichos artifacts. El filtrado de ruido lo hacen con su filtro denoiser favorito, asi SeeSaw trabaja comparando el video filtrado por ustedes con el original. Esto les permite elegir el mejor filtrado de ruido segun sus preferencias y las circunstancias. Tambien puede n aplicar la funcion directamente, aprovechandos e el filtrado interno de ruido, que utiliza el filtro RemoveGrain, aunque lo mejor es usar un denoiser aparte. Filtros requeridos: RemoveGrain y Repair MaskTools2 Sintaxis: SeeSaw("video original", "video con ruido filtrado", Sstr=1.5, ssx=1.0, ssy=ssx, NRlimit=2, NRlimit2=NRlimit+1, Slimit=NRlimit+2, bias=49)
Sstr es la intensidad de aplicacion. El supersa mpling (para evitar aliasing) se fija con ssx y ssy, pero segun la documentacion no es necesario, a lo sumo usar bajos valores como 1.25 deberia ser suficiente. NRlimit representa el maximo cambio que puede sufrir un pixel por el filtrado de ruido, por lo que aumentar este valor potencia el filtrado de ruido. Pero ojo porque NRlimit2 y Slimit por defecto dependen de e ste, asi que si solo se definen este parametro se estara aumentando la agresividad en general de la funcion. De necesitarse solo regular la funcion que representa este parametro se deben definir los otros dos explicitamente. NRlimit2 tambien limita cambios por denoising, pero en una etapa de filtrado intermedia, no la definitiva, por ello por defecto tiene un valor mas alto. Slimit es el limite del cambio maximo de un pixel por efecto s harpen. Aumentar este valor incrementa el efecto sharpen. Visto que SeeSaw trata de mantenerse en un estado intermedio entre los dos metodos comentados, se ofrece el parametro bias para inclinar la balanza hacia el metodo sharpen>smooth, o de mayor detalle fino pero mas ruido (bias>=50); o hacia el metodo smooth->sharpe n, menor ruido pero bajo detalle fino (bias<50). Tiene mas pa rametros, como pueden ver e n el script, pero no creo que valga la pena mencionarlos y lo que les recomiendo es que los dejen como vienen por defecto.
Ejemplo 1: a = last b = a.Denoiser_Favorito() SeeSaw()
Ejemplo de uso generico. El a = last indica que se toma el video tal como esta al llegar a dicha linea. Ejemplo 2: LoadPlugin("H:\tallervideo\Filtros LoadPlugin("H:\tallervideo\Filtros LoadPlugin("H:\tallervideo\Filtros LoadPlugin("H:\tallervideo\Filtros
Avisynth\fft3dfilter.dll") Avisynth\mt_masktools-26.dll") Avisynth\RepairSSE2.dll") Avisynth\RemoveGrainSSE2.dll")
Import("H:\tallervideo\Filtros Avisynth\SeeSaw.avs") DirectShowSource("C:\...\video.avi") a = last b = a.FFT3DFilter(bt=5, plane=4, ow=16, oh=16) SeeSaw(a, b, Sstr=1.0)
Ejemplo de script completo. Se disminuye la fuerza de la funcion para un mejor resultado en un video de bue na calidad. Se aplica el exelente filtro de ruido FFT3D en un modo de alta calidad e intensidad media. Ojo que este ejemplo posee una etapa de filtrado de ruido bastante potente. Descarga (click derecho->Guardar archivo como)
Sharpen [RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]
El filtro Sharpen es el unico filtro para dicho efecto que viene incluido con AviSynth. Sintaxis: Sharpen(amount,MMX) Sharpen(amountH,amountV,MMX)
Donde 0.0
En línea
Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php
Ajustes
888 Moderador
« Respuesta #6: 07 de Noviembre de 2009, 21:34 »
Desconectado
Conversion de Color ConvertToXXX
Registrado: 26/06/2006 Mensajes: 8.872 Valoración: 8 Sexo:
[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24] Convierte el video al espacio de color elegido. Util cuando el filtro que quieren usar solo soporta algunos formatos espe cificos o uno solo en particular, como por ejemplo el filtro SpatialSoften, que solo soporta trabajar sobre YUY2. Tambien en el caso de que el codificador a donde envian el video soporte un formato de color de entrada especifico. Sintaxis: ConvertToXXX(matrix,interlaced,chromaplacement,chromaresample)
XXX pue e se r: RGB, RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24.
En matrix pueden elegir entre usar: "Rec.601"(default), "PC.601", "Rec.709" y "PC.709", todos van con comillas incluidas. Esto le indica al filtro cual es el rango de colores. Los Rec reducen el rango a aquel soportado por la TV analogica(16,235) y los PC procesan el rango de color completo(0,255). Segun la informacion en la wiki matrix="Rec.601" debe se r usado cuando la fuente es XviD/DivX o capturas analogicas; matrix="Rec.709" en cambio se recomienda usarlo cuando la fuente e s HDTV o DVD. interlaced puede ser true o false(default) y lo activan cuando la fuente es entrelazada. chromaplacement se usa cuando convierten desde o hacia YV12, pueden elegir entre "MPEG2" (default), "MPEG1" o "DV", con las comillas incluidas. chromaresample es el filtro de reescalado que se usa para la crominancia en los casos en donde la misma tiene diferente resolucion entre los formatos de color que se estan convirtiendo. Puede usarse cualquiera de los mencionados en el filtro Resize, el default es chromaresample="Bicubic" .
Ajustes de Color y Niveles Aqui encuentran todo lo relacionado a regular color, brillo, contraste, gamma, etc.
ColorYUV [YUY2-Y8-YV411-YV12-YV16-YV24] Filtro interno que ofrece varias formas de modificar color y luminancia(brillo y contraste) de un video en formato de color YUV (no sirve para RGB). Sintaxis: ColorYUV(gain_y, off_y, gamma_y, cont_y, gain_u, off_u, cont_u, gain_v, off_v, cont_v, opt, levels)
gain_y es un multiplicador del maximo valor de luminancia, es de cir que aumenta el nivel de blanco, estirando hacia arriba, desde el minimo valor(nivel de negro, que no se modifica), la ga ma de valores de luminancia, por supues to con el objetivo de lograr una mayor luminosidad. Puede tomar valores entre 0 y 1024. En el filtro Tweak esto equivale al parametro cont. Para lograr un aumento de (k+1) veces, deben colocarle al parametro un valor de k*256, por ejemplo para aumentar 1.2 veces el nivel de blanco usan gain_y=51.2. gain_u y gain_v hacen lo mismo con la crominancia (planos U y V, azul y rojo respectivamente), pero no tiene mucho sentido su aplicacion, dado que produce un estiramiento hacia el azul o el
ro o que arru na os co ores. off_y vendria a se r el brillo, o el equivalente al parametro bright del filtro Tweak. Lo que hace la funcion brillo es sumarle o restarle a la luminancia un determinado valor, en este caso de finido por el parametro off_y. off_u y off_v aplican el mismo concepto a la crominancia, pero nuevamente no s on utiles dado que producen un corrimiento hacia azul o rojo, en es te caso aun mas marcado dado que se modifican todos los valores por igual. cont_u y cont_v sirven para regular el color, tal como el pa rametro sat del filtro Tweak. Esta funcion lo que hace es estirar los valores de crominancia desde el centro hacia afuera, reduciendo el minimo nivel y aumentando e l maximo, y es e n es to que difiere de gain, que solo aumentaba el maximo. Este comportamiento permite evitar el problema del corrimiento que si producian off y gain cuando se usaban con la crominancia. Lo que hay que tener en cuenta es que como los parametros regulan los canales V y U por separado, para regular el color en general deben definir ambos parametros con el mismo valor. Los valores siguen el mismo criterio que el pa rametro gain. cont_y es lo mismo pero a plicado a la luminancia y se puede usa r para aumento de contraste , con la salvedad de que como tambien se modifica el nivel de negro, se notara un oscurecimiento muy marcado de la imagen. Po r ello, salvo se busque es pecificamente reducir el nivel de negro, es mejor usa r la funcion gain_y para aumento de contraste convencional. Opcionalmente es posible limitar el rango de valores de luminancia colocando opt="coring" . De hacerlo, todos los valores fuera del rango de [16,235] seran eliminados. Mediante levels="PC->TV" o levels="TV->PC" es posible realizar la conversion del rango de luminancia, entre e l de la PC: [0,255], y el de la TV: [16,235]. Como pueden ver esta conversion lo que hace es modificar los valores limite para e l nivel de ne gro y nivel de blanco, asi que el efecto es el mismo que aplicar la funcion cont_y. Ejemplos: Para aumentar contraste 1.2 veces -> ColorYUV(gain_y=51.2) Para aumentar color 1.2 veces -> ColorYUV(cont_u=51.2, cont_v=51.2) Para aumentar brillo -> ColorYUV(off_y=10) Para disminuir brillo -> ColorYUV(off_y=-10)
GreyScale [RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24] Convierte el video a e scala de grises (blanco y negro), pero sin cambiar el formato de color. Sintaxis: Greyscale()
Tweak [YUY2-Y8-YV411-YV12-YV16-YV24] Con el podremos regular a gusto contraste, brillo, saturacion y color. Es sumamente util y nos permitira lograr algun que otro efecto muy interesante. Sintaxis: Tweak(hue,sat,bright,cont,coring,startHue,endHue,maxSat,minSat,interp)
hue(-180.0 a +180.0, por defecto en 0.0): tiñe la imagen ha cia un determinado color. Valores mayores llevan la imagen hacia el rojo, mientras que valores menores lo ha cen hacia el verde. sat(0.0 a 10.0, por defecto en 1.0): ajusta la saturacion del color, o sea que este vendria a ser el valor que ajusta la intensidad del color. Valores por debajo de 1.0 la reducen y viceversa. bright(-255.0 a +255.0, por defecto en 0.0): regula el brillo. Con bright>0.0 se a umenta, mientras que a valores negativos se disminuye. cont(0.0 a 10.0, por defecto en 1.0): contraste, 1.0 es sin variacion, valores inferiores lo bajan, valores mayores lo aumentan. coring(true o false, por defecto true): lo que hace cua ndo es ta activado es limitar la luminancia a valores en el rango [16,235], siendo este el rango de TV. De definirse como false se usa el rango de PC, que es [0,255]. Limitar el rango equivale a impedir que algunas areas de la imagen tomen valores muy negros o muy blancos. maxSat(por defecto 150.0) y minSat(por defecto 0.0) (ambos van des de 0.0 a 150.0, en porcentaje): permiten definir el rango de valores de saturacion que debe tener un pixel para que se le aplique el filtrado que regulan los parametros hue y sat. Por ejemplo, util para cuando solo desean aumentar el color de ciertas areas de la imagen sin saturar las demas. Para RGB el valor maximo sera de 100.0 (100%), para otros espa cios de color esta permitido usar hasta 150.0(150%). startHue(por defecto 0.0) y endHue(por defecto 360.0) (ambos desde 0.0 hasta 360.0 en grados): igual que los anteriores, definen un rango para la aplicacion de los parametros hue y sat, solo que en este caso el rango consiste en los valores de hue de cada pixel. interp(0 a 32, por defecto 16): se usa para interpolar (de forma lineal) los valores de minSat y maxSat, en el rango [minSat-interp,minSat] y [maxSat,maxSat+interp]. Con interp=0 no hay interpolacion, util por ejemplo cuando el video se compone unicamente de colores uniformes (anime por ej). Pueden ver algunos ejemplos de aplicacion aqui.
Ajustes de Framerate Filtros destinados a trabajar sobre los frames por segundo o FPS de un video. Pueden encontrar una explicacion exaustiva sobre la diferencia entre los fltros AssumeFPS y ChangeFPS y su impacto en el video, siguiendo este e nlace, incluyendo e jemplos de aplicacion.
AssumeFPS [RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24] Sintaxis: AssumeFPS(fps,sync_audio) AssumeFPS(numerator,denominator,sync_audio) AssumeFPS(clip1,clip2,sync_audio) AssumeFPS(preset,sync_audio)
Se ocupa de modificar el framerate de reproduccion sin modificar el conteo de frames (causa ndo que el video s e reprodusca mas rapido o mas lento de lo normal). Si se usa sync_audio=true (false por de fecto) tambien modificara el sample rate del audio para igualar la duracion del video. Esto tambien constituye un metodo pa ra modificar unicamente el sample rate del audio. fps es un numero real que representa los frames por segundo, aunque es mas conveniente cuando se trata de NTSC utilizar la relacion 30000/1001 (en vez de 29.97) o 24000/1001 (en vez de 23.976), utilizando los valores numerator y denominator para e l numerador y el denominador respectivamente. Esto se recomienda dado que cuando especifican un numero real avisynth lo pasa a una relacion, entonces siendo 23.976 y 29.97 resultados aproximados de las relaciones ya mencionadas en la realidad cuando avisynth los pase no dara la relacion estandar exacta. Tambien pueden valerse de prese ts ya existentes para e legir los FPS segun los estandares, mediante el valor preset, y segun los mencionados e n la tabla de e sta pagina. Si otro video esta presente (mediante clip2 es posible agregarlo) entonces el frame rate del video original (clip1) sera igualado al mismo, util cuando se desean unir dos videos de framerate ligeramente distintos. Ejemplo: AssumeFPS(24000,1001,true)
Permite modificar los FPS a 23,976 y tambien modifica el audio.
ChangeFPS [RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24] Modifica el frame-rate eliminando o duplicando frames, s in modificar la duracion. Sintaxis: ChangeFPS(fps,linear) ChangeFPS(numerator,denominator,linear) ChangeFPS(clip1,clip2,linear) ChangesFPS(preset,linear)
linear=false (por defecto en true) evita que AviSynth pida los frames de una forma lineal. El resto de parametros y su funcion coinciden con el filtro AssumeFPS, asi que pue den guiarse con dicha descripcion.
Decimate [YUY2-YV12] Elimina frames de un video. Util para reducir el frame rate de videos con frames duplicados. Opera eliminando un frame de un grupo de N frames, siendo N un pa rametro configurable, metodo tambien llamado 1-in-N. Sintaxis: Decimate(cycle,mode,threshold,threshold2,quality,ovr,show)
cycle fija el valor de N, es decir que se elimina un frame cada N frames. Rango: 2-25 (por defecto: 5). mode dete rmina el modo de operacion del filtro. Rango: 0-3 (por defecto: 0). mode=0: el filtro descarta el frame del ciclo de N frames que se determina como el mas similar a su predecesor. mode=1: en vez de eliminar el frame detectado como duplicado, lo reemplaza por una interpolacion entre dicho frame y el siguiente, o lo deja pa sar. El algoritmo elige que opcion tomar basa ndose en: si el ciclo de frames es de un video con pulldown 3:2 o video puro(sin frames duplicados); el valor de threshold. Este modo esta recomendado para material hibrido, es decir con partes del video con frames duplicados y partes con el frame rate puro.
mo e= : e m na un ra me e a s egu a ma s a rga e ra me s e e c a os como up ca os . s e modo se recomienda como el mas confiable para usar con Anime o material donde e l movimiento ocurre solo en cada se gundo, tercero, cuarto, etc frame. mode=3: en vez de e liminar el frame mas similar, el filtro aplica diferente s e strategias al ciclo de frames s egun sea un ciclo con pulldown 3:2 o un cliclo puro. Ciclos de video puro los procesa de forma normal. A los ciclos con duplicados se les aplica una mezcla de frames, de tal forma que de 5 frames queden 4. Hay dos factores que le permiten decidir al filtro como procede r: si el ciclo de frames es o no puro y en el valor de threshold. Este modo es util para videos hibridos que tienen mayormente video sin frames duplicados . threshold, valor decimal, por defecto 0.0; como se dijo en mode=1 los frames detectado s como duplicados se pueden tratar de dos formas, se los interpola o se los deja pasa r cuando la diferencia metrica entre frames supe ra el valor del threshold (siempre y cuando este sea mayor que cero). Esto es ultil porque pe rmite configurar el filtro para que sepa que considerar como duplicado y que no en un determinado video. Para saber que valor usar se aplica la funcion show(true,false), que muestra s obre e l video el valor de la diferencia metrica entre frames. Este valor afecta mode=3 de forma similar. No sirve para mode=0. threshold2: valor real, por defecto 3.0; en mode=2 es te parametro establece cuan cerca dos frames deben estar para ser considerados duplicados quality: entre 0 y 3, por defecto en 2, regula la calidad de la dete ccion de frames duplicados. 0 es mas rapido y 3 mas lento . ovr: acepta texto donde se espe cifique la ubicacion de un archivo para forzar la de sicion del filtro, es decir en ciertos casos el video habra salido perfecto salvo un par de frames en donde el filtro se equivoco, entonces pue den forzar la aplicacion del filtro sobre esos frames en particular mediante un archivo de texto de extension .dec, sonde deben especificar dichos frames con su correspondiente numero, uno por renglon. Ej: ovr="C\...\anular.dec" . Descarga FUENTE: manual de referencia (Reference Manual) incluido en la descarga.
FDecimate [YV12-YUY2] Permite remover frames de un video, con el objetivo de variar la tas a de frames por segundo , sin producir desincronizacion audio/video. La diferencia con el filtro Decimate es que pe rmite reducir el frame rate a cualquier valor de forma eficaz, dado que no es ta restringido a s olo eliminar 1 frame cada tantos (metodo tambien llamado 1-in-N) sino que es capa z de detectar y eliminar los frames duplicados cuando le es posible. El
meto o e 1-n-N para remover rames no pue e ser ut za o cuan o e proceso que se ap co para duplicar los frames e n primer lugar no fue de la misma indole (ej: videos a 120FP S). Sintaxis: FDecimate(29.97)
Por supuesto en vez de 29.97 ponen el valor deseado. Descarga y Documentacion
PullDown [RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24] Sintaxis: PullDown(a,b)
Proceso tambien llamado telecine, se trata de repre senta r el primer frame mediante a campos y el segundo mediante b campos, y asi se repite has ta el final del video. Por ejemplo: un telecine 2:3 o 3:2 (a:b) modifica el framerate de 23.976 a 29.97 agregando campos duplicados, dos para e l primer frame y tres pa ra el segundo, y asi hasta el fin del video. Usar a=0 y b=3 (0:3) es lo mismo que desha cer el pulldown 3:2 (29.97 -> 23.976). Este ultimo no lo probe asi que ignoro si realmente funciona, aunque e l pulldown 2:3 o 3:2 si debiera hacerlo sin problemas.
Oscurecimiento de Lineas Con videos de anime como objetivo, sirven para remarcar las lineas ne gras.
FastLineDarken 1.3 MT MOD [YV12] FastLineDarknen cumple la función de marcar los bordes, dejándolos mas negros de lo normal y
seg n ms prue as, a go muy evemente engrosa os. Ayu a astante para or es que se ven pálidos o se ven poco. cumple la misma función que toon, pero obviamente conlleva a artifacts por ser rápido pero no me refiero a q si se ocupa de manera común salga, todo lo contrario si se hace abuso de este como sucede con toon, saldrán los molestos puntos ne gros dentro de los cuerpos de los elementos. *Nota: en espacio de color, no importa el formato que tenga el video en dicho aspecto, pues con el filtro ConvertToYV12() se anula el error de color que nos saldría en megui o virtualdub al ocupar el script, pues este nos hará la conversión a dicho formato de color. Claro que este comando de be colocarse como el primer filtro dentro del script, porque ha y casos en los cuales algunos filtros no lo detectan si no esta entre los primeros. Requerimientos: MaskTools2 Funcionamiento: FastLineDarkenMOD(strength, luma_cap, threshold, thinning) *Nota: en
la información saldrá puesto FastLineDarken(strength, luma_cap, threshold, thinning), pues bien, debemos agregarle la frase MOD al final, de lo contrario lanzará el ejecutor del script (Megui, Virtualdub, VirtualdunMod) el error de función no existente. strength (Fuerza): desde 0 ha sta 256. Default: 48 Regula la fuerza del filtro. Representa la maxima reduccion de luminancia, es decir el maximo os curecimiento que pue de s ufrir una linea. luma_cap (Luminancia): desde 0 a 255. Default: 191 0 represe nta el blanco, 255 represe nta el negro, es decir, aquí adecuamos la cantidad de color del borde, de claro a oscuro. threshold (Umbral): Default: 4. No hay información certera del parámetro máximo de esta opción. Valor de 0 inhabilita este parámetro. Se recomienda poner el valor 4, ya que hay una gran cantidad de pixeles que son marcados al azar, los cuales se oscurecen débilmente. El valor 4 viene a so lucionar eso. thinning (Adelgazamiento): desde 0 a 256. Default: 24 Cantidad de adelgazamiento opcional de la linea. El valor 0 desactiva esta función, y esto a la vez da una gran velocidad en el filtrado.
Nota 1: ay que tener en cuenta que e a e gazamento oscurece un poco os p xe es restantes en cada linea.
*Nota 2: se recomienda dejar thinning=0, si se pone valores mas altos que 0, y si mal no estoy es un parametro que quedo mal editado creo, el video queda completamente cubierto de una capa verde por encima, quedando los detalles por detrás. Para evitar esto dejar, como ya mencione, thinning=0. Discusión e n doom9.org Recuerden copiar el texto en un archivo .avs, es de cir, abren el block de notas , copian el texto, lo pegan en el block de notas , van al menú archivo, luego hacen click en gua rdar como, colocan el nombre del filtro con e xtension .avs (ejemplo: FastLineDarken 1.3 MT MOD.avs) y hacen click en guardar. Si se fijan se guardará en un archivo .avs y esta listo para usarse. Script: Spoiler
LineDarkenToon Filtro para Avisynth 2.5 destinado a oscurecer y refinar las líneas de los contornos o similares de los dibujos animados. Pero no posee sólo esta única función, al utilizar masktools, warpsharp y awa rpsharp cumple con funcionalidades de limpieza y enfoque, logrando un mejoramiento de imagen bastante bueno, logrando mejorar ciertos desperfectos como por ejemplo los cuadros decolorados a pa rtir de la información de la imagen deja el dibujo completo e n forma óptima colorada como siempre debió s er. Ejemplos: Spoiler
Filtros Necesarios: WarpSharp MaskTools2 aWarpSharp Sintaxis:
ine ar en_toon sstrengt , s
oost, srange, warp ept , ast
sstrength: Fuerza del filtro. Prácticamente es la cantidad en que oscurecerá las lineas negras del dibujo Valores: 0 [no hace nada] a 255 [muy oscuro]. Valor Por defecto: 180 *Recomiendo valores por debajo del 180, ya que por defecto es fuerte.
sdboost: Enfoque del filtro. No es tan potente como otros filtros sharpen, gracias a ello evita el enfoque excesivo y la distorsión del detalle muy notoria. Valor Por defecto: 1.0 (No tiene un máximo pero lo idea l sería entre 1 a 45/55. Ahí deben probar según la necesidad). srange: Lo que abarcará e l filtro. Valor Por defecto: 0 wdepth: Es la profundidad e n la que a ctuará el filtro. Valor Por defecto: 8 fast: acelera, desacelera el filtrado. Valores: true, false. Valor Por defecto: false *Para mejores resultados dejar el parámetro en false.
La velocidad de trabajo del filtro dependerá de las características del procesador, en mi caso (Pentium Dual Core E5700 3.0 Ghz) trabajó e ntre 5 a 24 fps. Ahora bien, dentro de este mismo filtro de funcionalidad, ya que es un filtro .avsi, que requiere de otros pa ra funcionar y a su vez realizar un import con este mismo .avsi, podemos utilizar la funcionalidad de sharpen de forma independiente, el que nombrare de inmediato. UnSharpMask(0, 0, 0)
La primera cifra hace referencia a la fuerza del enfoque que nos producirá en la imagen La se gunda cifra hace referencia a un borde blanquecino que ayuda a resaltar los bordes, siendo muy, muy leve su aparición. La tercera cifra realmente no puedo decir a que va dirigido, porque lo he probado hasta con un valor de 300 y no sucede absolutamente nada, a menos que sea un complemento de la segunda
c ra en cuanto a marca o, pero a ver a que no e nota o cam o a guno ya sea e an o en 0, -1 o valores positivos superiores a 0 esta cifra. Recomiendo usar la siguiente configuración: 1ra cifra: un mínimo de 10 con un máximo extremo de 23 a 24, después de 24 comienza a eliminar detalle de color por el sobrefiltrado, presentándose como puntos sin color en el cuerpo de la imagen. Siempre y cuando se trabaje junto con otros filtros pero a l realizarlo de forma independiente (aplicando únicamente UnSharpMas k) pueden trabajar fácilmente a un valor de 28 sin perder detalle alguno, lo que logra un mejor enfoque. 2da cifra: a partir de 0 hasta un máximo de 4 e s suficiente, esto pa ra que no afecte al video y no resalte tanto a l ojo humano, se verá si observamos con una lupa. 3ra cifra: dejarla en 0 Recomendado, trabajando junto con otros filtros: UnSharpMask(14, 2, 0)
Trabaja a una velocidad de entre 12 a 28 fps, todo dependerá del valor que coloquen en el primer valor. A menor valor más rápido, a mayor valor más lento. Script: Spoiler
Toon El filtro Toon nos ayuda prácticamente a remarcar las lineas de los dibujos a nimados , los bordes. Por ejemplo, si poseemos una fuente de video en donde las lineas de los bordes están o muy suavizados o simplemente no vienen con un buen marcado como corresponde, este nos ayudara a darle el realce que necesita. Recordar siempre que no se debe abusar del filtro en su parámetro, si se a busa, por ejemplo, en fuentes buenas que solo necesitan de 0.3 de parámetro, pero se le coloca 0.6, es muy probable que aparezcan puntos negros en el cuerpo del dibujo en escenas de movimiento, que es donde mas se notará, pero no se quedaran fijas, sino que saldrán en ciertos frames del video y de manera rápida, no sera constante, pero aparecerán esos defectos.
equ s os: aWarpSharp Como se usa: Toon(strength)
Nota: valor máximo de strength: 1.0 Recomendados: Toon(0.25) - Para fuentes en buen e stado y que necesitan solo un marcado suave de bordes Toon(0.30) - Para fuentes donde las lineas necesiten un poco mas de filtrado. Toon(0.35)- Para Fuentes que necesiten marcar bastante las lineas, de bordes a lgo débiles Toon(0.40) - Potencia algo mas que fuerte ya para bordes bien malas
Hice pruebas con 0.65, y ahí ya me salieron fallas como las mencionadas a nteriormente, la de aparición de puntos negros e n el cuerpo del dibujo, todo lo q esta dentro de los bordes, no en exceso, pero con buen ojo se nota. ya del Toon(0.40) hacia adelante, les dejo la responsabilidad a cada uno y según su propio criterio. Info General y Descarga(v1.0) Discusion e n Doom9's.org (Ingles) Existe una version modificada del filtro aWarpSharp (ver seccion filtros sharpen), que pos ee mejoras de e stabilidad, calidad y optimizaciones. La version 1.1 del filtro Toon es la version 1.0 modificada para poder traba jar con la nueva version de aW arpSharp. Descarga Toon v1.1 aWarpSharp2 « Última modificación: 10 de Noviembre de 2013, 14:47 por LUCHOO »
Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php
En línea
Varios
888 Moderador
« Respuesta #7: 07 de Noviembre de 2009, 21:47 »
Desconectado
Efectos AddGrainC
Registrado: 26/06/2006 Mensajes: 8.872 Valoración: 8 Sexo:
[YV12-YUY2-RGB] Genera ruido tipo grano y otros efectos derivados, como por e jemplo ruido que simula la lluvia. Sintaxis y valores por de fecto: AddGrainC(var=1.0, uvar=0, hcorr=0, vcorr=0, seed=-1, constant=false)
var y uvar: desviacion estanda r para la ge neracion de ruido pa ra luma y chroma respectivamente. En español: la intensidad de generacion de ruido. hcorr y vcorr(0.0-1.0): correlacion horizontal y vertical. Aparente mente aumentar es tos valores produce un efecto de suavizado. seed>-1 implica usar una secuencia de grano que se repita, o sea a mayores valores el grano se vuelve mas e statico. constant=true implica un grano constante a lo largo del video, es decir que un patron de grano se repita en todos los frames. Ejemplo de efecto lluvia: AddGrainC(var=800,vcorr=0.9)
Descarga y Documentacion
GrainFactory3 Funcion generadora de ruido cuya intencion es simular un tipo de ruido llamado grano plateado (silver grain). Ademas de lograr dicho efecto, introducir ruido de grano en un video puede se rvir para ha cer mas "visibles" para el codec ciertas zonas del video donde hay muy poco detalle (ideal para zonas oscuras), y que de otra forma se rian sobrecomprimidas llevando a la aparicion de los ne fastos
oques. Tambien podria servir para disimular la falta de detalle muy fino (texturas), y evitar una apariencia plastica. Usese con precaucion, agregar ruido significa enormes perdidas de compresibilidad. Filtros requeridos: AddGrainC MaskTools2 Sintaxis y valores por de fecto: GrainFactory3(g1str=13, g2str=15, g3str=25, g1shrp=60, g2shrp=66, g3shrp=80, g1size=1.50, g2size=1.20, g3size=0.90, g1tex=0, g2tex=0, g3tex=0, temp_avg=0, ontop_grain=0)
#=1 -> areas oscuras, #=2 -> areas intermedias, #=3 -> areas brillantes g#str(0-???): intensidad de aplicacion. g#shrp(0-100): nitidez del grano. g#size(0.5-4.0): tamaño del grano. g#tex(0-100): intensidad de la apariencia de textura. temp_avg(0-100): porcentaje de uniformidad temporal. Es decir que si se us a temp_avg=100 el ruido sera estatico durante todo el video, o dicho de otra forma no variara de posicion entre frames. Valores intermedios son posibles por supuesto. El valor por defecto representa ruido completamente aleatorio. ontop_grain(0-???): ruido adicional que se puede agregar sobre una aplicacion previa. La aplicacion por defecto quizas produce demasiado ruido, si buscan un efecto ligero pueden probar reduciendo los valores de g#str, por e jemplo: GrainFactory3(g1str=7, g2str=8, g3str=13)
Descarga (click derecho->guardar archivo como...)
ShowAlpha Este filtro interno sirve para mostrar el canal alpha (transparencias) de un video o imagen. De lo mas sencillo de utilizar ShowAlpha(pixel_type)
El parametro Pixel_type le hace saber al filtro el espacio de color que utiliza nuestro video o imagen, po r ej: Showalpha(pixel_type="RGB32")
Overlay Filtro interno incluido en Avisynth, superpone 2 videos o 1 video y 1 imagen. Se utiliza mucho para pegar karaokes hechos en Adobe after effects (con canal alpha) en videos pero el filtro Overlay no es capaz de ver por si solo el canal alpha, para esos casos se debe a yudar del filtro ShowAlpha. Es altamente recomendable que a cada video, imagen o mascara que vayan a utilizar en Overlay le asignen un nombre (lo que s e conoce en programación como un Array) Sintaxis por defecto: Overlay(clip clip, clip overlay [, int x, int y, clip mask, float opacity, string mode, bool greymask, string output, bool ignore_conditional, bool pc_range])
Clip: Se pone el nombre o alias del video que ira de fondo. Clip overlay: Se pone el nombre del video o imagen que sera superpuesta al fondo, o sea la que se va a "pegar" al ya existente. X & Y: Estas 2 variables sirven para posicionar la nueva imagen sobre la imagen de fondo. Los valores se definen en pixeles, por defecto el valor es 0, se pueden usar valores en negativo. Por supuesto, X hace referencia al posicionamiento horizonta l y Y al posicionamiento vertical. Mask: Se utiliza pa ra definir la mascara que aplicaremos, debe ser de l mismo tamaño que la imagen o video que vamos a superponer al fondo. Con esta mascara definimos donde estarán la transparencias en la imagen o video a superponer. Opacity: Define la transparencia general que tendrá toda la imagen o video que se superpondrá al fondo, los valores utilizables van de 0.0 que seria totalmente transparente a 1.0 que seria totalmente opaco. Mode: Esto define el método de superposición de ambos videos, hay varios modos que dan efectos muy interesantes que me hacen acordar a los modos de las capas en GIMP o Photoshop ya verán porque Los distintos modos a elegir: Add
B en Subtract Multiply Chroma Luma Lighten Darken SoftLight HardLight Difference Exclusion A continuacion algunos ejemplos: Spoiler
Greymask: Vendría a ser para especificar si la croma de la mascara se usara para la transparencia, por defecto activada (true) y recomiendo que quede así. Output: Sirve para que luego de hacer el overlay deje el video en el espacio de color deseado por ejemplo YV12, por defecto usa el espacio de color que tenga el video o imagen de fuente. Esta opción solo se encuentra disponible en Avisynth 2.6. Pc_range: Por defecto desactivada, sirve para que el rango de la luminancia vaya de 0 a 255, en las TVs comunes los negros y blancos podrían se r muy intensos y no s e vería la imagen así que déjenla de sactivada si van ha cerlo para TV. El rango de luminancia para una TV común es de 16 a 235 Ejemplos de uso: #Imagen s uperpuesta a un video de fondo A=FFVideoSource("C:\Pruebas\Video.mkv") B=ImageSource("C:\Pruebas\Imagen.jpg") Overlay(A,B, mode="Blend")
#Imagen con canal alpha (transparencias) sobre video de fondo A=FFVideoSource("C:\Pruebas\Video.mkv").ConverttoRGB32() B=ImageSource("C:\Pruebas\Imagen.png") C=ImageSource("C:\Pruebas\Imagen.png", pixel_type=RGB32).ShowAlpha(pixel_type=RGB32) Overlay(A,B, mask=C)
eo con cana a p a so re v eo e on o
o es a pro a o pero e er a u nc o nar
A=FFVideoSource("C:\Pruebas\Video.mkv").ConverttoRGB32() B=FFVideoSource("C:\Pruebas\Video02.mkv") C=FFVideoSource("C:\Pruebas\Video02.mkv", pixel_type=RGB32).Showalpha(pixel_type=RGB32) Overlay(A,B, mask=C)
#Ejemplo real proba do por mi usando varios filtros pe ro verán un script mas complejo que los anteriores Script
Reverse [RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24] Simple, se ocupa de que el video sea reproducido al reves, de atras hacia adelante. En origen entrelazado la paridad entre campo superior e inferior se modifica. Sintaxis: Reverse()
Subtitulado Subtitle [RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24] Una instancia de es te filtro (incluido con AviSynth) agrega una linea de texto fija a un de terminado rango de frames. De necesitarse agregar diferentes lineas se deben usa r varias instancias del filtro. No es un filtro para subtitulado de traduccion, para ello esta VSFilter. Sintaxis: Subtitle(text, x=8, y=size, first_frame=0, last_frame=ultimoframedelvideo-1, font="Arial", size=18.0, text_color=$00FFFF00, halo_color=0, align=4, spc=0, font_width=pordefectodelsistema, font_angle=0.0, interlaced=false)
El texto del subtitulo va en text. x e y son las coordenadas en las que se centra el subtitulo. font: fuente del texto. Todas las fuentes instaladas en el sistema estan disponibles. size: altura del texto en pixeles. text_color(por defecto a marillo 100% opaco) y halo_color(por defecto negro 100% opaco): color del texto y color del borde del subtitulo, se fijan en codigo he xadecimal $aarrggbb (ver aqui), salvo por las primeras dos cifras que representan el porcentaje de transparencia, donde 00 es completamente opaco, y FF completamente transparente. Pueden usar esto ultimo para desactivar el borde. Para elegir como se alinea al subtitulo respecto de la coordenada fijada con x e y se hace uso de align. Pueden ver una tabla de como se usa es te parametro aqui, les debo la traduccion. spc: modificar el espacio entre caracteres. font_width: ancho de cada letra. font_angle: angulo de inclinacion de la letra. interlaced: activar en videos entrelazados.
VSFilter Filtro dedicado a pegar subtitulos sobre el video. Archivos so portados : .sub, .srt, .ssa, .ass, .pcb, .smi Sintaxis: TextSub("C\...\subtitulos.ass") -> para a rchivos de subtitulos que contiene n texto (SRT, SSA, ASS) VobSub("C\...\subtitulos.sub") -> para archivos de subtitulos que contiene n imagene s, como
aquellos extraidos de un DVD-Video. Descarga (buscar en DirectShow Filters -> DirectVobSub)
Mascaras MaskTools y MaskTools 2
e ra a e un con un o e unc ones e ca as a a creacon y man puac on e mascaras, refiriendose con este termino a la seleccion de un determinado conjunto de pixeles de una imagen en base a cierto criterio especifico para su tratamiento por separado. El manejo de mascaras , en e l ambito de la video edicion, es muy similar al funcionamiento que tienen las mascaras de recorte en photoshop; al fin y al cabo, un video esta compuesto por imagenes (frames). Lo que se consigue con esta herramienta es superponer frames de manera que ciertas pa rtes se an o no visibles, acorde a la composicion de la mascara. Si nos centramos unicamente en el procesamiento de un frame, la mascara es la que indica que pa rtes de l frame original se veran y cuales no, al igual que el frame que resulta del filtrado. El orden de superposicion del los frames e s muy importante, y afectara al resultado final. En masktools el frame de base en la superposicion, es el frame original; sin embargo en masktools el frame base es e l que ha sido sometido a limpieza de ruido y demas. Para mas de talles mirar la documentación. Este filtro ve su mayor aplicacion como apoyo para otros filtros (por ejemplo de ruido o sha rpen) en scripts de filtrado mas complejos. De hecho bas ta que observen los requerimientos de la mayoria de las funciones tratadas en este manual para ver mencionado a MaskTools. La descarga de los manuales en español para ambas versiones la tienen al final del post como archivos a djunto, cortesia de overdrive80 A continuacion un ejemplo de uso con el que se obtiene un buen resultado para anime, no fuerzo la eliminacion total del ruido pq no quiero jajaja, no en serio, no queda tan bien un sobrefiltrado. Spoiler
Podriamos añadirle el uso de dither para el banding pero no viene al caso. Pobradlo en vuestras fuentes y quizas os vaya bien. Cambiar el filtro del prefiltrado y demas. El contrasharpening es una sharpen que usa mascaras y da resultado de alta calidad. Fijado para no procesa r croma. Para sabe r como se comporta de flate, inflate,... quitar la almohadilla al parametro de control.
Otros Freezeframe La función de este filtro es tomar un frame que elijamos y reemplazar con este un s egmento de frames que definamos, debido a que ree mplaza los frames no modifica la duración del video ni el
con eo e rames. Sintaxis por defecto: FreezeFrame(clip clip, int first-frame, int last-frame, int source-frame)
Ejemplo de uso: FreezeFrame(108, 258, 107)
#Reemplazará desde los frames 108 al 258 con el frame 107
StackHorizontal / StackVertical El filtro StackHorizontal toma 2 o mas videos que le indiquemos y los muestra juntos de izquierda a dere cha, mientras que StackVertical los muestra juntos de arriba hacia abajo. Todos los videos deben tener iguales propiedades y el audio lo tomará del primer video. Para su uso normalmente se podrá invocar a los videos desde una variable. Sintaxis por defecto: StackHorizontal(clip1, clip2) StackVertical(clip1, clip2)
Ejemplo de uso: A=Avisource("C:\Videos de prueba\Video_01.avi") B=Avisource("C:\Videos de prueba\Video_02.avi") StackHorizontal(A, B) « Última modificación: 27 de Septiembre de 2013, 23:59 por 888 »
Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php
MCTemporalDenoise
888 Moderador Desconectado
« Respuesta #8: 29 de Noviembre de 2009, 02:08 »
En línea
MCTemporalDenoise Registrado: 26/06/2006 Mensajes: 8.872 Valoración: 8 Sexo:
Muy completa y compleja funcion, que ade mas de trabajar como denoiser temporal compensado por movimiento, ofrece numerosas opciones extra de pre y post-procesado(PP). Estas se iran abordando a medida que se expliquen los parametros que las que representan. Estos filtros de post-proceso pueden utilizarse por separado, es decir sin aplicar el filtrado de ruido, y es e sto ultimo lo que confiere a esta funcion su caracter de multiproposito.
Descarga del script
Filtros y funciones necesarias: (incluidos aquellos filtros requeridos por estas funciones) MVTools v2 MaskTools v2 RemoveGrain y Repair FFT3DFilter FFT3DGPU (en lugar del anterior, solo si usan GPU=true) TTempSmooth LSFmod WarpSharp (solo para SHmode=1) VariableBlur (solo para SHmode=2) EEDI2 SangNom DeBlock_QED DeBlock DCTFilter GradFun2DBmod GradFun2db AddGrainC
Sintaxis: MCTemporalDenoise()
MCTemporalDenoisePP() -> Sin filtrado de ruido, para cuando se quiere aplicar el filtrado de post-
proceso de forma independiente. Este incluye las etapas de filtrado marcadas con "PP", que son las unicas que pueden ser invocadas por esta linea (es decir que solo pueden definir sus parametros). Y ojo porque vienen todas desactivadas por defecto, por lo que asi como esta la sintaxis no sirve de nada, asegurense de habilitar la/s etapa/s que desee n usar.
Parametros: (segun la etapa de filtrado que afectan)
Filtrado de ruido El radio temporal (cantidad de frames) se fija con e l parametro radius entre "1" y "6", por defecto en "2", puede aumentarse para un filtrado mas preciso pero mas lento. Como parte del proceso se realiza un pre filtrado con el filtro FFT3DFilter, por lo que el parametro sigma se utiliza para regular su fuerza, desde un valor de "0" (que desactiva el prefiltrado) para arriba. Por defecto esta en "4.0" Si se busca un efecto mas fuerte (y mucho mas lento) se puede usa r twopass=true para que se apliquen dos pa sadas de filtrado en lugar de una. Se encuentra dispo nible el uso del filtro TTempSmooth mediante el parametro useTTmpSm=true , para un filtrado mas potente pero mas lento. El efecto de la o las pasadas de denoising (si se usan dos) puede ser limitado mediante limit y limit2 (primer y segunda pasada ). Pueden tomar valores desde " -1", que calcula la limitacion automaticamente y es el valor por defecto para ambas pasadas, hasta "255", pasando por el "0" que desa ctiva la limitacion. Obviamente a mayores valores mayor es la limitacion, pero creo que lo mas recomendable es usar la estimacion automatica aprovechando que la funcion posee dicha capacidad. Para colocar una etapa de filtrado de ruido extra entre la salida del denoiser temporal y las etapas de post-procesado s e hace uso de post. Como en e sta etapa tambien se usa FFT3DFilter, este parametro equivale al sigma de dicho filtro y regula su fuerza. Este filtrado extra se desa ctiva usando post=0, que es como se encuentra por defecto. El procesamiento de crominancia se habilita mediante chroma=true, por defecto esta desactivado. Si su video es entrelazado tienen a su disposicion interlaced=true.
FFT3D Configuracion de este plugin. Los valores de bwbh y owoh representan el tamaño de bloque (con el que se muestrea la imagen) y solapamiento entre bloque s respectivamente, que afectan la precision es pacial del filtro. A menores valores mayor calidad pero menor velocidad, por defecto: bwbh=16y owoh=8 si el video
e s e e c a o como , o w = y owo = en caso con raro. epan am en que por una limitacion del filtro, owoh no puede ser nunca mayor a la mitad de bwbh. Notaran que pa ra altas resoluciones los valores son mas elevados, eso es para que la velocidad sea razo nable aunque si buscan calidad extrema, los bajan. La precision temporal tambien es configurable desde el parametro bt, siendo por defecto "3", puede subirse hasta "5" o ba jarse hasta " 1" (el filtrado pasa a se r solo espacial o 2D). ncpu permite especificar el numero de hilos de procesamiento, en caso de que posean un procesador de mas de un nucleo. Por defecto es "1". Solo sirve para la version comun desde ya. Si se desea usar la version FFT3DGPU en vez de la original, basta colocar GPU=true. Y la precision de calculo se puede regular con precision, por defecto "2". La funcion incorpora una rutina (activada por defecto) que corrige cierto comportamiento de l filtro FFT3D, a partir del cual se genera efecto banding. Se puede e liminar esta correccion mediante fixband=false .
MVTools Configuracion de este conjunto de herramientas, que son las encargadas de la deteccion y compensacion del movimiento, para todas las etapas de filtrado donde esta se aplica. blksize y overlap, son tamaño de bloque y solapamiento para el muestreo de la imagen, por defecto: blksize=16 y overlap=8 si el video es detectado como HD, o blksize=8 y overlap=4 en caso contrario. Los parametros thSCD1 y thSCD2 controlan la sensibilidad de deteccion de cambio de escena. El primero establece que tanta diferencia debe existir entre dos bloques del muestreo para que se considere que hubo dicho cambio; de aumentarse el valor mayores diferencias seran necesarias, por defecto "300". El segundo indica cuantos de estos bloques donde se detecta el cambio son necesarios para considerar que el frame es un cambio de escena, por defecto "100". Aumentar estos parametros implica mayor fuerza de filtrado en general, dado que le quitan precision a la deteccion de movimiento. thSAD sirve para poner un limite a la compensacion, dado que a menores menos bloques seran compensados. Por defecto "300", debe incrementarse para una mayor precision y calidad en caso de estar configurando un filtrado general mas potente. Si se dese a una estimacion del movimiento de mayor coherencia, es de cir que se a mas inteligente al identificar el movimiento, se puede usar truemotion=true . La nitidez de la interpolacion interna se puede fijar con MVsharp, estando en "2" por defecto que es e l modo de mas nitidez, pudiendo tambien se r "1" para interpolacion bicubica, o "0" para bilinear, en orden de mayor a menor nitidez. Util para videos que requieren mucha limpieza, en cuyo caso ademas de aumentar la fuerza de filtrado se puede reducir la nitidez de la interpolacion para un resultado mas "suave".
Nitidez (PP) Esta etapa de post-proceso se encuentra activada por defecto, y puede ser desactivada mediante
s arp= a se. ra a a e orma a ap a va, ap can o e e ec o s arpen so o so re areas qu e as y con detalle, evitando la amplificacion de ruido. Si se quiere que e l efecto se aplique de igual forma en toda la imagen se puede usar adapt=false. El filtro sharpen utilizado es la funcion LSFmod, que pueden ver descripta detalladamente en la seccion de filtros sharpen y los parametros de esta que pueden invocarse son: strength, por defecto "100"; SHmode, por defecto en "3" (equivale a Smode en LSFmod); SHmethod, por defecto en "3" (equivale a Smethod en LSFmod); Slimit, por defecto "0" (equivale a Lmode en LSFmod). Este ultimo pa rametro solo regula la limitacion espa cial, para limitacion temporal compensada por movimiento esta Tlimit, activada por defecto con un valor de "true".
Proteccion de estrellas o puntos brillantes (PP) protect=true habilita esta funcionalidad, deshabilitada por defecto. El nivel de brillo que debe tener un area para ser procesada se fija con cutoff , desde " 0"(todo) hasta "255", por de fecto "64". threshold es otro parametro que establece si se filtra o no, en este caso representa el cambio maximo de luminancia que debe existir, desde "0" hasta "127", por defecto "16". De subir este valor menos areas seran filtradas. Y por ultimo maxdiff fija el maximo cambio que sufre el area filtrada(considerada como punto brillante) respecto de la imagen original. "0" copia exactamente igual, por defecto "4" pue de llegar hasta "255".
Anti-aliasing (PP) Para evitar el efecto serrucho en bordes. Se activa colocando AA=true, ya que por defecto viene apagado. Se puede elegir entre dos filtros de reescalado: EEDI2(por defecto) o Sangnom, mediante useEEDI2, donde se usa "false" para cambiar a Sangnom. A valores mas altos de AAthr, se procesan solo bordes mas gruesos. Por defecto "32", va de "0" a "255". El filtro de reescalado usado para regresar al tamaño original(luego de la etapa de AA) tambien puede elegirse entre tres opciones con el parametro method, segun el nivel de nitidez. Los valores posibles son: "0"->Bilinear; "1"->Spline36; "2"->Lanczos4, en orden de menor a mayor nitidez.
DeBlocking (PP) Se aplica un filtrado de bloques, previamente al filtrado de ruido, si se coloca deblock=true. Por defecto se usa la funcion DeBlock_QED, aunque tambien puede usarse el plugin DeBlock(mas a gresivo) poniendo useQED=false. Pueden definirse los parametros quant1 y quant2 de DeBlock_QED (ver descripcion de la funcion en la seccion Restauracion para mas info), y sus valores por defecto son "20" y "40" respectivamente. De usarse DeBlock, su parametro quant se toma como quant1+quant2 / 2, o sea un valor por
e ec o e
.
Limpieza de bordes (PP) Para aprovechar esta funcionalidad deben poner edgeclean=true. Consiste e n limpieza de ruido solo en bordes de zonas sin detalle fino, asi que no provoca perdidas de calidad. La distancia que se filtra desde el borde se puede regular con ECrad, por defecto "3". Y el tamaño de los bordes que se filtran se regula con ECthr, entre "0" y "255", a mayor valor bordes mas finos no son procesados. Po r defecto "32". El filtro por defecto usado para la limpieza e s RemoveGrain, pero pueden usar cualquier plugin o funcion que deseen mediante el parametro ECmode. Por ejemplo: ECmode="DFTTest()".
Estabilizacion (PP) Se aplica si usan stabilize=true. Se trata de us ar el filtro TTempSmooth (ver subcategoria de denoisers temporales) para eliminar restos de ruido aleatorio solo sobre fondos. Los parametros de este plugin que son accesibles son: maxr para regular el radio temporal (frames), a mayor valor una imagen mas estable, puede ir desde "1" a "7" y por defecto es "1"; TTstr, fuerza de aplicacion, por defecto "1", puede llegar hasta "256".
Areas solidas (PP) Esta etapa se ocupa de eliminar el efecto banding (ver categoria Restauracion) y previene que se generen bloques en la compresion (mediante el agregado de ruido de grano). Por supuesto unicamente si enhance=true esta presente. Se hace uso de la funcion GradFun2DBmod, cuyos parametros presentes son: GFthr para regular la fuerza, donde "1.0" apaga el filtrado, y de ahi para arriba, por defecto "1.2"; AGstr, para la fuerza de AddGrainC, es decir la intensidad del ruido de grano generado, por defecto "0.8", de ponerse en "0.0" no se agrega grano; temp para la e stabilidad del grano, a mayor valor un ruido menos aleatorio, es decir menos "nervioso" como le suelen decir, donde "0" es mas nervioso y "100" completamente estatico, por defecto "50". Vale aclarar que cuanto mas estatico mas compresible. El parametro bias permite fijar un balance entre grano generado sobre areas brillantes versus areas oscuras. Aumentando el valor se inclina dicho balance hacia las areas mas brillantes y viceversa. Por defecto en "64", puede ir desde "-1" que equivale a desactivar el balance (grano uniforme), hasta "254".
Config global Para us ar prefiltrado de ruido personalizado, se de be usa r la variable p, mediante la cual pueden definir el filtrado de ruido que desee n usar como prefiltrado (ver ejemplos). Y ojo porque es te prefiltrado no es lo mismo que aplicar un filtro de ruido antes de la funcion y desactivar el prefiltrado interno. Deben definir la variable para que la funcion tenga internamente a su disposicion el video prefiltrado como una herramienta de comparacion.
se ngs perm e e n r os va ores e o os os parame ros en ase a una ser e e prese s, segun la fuerza de aplicacion. Las posibilidades, de menor a mayor fuerza, son: "very low", "low" (por defecto), "medium", "high" y "very high"; recuerden poner tambien las comillas. Si quieren saber que valores s on asigandos a los parametros en cada preset, vean en el script de la funcion, donde como parte de la documentacion hay una tabla con todos los valores para cada preset.
Debug Si ponen show=true, en vez del frame filtrado, se obtiene una imagen con la comparacion entre video de origen, prefiltrado y filtrado, junto con la configuracion completa de la funcion. Muy util para comparar. La resolucion de esta pantalla se puede modificar usando screenW y screenH, horizontal y vertical respectivamente. Por defecto: 1280x1024.
Las e tapas de post-proceso para nitidez y proteccion de puntos brillantes requieren de dos videos de entrada, aquel al que se le filtro el ruido y el original, dado que estas etapas tratan de restaurar la nitidez y los puntos brillantes que pudieran haber sido perjudicados en el filtrado de ruido. Para lograr esto se ofrecen dos variables que de ben ser de finidas antes de invocar alguna de estas etapas: source, que debe ser el video pre vio al filtrado de ruido; y denoised, que debe ser el video luego del filtrado de ruido. source = last denoised = source.filtro_de_ruido()
Ejemplos: MCTemporalDenoise(sharp=false) -> solo filtrado de ruido, es de cir que se desa ctiva la unica estapa
de PP que viene habilitada por defecto. MCTemporalDenoise(deblock=true) -> habilita filtrado de bloques como pre-procesado. MCTemporalDenoise(AA=true, protect=true, edgeclean=true, s tabilize=true, en hance=true) -> todas
las etapas de PP activadas, aprovechando al maximo las capacidades de la funcion. MCTemporalDenoisePP(edgeclean=true) -> solo etapas de PP, sin filtrado de ruido, y en este caso
soo a uncon e mp eza e ru o en or es. source = last denoised = source.DFTTest() MCTemporalDenoisePP(sharp=true) -> uso de la etapa de restauracion de nitidez. Para usar la
proteccion de puntos brillantes es lo mismo, por supuesto activando dicha etapa. p = last.FluxSmooth() MCTemporalDenoise() -> prefiltrado pe rsonalizado , en vez del prefiltrado interno. « Última modificación: 08 de Agosto de 2010, 03:14 por 888 »
En línea
Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php
888 Moderador
Re: Manual AviSynth « Respuesta #9: 30 de Agosto de 2010, 04:32 »
Desentrelazado
Desconectado
Introduccion al video entrelazado Registrado: 26/06/2006 Mensajes: 8.872 Valoración: 8 Sexo:
De que se trata: Primero definamos que es el contenido progresivo. Este es aquel formado por una sucesion de frames, refiriendonos con esta palabra a la imagen que conforma un fotograma de video completo que a barca la res olucion maxima de l video. A grandes rasgos el proceso de entrelazado se trata de dividir un frame verticalmente en do s mitades. Esto se realiza tomando linea horizontal de por medio, es decir se separan en dos mitades pero tomando las lineas horizontales de forma alternada, del tal forma que cada mitad contiene una parte de la informacion vertical completa (en oposicion a solo contener la pa rte supe rior o inferior). A las mitades formadas de este modo se las denomina campos . Entonces un video entrelazado consta de una s ucesion de campos , que son mostrados en pantalla uno a continuacion del otro ta l como si fueran fotogramas completos, pero a l doble de velocidad para compensar y lograr la misma velocidad de reproduccion.
Cuando un video pos ee contenido entrelazado, esto se ha ra notable en la reproduccion en medios digitales debido a la forma en que estos muestran la informacion en pantalla, no asi en las TV analogicas donde e ste fenomeno no es perceptible. Lo que se observa cuando se reproduce contenido entrelazado en un dispositivo digital es una distosion sobre los bordes de los objetos en movimiento, produciendo un efecto sumamente molesto e indeseable. Esto se produce cuando son mostrados sucesivamente dos campos que contienen informacion vertical de diferentes frames, es decir cuando dos campos entrelazados no fueron creados a partir del mismo frame o ta mbien cuando se trata de contenido que fue directamente capturado de forma entrelazada. Entonces lo que ocurre es que los campos contienen informacion temporalmente desplazada uno del otro, y por ello el efecto es observable sobre objetos en movimiento, mientras un campo muestra a l objeto en una posicion, el siguiente campo lo muestra en una posicion distinta. Segun esto se puede deducir porque no s e obse rva este fenomeno cuando dos campos pertenecen al mismo frame o cuando se trata de escenas u objetos estaticos. Esto ultimo implica que puede darse el caso de que un video tenga contenido entrelazado pero no sea visible ningun efecto molesto. Que es lo que suele ocurrir en videos PAL que fueron Telecined (este proceso se explica mas ade lante), cuando los dos campos que forman el frame en la reproduccion provienen de hecho del mismo frame, resultando en un video que se vera como si fuera progresivo.
Por que o para que?: En un principio el entrelazado de los videos se origino en el modo de funcionamiento de los TV analogicos, pero eso ya se quedo en el tiempo, por lo que vamos a concentrarnos en su uso en medio digitales, que han adoptado el e ntrelazado por sus propias razones. Primero podemos mencionar el video entrelazado obtenido directamente durante la captura o filmacion, siendo que en cada captura del fotograma o cuadro s olo se almacena la mitad de la informacion vertical, de la forma alternada explicada antes. Esto pe rmite la captura mas rapida o de mayor cantidad de campos por unidad de tiempo, dado que cada campo ocupa la mitad de un frame completo. De esta forma se logra una captura del movimiento mas fluida, gracias a la mayor cantidad de informacion colectada en e l tiempo, ideal por ejemplo para actividades de portivas. Por supuesto tambien se pierde informacion o definicion vertical, ya que en cada fotograma solo se captura la mitad de la resolucion vertical.
ro uso muy un o que a en o e en re aza o en me os g a e s a s o a mo cac on del framerate o tasa de fotogramas por segundo. Resulta que la mayoria de los videos son filmados a una tasa de 24fps, contenido que en esa condicion es denominado FILM, y es por supuesto progresivo. Ahora bien, el estandar NTSC define una velocidad de 30fps. O mas bien de finia, ya que con la llegada de la TV color ese valor debio ajustarse a 29,97fps (rigurosamente 30000/1001). Las razones de estos cambios de velocidades frente a la velocidad de filmacion me superan, parece que hubieran buscado la forma de complicarse mas de lo necesario pero a uno le gusta creer que tuvieron sus buenas razones. Solo puedo decirles que tuvo que ver con la frecuencia de la red electrica y luego el paso a TV color. Una opinion personal: ya podrian ir olvidandos e de estos obsoletos estanda res que surgieron de limitaciones de la epoca. Entonces, el problema es que tienen un video a 24fps que necesitan tener a 29,97fps. Fue cuando a algun craneo se le ocurrio inventar el proceso denominado Telecine. Este es explicado en detalle mas adelante, pero en resumidas cuentas se trata de pas ar un video de 24fps a 30fps mediante el entrelazado. Y por supuesto la modificacion posterior adicional a 29,97fps, que se trata ni mas ni menos que de un cambio "a lo bruto", o sea se reproduce mas lento. Ahora bien, la norma PAL establece una velocidad de reproduccion de 25fps. Como en este caso la velocidad e sta muy cerca de la de l FILM, simplemente se recurre a a celerar la reproduccion, sin el agregado de nuevos frames, ni progresivos ni entrelazados. Debido a la poca diferencia dificilmente se note un cambio en la velocidad de reproduccion, aunque el audio si debe ser ajustado para evitar desincronizaciones. Resulta que por razones que muy probablemente tambien sean ya historia antigua, a los videos PAL tambien se les aplica (o aplicaba?) el proceso de Telecine, pero de una forma diferente pa ra que no se produjese un cambio en la velocidad de reproduccion (continuaban siendo a 25fps). Mas adelante se explica e n detalle. Finalmente, el caso mas complejo, anime. Aqui ocurren cosas muy raras, para una idea mas detallada referirse a la guia del filtro AnimeIVTC. En resumen creo que se trata de a horrar en tamaño, aprovechando que el anime posee muchas escenas estaticas y bajos fps. O algo asi, si alguien sabe mejor como viene la mano es bienvenido a a clararlo.
Desentrelazado Bien, aqui llegamos a la parte interesante: como deshacerse del contenido entrelazado y convertir nuestro video a contenido progresivo.
Existen dos metodos que se emplean para dicho fin, ambos dedicados a recuperar un contenido formado por frames (progresivo) a partir de uno formado por campos . A saber: Blending: se mezclan dos campos sucesivos para formar un frame. Es decir que se entrelazan de forma definitiva pero a su vez aplicando un suavizado entre campos para disimular el efecto de entrelazado. Este metodo produce el indeseable efecto ghosting (fantasma) debido a que lo que se obtiene son dos campos superpuestos pero que contenian informacion distinta (des plazada temporalmente). Por ello este metodo no se recomienda. Bobing: este metodo consiste en reconstruir un frame a partir de cada campo. Esto se logra interpolando las lineas horizontales faltantes a pa rtir de las existentes. Por supuesto la calidad del resultado y por ende la a proximacion a un hipotetico contenido progresivo de origen (exista o no) estara ligada con la e xactitud de dicha interpolacion. Desentrelazadores por excelencia: Decomb, Tdeint, TomMoComp, yadif y todos los bobbers que hay muchos pe ro a mi personalmente me encanta MCBob, ya que utiliza Compensacion de Movimiento pa ra evitar efectos de jerkiness (secuencia de frames sin fluidez, a sa ltitos). Hay un nuevo Bobber que es la optimizacion de TempGaussMC, lo que pasa es que aparte de dese ntrelazar elimina ruido, lo cual a veces no interesa; este filtros se llama QTGMC. Ahora para los que tengais la cara a cuadros diciendo que si tengo un amigo que se llama Bob, pues no ^^. Estos filtros hacen una tarea muy laboriosa la cual consiste en descomponer en video en campos . Un frame entrelaza do esta formado por un campo superior e inferior (el superior son los que corresponden a las lineas impares y el inferior por las pares). Esta claro que si combinamos los dos campos obtenemos e l frame. Por lo cual si tenemos un video a 30i frames, lo transforma a 60p campos. Para ello usan la reconstruccion de campos mediante los frames proximos, tanto anteriores como posteriores. La compensacion de movimiento, es para que esta interpolaciones de los campos sea fluida. Por tanto cuando apliquemos un bobber, nuestro video adquirira una tasa de fotogramas de 59,97 (60fps). Que aunque digamos que son frames son en realidad campos reconstruidos. Ahora nuestro video es progresivo, solo nos queda reducir el framerate a 30 y despues diezmar (decimate). Para pasar un video de 60p a 30p, usaremos la herramienta SelectEvery() o SelectOdd() o SelectEven(). Todos incluidos con AviSynth. NOTA:El plugin Srestore hace todo lo que voy a explicar de una tacada, pero tiene sus
nconven en es. SelectEvery() seria seleccionar todos pero dentro del parentesis aplicariamos las reglas para discernir. En este caso podriamos usar SelectEvery(4,0,2) o SelectEvery(4,1,3) .
Para que os haga is una idea SelectEvery(4,0,2) = SelectOdd() - Selecciona los frames impares SelectEvery(4,1,3) = SelectEven() - Selecciona frames pares. De esta manera reduciriamos la tasa a 30p y ahora solo quedaria diezmar mediante comandos del Decomb: Decimate() o de TIVTC: TDecimate(). Quedandose una tasa de 23,976. En particular la explicacion precedente e s para video NTSC, para fuente s PAL seria lo mismo, pero no tendriamos que diezmar al final. Por ultimo, todo esto es aplicable sobre contenido verdaderamente entrelazado ( Truly Interlaced ).
IVTC o InVerse TeleCine Ahora bien, todo lo dicho sobre el des entrelazado esta perfecto pero e s so lamente necesa rio aplicarlo cuando el contenido entrelazado no proviene directamente de contenido progresivo. Los metodos descritos en el apartado a nterior se ocupan de des entrelazar dos campos cuando estos no pueden ser combinados para formar el frame original, es decir cuando estos campos no fueron creados a partir de un frame. Aqui es donde e ntra en escena el proceso de Telecined , que consiste en un proceso por el cual material progresivo codificado originalmente a 24 fps, pasa a tener una tasa de fotogramas de 30fps. Esta tecnica es conocida como 3:2 pulldown (por cada tres frames progresivos, dos entrelazados). Dicho de otra forma, lo que se tiene es contenido entrelazado a partir de contenido originalmente progresivo. De manera que si cuatro frames: a b c d se le aplica 3:2 pulldown la cosa quedaria asi: AA BB BC CD DD, con las letras en mayuscula representando campos. Como podeis observar por cada cuatro frames, aumenta a uno de manera que ahora tenemos tres frames progresivos y dos entrelazados. Por lo tanto, por cada grupo de cuatro frames uno mas, si 24/4=6, si por cada 6 grupos de 4 un frame mas 6*1=6 frames + 24=30fps. Cuando se trata de video PAL a 25fps, tambien se puede aplicar pulldown, con un patron de 2:2.
e es a orma e v eo pue e que ar: , y como po ran ver e es a orma no se ara notable a simple vista que esta entrelazado. Y a su vez noten que el framerate no se modifica. Si sera notable el efecto de entrelazado cuando se utilice el patron: AB BC CD Existen tambien otros patrones diferentes a los mencionados, por ejemplo: 16 fps (en realidad 15.985) a NTSC 30 fps (en realidad 29.97): pulldown deberia ser con un patron 3:4:4:4. 16 fps a P AL 25: el patron del pulldown deberia ser 3:3:3:3:3:3:3:4. 18 fps (en realidad 17.982) a NTSC 30: el patron del pulldown de beria ser 3:3:4. 20 fps (en realidad 19.980) a NTSC 30: el patron del pulldown de beria ser 3:3. 27.5 fps a NTSC 30:e l patron del pulldown de beria se r 3:2:2:2:2. 27.5 fps a PAL 25: el patron de l pulldown deberia ser 1:2:2:2:2. Se les pueden presentar dos tipos de contenido telecined: Soft telecined. El flujo de frames es codificado a 24 fps y el pulldown es aplicado durante la reproducción. En este caso los frames entrelazados son creados durante la reproduccion, por lo que realmente no forman parte del video. En resumen, el contenido Soft Telecined es realmente progresivo. Debido a esto es muy sencillo recuperar el contenido progres ivo, y mas a un si se emplean las herramientas "DG" para el indexado. Basta seleccionar Force Film para que el video vuelva a ser progresivo. Tambien existe una opcion equivalente si se utiliza el plugin de carga FFmpegSource2. Hard telecined. Tu fuente fue telecined ante s de ser codificada en e l DVD. Esto implica que como el video fue entrelazado y luego codificado, ahora el contenido entrelazado forma parte del video. Entonces, por lo descrito se concluye que este es un tipo de contenido entrelazado que fue generado a partir de contenido originalmente progresivo. Es por ello que para desentrelazar se emplea otro metodo muy diferente al desentrelazado ya descripto, ya que no rea liza aproximaciones pa ra reconstruir los frames. Este procedimiento se denomina InVerse TeleCine o IVTC . Los filtros para ello se ocupan de localizar los do s campos que componen el mismo frame y los juntan para reconstruir el mismo.
e cue r e n que e n ve r a s e ra a a con v e os a , ps , por o que e proce so e es devuelve un video a 23,976 (24000/1001). Vale aclarar que esto solo tendra exito cuando el video fue creado con un metodo de telecined de buena calidad. Puede pasar que a la mayor parte del contenido pueda aplicarsele el IVTC , a excepcion de algunas zonas donde pueden faltar alguno de los dos campos que conformaban el frame, ya sea por problemas ocurridos en e l telecined o en la edicion pos terior al mismo. En estos casos la combinacion de los dos campos falla y se obtiene un frame entrelazado, es decir conteniendo el efecto indeseable. Para solventar esto los filtros de IVTC posee n algoritmos que se ocupan de detectar cuando un frame ha quedado e ntrelazado, para luego aplicarle alguno de los metodos de scritos antes para dese ntrelazarlo (Bob o Blend). Ver filtro Decomb. Filtros para InVerse TeleCined por excelencia: TIVTC, Decomb.
Otros tipos de contenido entrelazado: Double hard telecined (DHT). Aparentemente se trata de un video que fue Telecined, y luego nuevamente entrelazado, ya sea mediante un nuevo proceso de Telecined o bien algun otro patron. Field blended norm-conversion. En lugar de volver el video a 24fps (film rate), el flujo es directamente convertido des de NTSC (29.97fps) a PAL (25fps) o viceversa, aplicando el metodo de Blending en algunos de los campos y creando un efecto desagradable (parecido al DHT cuando inspeccionamos un frame). Ver mas adelante en que consiste el modo de desentrelazado denominado Blending. Hybrid.(Hibrido) Mezcla de material progresivo a 24fps que fue telecined hasta 29,97 y material verdaderamente e ntrelazado a 29,97. Esto quiere decir que en el momento de hacer pulldown solo lo hacen para las partes del video a 24fps y las otras que son a 29,97fps es tarán entrelazadas. Este tipo de material, tiene dos maneras de ser dese ntrelazado: 1. Mediante el uso de VFR, Variable Frame Rate, para un posterior empaquetado en matroska. (El filtro AnimeIVTC tiene la opcion de codificar a framerate constante de 23,976)
. e uso e un ramera e cons an e, que e er a ser ps pues es e va or que ene como minimo comun divisor a 24 y 30. Tambien puede ser empleado e l uso de 60fps mediante el desentrelazado de un bobber.
Identificacion del tipo de entrelazado: La identificación del tipo de entrelazado que tiene tu fuente es de suma importancia, porque una mala evaluación del problema dará lugar a otros como las mezclas y sacudidas (Blends y jerkiness). Para ello deben cargar un script .avs que contenga la carga del video y la separacion de los frames en campos, de la siguiente manera: AviSource("C:\...\video.avi") AssumeTFF() SeparateFields()
En lugar de AssumeTFF() puede que deban usar AssumeBFF(), segun el orden en que aparecen los campos. La primera linea asume que va primero el campo superior, mientras que la segunda el inferior. Para sa ber como es en su video, lo cargan con alguna de las dos y si es la correcta entonces el movimiento debe avanzar siempre hacia adelante. De ser la incorrecta notaran que a medida que avanza cada tanto retrocede un poco antes de seguir avanzando. Luego cargan el script .avs en algun programa que les permita avanzar frame por frame. Por ejemplo pueden utilizar VirtualDub, VirtualDubMod, AvsP o incluso su reproductor favorito si soporta dicha opcion. Si cargan el video mediante alguno de los plugins "DG", asegurense de seleccionar la opcion de "Honor pulldown flags? cuando indexan. Entonces, buscan algun area de movimiento notable, y si al avanzar un frame a la vez observan: El movimiento aparece de a pares de imagenes. Es decir el patron es de a 2 imagenes que no tienen movimiento entre ellas, luego otras dos y asi sucesivamente, pero si existe movimiento e ntre los pares. Una forma de ejemplificarlo se ria: AABBCCDDEEFF, donde solo entre letras distintas hay movimiento. Esto debe tratarse de un PAL Telecined. Recuerden que en es te caso puede que no se note el efecto de e ntrelazado a l reproducir si los dos campos provienen del mismo frame. Tambien este se ra el patron de video progres ivo.
Todas las imagenes son distintas, hay movimiento en cada frame. O sea a lgo asi: ABCDEF. Se trata de un video Truly Interlaced. El patron que se presenta repite imagenes sin movimiento de a 3 y de a 2 de forma alternada . Algo asi: AABBBCCDDDEEFFF. Tienen en sus manos un video progresivo a 24fps que fue Telecined. Tengan en cuenta que tambien pueden presentarse alguno de los patrones de telecined mencionados antes. Para a su vez identificar si se trata de un Soft Telecined, la unica forma que conozco por ahora es ver que les informa las he rramientas "DG" al realizar el indexado. Abren el .log creado y revisan que tipo de video es: solo si les dice que es "100% FILM" estan ante un Soft Telecined. Si observan el efecto fantasma en algunas de las imagenes, significa que estan ante un Field Blended norm-conversion. Esto usualmente lo notaran en videos de anime PAL. No logran identificar ningun patron de repe ticion. Muy probablemente s e trate de contenido Double Hard Telecined. Y algo muy importante: existe la posibilidad de que su video tenga mas de un tipo de contenido a lo largo del mismo, por lo que asegurense de revisar de forma bastante completa su video, en especial el inicio (la presentacion en caso de series o los logos de los estudios) y los creditos, que suelen ser codificados en un modo distinto para ahorrar espacio. Al margen de entrelazado hibrido, que ya saben posee contenido tanto Telecined como Truly Interlaced.
Filtros y Funciones para Desentrelazado Aqui los filtros destinados a deshacerse del entrelazado, transformando al video nuevamente en uno progres ivo de la mejor forma posible.
AnimeIVTC
QTGMC Desentrelazador de muy alta calidad con una gama de características de gran calidad y conveniencia. Incluye ajustes pree stablecidos, una a mplia capacidad de procesamiento de eliminación de ruido, soporte para la reparación de material progresivo, búsqueda precisa del tipo de fuente, velocidad de obturación de simulación, etc? Descarga al pie de este post.
Decomb Este plugin esta compuesto por un conjunto de filtros, todos incorporados en la misma .dll, que se utilizan para aplicar el metodo de Inverse Telecide o IVTC asi como tambien interpolacion (Bob) o mezclado (Blending) para desentrelazar. Es decir que estan pensados para el de sentrelazado de contenido telecide puro, hibrido o entrelazado puro, mediante el uso de los diferentes filtros que ofrece. Por ahora e sta guia solo aba rca el uso en detalle del plugin para fuentes telecined . O sea esta orientado para dvds PAL, o NTSC pero que no estan en los casos en los cuales podemos utilizar el Forcefilm del DGIndex, es decir cuando el contenido es Hard Telecined. Nota: este plugin no puede ser usa do con la version beta mas reciente de AviSynth (2.6.0) debido a un bug, se recomienda us ar la ultima version estable (2.5.8). PASO 1. Cargamos nuestro script con este codigo. AssumeTFF().SeparateFields()
Buscamos una zona en movimiento, si al avanzar en la pelicula, todo se mueve hacia adelante del film; entonces el field order(orden de campo) es top (superior). Si por el contrario, obse rvamos como un frame avanza y luego retrocede y luego avanza, entonces su field order(orden de campo) sera bottom (inferior). Lo podemos comprobar, poniendo e n el s cript: AssumeBFF().SeparateFields()
Y si era bottom field, ahora de beria verse correctamente la s ucesion de frames o el movimiento.
. n ca r e a e e c e que po e pa ron e e n re a za o -progre s v o pos ee e v e o. En verdad el filtro es adaptativo y no requiere que se especifique el patron de entrelazado, automaticamente es capaz de detectar si un frame es progresivo o entrelazado. Sin embargo si se conoce y puede especificarse ayuda a que el proceso sea mas rapido. Para ello el filtro Telecide dispone de 4 posibles valores del parametro guide: guide=0 inhabilita la suposicion de un patron determinado, el filtro analiza frame a frame para ver si son e ntrelazados; guide=1 para contenido con un patron 3:2, o sea Hard Telecined (24fps->30fps); guide=2 para contenido con un patron 2:2 (PAL, 25 fps) guide=3 para contenido con un patron 3:2:3:2:2 (25fps->30fps). Si su video e s PAL y fue telecined, utilize e ste comando: Telecide(guide=2) (en el caso que no sea progresivo saltar al siguiente paso sin utilizar este
comando) Si tenemos un clip con un framerate de 29.97fps o NTSC 30fps, las cosas son complicadas. Se carga en bruto, sin filtros en virtualdub, y escojemos una zona en movimiento del clip. Si observas un patron que repite de 3 marcos limpios seguidos de 2 marcos entrelazados, entonces era un 3:2 pulldown. Podemos cargar el siguiente s cript, para que nos de un informe sobre el clip: Telecide(guide=1, post=0, show=true)
Una vez cargado este codigo en virtualdub, podemos encontrarnos con dos posibilidades: 1. Que telecide nos de informacion constante de: "in-pattern", or "in-pattern*", en ese caso es un 3:2 pulldown 2. Que telecide nos de informacion del tipo: "out-of-pattern" o por cada frame haga saltos "inpattern/*" a "out of pattern", entonces no corresponde con un modelo constante 3:2 pulldown Si considera que su clip tiene mucho material 3:2 (caso 1) entonces de beria pone r en su s cript: guide=1, si por el contrario considera que no (caso 2) deberia pone r: guide=0. Para seguir ejemplificando, consideremos el caso 1; vamos un material constante 3:2 pulldown, por lo tanto e l script seria:
Telecide(guide=1)
PASO 3. Configurando el postproces amiento. (post=x) Esta etapa de filtrado se encarga de aquellos frames en donde fallo el inverse telecined, y han quedado aun con el efecto indeseable del entrelazado. Es entonces cuando se les aplica un desentrelazado, que puede ser por interpolacion (Bob) o Blending. Esto se realiza de tectando las partes del frame que aun presentan los a rtifacts del entrelazado. El comando post de telecide, se configura para detectar dichos frames y desentrelazar. Tiene 4 posibles valores: post=0 significa descone ctar el postprocesa miento, poco util no crees ? post=1 significa calcular la metrica pero no dese ntrelazar. post=2 significa calcular la metrica y dese ntrelazar, en consecuencia. post=3 significa calcular la metrica y dese ntrelazar, en consecuencia, y muestra un mapa de movimiento de desentrelazados para los marcos que son descubiertos como entrelazados. Hay dos modos más avanzados también; acudir al manual de referencia. Para resultados optimos e l postproceso de be se r ajustado adecuadamente para cada video en particular. Vamos a adopta r un procedimiento estándar para ello. Utilizaremos un script para que se nos informe de la metrica: Telecide(guide=1, post=3, vthresh=25, show=true)
Cargamos e l script en virtualdub y vamos examinando e l clip mientras obse rvamos la informacion mostrada de la vmetric . El valor vmetric del frame sera aquel que s e muestre tal como por ejemplo [Chosen=27]. Cuando el valor de vmetric resulta mayor que el de vthresh se de fine el frame como entrelazado y se le a plica el postproceso. Nosotros lo que queremos es encontrar un valor para vthresh s uficientemente bajo tal que evite se le pa sen a l filtro frames e ntrelazados, pero que a su vez sea lo suficientemente alto como para evitar desentrelazar frames progresivos, dado que dicha operacion produce artifacts indeseables. Se podra facilmente identificar los frames que el filtro estima son entrelaz ados porque:
.
va or e vme r c sera mayor que e
e v res
2. El indicador de progresivo/entrelazado, dira entrelazado ( interlaced ). 3. El frame tendra superpues to en color blanco sobre el mismo el mapa del movimiento. Si observamos un frame que fue detectado como entrelazado pero no lo es, nos fijamos en el valor de chosen y le ponemos e se mismo valor al pa rametro vthresh. De es ta manera al volver a cargar el script, ese frame ya sera progresivo y no habra sido alterado por el postproceso. Es muy sencillo y entretenido. La forma de darse cuenta si un frame es en efecto entrelazado o no es simplemente observar el caracteristico patron de distorsion sobre el movimiento. Si en su lugar solo ha y manchas blancas repartidas aleatoriamente sobre el frame, seguro se trate de un frame progresivo mal identificado. Su vthresh no siempre sera perfecto, resultando en que frames entrelazados logren pasa r o frames progresivos sean erroneamente postprocesados. Lo que causa menor impacto visual es esto ultimo, siempre y cuando no sea n muchos. Supongamos que este valor de hacer un barrido o no, es de 30. Utilizemos el siguiente script: Telecide(guide=1,post=2,vthresh=30,show=true)
Al cargar e n virtualdub, podremos observar los frames progresivos como intocados y los barridos como desentrelazados. Si no estas conforme con el desentrelazado, puede reducir el parametro dthresh para darle mas potencia. Ademas si en el des entrelazado, prefiere la mezcla de frames (Blending) a la interpolacion (Bob), puede us ar blend=true , por defecto en false. Consulte el manual para mas detalles. Sigamos con e l ejemplo, y el script nos quedaria asi: Telecide(guide=1,post=2,vthresh=30)
NOTA. la diferencia e ntre post=2 y post=4 que le puede interesar. post=2, evita mezclas de frames en los cambios de escena pero puede producir secuencias desentrelazadas por desigual post=4, conserva la suavidad de secuencias desentrelazadas pero pueden hacer mezclas de frames, en los cambios de escenas(un posible efecto ghosting)
PASO 4. Configuracion del filtro Decimate Luego de aplicado el filtro Telecide, un efecto colateral del mismo es que ha bra frames duplicados, 1 cada 5 para ser exactos. Estos deben ser localizados y eliminados para que el framerate quede en 23,976. De ello se ocupa este filtro. Si tu clip es P AL, no tienes que ha cer nada mas. Si por el contrario es 3:2 pulldown(NTSC), deberias utilizar este filtro quedando el script de esta manera: AssumeTFF() Telecide(guide=1,post=2,vthresh=30) Decimate()
POSIBLES USOS: 1) Material NTSC con Telecine normal: Telecide() Decimate()
Si la fuente es muy limpia, sin ruido, se puede usar Telecide(post=false) para acelerar el proceso. Si se sabe que la fuente es NTSC con 3:2 pulldown se puede activar el seguimiento de patrón, colocando Telecide(guide=1). O al combinar las dos tener: Telecide(post=false, guide=1) Decimate()
Un script un poco mas avanzado que es especialmente útil en ciertas fuentes de Anime podría ser: Telecide(guide=1,gthresh=50,chroma=true,threshold=30) Decimate()
En donde se puede incrementar gthresh hasta 75 si se prese ntan efectos residuales de combing en las bocas. 2) Material completamente entrelazado:
e usa e
ro
e
e n er ace.
FieldDeinterlace()
3) Material hibrido: Telecide() Decimate(mode=1,threshold=50)
En este caso Telecide es usado únicamente para determinar qué hacer con los cuadros que serian normalmente removidos, y la sa lida se mantiene a 29,97 fps. Esta ultima parte está extraida de http://spanish.doom9.org/index.html?/decomb.htm
Seccion de Desentrelazado por overdrive80 y 888 « Última modificación: 19 de Marzo de 2011, 19:47 por 888 » Encuentra los mejores manuales en la web: www.mundodivx.com/manuales.php
Overdrive80 Amigo de MundoDivX
AnimeIVTC « Respuesta #10: 30 de Agosto de 2010, 11:02 »
AnimeIVTC
Desconectado
Hilo oficial en doom9 Hilo con mods de AnimeIVTC por Emulgator (recomendado si a l configurarlo, os da fallos) Registrado: 25/08/2010 Mensajes: 1.515 Valoración: 14 Depravado sin remedio
Filtros y funciones necesarias: Pueden descargar un pack con todos los filtros y funciones necesarias AQUI. Nota: el archivo también se encuentra adjunto al final de este mensaje. TIVTC, TDeint y TMM nnEDI2, EEDI2 y yadifmod TGMCmod - Mod por Emulgator MVTools2 RemoveGrain y Repair
En línea
as oo s MaskTools2 Vinverse MedianBlur srestore Average ReduceFlicker SangNom Toon LSFmod aWa rpSharp2 y Toon-v1.1 Microsoft Visual C++ AvsRecursion
I) Sobre el telecine del anime Aplica TComb antes de AnimeIVTC si necesitas corregir el efecto dotcrawl. No es recomendado usar animeivtc con múltiples procesa dores y/o utilizando animeivtc varias veces e n el mismo script. Si necesitas us ar múltiples proces adores , mira el ejemplo. Esta función puede también traba jar con cualquier live action totalmente telecine (hard telecined), hibrido o una fue nte con campos mezclados (Field Blended). Lo primero de todo, hay que comprender algunas cosas básicas antes de leer esta guía. Aqui podéis iniciaros. Los plugins mencionados son antiguos, pero el concepto general del IVTC está bien explicado y es más que suficiente como preparación para lo que sigue. Tu puedes ignorar las secciones ?Bad te lecines? y ?Anime? desde que AnimeIVTC() es la solución a los problemas que exponen.
Particularidades del anime : Mientras un film es creado a 24 frames por Segundo, el anime es animado a 24 fps por lo que no hay neces ariamente movimiento en todos los frames. Cuando no hay gran cantidad de movimiento, puede ser visualizado a bajos framerates como 8 o
ps y con up cac n e a gunos rames se pue e man ener un ramera e cons an e e
ps.
La ilusión de crear rápidos movimientos en partes diferentes del video es porque pueden reproducirse a diferentes framerates. En esta situación, la imagen es dividida en 2 partes (frontal y posterior) y hay muchas posibles combinaciones de ?intra-frame variable framerate?. Esto no es constante en todo el episodio/película, ya que cambia dependiendo de la cantidad de movimiento que se va a mostrar. La animación CG a 30 fps es a veces usado en anime, también puedes tener secuencias con movimiento en a lgunos frames sin ningún tipo de e ntrelazado o duplicado. Los créditos puede n ser verdaderamente e ntrelazados haciéndoles desplazarse los más rápido juddery y sin ser ilegibles, lo que deja más espacio para ser mostrado Los créditos pueden también ser totalmente progresivo en la parte frontal y telecined en la posterior. Porque de todo es to, alguna detección automatizada (DGIndex, megui, automkv... name it!) te permitirán saber qué tipo de tratamiento tu fuente necesita para ser IVTC/desentrelazado aunque seguramente fallara. La única manera de sacar una fiable información es la siguiente?y tus ojos.
Conceptos básicos: Soft telecined. El flujo de frames es codificado a 24 fps y el pulldown es aplicado durante la reproducción. Se matiene un 3:2 pattern en todo el video. Hard telecined. Tu fuente fue telecined antes de se r codificada en el DVD( or before airing). Double hard telecined (DHT). Tu fuente tiene po r lo menos una situación del tipo "intra-frame variable framerate" y el telecining fue aplicado separadamente de las partes del frame, por lo que el patrón no es constante y muchos frames son entrelazados. Field blended norm-conversion.(Campos mezclados) En lugar de transformar el video a 24fps (film rate), el flujo es directamente convertido desde NTSC (29.97fps) a PAL (25fps) o viceversa, creando una mezcla de campos desa gradables (parecido al DHT cuando inspeccionamos un frame).
Hybrid.(Hibrido) Mezcla de material telecined a 24 fps y material progresivo a 30 fps. Truly interlaced.(Verdaderamente entrelazado) Cada fotograma contiene la mitad de la información de los dos frames, lo que significa que pueden ser separados (método Bob) a 60 frames progresivos (veremos movimiento en cada cuadro, sin entrelaz ar o mezcla, tras aplicar dicha técnica). Progressive.(Progresivo) Sin entrelazado alguno. 3:2 pattern. Este patrón se repite desde el principio hasta el final de su clip: 3 fotogramas progresivo seguido por 2 más entrelazado. Variable Frame Rate (VFR) - Variable Frame Rate. Las se cciones de un fragmento de una película van a framerates diferentes, así permite tener menos frames para el mismo movimiento. Los duplicados son eliminados y visualizados e n la misma línea de tiempo, como si hubies e la misma cantidad de frames originales. Lossless rendering pass Guarde e l archivo como YV12 sin comprimir o Lagarith para aplicar el script sólo una vez y posterior filtrado / codificación más rápida. Se necesita mucho espacio en disco: 5GB de alrededor de 22 minutos con [email protected] y 20GB con Lagarith sin YV12. Pulldown. Técnica empleada en material soft telecined, para desentrelazar el video pasando de 29.97fps a 23.976fps
Ejemplos: Double hard telecine ? Al inicio, tu fuente de be parecerse a un típico Hard Telecined , pero después de una inspección más a fondo, verá que es realmente una DHT: la misma fuente, con diferentes e scenas con gran movimiento. Interlaced on top of telecined (puede ser hard o double hard) ? En este caso, la fuente fue un hard telecined. Obviamente, dado que no hay ningún patrón de DHT y entrelazado en cada cuadro con puro
ma er a en re aza o, regu ar a sa a sacudidas(jerkiness).
me zc a s e ra mes
en s y
Posibles situaciones: Para todos los casos, tú debes cargar un proyecto d2v creado en DGindex con la opción "Honor pulldown flags?. O mediante AviSynth revisar frame por frame con VirtualDub, VirtualDubMod o AvsP . La identificación del tipo de tu fue nte, si es de suma importancia, porque una mala evaluación del problemas dará lugar a otros como las mezclas y sacudidas (Blends y jerkiness). Para e llo cargaremos nuestra fuente de video en el programa DGIndex , y haremos un preview apretando F5 1. DGIndex te dice "100% Film" y ves un patrón de movimiento de 3:2 pattern. En este caso nuestra fuente de video es un soft telecined, y para desentrelazar únicamente deberemos localizar y seleccionar, en el programa, la opción "Forced Film". Guarda el proyecto y olvídate del resto de esta guía. ^_^ 2. DGIndex te dice "100% Film" y al inspe ccionar e l video, frame a frame; ves frames progresivos y entrelazados sin un pa trón de movimiento es pecifico. Es un Double hard telecined encodeado como progresivo por lo que necesitaras utilizar la opción mode=3 en AnimeIVTC. 3. DGIndex te dice "algo menos que 100% Film" y al inspe ccionar e l video, frame a frame; ves un 3:2 pattern. Este es un material del tipo Hard Telecined, utilizar la opción mode=1 en AnimeIVTC. 4. DGIndex te dice "100% Video (NTSC o PAL)" y al inspeccionar el video, frame a frame; observas que son progresivos y entrelazados, sin un patrón especifico. Es un Double hard telecined encodeado como progresivo por lo que necesitaras utilizar la opción mode=3 en AnimeIVTC. Si observamos que los créditos (opening, ending y preview) son entrelazados y/o progresivos, debemos dirigirnos al apartado créditos entrelazados y progresivos, ya que es necesa rio configurar AnimeIVTC para que funcione correctamente. 5. DGIndex te dice "100% Video (NTSC)" y al inspeccionar el video, frame a frame; ves un 3:2 pattern y los créditos son entrelazados y/o progresivos. Este es un material del tipo
ar
e ec ne , u zar a opc n mo e= en n me
.
Si observamos que los créditos (opening, ending y preview) son entrelazados y/o progresivos, debemos dirigirnos al apartado créditos entrelazados y progresivos, ya que es necesa rio configurar AnimeIVTC para que funcione correctamente. 6. DGIndex te da un porcentaje de "Film o Video desde 50 a 95%" y al inspeccionar el video, frame a frame; ves un 3:2 pattern y secuencias progresivas (no únicamente los créditos, sino en la totalidad de los frames). En este caso, el material es hybrid y debemos seleccionar la opción mode= 4. 7. DGIndex te da un porcentaje de "Film o Video desde 50 a 100%" y al inspeccionar el video, frame a frame; ves un 3:2 pattern y secuencias progresivas (no únicamente los créditos, sino en la totalidad de los frames) y los créditos son entrelazados y/o progresivos. En este caso, el material es hybrid y debemos seleccionar la opción mode= 4. En este caso, también deberemos dirigirnos al apartado créditos entrelazados y progresivos, ya que es necesa rio configurar AnimeIVTC para que funcione correctamente. Recomiendo encarecidamente que rea lices un lossless rendering pass(recordemos que es guardar como archivo de video sin comprimir, mira hacia a rriba si no te a cuerdas) sin función alguna (y quizás a lgo como tcomb or jaquemate a ntes s i tú tienes arcoíris/punto de rastreo), porque es muy lento cuando la configuración de alta calidad son usadas. Podrías también intentar bajar la calidad del filtrado... pero no queremos. Perfeccionismo ftw!! :p
II) Descripción de las funciones AnimeIVTC (clip i, int "mode", int "aa", int "precision", int "killcomb", int "cache", bool "ifade" , bool "chrfix" , bool "blend" , bool "normconv" , int "pattern" , int "pass", bool "rendering" , int "bbob", int "cbob", string "edimode", int " degrain", int "omode" , int " i1", int " i2", int " e1", int "e2", int "e3", int "p1", int "p2" , int "overlap", int "pel", int "search", bool "nnedi2pel", string "credconv" , float "dark", int "thin", int " sharp", int "s mooth", bool "stabilize", int "tradius", int "aapel", int "aaov", int "aablk", int "aatype")
Parámetros Generales (usado para todos los modos) mode : Parámetro reque rido. Define el comportamiento de la función.
: ar e ec ne ? 2 : Field blended (conversión normal de campos mezclados) ? 3 : Double hard telecined ? 4 : Hibrido Chrfix: Úsalo para corregir el intercambio de croma entre campos (para saber si se produce este problema, aplicar Bob() en el clip y examinar los frames. Si en algún punto, el croma de un frame está en el otro y viceversa, el problema está presente). Ejemplo ifade : Detecta y corrige, la aparición de entrelazado. Úsalo para modo=1 o 4, ya que e l clip se equilibra en el modo=2 y 3. ? True. Habilitado pues ser más seguro. ? False (por defecto). Se refiere a velocidad. cache : Establece cierta cantidad de fotogramas en la cache para todas las funciones, mediante el uso de un script del clip para prevenir la búsqueda de fallos + cambios de o rden en los frames con filtros temporales. Si utiliza de masiada cantidad, se provocara un crash, por lo que usa menos si obtienes fallos de memoria. ? 0 to inf. (por defecto=10) killcomb : Elimina algún resto de e ntrelazado. Úsalo para modo=1 o 4, ya que e l clip se equilibra en el modo=2 y 3. ? 0 : No elimina entrelazado ? 1 : Elimina entrelazado (por defecto) ? 2 : Lento, pero más agresivo que la opción 1. ? 3: Incluso más lento, pero la mejor preservación de detalles y nitidez. Muy parecido como aa=3 [daa()] aa : Sin dar ningún valor a e ste a rgumento significa que tendrás que comparar los 4 métodos para seleccionar el mejor para tu fuente. Ninguno es necesariamente mejor que otro, pero uno es el que mejor se ada pta a tus necesidades. Ejemplo sin y con anti-aliasing. ? 0 : No aa. Selecciona esta opción si prefieres llamar externamente las funciones antialiasing que se enumeran a continuación: ediaa(), daa(), SharpAAMCmod(). ? 1 : AA basa do en EEDI2() basado aa [puede ser llamado externamente como ediaa()] ? 2 : Hace un promedio de 2 interpolaciones espaciales manteniendo diferentes campos + un contra-sharpening(afinamiento). [puede ser llamado externamente como daa()] ? 3 : Bordes espe cíficos Sangnom() AA ? cuidado con la perdida de detalles... si puedes añadir un poco de tiempo en el procesamiento, échale un vistazo a la opción aa=4 [puede
ser ama o ex ernamen e como maa ? 4 : Realiza varias cosas: Line darkening (remarca bordes), warp sharpening (enfoque de la imagen), edge targeted Sangnom() AA (Previene a l pixelización de bordes en forma de sierra), limited sharpe ning (denoiser y sharpe n) y estabilizador temporal [puede se r llamado externamente como SharpAAMCmod()] Las siguientes opciones se configuran, en el caso de utilizar la opción aa=4 [SharpAAMCmod()] aatype : Selecciona el filtro usado para AA ? "Sangnom" (por defecto) ? "EEDI2" (lento, pero a veces tiene una mejor preservación de detalle que Sangnom) dark : Remarca y obscurece las líneas de los bordes usando la función Toon, Da un efecto de enfoque. ? 0 a 1 (por defecto = 0.2) thin : A mayor valor = líneas más finas, por el uso de aWarpSharp ? Por defecto = 10 sharp : Nivel de post-enfoque, realizado por LSFmod ? 0 a 100. (por defecto = 100) ? -1= La función intentara auto calcular el mejor valor smooth : Nivel de post-suavizado, realizado por LSFmod ? 0 a 100 (por defecto = 100) ? -1 = La función intentara autocalcular un buen valor stabilize : Estabilización de bordes a través de la compensación de movimiento (previene parpadeo), realizado por con un promedio temporal de MDegrain ? úsalo si los bordes son inestables (temblor, parpadeo,?) o como un bo rde-dirigido inteligente soothe() ? True (por defecto) ? False tradius : Radio temporal (# of frames*2+1) de la esta bilización. ? 0 to 3 (por defecto =2) aapel : Factor de supermuestreo para cálculos del vector de movimiento cuando usa mos stabilize=true. A mayor valor = mejor, pero más lento.
,
or
por e ec o =
aablk : Determina el tamaño de los bloques para los cálculos de l vector de movimiento cuando usamos stabilize=true. Bloques más grandes son menos sensibles al ruido, son más rápidos, pero también menos precisos. ? 4, 8 or 16 (por defecto =8 para SD y 16 para HD) aaov : Determina el solapamiento de los bloques para e l cálculo del vector de movimiento cuando usamos stabilize=true. A mayor valor = mejor, pero más lento. ? Debe ser incluso y superior a la mitad de aablk (por defecto =4 para SD y 8 para HD)
Créditos entrelazados o progresivos i1/i2/p1/p2/e1/e2/e3 : Toma los números de los frames para la función, de modo que cada sección es correctamente procesada. Usa el numero de frames de tu fuente de video. No tienes que especificar todos ellos. Para ello, puedes crear un sencillo script, llamando al proyecto que se ge neró en DGIndex : DGDecode_MPEG2Source("ruta del archivo.d2v")
De esta manera, podremos cargarlo e n virtualdub, y examinar el numero del último frame de cada se cción, para posteriormente espe cificarlo correctamente. ? i1 : Ultimo frame de la primera sección entrelaz ada del clip ? i2 : Ultimo frame de la segunda s ección entrelazada del clip ? p1 : Ultimo frame de la primera sección progresiva de l clip ? p2 : Ultimo frame de la segunda sección progresiva del clip ? e1 : Ultimo frame de la primera sección te lecined/double hard telecined/field blended/hibrida de l clip ? e2 : Ultimo frame de la segunda sección telecined/double hard telecined/field blended/hibrida de l clip ? e3 : Ultimo frame de la tercera sección telecined/double ha rd telecined/field blended/hibrida de l clip Ejemplo: Si una parte de un episodio es: telecined ( e1) + créditos del opening entrelazados (i1) + episodio (e2) + créditos del endings progresivos (p1) + avance del próximo episodio (e3). AnimeIVTC(mode=1, e1=500, i1=2500, e2=30000, p1=31200, e3=33000)
omode : Determina el framerate de salida ? 1 : Convierte los créditos a el framerate de el episodio para mantener un framerate constante. Norma obligatoria para las conversiones. ? 2 : Los créditos se mantienen 29.97 fps (la mitad de su completa resolución temporal) para crear un VFR clip. Obligatorio para mode=6 ya que el episodio también es hybrid. Destinados para los archivos mkv. credconv : Determina como los créditos se rán convertidos para omode=1 ? ?mocomp? : Usa la compensa ción de movimiento. Úsalo cuando tengas ante cedentes de bajo movimiento para obte ner una mezcla libre y esta ble del clip. ? "blend" : Los frames se combinan para reducir la tasa de fotogramas (framerate) overlap : Solapamiento de los bloques para e l cálculo de vectores de movimiento. A valores más altos = mejor, pero más lento. Úsalo para ?mocomp? ? 0, 2 o 4 para SD (defecto=4) ? 0, 2, 4, 6 o 8 para HD (defecto=8) pel : Factor de supermuestreo pa ra cálculos del vector de movimiento. A mayor valor = mejor, pero más lento. Úsalo para ?mocomp? ? 1, 2 o 4 (defecto=2) search: Las pruebas son divertidas. 4 y 5 son generalmente mejor que 2 para una velocidad parecida. Úsalo para ?mocomp? ? 2 (Búsqueda logarítmica, también llamada búsqueda Diamond) (defecto) ? 3 (búsqueda exhaustiva) ? la más lenta, pero los mejores resultado s SAD-wise (básicamente el mo-comp es he cho para calcular la suma de las diferencias absolutas entre bloques para de terminar si el mismo elemento se ha movido o es diferente). ? 4 (búsqueda hexagona l ? similar a x264) (default) ? 5 (Desigual multibusqueda hexagonal ? similar a x264) nnedi2pel: Usa nnEDI para interpolación. True = normalmente el mejor. Úsalo para ? mocomp? ? true ? false (defecto) pass: Crear un clip VFR, requiere dos pasa das. El archivo que debe s usa r para el codificado final/secuencia filtrada, debe ser la única generada por pass=2. Úsalo para omode= 2 ? 1 : Ábrelo con VirtualDub, en la pestaña file selecciona ?run video analysis pass?, espera hasta que termine, y luego cierra VirtualDub O haz una pasada rendering("rendering pass")
e arc vo , para su uso pos eror y ev ar e c cu o e a msma cosa os veces, una para e l análisis y otra para decímate (guarda ndo el clip filtrado en un los sless (sin perdidas)). Por ejemplo con Lagarith o HuffYUV . A esto se refiere a filtrar el video sin comprimir. ? 2 : Recarga el mismo script con pass=2. Usa el nuevo archivo AVI como fuente si hiciste el rendering pass. Después de filtrar todo, Codifica. Entonces, coge el ?timecode.txt? y añádelo como timecode para la cadena de video en mkvmerge rendering : Si hiciste un rendering pas s, esto s erá ba sado únicamente VFR decimation en los archives escritos por pass=1. Usalo para omode=2 y pass=2. ? True (hiciste un rendering pass únicamente necesitas hacer decimate en pass=2) ? False (no creaste ningún archive intermedio (default) cbob: A mayor valor = más lento, pero más preciso... Aquí, la e lección e s calidad frente a velocidad. Úsalo para créditos entrelazados. ? 0 : El mas rápido, solo TDeint ? 1 : Bueno (TDeint + nnedi2 para interpolación) ? 2 : Algo mejor (TDeint + nnedi2 + motion mask) ? 3 : Alternativo (Yadifmod + nnedi2 para interpolación) ? 4 : El más estable bobber - TGMC . Lento. (default) edimode: Te dice que filtro usa r para la interpolación con cbob=4. El mejor depe nde de tu fuente. Úsalo para créditos entrelazados. ? "yadif" ? "eedi2" ? "nnedi2" (default) degrain: Radio temporal [(numero de fotogramas a usar X 2) + 1] para el pas o final de degraining con cbob=4. Mayor valor = Más lento + más lenta eliminación de ruido + más estable. Úsalo para créditos entrelazados. ? 1 (default) ? 2 ? 3
Hard Telecine (mode=1) precision: A mayor valor= más lento, pero más preciso?Aquí, la diferencia de opciones consisten en la necesidad entre calidad y velocidad de procesamiento. ? 0 : La más rápida, pero más probabilidad de producción de efectos deja (bordes en sierra, restos de entrelazado, etc. etc.)
: uy ueno usa e n para esen re azar ? 2 : Incluso mejor (Tdeint + nnedi para interpolación) ? 3 : Optimo (Tdeint + nnedi + motion mask) (defecto) blend: Si tienes un caso de blend telecine, o imagenes blend-deinterlacing de te lecined. Patrón 3:2 - 3 limpios, 2 mezclados (blended). En total de be ser 50/50. ? True ? False (default)
Field blended (mode=2) bbob: A mayor valor = más lento, pero más preciso?Es calidad en contra de velocidad. Mocomp NO es recomendado para material mezclado (blended), pero lo deje por si en tu caso tienes problemas de e stabilidad con otros bobbers. ? 0 : El más rápido, solo TDeint ? 1 : Bueno (TDeint + nnedi2 para interpolación) ? 2 : Algo mejor (Tdeint + nnedi + motion mask) ? 3 : Alternativo (Yadifmod + nnedi2 para interpolación) ? 4 : El más estable bobber - TGMC . Lento. (default) edimode: Le dice que filtro usa r para interpolación espacial usando cbob=4. El mejor depende de tu fuente de video. ? "yadif" ? "eedi2" ? "nnedi2" (defecto) degrain: Radio temporal [(numero de frames para us ar * 2) + 1] para el último paso con cbob=4. Mayor valor = Más lento + más lenta eliminación de ruido + más estable ? 1 (defecto) ? 2 ? 3 normconv: Establece true si tu fuente fue blend-converted de sde P AL a NTSC o viceversa. ? True : Cambia framerate a 25 fps si la fuente es NTSC o a 23.976 fps si es PAL ? False : Mantiene 25 fps si la fuente es PAL y 23.976 si la fuente es NTSC (default)
Double Hard Telecine (mode=3) cbob: A mayor valor = más lento, pero más preciso... Aquí, la e lección e s calidad frente a
ve oc a . sa o para cr os en re aza os. ? 0 : El más rápido, solo TDeint ? 1 : Bueno (TDeint + nnedi2 para interpolación) ? 2 : Algo mejor (Tdeint + nnedi + motion mask) ? 3 : Alternativo (Yadifmod + nnedi2 para interpolación) ? 4 : El más estable bobber - TGMC . Lento. (default) edimode: Le dice que filtro usar para interpolación espacial usando cbob=4. El mejor depende de tu fuente de video. ? "yadif" ? "eedi2" ? "nnedi2" (defecto) degrain: Radio temporal [(numero de frames para us ar * 2) + 1] para el último paso con cbob=4. Mayor valor = Más lento + más lenta eliminación de ruido + más estable ? 1 (defecto) ? 2 ? 3 pattern: Le dice a la función como aplicar decímate a 23.976 fps. ? 0 El más seguro. Use TDecimate(defecto) ? -1 Compara de 1 a 5 ? 1 a 5. Si tu fuente tiene un patrón fijo, encuéntralo con -1 usando el apropiado será el más rápido y visualmente mejor, pero ta n pronto como haya un cambio, todo será un desastre. Se cuidadoso
Hybrid (mode=4) precision: Valor más a lto = más lento, pero más preciso?La única diferencia es entre la calidad y la velocidad. ? 0 : El más rápido (bordes en sierra, entrelazado, etc. etc.) ? 1 : El mejor (usa un desentrelaz ador externo) ? 2 : Incluso mejor (Tdeint + nnedi para interpolación) ? 3 : Optimo (Tdeint + nnedi + motion mask) (defecto) omode: Determina el framerate de salida ? 1 : Convierte las secciones 30p to 24p, mediante la mezcla de frames juntos, para mantener un framerate constante. ? 2 : Las se cciones 30p se mantienen a 29.97 fps para crear un VFR clip. Destinados para
. pass: Crear un clip VFR, requiere dos pasa das. El archivo que debe s usa r para el codificado final/secuencia filtrada, debe ser la única generada por pass=2. Úsalo para omode= 2 ? 1 : Ábrelo con VirtualDub, en la pestaña file selecciona ?run video analysis pass?, espera hasta que termine, y luego cierra VirtualDub. Otra opción es hacer un lossless rendering pass (En VirtualDub, fast recompress y codec lossless). De esta manera, a la par que hacemos la primera pasada para el cálculo de VFR, podemos filtrar el video generando un archivo sin perdidas (lossless) para su uso posterior en la se gunda pasada . Por ejemplo con Lagarith o HuffYUV . Ejemplo: DGDecode_MPEG2source("E:\DB_23\133\133.d2v", info=3) Animeivtc(mode=4, aa=0, omode=2, pass=1) Lsfmod() Toon()
Este s eria, el código del script AVS con nuestro filtrado, que cargaremos en VirtualDub o MeGui . Y haríamos, un lossless rendering pass. Y creara un archivo AVI. ? 2 : Recarga el mismo script con pass=2. Usa el nuevo archivo AVI como fuente si hiciste el rendering pas s. Cargas el archivo y lo codificas. A su vez se creara un archivo llamado ? timecode.txt?, el cual tendras que añadirlo en mkvmerge. Avisource("E:\DB_23\133\133.avi") Animeivtc(mode=4, aa=0, omode=2, pass=2)
Con e ste código codificaríamos nuestro a rchivo y obtendríamos el timecodes. rendering: Si hiciste un re ndering pass, esto s erá ba sado únicamente VFR decimation en los archives escritos por pass=1. Úsalo para omode=2 y pass=2. ? True (hiciste un rendering pass únicamente necesitas hacer decimate en pass=2) ? False (no creaste ningún archive intermedio (default)
III) Ejemplos Ejemplo I Ejemplo II
AnimeIVTC es fácil de usar? si tienes preguntas después de leer el manual, por favor postéalas en nuevo hilo en el subforo de Edicion de Video. Aquí hay manera de multiprocesado, pero puedes usar el concepto de diferentes maneras (cargando desde diferentes discos duros + salida a diferentes discos duros y así sucesivamente). Solo he utilizado 3 núcleos, porque fue demasiado para la fuente del disco duro, incluso cuando s e es cribe a 4 diferentes. NO utilizarlo para codificar VFR, donde el análisis y la decimation debe hacerse de un sola vez. xxxsource("file.ext") AnimeIVTC([Settings]) threads = 3 x=(framecount()/threads) A=trim(0,x) B=trim(x+1,2*x) C=trim(2*x+1,0) A#Carga éste script en virtualdub y guardalo como rendering1. Despues cambia A por la B, guardalo en otro script y abrelo en virtualdub y guardalo como rendering2, idelamente en otro disco duro... etc. De esta manera tendriamos tres instancias de virtualdub trabajando a la vez, y reduciendo el tiempo de codificacion por tres. #Despues de codificar las tres partes, carga los diferentes archivos, mediante otro script como este: #a=avisource(rendering1 file with path) #b=avisource(rendering2 file with path) a+b+.....#Con este s cript ya podriamos comprimir el video. Recordad que un filtrado rendering, consiste en cargar un script en virtualdub, seleccionar la opcion FAST RECOMPRESS, y elegir un codec de compresion sin perdidas, ya sea Lagarith o Huffyuv « Última modificación: 09 de Marzo de 2012, 16:26 por overdrive80 »
piscator Colaborador
Re: Manual AviSynth « Respuesta #11: 02 de Febrero de 2011, 00:58 »
En línea
Desconectado Registrado: 18/04/2008 Mensajes: 1.809 Valoración: 1
Uso de múltiples núcleos en filtros avisynth. Filtro MT El MT es un filtro de avisynth que permite utilizar otros filtros usando los diferentes procesadores que tiene nuestra cpu. Además de necesitar el MT.dll y cargarlo en nuestro script vamos a necesitar una versión modificada de avisynth. Viene a djuntada e n el hilo. Simplemente cambiamos el avisynth.dll que tuviéramos insta lado en windows>system32 por el descargado, así como los plugins donde corresponda. Si aún no tenemos el avisynth instalado o es una versión diferente de la 2.5.8, lo descargamos de la sección de descargas (Avisynth 2.5.8), la instalamos y ha cemos el cambio. El poder usar varios núcleos se puede conseguir de dos formas, que son los dos modos que tiene de trabajar. Obviamente la sintaxis cambiará de uno a otro. Forma 1: dividiendo una imagen en varias pa rtes (2, 4, ...) y que cada procesa dor se ocupe de una parte. Sintaxis: MT(" filtro_que_vayamos_a_usar ", threads ,overlap ) threads: será e l números de procesadores que tenga nuestra cpu. En caso de duda, podemos
dejar 0 y detecta los threads disponibles automaticamente overlap: cuantos píxeles queremos que se solapen en las zonas de división de las partes. esto es importante, ya que muchos filtros se comportan de manera diferente en los bordes, y para evitar efectos indeseados podemos hacer un overlap por ejemplo de 4 píxeles. ejemplo: MT(" Degrainmedian()",threads=2 ,overlap=4 ) #para dos cores con 4 de overlap Una imagen explicativa
Forma2: que cada procesador se ocupe de una frame. Si tenemos dos cores, uno se ocupará de la 1, 3, 5, 7... y otro de la 2, 4, 6, ... Sintaxis SetMTMode( mode , threads ) #colocado al principio del script
Hay varios modos, del 1 al 6 mode=1 es más rápido pero solo funciona con unos pocos filtros. mode=2 usa más memoria pe ro funciona con la mayoría de los filtros. mode=3 es más lento, pero funciona en aquellos filtros en los que no se puede usar e l 1 o el 2. mode=4 combinación del 2 y el 3. funciona con más filtros aún pe ro es más lento y consume más memoria
mo e= e ma s a o e n o m s e n o que s no s e us ara mode=6 modificación de l 5 que lo hace algo más rápido
ejemplo: SetMTmode(2, 0) LoadPlugin("...\fft3d.dll") fft3dfilter()
Una imagen explicativa
Reflexiones importantes: Todos los filtros/scripts que funcionan en SetMTMode (1) o (2) funcionan perfectamente en MT(). No al revés. Algunos filtros/scripts sólo van bien usando MT(). Por lo tanto, recomendamos usar MT(), y mejor con las triples comillas en lugar de una . De ese modo se pueden cargar las funciones más importantes sin problemas. Los que posean Intel® Core? i3,i5 o i7 con hyperthreating recordad que podéis poner más núcleos. Consultad las especificaciones de vuestro procesador, o e n caso de duda deja 0 para que lo autodetecte. Ejemplos probados por nuestros colaboradores que funcionan sin problema: MCTD MT("""MCtemporaldenoise(settings="very low")""", threads=4, overlap=4)
Cabe suponer, que si MCTD es una función que usa un montón de filtros y funciona, todos esos filtros usa dos individualmente habrán de funcionar. Y así es. MDegrain3 (y MDegrain2 o 1) MT(""" super = MSuper(pel=2, s harp=1) backward_vec3 = MAnalyse(super, isb = true, delta = 3, overlap=4) backward_vec2 = MAnalyse(super, isb = true, delta = 2, overlap=4) backward_vec1 = MAnalyse(super, isb = true, delta = 1, overlap=4) forward_vec1 = MAnalyse(super, isb = false, delta = 1, overlap=4) forward_vec2 = MAnalyse(super, isb = false, delta = 2, overlap=4) forward_vec3 = MAnalyse(super, isb = false, delta = 3, overlap=4) MDegrain3(super, backward_vec1,forward_vec1,backward_vec2,forward_vec2,backward_vec3,forward_vec3,thSAD=300) """,threads=4,overlap=4)
FFT3Dfilter MT("""fft3dfilter()""", threads=4, overlap=4)
DFTTEST MT("""dfttest()""", threads=4, overlap=4)
TTempsmooth MT("""
= """,8,4) GrainFactory3 MT(""" GrainFactory3(g1str=4, g2str=5, g3str=8) """,8,4) GradFun2DBmod MT(""" GradFun2DBmod() """,8,4) etc. Recordad que las configuraciones de cada filtro están explicadas en el Manual de Avisynth Si queréis usar más de un filtro en MT podemos escribir algo tal que as í: MT(""" filtro_1 filtro_2 filtro_n """,4,4)
por ejemplo MT(""" FFT3Dfilter() TTempSmooth() """,4,4) En línea
Overdrive80 Amigo de MundoDivX
Desconectado
Ajustes de framerate « Respuesta #12: 26 de Septiembre de 2013, 06:29 »
Bueno, con este comentario me gusta ría complementar la información del manual, que al parecer
. Esto ha surgido ha raiz de que me planteo ha cer una conversión de framerate y e staba buscando el mejor resultado. Info basada en http://avisynth.nl/index.php/AssumeFPS Registrado: 25/08/2010 Mensajes: 1.515 Valoración: 14 Depravado sin remedio
Imaginemos que partimos de un video FILM (29.970 fps) pero que a l invertir el pulldown obtenemos un video a 24p.
Los datos de referencia son: 23.976 fps 35469 frames 24:39.35
AssumeFPS Como ya viene en el manual assumefps, lo que hace e s modificar la velocidad de reproduccion (modifica framerate) s in eliminar frames de l video original, pero como contrapa rtida la duración del video es distinto al original. En la siguiente imagen lo vamos a ver mejor ilustrado:
Los datos tras la conversión, son: 25.000 fps
rames 23:38.76 El framerate framerate ha aum a umentad entado o a 25 fps, el número número de fram frames es o fram framecount ecount es constante y la duración del video es menor.
ChangeFPS Como ya viene viene en el e l manua manuall Changefps, lo que hace es modific odificar ar la velocidad de reproducci reprodu ccion on (modific (m odificaa framerate), mediante mediante la eliminación eliminación o inserción de fram frames. es. La duración del video no se s e ve afectada.
Los datos tras la conversión, son: 25.000 fps 36984 frames 24:39.36 El framerate framerate ha aum a umentad entado o a 25 fps, el número número de fram frames es o fram framecount ecount ha a um umenta entando ndo y la duración del video es constante.
ConvertFPS Lo que hace es modific odificar ar la veloci velocidad dad de reproduccion (modific (modificaa fram framerate erate), ), mediante mediante la elim e liminación inación o inserción de frames. La duración del video no se ve afectada.
Los datos tras la conversión, son: 25.000 fps 36984 frames 24:39.36 El framerate ha aumentado a 25 fps, el número de frames o framecount ha a umentando y la duración del video es constante.
¿Qué diferencia existe entre Changefps y Convertfps? El resultado final, en cuanto a datos de conversión, es el mismo. Sin embargo, la manera del tratar el video es diferente. Convertfps en s u configuración por defecto, inserta o elimina frames con la opción blending. Esto creará un ho rroroso resultado a nuestra conversión de NTSC-->PAL; no lo usaría jamás. Según la documentación: "El filtro intenta modificar el framerate del clip a una nueva velocidad sin eliminar o insertar frames, proporcionando una conversión fluida con resultados similares a los productos con decodificadores independiente . El archivo resultante tendrá (casi) la misma duración del clip, pero el numero de frames cambiará proporcionalmente con respecto a los framesrates de la fuente y el archivo que se va a generar. El filtro tiene dos modos. Si el argumento opcional zone no ha sido definido, se mezclaran los frames adyacentes, ponderado por un factor de mezcla proporcional a los tiempos relativos de los frames ("Blend mode"). Si zone ha sido definido, se pasará de un frame del video a a l siguiente ("Switch Mode") cada vez que un nuevo frame del archivo origen comienza , por lo general es to ocurre en alguna parte de la mitad del frame resultante. Switch Mode a sume que el archivo de salida será reproducido en una TV en donde cada frame es escaneado de arriba a abajo. El parametro zone, especifica la altura de la zona de transición en la que el actual frame será mezclado con e l siguiente. Blend Mode causará de manera leve, desenfoque de movimiento (blending). Esto es un artefacto tipico de una conversión de framerate y se puede ver en las cintas de video comercial y en
. , trabajar en cada campo por separado, y no con frames entrelazados. (Mirar ejemplos mas abajo) Switch Mode es un intento de evitar el desenfoque de movimiento, pero acosta de leves parpadeos y artefactos de movimiento. Puede aparecer bamboleos como un desplazamiento de camara horizontal o vertical. Algunos frames incluso despues de esta conversión puede aparecer "rotos" o con lineas verticales "dobladas" en escenas en movimiento. Cambios de escena pueden ocurrir en la mitad de un frame. Sin embargo, el resultado pare ce menos borroso que con "Blend Mode". Ningún modo es perfecto. Cada uno depende de la preferencia personal y del material que vayamos a usar. Switch Mode probablemente sólo es adecuado si la salida se muestra en un televisor, no en una pantalla de ordenador. Una conversión de Framerate es algo complicado. Este filtro implementa dos metodos comunes usados en los sistema de conversión comercial. El resultado suele ser bastante bueno. Muchos sistemas so fisticados emplean algoritmos de interpolación de movimiento, que son dificiles de entender pero que si se hacen correctamente, nos proporcionan mejores resultados. Un material convertido con este filtro no debe se r convertido de nuevo. El efecto borroso que genera aumenta exponencialmente con las recodificaciones posteriores. Los datos del audio no son modificados por este filtro. El audio se mantendrá sincronizado, aunque la londitud del audio podria diferir ligeramente con la de l video, tras la conversión. Esto es porque el archivo generado unicamente puede contener un numero entero de frames. Este efecto será más pronunciado en clips de corta duración. La diferencia de duración debe ser ignorada.
Parametros: ConvertFPS(clip clip, float ne w_rate [, int zone, int vbi]) ConvertFPS(clip clip, int numerator [, int denominator, int zone, int vbi]) ConvertFPS(clip clip1, clip clip2 [,int zone, int vbi]) ConvertFPS(clip clip1, string preset [, int zone, int vbi]) new_rate: El framerate que buscamos. Puede ser un numero ente ro o decimal. En "Blend Mode", new_rate de be se r al menos 2/3 (66.7%) del framerate del video original, u ocurrirá un error. Esto es para evitar que frames sean omitidos. Si necesitas hacer un slowdown del framerate menor de ese porcentaje, entonces usa "Switch Mode". zone: (Opcional) Si se espe cifica, pone el filtro en "Switch Mode". Debe ser un numero mayor o
gua a cero. es cero, e ro evar a ca o un ar sw c , por o que mos rar inmediatamente e l siguiente frame por debajo de la linea de finida en zone. Si es mayor que cero, especifica la altura (en lineas) de la zona de transición, en donde cada frame es mezclado gradualmente con el siguiente. Zone=80 proporciona un buen resultado para video con una resolución de 480 or 576 lineas activas. La transición se hace de la misma manera que con PeculiarBlend(). zone debe ser menor o igual al numero de lineas del frame de salida que corresponde con la duración del frame de origen. Normalmente es 5/6 o 6/5 de la altura del video de sa lida, es decir, unos pocos cientos de lineas. Un error se producirá si se elige un valor mayor. vbi: (Opcional) En Switch Mode, especifica que filtro debe ser a plicado para una correción de tiempo e n e l intervalo de borrado vertical (vertical blanking interval - VBI). Un numero mayor que cero, indica la a ltura del VBI del archivo de salida, en lineas. Lo más tipico vbi=49 para PAL y vbi=45 para NTSC, pero estos valores no son fundamentales. Ignorados en Blend Mode."
Conclusión: Si no te importa que cambien el tiempo del video, usa assumepfs. Si te importa pq pue des pe rder la sincro, solo tienes que configurarlo de manera que avisynth ajuste el audio al video, con el consecuente cambio de medio tono del audio. Si te importa el que cambie el tiempo del video, y no quieres modificar el audio; mi recomendación es que no uses ni Changefps ni Convertfps. Y en todo caso, changefps antes que convertfps. Pero lo más adecuando y de calidad, es una conversión con filtros de interpolación de movimiento. Pondré unos ejemplos: Conversión PAL a NTSC(SD to SD) Código: [Seleccionar]
#Frameserve
n RGB24
ormat
AviSource("d:\fs.avi") ConvertToYUY2(interlaced=true, matrix="PC.601") #ColorYUV(levels="TV->PC") #Restores levels if frameserved in YUY2 QTGMC( SubPel=2 ) # SubPel must match pel in MSuper below super = MSuper(levels=1, pel=2) # Only need multiple levels for MAnalyse #super = MSuper(levels=1, pel=2, hpad=16, vpad=16) # For faster QTGMC presets MFlowFps(super, QTGMC_bVec1, QTGMC_fVec1, num=60000, den=1001) Spline36Resize(720,480) AssumeBFF() SeparateFields() SelectEvery(4,0,3) weave()
Conversión NTSC a PAL (SD to SD) Código: [Seleccionar] #Frameserve in RGB24 format AviSource("d:\fs.avi") ConvertToYUY2(interlaced=true, matrix="PC.601") QTGMC( SubPel=2 ) # SubPel must match pel in MSuper below super = MSuper(levels=1, pel=2) # Only need multiple levels for MAnalyse #super = MSuper(levels=1, pel=2, hpad=16, vpad=16) # For faster QTGMC presets MFlowFps(super, QTGMC_bVec1, QTGMC_fVec1, num=50, den=1) Spline36Resize(720,576) AssumeBFF() SeparateFields() SelectEvery(4,0,3) weave()
1080-50i to SD NTSC Código: [Seleccionar]
#Frameserve n RGB24
ormat or RGB32
Av Synt
w
not accept RGB24
AviSource("d:\fs.avi") AssumeTFF() ConvertToYUY2(interlaced=true, matrix="PC.601") Spline36Resize(720,height) QTGMC("faster", sharpness=0, SubPel=2) #SubPel must match pel in MSuper below super = MSuper(levels=1, pel=2) MFlowFps(super, QTGMC_bVec1, QTGMC_fVec1, num=60000, den=1001) Spline36Resize(width,480) blur(0.0,1.0) sharpen(0.0,0.75) #Adjust 2nd value between 0.5 and 1.0 to taste separatefields() Se lec tEv er (4 0 3)
1080-50i to 1080-60i Código: [Seleccionar] rameserve
n
orma
or
v
yn
w
no
accep
AviSource("d:\fs.avi") AssumeTFF() ConvertToYUY2(interlaced=true, matrix="Rec601") #Rec601 is correct for encoding Ut Video Codec or Laga QTGMC("faster", SubPel=2) #SubPel must match pel in MSuper below super = MSuper(levels=1, pel=2) #super = MSuper(levels=1, pel=2, hpad=16, vpad=16) #For very fast and quicker QTGMC presets MFlowFps(super, QTGMC_bVec1, QTGMC_fVec1, num=60000, den=1001) separatefields() SelectEvery(4,0,3) Weave()
1080-50i or 1080-60i to 10 80-24p (23.976p) Código: [Seleccionar]
#Frameserve n RGB24 ormat or RGB32 AviSource("d:\fs.avi") AssumeTFF()
Av Synt
w
not accept RGB24
ConvertToYUY2(interlaced=true, matrix="Rec601") #Rec601 is correct for encoding Ut Video Codec or Laga QTGMC("faster", SubPel=2) #SubPel must match pel in MSuper below super = MSuper(levels=1, pel=2) #super = MSuper(levels=1, pel=2, hpad=16, vpad=16) #For very fast and quicker QTGMC presets MFlowFps(super, QTGMC_bVec1, QTGMC_fVec1, num=24000, den=1001)
FILM (24p) to PAL (25p) Código: [Seleccionar] DGDecode_mpeg2source("XXXX\VideoFile.d2v", info=3) assumetff() #Realizamos el Inverse Telecine para pasar de 29.97i a 24p tfm(order=1,pp=6,mode=4).tdecimate(mode=1) super = MSuper(pel=2,hpad=10, vpad=10) backward_vec = MAnalyse(super, isb = true,truemotion=true) forward_vec = MAnalyse(super, isb = false,truemotion=true) MFlowFps(super, backward_vec, forward_vec, num=25, den=1, blend=false, thSCD1= 60, thSCD2= 40)
« Última modificación: 11 de Abril de 2015, 15:47 por Ov erdrive80 »
Páginas: [1]
En línea
IMPRIMIR
Ir A rriba
« anterior próximo » Foro MundoDivX & H264 | General y otros temas | Manuales (Moderadores: Dressler, LUCHOO, Amármol, 888) | Manual AviSynth
Ir a:
r