gedl - GEGL edit decision list
![](gedl.png)
A video creation tool made to produce a short video segment showcasing work and improvements done to GEGL since the previous libre graphics meeting, for Libre Graphics Meeting in London 2016. The sources are available at github.com/hodefoting/gedl
text based file format
The format of specifying a GEGL graph/chain as a one-liner as created for this tool and is incorporated in the GEGL commandline, one can for instance do gegl input.jpg -o output.jpg -- unsharp-mask invert to apply two filters to the input image writing the result to output.png
What follows is not the full contents of the above video, but it gives a good idea of how the file format is structured
output-path=gegl.mp4 video-width=1360 video-height=680 video-bitrate=20000 selection-start=214 selection-end=214 fps=30.000000 range-end=2635 frame-scale=6.183235 t0=1317.883609 frame-no=216 goat.mp4 100 300 -- over aux=[ color opacity value={ -2=0.999 0=0.999 80=0.999 200=0.0 } over aux=[ svg-load path='GEGL.svg' width=1.2rel height=0.4rel translate x=0.025rel y=0.6rel opacity value={ -4=0.0 3=0.0 60=0.99 100=0.79 150=0.79 200=0.999 } ] ] goat.mp4 300 557 [active] -- over aux=[ text string={ 0='' 5='interactive-nondestructive filter chains/graphs' 50="GIMP's new backend" 125='higher bitdepth' 175='preview on canvas ' 220='preview on canvas, towards non-destructive editing' } wrap=0.96rel size=0.1rel color=black translate x=0.05rel y=0.4rel dropshadow radius=0.01rel color=white x=0 y=0 ] sgoat.mp4 0 151 -- over aux=[ text string={ 0='' 10='new feature' 50='preview curtain' } size=0.1rel wrap=1.55rel color=red translate x=0.35rel y=0.75rel dropshadow x=1 y=1 opacity=2 radius=2 ] translate y=-0.021rel photo-editing.png 0 90 -- over aux=[ text string={ 0='' 4='gnome-photos' 44='GNOME photo library/viewer/editor using GEGL' } size=0.1rel wrap=1.55rel color=white translate x=0.061rel y=0.75rel dropshadow x=1 y=1 opacity=2 radius=2 ] translate y=-0.021rel imgflo-caged-cassowary-light.png 0 90 -- over aux=[ text string={ 0='' 4='noflo' 40='noflo, visual programming' } size=0.087rel wrap=1.05rel color=white translate x=1.15rel y=0.75rel dropshadow x=1 y=1 opacity=2 radius=2 ] translate y=-0.021rel gedl.png 0 90 -- over aux=[ text string={ 0='' 4='gedl' 45='gedl, video editor for this video' } size=0.1rel wrap=2rel color=white translate x=0.0611rel y=0.86rel dropshadow x=1 y=1 opacity=2 radius=2 ] translate y=-0.0211rel portrait.jpg 0 200 -- scale-ratio x={ 0=1.0 200=1.22 } y={ 0=1.0 200=1.2 } origin-y=0.5rel origin-x=0.5rel translate y=-0.12rel over aux=[ text string={ 0='' 1='2015/2016 releases' 90='GEGL-0.3.0 june GEGL-0.3.2 november GEGL-0.3.4 november GEGL-0.3.6 march' } size=0.0794rel wrap=1.2rel color=white translate x=0.031rel y=0.071rel dropshadow x=1 y=1 opacity=1 radius=2 gaussian-blur clip-extent=false std-dev-x={ -1=0.2rel 0=0.2rel 30=0 70=0 80=0.3rel 90=0.4rel 100=0.3rel 131=0 170=0 200=0.0rel } std-dev-y={ -1=0.2rel 0=0.2rel 30=0 70=0 80=0.3rel 100=0.3rel 131=0 170=0 200=0.0rel } ] jumping-goat.mp4 339 394 -- over aux=[ text string={ 0='' 5='new operations' } wrap=1.96rel size=0.1rel color=white translate x=0.05rel y=0.8rel dropshadow x=1 y=1 opacity=2 radius=2 ] jumping-goat.mp4 395 439 -- sepia over aux=[ text string={ 0='sepia' } wrap=1.96rel size=0.1rel color=white translate x=0.05rel y=0.8rel dropshadow x=1 y=1 opacity=2 radius=2 ] jumping-goat.mp4 440 531 -- saturation scale={-1=0.0 0=0.0 40=1.0 90=4.0 } over aux=[ text string='sa h gggggggggon' wrap=0.96rel size=0.1rel color=white translate x=0.05rel y=0.8rel dropshadow x=1 y=1 opacity=2 radius=2 ] photo-editing.png 784 831 -- maze seed=22 x=0.05rel y=0.05rel fg-color=white bg-color=black over aux=[ text string='maze' wrap=0.96rel size=0.1rel color=white translate x=0.1rel y=0.8rel dropshadow x=1 y=1 opacity=2 radius=2 ] jumping-goat.mp4 802 849 -- over aux=[ text string='new raw-loader using libraw' wrap=1.96rel size=0.1rel color=white translate x=0.05rel y=0.1rel dropshadow x=1 y=1 opacity=2 radius=2 ] jumping-goat.mp4 850 894 -- over aux=[ text string='tiff-load and -save' wrap=0.96rel size=0.1rel color=white translate x=0.1rel y=0.1rel dropshadow x=1 y=1 opacity=2 radius=2 ] jumping-goat.mp4 895 933 -- over aux=[ text string='URI loading support for many formats' wrap=1.96rel size=0.1rel color=white translate x=0.05rel y=0.1rel dropshadow x=1 y=1 opacity=2 radius=2 ] jumping-goat.mp4 934 989 -- over aux=[ text string='revival of ffmpeg video source/sink' wrap=1.96rel size=0.1rel color=white translate x=0.05rel y=0.1rel dropshadow x=1 y=1 opacity=2 radius=2 ]