veaml

¿Cómo escribir Veaml?

Componer un archivo Veaml es muy sencillo. Para ello, basta con utilizar nuestro editor de texto favorito y utilizar las marcas que forman el lenguaje. A continuación un ejemplo:

/ Timeline es un contenedor que generará un único vídeo como salida

%timeline{width: 1920, height: 1080, videocodec: libx264, audiocodec: libfaac, fps: 24} srfc.mp4
  / Cada marca se puede delimitar
  %video{from:  .1.70, to:     .4, volume: 0} surface.mp4
  %video{from:  .7.50, to:     .8, volume: 0} surface.mp4
  %video{from:    .23, to:    .24, volume: 0} surface.mp4
  %video{from:    .27, to: .27.50, volume: 0} surface.mp4
  %video{from: .28.70, to:    .29, volume: 0} surface.mp4
  %video{from:    .42, to: .42.90, volume: 0} surface.mp4
  %video{from:    .46, to: .47.10, volume: 0} surface.mp4

  %audio{from:    .15, to: .21.50, start:  0} srfc.aac
        

Timeline

La primera marca de un archivo Veaml será siempre %timeline, que servirá para especificar los detalles de la salida que queremos: ancho y alto, nombre del archivo y datos sobre los códecs. Los atributos que acepta %timeline son:
  • width: Especifica el ancho
  • height: Especifica el alto
  • audiocodec: El codificador para la salida de audio (por ejemplo, libfaac, flac o libmp3lame)
  • videocodec: El codificador para la salida de vídeo (por ejemplo, libx264, libtheora o libvpx)
  • fps: El número de frames por segundo (por defecto 25)
  • samplerate: El sample rate para el audio (por defecto 44100)

Tras indicar un %timeline se pueden añadir las marcas %audio, %video e %image deseadas, que conformarán el vídeo resultante. En un mismo archivo Veaml puede haber varios timelines.

Vídeo

La marca %video acepta los atributos:

  • width: Especifica el ancho
  • height: Especifica el alto
  • top: Especifica la posición desde el borde superior
  • left: Especifica la posición desde el borde izquierdo
  • from: Especifica el punto temporal del vídeo desde el que se incluirá
  • to: El punto temporal del vídeo hasta el que se incluirá
  • start: La posición temporal del timeline en la que comenzará el vídeo
  • end: La posición temporal del timeline en la que terminará el vídeo
  • codec: El decodificador para la entrada de vídeo
  • volume: El volumen, de 0 a 100 (por defecto 100)

Por defecto los clips añadidos se incluirán de forma secuencial, es decir, se comenzará a reproducir cada clip cuando termine el anterior. Para modificar este comportamiento recurrimos a los atributos start, end.

Audio

La marca %audio acepta los atributos:

  • from: Especifica el punto temporal del audio desde el que se incluirá
  • to: El punto temporal del audio hasta el que se incluirá
  • start: La posición temporal del timeline en la que comenzará el audio
  • end: La posición temporal del timeline en la que terminará el audio
  • codec: El decodificador para la entrada de audio
  • volume: El volumen, de 0 a 100 (por defecto 100)

Imagen

La marca %image acepta los atributos:

  • width: Especifica el ancho
  • height: Especifica el alto
  • top: Especifica la posición desde el borde superior
  • left: Especifica la posición desde el borde izquierdo
  • to: Duración de la imagen en pantalla
  • start: La posición temporal del timeline en la que comenzará a verse
  • end: La posición temporal del timeline en la que terminará de verse