El Blog de un fucking encoder

return lvfinal

Guía Avisynth parte 1

, , ,

Bueno, comienzo ya con este blog como lo había dicho antes, me trataré de enfocar sólo en el encoding, y si me queda tiempo libre, algo del AE.

Y bueno, lo que van a ver ahorita es básicamente un copy-paste de las guías que hay por la net, una especie de recompilación, ligeramente alterada por mis conocimientos xDD.

Introducción

Avisynth es un programa libre y gratuito destinado a realizar frameserver. Su finalidad es la decodificación de casi cualquier formato existente y la posterior aplicación de filtros, de los cuales incluye una enorme cantidad internos y posibilidad de utilizar externos; siendo este proceso realizado “al vuelo”, los frames descomprimidos y ya editados deben ser enviados a un programa codificador para así ser comprimidos nuevamente a un formato adecuado, avisynth no se ocupa de esta última tarea, siendo únicamente un programa destinado a frameserver. Cabe aclarar que no posee decodificadores/demultiplexadores propios, utiliza los instalados en el sistema, así que de todas formas habrá que poseer los decoders y splitters necesarios.
El programa se configura enteramente desde un archivo de texto sin formato, también llamado “script”, el cual puede ser creado con el notepad o similares, y debe ser guardado con extensión AVS. En dicho texto se deben indicar los parámetros de decodificación y que filtros se aplicaran.
Durante la instalación se les preguntara si desean instalar algunos extras, como por ejemplo la opción de asociar a Avisynth los archivos de extensión AVS ("Associate AVS with Notepad"), recomendable activarla para así identificar facilmente los script. Y también "Add Avisynth Script to new items menú", que les permite acceder a ClickDerecho->Nuevo->AviSynth Script para así crear ya automáticamente un archivo con extensión AVS.
Una vez tienen ya el AVS deben abrirlo con el programa que usen para codificar como si de un archivo de video se tratara, Avisynth se ocupa del resto.

Pueden encontrar al programa aquí

Lo Básico

Comencemos con los comandos para cargar un video, es decir los primeros que deben ir en el script, después de la carga de los filtros:

AviSource("c:\carpeta\video.avi")

Para cargar un archivo AVI. Entre las comillas se indica la ruta completa al archivo, aunque ésta se puede obviar (sólo se pone el nombre) si el fichero AVS está en la misma carpeta que dicho archivo.

DirectShowSource("c:\carpeta\video.mp4", audio=false, fps=23.976, convertfps=true)

Para poder cargar otros formatos que no sean AVI se utiliza esta línea, que hace uso del DirectShow y así permite demultiplexar/decodificar todo formato que posea un CODEC directshow adecuado instalado en el sistema, así como también hace falta el splitter correspondiente, como en el caso del formato MP4 del ejemplo, donde es necesario el Haali Media Splitter.

Especificar los FPS del video de origen sólo es necesario en ciertos casos de decoders directshow que fallan en informarlo, como cuando se trata de achivos ASF.

Si desean sólo cargar el video, pueden agregar audio=false a la linea, quedando video.mp4”, audio=false), y viceversa con video=false.

Nota: es recomendable poner siempre esta línea cuándo se hace el uso del directshow: “,audio=false, fps=119.88, convertfps=true)”. Ésto para evitar problemas con raws de fps variable, es decir una raw de “VFR”.


Filtros

FILTROS Internos

Debajo del nombre del filtro verán los formatos de color con los que dicho filtro puede trabajar. Llegado el caso en que su video esté en un formato no soportado por el filtro, pueden convertirlo usando el filtro ConvertToXXX, explicado más adelante.

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

El primero que trataremos es quizás el más utilizado en la recompresión de videos, se trata del filtro Resize; avisynth nos ofrece unas cuantas variantes, donde las más conocidas y usadas son Bilinear, Bicubic y Lanczos, aunque se tratara de explicar en detalle todas las presentes.

