Avi Synth

AviSynth es un programa frameserver para Windows de Microsoft desarrollado por Ben Rudiak-Gould, Edwin van Eggelen, Klaus Post, Richard Berg, Ian Brabham y otros. Es el software gratuito según la licencia de la GPL DEL ÑU.

Redactor del vídeo de Scripting

Las acciones de AviSynth como un redactor de vídeo no lineal controlaron completamente por scripting (sin un GUI). Está de pie como un intermediario entre una fuente de vídeo digital, como un AVI o archivo MPEG, y un VFW recepción del programa, que es típicamente un jugador de medios, software de edición del vídeo o un codificador.

AviSynth se comunica con cualquier programa que apoye AVIs a través del Vídeo para el sistema de Windows sirviendo de un archivo de AVI "falso". Puede aplicar una variedad grande de edición y procesamiento de funciones (llamado filtros) a una corriente de vídeo antes de hacer pasar los resultados como si era un archivo legítimo leído. Las capacidades con filtro incluyen el adorno, el cultivo, deinterlacing, el telecine inverso, la carga y el empalme todavía imágenes, haciendo correcciones en color, denoising, y muchas otras cosas.

Técnicamente, sirve de un códec para escrituras de AviSynth, que son archivos del texto escritos en AviSynth scripting lengua. La lengua scripting se puede ampliar a través del uso de enchufes de unión. Una lista enchufable se mantiene en la Colección con Filtro de AviSynth.

AviSynth filtra el trabajo en varios espacios en color incluso RGB, YUY2 y YV12 (También YV16, YV24, YV411 y Y8 en Avisynth 2.6). Esto es necesario para permitir todas las clases de la entrada y salida de vídeo. Ciertas funciones sólo trabajan en espacios en color específicos, requiriendo la conversión de antemano.

Por ejemplo, diga que la escritura "myAvi.avs" (sólo un archivo del texto sin formato salvado con la extensión "avs") contiene lo siguiente:

AviSource ("myAvi.avi")

Cosecha (0, 0, 320, 240)

Aspecto borroso (0.1)

Este archivo de la escritura se puede abrir en la mayor parte de jugadores de medios (como el Jugador de Medios de Windows). El programa jugará el archivo de vídeo "myAvi.avi" recortado abajo a su dejado a la cumbre 320 pixeles por 240 pixeles y enturbiado por una pequeña cantidad. Las operaciones ocurren en el pedido secuencial, por tanto el Cultivo ocurre primero, entonces el Enturbiamiento.

AviSynth scripting lengua

La lengua scripting es un lenguaje de programación, conteniendo muchos rasgos familiares a programadores, incluso variables, datatypes distinto, condicional y expresiones complejas.

La lengua trata principalmente con vídeos, como un tipo de datos primitivo. Una escritura típica carga un vídeo como introducido, aplica el procesamiento a él, y luego "vuelve" ese vídeo del mismo modo funciona valores de retorno. El vídeo devuelto es la salida de la escritura, que es vista como el vídeo por el programa que dirige la escritura.

La lengua también tiene varios otros tipos de datos más estándares, incluso intervalo, flotador, bool y cuerda. Éstos pueden ser usados para realizar cálculos, decisiones, y escribir el texto como subtítulos al vídeo.

El trabajo de procesamiento es en gran parte hecho por funciones o filtros. El programador puede pasar argumentos a una de muchas funciones incorporadas, y un valor se puede devolver. También, muchas funciones toman una corriente de vídeo como un argumento y hacen cambios en esta corriente.

Los programadores pueden ser inconscientes que pasan constantemente corrientes de vídeo en funciones, ya que la convención sugiere que el vídeo explícitamente no se pasa. Si ningún vídeo se pasa en una función, simplemente toma el último vídeo usado.

Las funciones/filtros adicionales están disponibles a través de enchufes de unión. El uso de enchufes de unión se anima a ampliar las capacidades de AviSynth. (Ver la Colección con Filtro de AviSynth conectar para una lista de enchufes de unión).

"Hola el mundo"

Este ejemplo es un programa "Hello World" - simplemente crea un vídeo que contiene las palabras "¡Hola, el mundo!".

BlankClip

Subtítulo ("¡Hola, el mundo!")

La función de BlankClip crea un nuevo vídeo, que entonces hace mostrar un subtítulo encima de ella. Los paréntesis al final de palabra son opcionales, ya que ningunos argumentos se están pasando, pero se dan en este caso para indicar que es una función y no una variable.

La función del Subtítulo dibuja las palabras "¡Hola, el mundo!" encima del vídeo en blanco antes creado.

