Estamos usando torrent en pequeños re-shares, por favor compartan lo más que puedan para que así tengan buena velocidad esos torrents, esto solo los beneficia a ustedes, así que no dejen morir los torrents, ACA tienen un tutorial sobre cómo seedear torrents que ya tienen descargados, ¡compartan! |

|
|
|
|
 |
|
Página 1 de 2
|
| Autor |
Mensaje |
Zephyr
Staff

 
Registrado: Febrero 2011
Mensajes: 671
Edad: 25 Ubicación: Everywhere
|
 Guía Básica De Avisynth
Habiendo publicado el post de encodeo con el XVID4PSP me puse a investigar un poquito y les reuní cierta información que les será de ayuda para darle soporte al tema del encodeo mediante el uso del Avisynth, un programa que es utilizado por el MeGUI, XVID4PSP, CLI, etc. Con él podemos aplicarle filtros a los videos para poder cambiar la resolución de la pantalla, cortar el video y modificar o incluso mejorar la calidad del mismo.
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.
¿Qué es AviSynth?
Avisynth es una poderosa herramienta de post-producción de vídeo. Proporciona formas ilimitadas de edición y procesamiento de vídeos. AviSynth trabaja como un frameserver, proporcionando edición instantánea sin la necesidad de ficheros temporales.
AviSynth por sí mismo no proporciona una interfaz gráfica (GUI) pero en vez de eso, usa un sistema de scripting que permite edición no linear avanzada. Mientras esto puede parecer tedioso a primera vista, es extraordinariamente poderoso y es una forma muy buena para manejar proyectos precisa, consistente, y reproduciblemente. Como los scripts basados en texto son comprensibles, los proyectos están inherentemente autodocumentados. El lenguaje de scripting es poderoso pero simple, y filtros complejos pueden crearse a partir de operaciones básicas, para desarrollar una sofisticada paleta de efectos útiles y únicos.
Carga de Archivos
Empecemos con los scripts de AviSynth más básicos:
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”.
Introducción a los Filtros
Para tratar y editar un video, es necesaria la inclusión de los filtros, que son archivos .dll que nos sirven para eliminar ruido, cortar bordes, mejorar el color, etc.
Para cagar los filtros que no vienen incluidos con Avisynth se utiliza Loadplugin(“ruta donde se encuentra el filtro”)
Ejemplo:
LoadPlugin("C:\plugins\Vsfilter.dll")
Esto debe colocarse antes de la carga del archivo, quedando de la siguiente manera:
LoadPlugin("C:\plugins\Vsfilter.dll")
DirectShowSource("c:\Carpera\video.mp4")
Nota: Filtros internos no necesitan ser llamados al comienzo del script avs.
FILTROS
Filtrtos 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.
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.
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 .
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]
Sintaxis:
FlipHorizontal()
FlipVertical()
prácticos, y de dónde puedes descargarlos.
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.
Trim
Este filtro se utiliza para cortar secciones del video.
Sintaxis: Trim(“Frame inicio”, “Frame fin”)
Ejemplo:
Trim(0,100) # Desde el principio al frame 100
Trim(100,0) #Desde el frame 100 al final
Trim(100, 200) #Desde el frame 100 hasta el 200
También podemos cortar una sección del video que no queramos incluir y unir las partes restantes. Digamos que queremos eliminar la sección de los patrocinadores que suelen aparecer en los capítulos de Anime, para eso hacemos lo siguiente:
Video=DirectShowSource("c:\Carpera\video.mp4")
Parte1=Video.Trim(0,2000)
Parte2=Video.trim(2001,4000)
Parte3=Video.Trim(4001,0)
Final=Parte1+Parte3
Final=Final
return final
Como ven, le hemos asignado el valor "Video" a DirecShowSource, luego cortamos las partes del video que queremos, lo que nos queda en que parte1 va desde el comienzo hasta el final del opening, parte 2 es donde aparecen los patrocinantes y parte3 es el resto del video, en la linea de abajo colocamos Final=Parte1+Parte3, acá estamos uniendo las partes del video que queremos y omitiendo la de los patrocinates. En Final=Final podemoc colocar los filtros que queramos a nuestro video separando cada filtro por un punto (.), puede ser para cargar subtítulos, etc.
A pesar de lo largo que es el post todavía faltan algunas cosas pero esto sería lo más básico en resumidas cuentas. Espero que les haya sido de utilidad. Saludos!!
Última edición por Zephyr el Vie 08 Jun, 2012 12:29; editado 2 veces
|
#1 Vie 08 Jun, 2012 12:20 |
|
 |