Este filtro se usa para modificar la resolución del video, para así estirarlo o comprimirlo (espacialmente hablando) lo necesario hasta alcanzar la resolución adecuada.

Invocando los filtros de resize:

BilinearResize(ancho,altura)
BicubicResize(ancho,altura,b,c)
LanczosResize(ancho,altura)
Lanczos4Resize(ancho,altura)
GaussResize(ancho,altura,p)
BlackmanResize(ancho,altura)
PointResize(ancho,altura)
SplineXXResize(ancho,altura) , donde XX puede ser 16, 36 o 64

El ancho y altura deben indicarse con valores enteros, dado que la únidad más chica posible es el pixel.

Explicación Detallada de cada variante:

Bilinear: tiende a suavizar la imagen, esto significa que es el que menos detalle deja pasar al redimensionar, así que es adecuado para cuando usen bitrates bajos, y/o cuando se reduce la resolución.

Bicubic: es similar en funcionamiento al anterior, pero gracias a mejores algoritmos logra procesar un mayor nivel de detalle y por ende es mejor para cuando se aumenta la resolución, ya que se logra una imagen más nítida, pero sólo es recomendable cuando habrá suficiente bitrate como para codificar dicho detalle extra, sino puede ser más conveniente el Bilinear si no quieren que la calidad caiga en picada al comprimir. Puede ser personalizado manualmente mediante los valores "b" y "c" que pueden ver en la sintaxis de más arriba. Estos parámetros son llamados blurring y ringing respectivamente; el blurring sirve para quitar nitidez, agregando un efecto “borroso” y así difuminando el detalle, puede servir para evitar la aparición de macrobloques al comprimir a muy bajos bitrates; mientras que el ringing hace todo lo contrario, a mayores valores más fino será el filtro y más detalle dejará pasar. Con b=0 y c=0.75 el filtro es idéntico al presente en VirtualDub, "VirtualDub`s Precise Bicubic". Un valor normal sería b=0 y c=0.5 para así lograr una importante ganancia de detalle, valores mayores a 0.6 pueden producir ruido dado que se estaría generando más detalle del que existe, aunque claro depende de la nitidez del video de origen, si lo amerita entonces pueden aumentar el valor de c.

Lanczos: permite alcanzar aún más detalle y con mejor calidad que el Bicubic, sólo recomendable para altos bitrates. Sirve como alternativa al Bicubic con valores de “c” entre 0,6 y 0,75, sólo que logra una calidad superior en estos valores (menos artifacts).

Lanczos4: es una abreviación a LanczosResize(taps=4). (Desarrollo pendiente).

BlackMan: ésta es una modificación del Lanczos que permite lograr menos artifacts (errores) con valores de taps altos.

Gauss: filtro basado en el algoritmo de Gauss. El parámetro "p" ajusta la nitidez, desde 0 (menor detalle, mas borroso) hasta 100 (mayor detalle, más fino). Su velocidad es similar al Lanczos4.

Point: es el filtro para resize más simple que existe. Su uso no es para nada recomendable a no ser que se quiera disminuir la calidad del vídeo adrede. Sus resultados suelen contener mucho bloque.

SplineXX: este filtro tiene como objetivo alcanzar un máximo nivel de detalle, con menos artifacts a raíz del mismo que si se usara Lanczos. XX puede valor 16, 36 y 64, cuanto mayor este valor mayor nitidez de lograra.

Para una comparación entre filtros de resize pueden ver aqui (inglés)

Desde la versión 2.56 de avisynth existe la posibilidad de cortar la imagen desde el mismo filtro de resize, como con el filtro Crop. Si se utiliza, en el proceso primero se corta y luego se aplica el resize.

Usar esta línea:
Crop(10, 10, 200, 300).BilinearResize(100, 150)

Seria casi lo mismo que usar la siguiente:
BilinearResize(100, 150, 10, 10, 200, 300)

Este método es conveniente usarlo cuando quieren cortar parte de la imagen previa a su reescalado. Usándolo se logra mayor calidad en el reescalado de los bordes. Pero para cortar bandas negras o artifacts es mejor usar el filtro Crop.

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

