This stoy is about 19 years of development on the most extensive collection of free and open-source video plugins made to share video effect inventions and knowledge on how to develop them.
Before I start telling you this story, let us skip forward to the news!
Frei0r version 2 is freely available with 16 new transitions and a bunch of new filters, plus we now ship it ready to use on Windows and Mac/OSX.
This preservation project is about keeping our collection alive and interoperable so everyone can run it into any application.
I am frei0r’s “upstream” maintainer, and I’ll continue by telling a bit of frei0r’s history, personal motivations and why I think it is a notable project.
Interoperability is a community process
And all community processes have a story that is worth to be told.
The history of frei0r goes back to 2003.
I was in the first batch of people invited to the Piksel.no festival in Bergen and managed to convince the director to welcome many more people from different free and open-source projects.
Running a sort of “parasitic gig” inside this yearly festival between 2003 and 2005 (don’t call me a curator), I intended to have some time together to agree on a standard plugin specification to share code among our projects. Among the early participants were: Andraz Tori (Cinelerra/CVS), Daniel Fischer (Pakt/GStreamer), Gabriel “Salsaman” Finch (LiVES), Kentaro Fukuchi (EffecTV), Niels Elburg (VeeJay), Øyvind Kolås (Gegl/Babl/Gimp), Tom Schouten (PDP/PureData), Carlo Prelz (MøB/BEK), Georg Seidel, Martin Bayer and Phillip Promesberger (Gephex) along with our FreeJ team with me, Mr Goil and Silvano “Kysucix” Galliani.
It is notorious that community processes are also messy; this was no exception.
We spent a lot of time trying to accommodate everyone’s needs by adding features, which is usually a flawed approach to the problem.
Eventually, the Gephex team had some harsh criticism about the working drafts we had. Then they pushed forward a simple “header-only” approach which they aptly dubbed freiør, as a homage to our Scandinavian hosts.
The frei0r proposal did not make everyone happy, especially non-linear editors at that time, but it worked, as minimalist approaches usually do well for most people.
Folks are still asking me about the name, so I will be more precise about where I think it comes from: the Gephex crew was German and “free” in their language is spelt “Frei”: add a Viking touch to it and there we go. Frei, or?
Stewardship in 3 words: slowly make space
At the Piksel festival, no one thought the initiative of a video plugin standard for free and open-source applications was of any value. In the 2006 edition and the ones following it, frei0r never found any space in this yearly initiative.
In 2005 I was lucky to move to Amsterdam and join the team at Montevideo/Time Based Arts (later dubbed NIMK). I worked with colleagues like Ramon Coelho, Wiel Seuskens and Gaby Wijers, developing the Syncstarter software and other amenities. Back then, I was thrilled to work on many significant artworks needing advanced and precise video techniques. Through 7 years of employment, I worked on installations by Marina Abramovich and Erwin Olaf and even the ten years memorial of the 9/11 tragedy at the Upstate New York museum.
During this period, I dedicated myself to being a steward of the frei0r plugin collection, among other free and open-source projects, thanks to the opportunity to settle in part-time but somehow “stable” public-sector employment.
And I learned how The Knowledge Commons need stewards to make space for contributions that nurture them.
And stewards are better at it when they move slowly, avoid breaking setups people already depend upon and make everything as visible and understandable as possible.
It may sound like a tedious process, and perhaps it even is, but it helps make space for more people to join and prevents the project from becoming a moving target for those who rely on it.
Through the years, valuable contributions to frei0r kept coming, most notably the excellent work by Richard Spindler (Open Movie Editor) and Dan Dennedy (Media Lovin’ Toolkit/Shotcut) made frei0r the practical standard that it is today.
My role as a steward has been minimal: marking releases, updating documentation, fixing very few bugs, and putting people at ease. Meanwhile, frei0r kept growing its plugin collection up to almost 150 plugins, thanks to many contributors.
Frei0r is in a lot of places
When we look at frei0r today, we can find frei0r in many places.
A search on youtube will yield some funny results, and on the wave of the social-video boom (tiktok etc.) it may be multiplying its presence across some funky software applications which, we hope, will keep being open-source. I like to think that the first and best video made with frei0r was the one made with LiVES by Salsaman, and I’m not the only one thinking so, recently Internet artist Marko Deinterlace also put some sound on it
Frei0r is already pretty much everywhere since Stefano Sabatini built support to use our plugins from FFMpeg, which is the most used media library in the world.
Also a famous swiss-army knife for streaming, the Liquidsoap language prominently features frei0r as a fun thing to play with when doing video. Here is the one I like the most, The Anonymizer, if you ever need to stream or record a video with face covered and voice doctored:
There is also a fantastic setup for VJing using OSC to control frei0r inside Liquidsoap, which turns out to be easier done than told:
At last IOhannes “umlaeute” Zmölnig regularly maintains a frei0r Debian package and wrote a VJ tool using frei0r in Pure Data. Someone I never met build a software to turn any image folder into a video using frei0r for slideshow transitions.
For the geeks around, here is a list of frei0r packages maintained in various distributions:
- FreeBSD https://www.freshports.org/graphics/frei0r
- OpenBSD https://openports.se/multimedia/frei0r-plugins
- NetBSD https://pkgsrc.se/multimedia/frei0r
- GNU/Linux frei0r* — frei0r-plugins* — ocaml:frei0r*
- Mac/OS frei0r Brew formula
Why frei0r is so cool
I used to be a demo-scener and wrote a few compos myself; the heritage of this digital subculture movement is vast; there is even a documentary about it
The idea of archiving and preserving the algorithms behind the video effects created by that generation of people (at least those written in C) gives me a happy feeling.
It makes me feel like I have been part of something that won’t be forgotten. Preserving all this wealth in plain and portable C code leaves a trail that new generations can use to learn to do the magic.
Beyond entertainment
Video effects are not just about entertainment: their application is helpful in many different fields.
As mentioned previously, once upon a time, I was developing FreeJ: one of the ancestor applications to the frei0r specification. We used it to run workshops, VJ gigs and even do some live coding in theatre pieces.
One day someone contacted me to let me know they were using it in a hospital to customize a video filter: it helped them to create custom visualizations for medical analysis in a unique way that no other proprietary software could ever do.
Once again, this was only possible because the software is free and open source but also because algorithms are in simple and readable C language used to describe video transformations.
Ultimately this is all you need: buffer in, hack, buffer out.
Get involved
Join our frei0r chat group or break the ice in our new discussion space.
Show your appreciation and sponsor this project.
Group with friends and colleagues and book a workshop.
Video experts are welcome to contribute new plugins.
And, of course: happy hacking! ❤
Tune in to the discussion 💬
(These services are bridged: join your favorite and reach them all)
🗨️ Matrix
🗨️ Telegram
🗨️ Discord
Support Dyne 🫱🏿🫲🏾
🪙 Bitcoins: bc1qz9wz2f9swcefra2tfrhk4fx49evqsv03m9nx4l
☕ Ko-Fi
🍴 Github.com
🧁 LiberaPay
🍥 Patreon.com
Follow Dyne.org 🗞️
Social Media everywhere!
🐘 Mastodon
🎬 Peertube
🐭 Lemmy
📸 Instagram
🐦 Xitter
👔 Linkedin
🪞 Facebook
✍️ Medium