| Gracias por el tema tan útil, Zephyr: |
| roberto__ww (08 Junio), angelZ (09 Junio) |
 |
angelZ
Staff


Registrado: Marzo 2012
Mensajes: 57
Edad: 23
|
 Re: Guía Básica De Avisynth
vaya... una guia bastante completa... cuando tnga un tiempo me pondre a leerla para perfeccionar mis encodings  ... solo la mire por encimita pero tambien pusiste filtros de desentrelazado? he esucchado q videos de anime siempre tienen que ser desentrelazados xD
|
#2 Sáb 09 Jun, 2012 02:18 |
|
 |
zwei
Staff

  
Registrado: Noviembre 2010
Mensajes: 52
Edad: 32 Ubicación: Chile - Iquique
|
 Re: Guía Básica De Avisynth
una pregunta.. con avs se podrá pegar un PNG u otra imagen transparente al video diciendole que parta desde talframe y termine a tal frame.
ej. video (1440x1080i) quiero ponerle una imagen en este caso un logo (marca) (imagen que esta en el 1280x720) y fusionar ambos en un video de 720p o en 1080 dependiendo la necesidad. ademas de ajustar cuando aparezca osea si el video dura 5 min y quiero que aparezca desde no se digamos (HH:MM:SS:CS)0:00:15:00 (seg 15) y quiero que desaparzca en el minuto 4:48
no se si se me entiende..
|
#3 Jue 14 Jun, 2012 16:50 |
|
 |
ParnVlc
Administrador


Registrado: Octubre 2010
Mensajes: 1488
Edad: 31 Ubicación: Valencia
|
 Re: Guía Básica De Avisynth
una pregunta.. con avs se podrá pegar un PNG u otra imagen transparente al video diciendole que parta desde talframe y termine a tal frame.
ej. video (1440x1080i) quiero ponerle una imagen en este caso un logo (marca) (imagen que esta en el 1280x720) y fusionar ambos en un video de 720p o en 1080 dependiendo la necesidad. ademas de ajustar cuando aparezca osea si el video dura 5 min y quiero que aparezca desde no se digamos (HH:MM:SS:CS)0:00:15:00 (seg 15) y quiero que desaparzca en el minuto 4:48
no se si se me entiende..
Lo que tratas de hacer se llama overlay y hay varios scripts de avisynth que te permiten hacer eso. Yo personalmente uso este http://my.opera.com/elalquimista/blog/logos-con-avisynth ya que permite hacer fades y animaciones simples con la imagen y controlar su opacidad.
____________
Antes de escribir lee las NORMAS
ÍNDICE DE PROYECTOS
Comprueba tus descargas: Tutorial CRC y SFV
Une archivos .001, .002, etc. con HJSPLIT 2.3 o superior
Descomprime archivos .zip, .z01, etc. con WINRAR 3.93 o superior
No respondo a peticiones de resubidas por mensaje privado
|
#4 Vie 15 Jun, 2012 01:04 |
|
 |
zwei
Staff

  
Registrado: Noviembre 2010
Mensajes: 52
Edad: 32 Ubicación: Chile - Iquique
|
 Re: Guía Básica De Avisynth
gracias probaré a ver que sale..
por cierto se me fue sobre hacer esto.. normalmente hago esto en PREMIERE quiero evitarme la paja de hacer muchas
Uploaded with ImageShack.us
el video de en esta escaleado desde 720x480 4:3 ajuste automatico dentro de 1920x1080 a sus costado en este acaso en la linea de tiempo puse ina imagen la que esta en los costado para rellenear el negro
se puede hacer esto mismo con AVS?
|
#5 Vie 15 Jun, 2012 10:33 |
|
 |
zwei
Staff

  
Registrado: Noviembre 2010
Mensajes: 52
Edad: 32 Ubicación: Chile - Iquique
|
 Re: Guía Básica De Avisynth