Sintaxis:
AddBorders(v,x,y,z,color)

En ciertos casos no es posible modificar el tamaño (espacial) de un vídeo con sólo redimensionar dado que las resoluciones que se deben obtener son fijas para cumplir algún estándar, entonces con sólo dimensionar se dañaría el aspect ratio (AR) del mismo y éste se vería alargado o achatado; así que para llegar a la resolución 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 algún color de altura configurable por separado en cada margen.

Vean la sintaxis, cada una de esas cuatro letras representan la cantidad de pixeles (valores enteros) que ocuparan las bandas contando desde cada uno de los cuatro márgenes. Las letras siguen el siguiente orden: "x": superior; "z": inferior; "v": izquierda; "y": derecha. Lo más común es agregar bandas arriba y abajo, pero también se agregan en los cuatro lados por ejemplo cuando se desea solucionar el efecto overscan.

El parámetro "color" permite elegir un color distinto del negro (default, si no se especifica nada); este color lo deben indicar en código hexadecimal. Aquí pueden ver una lista con los códigos y colores soportados.

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

Esta línea agrega bandas de 64 pixeles tanto arriba como abajo de color Cyan. De seguro quede horrible pero es un ejemplo nada más p.

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

Sintaxis:
Crop(x,y,-z,-k) ó Crop(izquierda,arriba,-derecha,-abajo)

Debe tener los "-" o tirará error de mod4.

Este filtro es muy simple de implementar, sirve para cortar cierta cantidad de pixeles de los lados de la imagen. Se debe indicar la cantidad a cortar de cada lado, donde "x" es izquierda, "y" es arriba, "z" es derecha y "k" es abajo.

Una variante del mismo filtro es la siguiente:
CropBottom(j)

Remueve "j" líneas de la parte inferior de la imagen, especialmente útil para eliminar la distorsión inferior de un video capturado de un VHS.

Blur / Sharpen
[RGB24-RGB32-YUY2-Y8-YV411-YV12-YV16-YV24]

El filtro Blur tiene como objetivo distorsionar ligeramente la imagen suavizando los bordes de los objetos en el video (detalle), esto puede servir para disimular la aparición de bloques o pixelado, o también para facilitar la codificación a muy bajos bitrates sin causar feos artifacts en bordes o sectores de alto detalle que requieren mayor bitrate.

Sintaxis
Blur(x)
Blur(x,y)

Donde "x" es un valor real que puede variar entre -1.0 y 1.58, siendo los valores negativos lo mismo que usar el filtro sharpen con valores positivos. La segunda forma de invocarlo agrega la variable "y", que sirve para indicar por separado la intensidad del filtro en forma vertical, así queda la horizontal con la letra "x".

El filtro Sharpen realiza justo lo opuesto, agudiza el detalle de la imagen, es decir que busca lograr una mayor nitidez. Puede variar entre 0 y 1.0

Sharpen(x)
Sharpen(x,y)

Las variables representan lo mismo que en Blur.

SpatialSoften / TemporalSoften
[SpatialSoften: YUY2/TemporalSoften: YUY2-Y8-YV411-YV12-YV16-YV24]

Estos filtros se ocupan de eliminar el ruido de un video. Según la wiki oficial pueden lograr milagros (dice eso textualmente), y se recomienda mucho su uso. Eso sí, con cuidado porque a valores muy altos pueden liquidar detalle. También son muy lentos, especialmente a mayores valores del "radio".
La diferencia entres ambos es que el Spatial compara pixeles adyacentes en un mismo frame, mientras que el Temporal compara frames adyacentes en un mismo pixel. El primero sin embargo parece ser el más efectivo.
El Spatial sólo funciona en el espacio de color YUY2, así que si desean implementarlo y tienen como origen un formato distinto deberán convertirlo, lo cual será explicado en otro filtro próximamente.

Sintaxis:
SpatialSoften(radio,luma,croma)
TemporalSoften(radio,luma,croma,escena,modo)