Aunque las funciones del Subtítulo y BlankClip tanto acepten muchos argumentos más (por ejemplo, controlando la talla como longitud del vídeo, y la colocación, fuente y color del subtítulo), este ejemplo los excluye, por tanto las funciones usan faltas incorporadas.

Si el susodicho texto se entra en un archivo.avs, se puede abrir en el Jugador de Medios de Windows o cualquier de los otros programas en la lista abajo, y un vídeo que contiene el texto se mostrará.

Procesamiento del vídeo

Este ejemplo toma un vídeo actual, aplica un poco de procesamiento simple y lo devuelve a la salida.

AviSource ("C:\Example.avi")

ReduceBy2

GreyScale

La función de AviSource es usada para cargar un vídeo de una verdadera posición. La función de DirectShowSource también se podría usar. ReduceBy2 divide la talla vertical y horizontal del vídeo en la mitad, y GreyScale fuerza el vídeo a colores de greyscale.

Otra vez, la susodicha escritura se puede entrar en un archivo.avs y abrirse en un jugador de vídeo o redactor. La asunción C:\Example.avi existe, jugará una copia de ese archivo, salvo que será la mitad de la talla y greyscale.

Usuario definido

AviSynth scripting lengua tiene a usuarios en cuenta para definir sus propias funciones.

Esto es un ejemplo de una función que permite que usted se disuelva de un clip al otro sin dañar líneas de entrelazamiento.

clip1 = AVISource ("video1.avi")

clip2 = AVISource ("video2.avi")

los interlaced_dissolve (clip1, clip2, 30) # disuelven de clip1 a clip2 más de 30 marcos

funcione interlaced_dissolve (prenda clip1, prenda clip2, intervalo iter) {\

clip1 = clip1. SeparateFields

evn1 = clip1. SelectEven

odd1 = clip1. SelectOdd

clip2 = clip2. SeparateFields

evn2 = clip2. SelectEven

odd2 = clip2. SelectOdd

los evn = Se disuelven (evn1, evn2, iter)

raro = Se disuelven (odd1, odd2, iter)

Intercalación (evn, raro).Weave. DoubleWeave. SelectOdd

}\

</CÓDIGO>

AviSynth 3.0 código vuelven a escribir

AviSynth 3.0 era un completo vuelven a escribir de AviSynth 2.x, y apuntado para vencer las limitaciones de AviSynth 2.x.

La adición de mejoras como un modelo espacial en color abstraído, en el cual los nuevos espacios en color (incluso dos con la profundidad de 45 bites) se podrían apoyar a través de un mecanismo enchufable, mejor dirección del escondite para el mejor rendimiento, y Ruby que usa, más bien que la lengua de cosecha propia empleada en versiones actuales.

AviSynth 3.0 debía estar disponible para otros sistemas operativos que Windows, que en cambio confía en GStreamer, ampliando el apoyo a plataformas como Linux, Mac OS X y BSD.

El desarrollo se ha parado desde el agosto de 2007.

AviSynth para sistemas operativos de no Windows

AviSynth 2.xx se puede usar bajo sistemas operativos además de Windows a través del uso de Vino. Para trabajar en escrituras VirtualDub/VirtualDubMod se puede usar como en Windows. Para conectar entre AviSynth bajo el Vino y por ejemplo FFmpeg que corre en un anfitrión de Linux, Avs2YUV se puede usar. Avs2YUV es un programa de la línea de comandos de Windows que se dirige bajo el Vino y da la salida de una escritura de AviSynth a stdout que es entonces piped a FFmpeg. Avs2YUV también apoya la escritura a un tubo Llamado.

AviSynth programas compatibles

Además, varios programas se han creado ahora que sólo aceptan escrituras de AviSynth como introducido - así simplificación de los propios programas, pero dar a usuarios el todo el poder de AviSynth para la entrada.

También hay varia hornada que codifica aplicaciones que atan juntos AviSynth con audio de la línea de comandos y codificadores de vídeo y muxers para proporcionar un todo en uno, modular, customizable aplicación de codificación del vídeo. MeGUI es un ejemplo de esta clase de la aplicación.

Aunque AviSynth se suponga para fácilmente abrirse en programas de edición del texto simples, hay varios redactores poderosos y simpáticos destinados sobre todo para corregir escrituras de AviSynth. AVSEdit era un redactor popular, pero no se ha actualizado desde 2004. AvsP está el redactor más usado y más poderoso en este momento.

Véase también

Enlaces externos



Buscar