double post
logre hacer el dichoso avs pero no logro que el video se redimencione ni tampoco la iamgen =/
a1=AVISource("D:\SUBTITULOS\TEST\Bubblegum Crisis Tokio 2040 [Op Jap][cuin06][berihime].avi", audio=false).AssumeFPS(30000,1001)
#deinterlace
#crop
resize(720,480)
#denoise
a2=ImageReader("D:\SUBTITULOS\TEST\RELLENADOR.PNG")
Resize(1280,720)
a3=ImageReader("D:\SUBTITULOS\TEST\RELLENADOR.PNG",pixel_type="RGB32").ShowAlpha(pixel_type="RGB32")
Resize(1280,720)
Overlay(a1,a2,mask=a3)
queda del mismo tamaño 640x480
edit:
a1=FFmpegSource2("D:\SUBTITULOS\TEST\Bubblegum Crisis Tokio 2040 [Op Jap][cuin06][berihime].avi")
#Spline36Resize(984,720)
a2=ImageReader("D:\SUBTITULOS\TEST\RELLENADOR.PNG")
#LanczosResize(1280,720)
a3=ImageReader("D:\SUBTITULOS\TEST\RELLENADOR.PNG",pixel_type="RGB32").ShowAlpha(pixel_type="RGB32")
#LanczosResize(1280,720)
Overlay(a1,a2,mask=a3)
ahora he probado con ffmpeg y mismo resultado puedo agrandar el video pero no puedo hacer la mezcla overlay T_T me dice que los spline no son reonocidicos..
enque estoy fallando? =/ alguna manita de ayuda
Última edición por zwei el Lun 25 Jun, 2012 14:48; editado 1 vez
|
#6 Lun 25 Jun, 2012 11:27 |
|
 |
krizalid666
Administrador


Registrado: Octubre 2010
Mensajes: 537
Edad: 30
|
 Re: Guía Básica De Avisynth
eso es facil ya que tu avysuith estas usando resize y lo que tu necesitas es el comando crop te mando los datos que necesitas por MP para que te sea mas facil entender
____________
|
#7 Lun 25 Jun, 2012 17:55 |
|
 |
zwei
Staff

  
Registrado: Noviembre 2010
Mensajes: 52
Edad: 32 Ubicación: Chile - Iquique
|
 Re: Guía Básica De Avisynth
era al revez es rellenar lo que en la imagen esta con IQUIQUETVHD detras seria barras negras osea hacer lo mismo que la imagen de ejemplo
Última edición por zwei el Mar 26 Jun, 2012 08:09; editado 1 vez
|
#8 Mar 26 Jun, 2012 08:07 |
|
 |
ParnVlc
Administrador


Registrado: Octubre 2010
Mensajes: 1488
Edad: 31 Ubicación: Valencia
|
 Re: Guía Básica De Avisynth