Lamentablemente la info en la wiki sobre este filtro es algo escasa así que para mejor entendimiento de cómo influyen estos valores deberán recurrir a prueba y error. Todos los valores son enteros. "radio" representa el área circundante al pixel que el filtro analizará (en el caso del temporal serán cuantos frames adyacentes), cuanto mayor sea mejor se desempeñara el mismo, pero más lento resultará. "luma" y "croma" corresponden a los limites para luminancia y crominancia respectivamente a partir de los cuales se les aplicara el filtro, si la imagen posee valores por debajo el filtro no es aplicado. En el Temporal estos son considerados y filtrados por separado, pero en el Spatial sólo se procesan si ambos superan el límite.

El valor "modo" por default es 1, pero puede setearse a 2 para aprovechar un mejor desempeño del filtro temporal (mejor calidad y mayor velocidad) agregado en la versión 2.56 de avisynth.
Y por último "escena" permite fijar un valor límite para no procesar imágenes involucradas en cambios de escena. El valor representa el cambio promedio de los pixeles entre frames. Un rango recomendado es entre 5 y 30. Esta última opción requiere un procesador que soporte instrucciones ISSE.

Ejemplo de un buen punto de partida (extraído de la wiki):
TemporalSoften(4,4,8,15,2)

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

Con él podremos regular a gusto contraste, brillo, saturación y color. Es sumamente útil y nos permitirá lograr algún que otro efecto muy interesante.

Sintaxis:
Tweak(color,sat,brillo,cont,luma,startcolor,endcolor,maxsat,minsat,interp)

"color"(-180.0 / +180.0, default=0.0): tiñe la imagen hacia un determinado color. Valores mayores llevan la imagen hacia el rojo, mientras que valores menores lo hacen hacia el verde.

"sat"(0.0 / 10.0, default=1.0): ajusta la saturación del color, este vendría a ser el valor que ajusta la intensidad del color. Valores por debajo de 1.0 la reducen y viceversa.

"Brillo"(-255.0 / +255.0, default=0.0): regula el brillo. A mayores valores de 0.0 se aumenta, mientras que a valores negativos se disminuye.

"cont"(0.0 / 10.0, default=1.0): contraste, 1.0 es sin variación, valores inferiores lo bajan, valores mayores lo aumentan.

"luma"(opcional, true / false, default=true): true refleja el comportamiento de versiones anteriores de avisynth, básicamente lo que hace cuando esta activado es limitar la luminancia a [16,235], no me pregunten exactamente cuál es el efecto porque no lo sé, supongo que reduce la gama de valores que ésta pueda tomar y así evitar los extremos.

"startcolor"(default=0.0) y "endcolor"(default=360.0) (ambos desde 0.0 hasta 360.0 en grados): permiten especificar un rango basándose en el color para el cual se aplicaran los valores de color y saturación antes descriptos.

"maxsat"(default=150.0) y "minsat"(default=0.0) (ambos van desde 0.0 a 150.0, en porcentaje): permiten ajustar un rango basándose en la saturación del color para el cual se aplicaran los valores de color y saturación. Para RGB el valor máximo será de 100.0 (100%), para otros espacios de color está permitido usar hasta 150.0(150%).

