How to write Veaml?
Composing a Veaml file is simple. We just need to use our favorite text editor
and write the marks that form the language. The following is an example:
/ Timeline is a container that will generate an only video as output
%timeline{width: 1920, height: 1080, videocodec: libx264, audiocodec: libfaac, fps: 24} srfc.mp4
/ Each mark can be specified limits
%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
The first mark in a Veaml file should always be%timeline, which allows to
specify details about the desired output: width and height, name of the file and data
about the codecs. The attributes accepted by %timeline are:
width: Specifies widthheight: Specifies heightaudiocodec: Encoder for audio output (e.g,libfaac,flacorlibmp3lame)videocodec: Encoder for video output (e.g,libx264,libtheoraorlibvpx)fps: Frames per second ratio (25 by default)samplerate: The audio sample rate (44100 by default)
After a %timeline mark we can add any %audio, %video or %image marks, which will form the resulting video. You can specify more than one %timeline on a single file.
Video
These attributes are accepted by the %video mark:
width: Specifies widthheight: Specifies heighttop: Specifies position from the top borderleft: Specifies position from the left borderfrom: The temporal instant in the video where to start playingto: The temporal instant where to stop playingstart: Temporal instant on the timeline where to be insertedend: Temporal instant on the timeline where to stopcodec: Decoder for video inputvolume: Volume from 0 to 100 (100 by default)
By default added clips will be included sequentially, that is, each clip will be played when
the preceding one finishes. To modify this behavior we use the attributes start, end.
Audio
These attributes are accepted by the %audio mark:
from: Temporal instant in the audio where to start playingto: Temporal instant in the audio where to stop playingstart: Temporal instant on the timeline where to be insertedend: Temporal instant on the timeline where to stopcodec: Decoder for audio inputvolume: Volume from 0 to 100 (100 by default)
Image
These attributes are accepted by the %image mark:
width: Specifies widthheight: Specifies heighttop: Specifies position from the top borderleft: Specifies position from the left borderto: Duration of the picture on screenstart: Temporal instant on the timeline where to be insertedend: Temporal instant on the timeline where to stop