Frei0r
Encyclopedia
frei0r is a simple cross-platform
framework
for video effects. It provides filters, mixers and generators by means of minimalistic plugin
API
. The behaviour of the effects can be controlled from the host through simple parameters. The intent is to solve the recurring reimplementation or adaptation issue of standard video effects.
Frei0r is not meant as a generic API for all kinds of video applications. There is no support for the requirements of special application areas like non-linear editors
(NLE), hardware accelerated shader
effects, or high precision video processing. These advanced issues are not even solved satisfactorily for non cross-application plugin APIs and are still an evolving field.
The frei0r API is not meant to be a competing standard to more ambitious efforts. The current implementation of frei0r is very lightweight, consisting of just a single C/C++ header file
.
The group first aimed at the realisation of a comprehensive specification for dynamically loaded plugins named LiViDO, which then spawned two implementations: one being frei0r, a minimalistic implementation
contributed by the Gephex team, which originally began as a humorous parody of LiViDO but quickly turned into a serious project, and the other one being the WEED implementation by LiVES developer Salsaman, sporting more features for GUI
integration and more advanced parameter handling.
Within the span of a few years, the minimalistic approach of frei0r has been widely adopted amongst many applications and become a de-facto standard. Maintenance and further refinements were contributed by Carlo Prelz (MøB/BEK), Richard Spindler (Open Movie Editor), Jean-Sébastien Senécal (DRONE) and Dan Dennedy (MLT/Kdenlive), while Debian/Ubuntu packaging and build system standardization were taken care of by dyne.org developers Filippo Giunchedi and Luca Bigliardi. Frei0r plugins are also available for Mac OS X
as part of The MacPorts
Project.
Cross-platform
In computing, cross-platform, or multi-platform, is an attribute conferred to computer software or computing methods and concepts that are implemented and inter-operate on multiple computer platforms...
framework
Software framework
In computer programming, a software framework is an abstraction in which software providing generic functionality can be selectively changed by user code, thus providing application specific software...
for video effects. It provides filters, mixers and generators by means of minimalistic plugin
Plugin
In computing, a plug-in is a set of software components that adds specific abilities to a larger software application. If supported, plug-ins enable customizing the functionality of an application. For example, plug-ins are commonly used in web browsers to play video, scan for viruses, and display...
API
Application programming interface
An application programming interface is a source code based specification intended to be used as an interface by software components to communicate with each other...
. The behaviour of the effects can be controlled from the host through simple parameters. The intent is to solve the recurring reimplementation or adaptation issue of standard video effects.
Frei0r is not meant as a generic API for all kinds of video applications. There is no support for the requirements of special application areas like non-linear editors
Non-linear editing system
In video, a non-linear editing system is a video editing or audio editing digital audio workstation system which can perform random access non-destructive editing on the source material...
(NLE), hardware accelerated shader
Shader
In the field of computer graphics, a shader is a computer program that is used primarily to calculate rendering effects on graphics hardware with a high degree of flexibility...
effects, or high precision video processing. These advanced issues are not even solved satisfactorily for non cross-application plugin APIs and are still an evolving field.
The frei0r API is not meant to be a competing standard to more ambitious efforts. The current implementation of frei0r is very lightweight, consisting of just a single C/C++ header file
Header file
Some programming languages use header files. These files allow programmers to separate certain elements of a program's source code into reusable files. Header files commonly contain forward declarations of classes, subroutines, variables, and other identifiers...
.
History
Frei0r is the result of a collective effort in coordination between several software developers meeting at the annual Piksel festival in Bergen, Norway, as part of the larger Piksel Technologies project. Between 2003 and 2005 an attempt was made to find a common standard for video effect plugins to be used among various applications: Andraz Tori (Cinelerra/CVS), Daniel Fischer (Pakt/GStreamer), Denis Jaromil Rojo (FreeJ/Dyne), Gabriel "Salsaman" Finch (LiVES), Kentaro Fukuchi (EffecTV), Niels Elburg (VeeJay), Øyvind Kolås (GEGL/babl/GIMP), Tom Schouten (PDP/PureData), Artem Baguinski (V2_Lab), Georg Seidel, Martin Bayer and Phillip Promesberger (Gephex) all took part in the discussions.The group first aimed at the realisation of a comprehensive specification for dynamically loaded plugins named LiViDO, which then spawned two implementations: one being frei0r, a minimalistic implementation
contributed by the Gephex team, which originally began as a humorous parody of LiViDO but quickly turned into a serious project, and the other one being the WEED implementation by LiVES developer Salsaman, sporting more features for GUI
Graphical user interface
In computing, a graphical user interface is a type of user interface that allows users to interact with electronic devices with images rather than text commands. GUIs can be used in computers, hand-held devices such as MP3 players, portable media players or gaming devices, household appliances and...
integration and more advanced parameter handling.
Within the span of a few years, the minimalistic approach of frei0r has been widely adopted amongst many applications and become a de-facto standard. Maintenance and further refinements were contributed by Carlo Prelz (MøB/BEK), Richard Spindler (Open Movie Editor), Jean-Sébastien Senécal (DRONE) and Dan Dennedy (MLT/Kdenlive), while Debian/Ubuntu packaging and build system standardization were taken care of by dyne.org developers Filippo Giunchedi and Luca Bigliardi. Frei0r plugins are also available for Mac OS X
Mac OS X
Mac OS X is a series of Unix-based operating systems and graphical user interfaces developed, marketed, and sold by Apple Inc. Since 2002, has been included with all new Macintosh computer systems...
as part of The MacPorts
MacPorts
MacPorts, formerly called DarwinPorts, is a package management system that simplifies the installation of software on the Mac OS X and Darwin operating systems. It is a free/open source software project to simplify installation of other free/open source software...
Project.
Applications which use frei0r
- LiVESLiVESLiVES is a free software video editing software and VJ tool, released under the GNU General Public License version 3 or later. There are binary versions available for most popular Linux distributions...
- openmovieeditor
- gephex
- MøB
- FreeJFreeJFreeJ is a modular video mixer for GNU/Linux systems. It is marketed as a "vision mixer". It is capable of real-time video manipulation, for amateur and professional uses. It can be used as an instrument in the fields of dance theater, veejaying, medical visualisation and TV...
- FFmpegFFmpegFFmpeg is a free software project that produces libraries and programs for handling multimedia data. The most notable parts of FFmpeg are libavcodec, an audio/video codec library used by several other projects, libavformat, an audio/video container mux and demux library, and the ffmpeg command line...
- pdvjtools
- DVEdit
- GStreamerGStreamerGStreamer is a pipeline-based multimedia framework written in the C programming language with the type system based on GObject.GStreamer allows a programmer to create a variety of media-handling components, including simple audio playback, audio and video playback, recording, streaming and editing...
and PiTiViPiTiViPiTiVi is a open source non-linear video editor developed by Collabora and contributors from the worldwide community. It is licensed under the terms of the GNU Lesser General Public License. PiTiVi is designed to be intuitive video editing software that integrates well in the GNOME desktop... - MLTMedia Lovin' ToolkitMedia Lovin' Toolkit is an open source multimedia framework, designed and developed for television broadcasting. It provides a toolkit for broadcasters, video editors, media players, transcoders, web streamers and many more types of applications...
- KdenliveKdenliveKdenlive is an open source video editing software package based on the MLT Framework that focuses on flexibility and ease of use...
- OpenShot Video EditorOpenShot Video EditorOpenShot Video Editor is open-source, video editing software package for Linux, built with Python, GTK, and the MLT Framework. The project was started in August 2008 by Jonathan Thomas, with the objective to provide a stable, free, and friendly to use video editor.-OpenShot features:* Support for...
- Kdenlive
- gmerlin