"interp"(0 / 32, default=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 interpolación, útil por ejemplo cuando el video se compone únicamente de colores uniformes.

Pueden ver algunos ejemplos de aplicación aquí.

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

Sintaxis:
AssumeFPS(fps,syncaudio)
AssumeFPS(num,den,syncaudio)
AssumeFPS(clip1,clip2,syncaudio)
AssumeFPS(preset,syncaudio)

Se ocupa de modificar el framerate de reproducción sin modificar el conteo de frames (causando que el video se reproduzca más rápido o más lento de lo normal). Únicamente setea el parámetro FPS. Si en "syncaudio" colocamos true (false por default) también modificara el sample rate del audio para igualar la duración del video. Esto también constituye un metodo para modificar unicamente el sample rate del audio.
"fps" es un numero real, aunque es más conveniente cuando se trata de NTSC utilizar la relación 30000/1001 (en vez de 29.97) o 24000/1001 (en vez de 23.976), utilizando los valores "num" y "den" para el numerador y el denominador respectivamente.
Esto se recomienda dado que cuando especifican un numero real avisynth lo pasa a una relación, entonces siendo 23.976 y 29.97 resultados aproximados de las relaciones ya mencionadas en la realidad cuando avisynth los pase no dará la relación estándar exacta.

También pueden valerse de presets ya existentes para elegir los FPS según los estándares, mediante el valor "preset", y según los mencionados en la tabla de esta página.
Si otro video está presente (mediante "clip2" es posible agregarlo) entonces el frame rate del video original ("clip1") será igualado al mismo, útil cuando se desean unir dos videos de framerate ligeramente distintos.

Ejemplo:
AssumeFPS(24000,1001,true)
Permite modificar los FPS a 23,976 y también modifica el audio.

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

Modifica el frame-rate eliminando o duplicando frames.

Sintaxis:
ChangeFPS(fps,syncaudio)
ChangeFPS(num,den,syncaudio)
ChangeFPS(clip1,clip2,syncaudio)
ChangesFPS(preset,syncaudio)

Los parámetros y su función son los mismos que AssumeFPS, así que pueden guiarse con dicha descripción.

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

Simple, se ocupa de que el video sea reproducido al revés, de atrás hacia adelante.
En origen entrelazado la paridad entre campo superior e inferior se modifica.

Sintaxis:
Reverse()

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.

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

Sintaxis:
PullDown(a,b)

Proceso también llamado telecine, se trata de representar el primer frame mediante "a" campos y el segundo mediante "b" campos, y así se repite hasta 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 el primer frame y tres para el segundo, y así hasta el fin del video.
Usar 0:3 es lo mismo que deshacer el pulldown 3:2 (29.97 -> 23.976).
Este último no lo probé así que ignoro si realmente funciona, aunque el pulldown 2:3 o 3:2 si debiera hacerlo sin problemas.


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

Convierte el video al espacio de color elegido. Útil cuando el filtro que quieren usar sólo soporta algunos formatos específicos o uno solo en particular, como por ejemplo el filtro SpatialSoften, que sólo soporta trabajar sobre YUY2. También en el caso de que el codificador a donde envían el video soporte un formato de color de entrada especifico.

Sintaxis:
ConvertToXXX("matrix",entrelazado,chroma1,chroma2)

XXX puede ser: RGB, RGB24, RGB32, YUY2, Y8, YV411, YV12, YV16, YV24.
En "matrix"(comillas incluidas) pueden elegir entre: Rec.601(default), PC.601, Rec.709 y PC.709, que le indica al filtro cual es el rango de colores. Los Rec reducen el rango a aquel soportado por la TV analógica(16,235) y los PC procesan el rango de color completo (0,255). Según la información en la wiki Rec.601 debe ser usado cuando la fuente es XviD/DivX o capturas analógicas; Rec.709 en cambio se recomienda usarlo cuando la fuente es HDTV o DVD.

"entrelazado" puede ser true o false(default) y lo activan cuando la fuente es entrelazada.

"chroma1" se usa cuando convierten desde o hacia YV12, pueden elegir entre MPEG2 (default), MPEG1 o DV.

"chroma2" es el filtro de reescalado que se usa para la crominancia en los casos en donde la misma tiene diferente resolución entre los formatos de color que se están convirtiendo. Puede usarse cualquiera de los mencionados en el filtro Resize, el default es Bicubic.

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

Convierte el video a escala de grises (no cambia el formato de color).

Sintaxis:
Greyscale()

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

Rotan al video de tal manera que lo que se veía de izquierda-derecha pasa a verse de derecha-izquierda, en el caso del horizontal, el vertical hace lo mismo pero en vertical valga la redundancia.
Dicho de otra forma el video pasa a verse como el original se vería en un espejo.

Sintaxis:
FlipHorizontal()
FlipVertical()

Y mmm, éso es todo por hoy, mañana la parte 2 en la que se explicarán algunos filtros externos (los más conocidos), cómo insertarlos, orden de los filtros, y algunos ejemplos prácticos, y de dónde puedes descargarlos.

Comienza la wea...Retraso con los tutos, estado anímico, etc.

Comments

Barraco Mármol Jerónimojerobarraco Wednesday, May 6, 2009 3:58:31 AM

mierda que es largo

Daniel Da SilvaZangetsukun Wednesday, May 6, 2009 4:02:30 AM

xDD, y es sólo la parte 1.

Son como 3 partes aprox.

Barraco Mármol Jerónimojerobarraco Wednesday, May 6, 2009 1:18:24 PM

WOOOOOOOOOOOOOOOOOOW
me lo lei entero, man, me saco el sombrero posta!
te tomaste un enorme trabajo!!!
bien descripto!
tenes un enorme conocimiento de lo que es comprimir. smile
me encanto el analisis que hiciste de los diferentes filtros resize, y como lo explicaste.
realmente me parecio muuuy claro y pro
[si me preguntan]
te falto mostrar como sería una estructura tipica de un archivo avs,
comentar que la forma de un script es "encadenar filtros"
comentar que una de las razones mas importantes para los diferentes filtros resize es q cada algoritmo son mas o menos pesados pal micro ademas d la calidad d cada uno.
y q el avisynth c especializa en avis, por eso para abrir otro contenedor se necesita el directshowsource, como dijiste pal mp4 o asf o mkv
[/]

realmente muy muy bueno t felicito.
yo lo hubiese hecho en partes mas cortitas y asi la gente lo lee bien y cualquier duda pregunta..

saludos coffee

aelmiger Wednesday, May 6, 2009 3:21:05 PM

Tremendo tuto man, y mientras más se explique mejor p

Asi sabemos a lo que no enfrentaremos headbang

Daniel Da SilvaZangetsukun Thursday, May 7, 2009 1:16:44 AM

o.o, si la usé o.o

Daniel Da SilvaZangetsukun Thursday, May 7, 2009 1:54:57 AM

ahhh, se me orvidó xDD

Robertoelalquimista Saturday, May 9, 2009 5:05:24 AM

buen tuto, el pulldown nunca lo he usado pero es bastante util para los ripeos de dvd.

Alexnicklechama Saturday, May 9, 2009 1:16:37 PM

Pufff ..llegaron los tutos de encode...yupiiiii

ChristiankichanXcrazy Sunday, May 10, 2009 4:32:48 AM

Leyendo....

creo que me tardare por lo menos un mes.... xD

Unregistered user Monday, May 11, 2009 3:27:15 PM

Neo Snake writes: el crop esta mal hecho, la sintaxis es crop(derecha, alto,-izquierda,-abajo), los signos "-" deben ir o les tirara error de mod4 eso seria... nica me leo todo ya que me da la mea paja alomejor la toy cagando xDDDDDDD salu2

Robertoelalquimista Monday, May 11, 2009 6:26:03 PM

sip tienes razon neo snake

Daniel Da SilvaZangetsukun Tuesday, May 12, 2009 4:34:08 AM

Nope, la sintaxis del crop es ésta:
crop(izquierda,arriba,-derecha,-abajo)
La que pusiste está mal xD
Y sí, debe tener los "-" o tirará error de mod4.
Salu-2 ^^.

Unregistered user Tuesday, May 12, 2009 6:02:16 AM

Anónimo writes: ¿Para cuándo el siguiente? Yo ya estoy iniciadito en esto pese a ser muy n00b. Así que espero con ansias consejos de filtros externos y modos de uso :D Cosas para corrregir satisfactoriamente problemas como artifacts, banding y demás. Saludillos~

Barraco Mármol Jerónimojerobarraco Tuesday, May 12, 2009 11:37:43 AM

+1 ojalá puedas escribir un tuto explicando mejor cmo usar avs y si trae ternicas pa un mejor encodeo mejor *¬*

Jya ne coffee

Alexnicklechama Tuesday, May 12, 2009 2:04:45 PM

de acuerdo, nada como algunos ejemplos prácticos, con scripts para algunas situaciones comunes en el encoding..la base teórica es importante (para saber que es lo que estas haciendo), pero la practica es igual o tal vez un poco mas importante

Barraco Mármol Jerónimojerobarraco Tuesday, May 12, 2009 2:48:16 PM

/me vota por la parte práctica, siempre que tambien le pongas un salpicadito d tioria. bigsmile

Daniel Da SilvaZangetsukun Wednesday, May 13, 2009 12:07:35 AM

Pues, la parte 2 la hice hace 2 días, pero cuando la estaba terminando (era un poco más extensa que ésta creo), el fucking opera dejó de funcar y perdí todo .-.
Desde esa no he hecho más nada, me da weba xD
Pero no se preocupen, en estos días vuelvo a hacer la parte 2 (¬¬) xDD

Barraco Mármol Jerónimojerobarraco Wednesday, May 13, 2009 12:39:25 AM

usa el notepad. always

ChristiankichanXcrazy Wednesday, May 13, 2009 12:46:57 AM

si !!!!!


por cierto que es notepad++ ?? xDDDDDDDDDD

Unregistered user Wednesday, May 13, 2009 12:57:06 AM

Anónimo writes: Notepad++ está programado por Diox y además es gratix. Yo con eso hago güebs.

ChristiankichanXcrazy Wednesday, May 13, 2009 1:07:54 AM

Si Se.... solo era una broma... xD

Barraco Mármol Jerónimojerobarraco Wednesday, May 13, 2009 1:14:44 AM

welcome to opensource, el notepad++ usa el scintilla, q es el programa base para editores de tersto con highlight y demas

Alexnicklechama Wednesday, May 13, 2009 2:37:12 AM

Notepad++ está programado por Diox y además es gratix.



Amen!!!!!

JohnathanJohnZero Thursday, May 14, 2009 7:33:59 PM

Hola, que tal, que bueno que hagas este tutorial, me he cansado de leer tutos de avisynth pero los mejores estan en ingles y ahi si fallo xD

Espero la siguiente parte, Saludos

ChristiankichanXcrazy Thursday, May 14, 2009 8:23:50 PM

Quien es johnZero. ???

JohnathanJohnZero Thursday, May 14, 2009 8:50:11 PM

yo xD soy nuevo por aca.

ChristiankichanXcrazy Thursday, May 14, 2009 9:03:21 PM

A sorry no sabia xDDD bueno que te la pases bien y aporta tutoriales como toda la gente de aca xD sale bienvenido

DrkItachi Tuesday, June 2, 2009 12:17:12 AM

vaya vaya O.O
el tutorial q necesitaba para entender por lo menos lo mas importante del encodeo bigsmile xq cuando me hablaban d filtros kedaba cm WTF?? y eso q kiero aprender encodeo me lo pse buscando sobre eso y no me salia ni sikiera un grano d arroz xD
hasta aora si, muchas grx man x este gran tutorial q me ayudo a abrir un poco los ojos hacia lo q es encodeo (2 partes mas y talvez lo habra x completo). Y vaya, q grande y largo, se nota q tomastes tu tiempo en acerlo y yo en leerlo td rolleyes

salu2 y grx, nuevo x aca p

Unregistered user Wednesday, August 11, 2010 7:49:58 PM

AlfredPianist writes: +1 Bastante impresionado por ese tutorial tan completo, ahora quedan dos partes. ¡Ánimo!, y si pudieras explicarte, como han dicho los otros, el encadenamiento de filtros y todo eso, estaría aún más completo todavía. ¡Ánimo con las partes que siguen! :P

Write a comment

New comments have been disabled for this post.