Hay bastantes errores en esos scripts. Primero te voy a comentar los pasos que tienes que seguir y luego te pongo un ejemplo de script.
Partiendo de que tienes un video viejo de esos que venian a 640x480:
Citar: 1- Redimensionar el vídeo a la resolución deseada. Como conoces el alto incial y el final (ya que no van a tener bandas) puedes obtener el ancho apropiado para no modificar el aspect ratio con una simple regla de tres.
2- Debes añadir bandas negras a ambos lados de la imagen para pasar los frames del video a 16:9.
3- Aplicar filtros para mejora de imagen.
4- Pegar la mascara (overlay) para tapar los bordes negros con las imágenes que quieras.
Segun me has comentado por MSN, los master que tienes que convertir estás a 720x480 sin bandas negras y quieres pasarlos a 1280x720 con bandas negras.
Así pues el reescalado de esos videos manteniendo el aspect ratio sería de 1080x720, por lo que habría que añadir bandas negras de 100 píxeles de ancho a cada lado para que tengan un aspect ratio de 16:9.
Con estas premisas te pongo un ejemplo de script. Voy a omitir los filtros de mejora de imagen para no marearte de momento.
Como trabajo previo debes tener preparada una imagen png con bordes de 100 píxeles de ancho a ambos lados con la imagen que quieras y el centro transparente. La imagen debe estar a una resolución de 1280x720.
Script:
Citar: #Primero cargamos el master en la variable video para poder usar el overlay. Así pues, cada comando que usemos para tratar el master debe ir precedido de video=video.
video=DirectShowSource("D:\Ejemplo\Prueba.avi", fps=23.976, audio=false, convertfps=true)
#En las tres siguientes lineas pasamos el master de 720x480 sin bandas a 1280x720 con bandas.
video=video.ConvertToYV12() #Convertimos el espacio de color a YV12 para poder usar ciertos filtros, olvídate del RGB
video=video.Spline64Resize(1080,720) #Reescalamos el video a la resolución que queremos pero manteniendo es aspect ratio
video=video.AddBorders(100,0,100,0,$000000) #Con este filtro interno añadimos bordes negros de 100 pixeles de ancho a ambos lados, asi obtendremos el video a 16:9
#Las dos siguientes líneas es por si quieres añadir subtítulos/carteles de algún tipo.
LoadPlugin("D:\Downloads\MeGUI_2008_x86\tools\avisynth_plugin\VSFilter.dll")
video=video.TextSub("D:\Ejemplo\subs.ass", 1)
#Ahora pegamos las imagenes para cubrir las bandas negras.
#La función logo es un filtro externo que debes tener en la carpeta plugins de avisynth. El png debe estar en la misma carpeta que el master. sframe y eframe son los frames de inicio y fin respectivamente. xpos e ypos están a 0 para que salgra bien situada la imagen.
video=logo(video, image="bandas.png", sframe=0, eframe=30000, xpos=0, ypos=0)
#Devolvemos el master modificado para encodeo. Esta línea es muy importante, no te olvides de ella
Return video
La función logo es la que te puse en unos post más arriba.
Lo he hecho todo de cabeza y puedo haber cometido algun error. Ya me comentas si te sirve
EDIT: Además de esto supongo que tendrás que desentrelazar el vídeo y usar filtros para mejora de imagen ya que al reencodear, y además escalando a mayores resoluciones, siempre se pierde calidad.
____________
Antes de escribir lee las NORMAS
ÍNDICE DE PROYECTOS
Comprueba tus descargas: Tutorial CRC y SFV
Une archivos .001, .002, etc. con HJSPLIT 2.3 o superior
Descomprime archivos .zip, .z01, etc. con WINRAR 3.93 o superior
No respondo a peticiones de resubidas por mensaje privado
|
#9 Sáb 30 Jun, 2012 15:12 |
|
 |
zwei
Staff

  
Registrado: Noviembre 2010
Mensajes: 52
Edad: 32 Ubicación: Chile - Iquique
|
 Re: Guía Básica De Avisynth
estoy probando el script pero no tengo el filto "LOGO" Y no lo encuentro.. me salen solo fitros de remover logo.. cual es le filtro que usas?
ya me fije, donde estaba el logo xD de filtro. pero ya lo enog cargado pero por alguna razón que no me calza, por que el filtro me dice que en la ruta del donde tengo el avspmod debe estar el logo y lque la linea 32 esta indicando eso, pues abro el avs del logo y no dice en nada en el linea 32 xD
linea 32 del filtro logo
img_overaly = ImageSource("logo.png", fps=c.FrameRate(), pixel_type="RGB32")
edit 2 como redimenciono el logo? xD esta muy grande xD se me sale de pantalla xD
edit 3 ya logre montarlo al fin T_T ahora me falta aplicar algunos filtros para desentrelazar y mejorar los colores y que no sea tan tozco. por cierto servirá si aplico el filtro resize en la secuencia de logo para redimencionar?
Última edición por zwei el Mar 03 Jul, 2012 13:44; editado 3 veces
|
#10 Mar 03 Jul, 2012 10:24 |
|
 |
ParnVlc
Administrador


Registrado: Octubre 2010
Mensajes: 1488
Edad: 31 Ubicación: Valencia
|
 Re: Guía Básica De Avisynth
edit 3 ya logre montarlo al fin T_T ahora me falta aplicar algunos filtros para desentrelazar y mejorar los colores y que no sea tan tozco. por cierto servirá si aplico el filtro resize en la secuencia de logo para redimencionar?
No, para redimensionar el logo tienes que editar el png con photoshop o algún programa similar y dejarlo a la resolución que quieras.
Para desentrelazar usa la propia herramienta del Megui y para ajustar brillo/contraste/saturación usa la función tweak.
____________
Antes de escribir lee las NORMAS
ÍNDICE DE PROYECTOS
Comprueba tus descargas: Tutorial CRC y SFV
Une archivos .001, .002, etc. con HJSPLIT 2.3 o superior
Descomprime archivos .zip, .z01, etc. con WINRAR 3.93 o superior
No respondo a peticiones de resubidas por mensaje privado
|
#11 Mar 03 Jul, 2012 17:10 |
|
 |
zwei
Staff

  
Registrado: Noviembre 2010
Mensajes: 52
Edad: 32 Ubicación: Chile - Iquique
|
 Re: Guía Básica De Avisynth
ya entiendo.. al fin ya me esta saliendo el video final.. se agradece mucho la ayuda.
|
#12 Mié 04 Jul, 2012 12:22 |
|
 |
zwei
Staff

  
Registrado: Noviembre 2010
Mensajes: 52
Edad: 32 Ubicación: Chile - Iquique
|
 Re: Guía Básica De Avisynth
me salto un problema =/ por alguna extraña razon esto no me sale
video=logo(video, image="bandas.png", sframe=0, eframe=30000, xpos=0, ypos=0)
no carga la imagen ahora =/
edit- ya intente varias cosas y nada de nada no carga la imagen logo ninga de ningun tipo y error tampoco arroja =/
Última edición por zwei el Dom 15 Jul, 2012 20:51; editado 1 vez
|
#13 Dom 15 Jul, 2012 20:14 |
|
 |
ParnVlc
Administrador


Registrado: Octubre 2010
Mensajes: 1488
Edad: 31 Ubicación: Valencia
|
 Re: Guía Básica De Avisynth
me salto un problema =/ por alguna extraña razon esto no me sale
video=logo(video, image="bandas.png", sframe=0, eframe=30000, xpos=0, ypos=0)
no carga la imagen ahora =/
edit- ya intente varias cosas y nada de nada no carga la imagen logo ninga de ningun tipo y error tampoco arroja =/
Cuando dices que ahora no te carga es que antes sí lo hacía? En este caso, ¿qué cambios has hecho?
Si antes tampoco te cargaba... ¿tienes la imagen en la misma carpeta que el avs, raw, etc?
____________
Antes de escribir lee las NORMAS
ÍNDICE DE PROYECTOS
Comprueba tus descargas: Tutorial CRC y SFV
Une archivos .001, .002, etc. con HJSPLIT 2.3 o superior
Descomprime archivos .zip, .z01, etc. con WINRAR 3.93 o superior
No respondo a peticiones de resubidas por mensaje privado
|
#14 Lun 16 Jul, 2012 01:15 |
|
 |
zwei
Staff

  
Registrado: Noviembre 2010
Mensajes: 52
Edad: 32 Ubicación: Chile - Iquique
|
 Re: Guía Básica De Avisynth
maldito AVS aller no habia caso que apareciera xD ahora salio de una.. lo odio xDDD
no se cual es la razon por que no queria salir, (reinicie el pc blabla todo lo nornal, y ahora tengo el pc encendido desde aller y ahora lo recargo rehago el AVS y sale y lo comparo con el que no salio y esta igual /)
edit..
TENGO PROBLEMAS CON EL EL FILTRO DE DESENTRELAZAR. como lo puedo aplicar correctamente?
Última edición por zwei el Lun 16 Jul, 2012 16:07; editado 1 vez
|
#15 Lun 16 Jul, 2012 08:29 |
|
 |
|
|
|
Página 1 de 2
|
Usuarios navegando en este tema: 0 registrados, 0 ocultos y 0 invitados Usuarios registrados conectados: Ninguno
|
No puede crear mensajes No puede responder temas No puede editar sus mensajes No puede borrar sus mensajes No puede votar en encuestas No puede adjuntar archivos No puede descargar archivos No puede publicar eventos en el calendario
|
|
|
|
|