if you are following the news in Free and Open Source Software, you might have noticed some buzz around the High Priority Free Software Projects list, published by the Free Software Foundation.
And if you look closely, you see that one entry in the list is Free software video editing software. So Open Movie Editor is definitely a trendsetter.
However, while the FSF list mentions some other Video Editing Projects, it is quite unspecific about what actually needs to be done, and how people might contribute significantly.
Therefore, I publish a list of things that might directly benefit free video editing applications. And I try to make those items relevant enough that they are not only specific to Open Movie Editor, but likely beneficial to alternative and future Video Production Softwares as well.
#1 A GPU/MultiCore accelerated Image/Video processing and display Library: As I have mentioned in my last blog post, editing High Definition Video needs a lot of processing power, so we need to squeeze every last bit of available power out of the hardware. And there is a lot of power in GPUs, as well as using many cores at once. Right now, QuadCore CPUs are widely available, and not really expensive, so it is entirely reasonable to expect that normal users might have two of them and that they could be running 8 Core machines on their desktop. And the number of cores is likely to increase in the future, so be prepared.
I advocate uniform utilization of cpu cores, so in my humble opinion it would be best to split work into equal chunks to be processed on different cores. This is actually quite easy in image processing, because images can easily spliced into several parts, and then they can be processed individually and at last they are put back together.
For GPUs, the pixel shaders already take care of parallelism, so this needs no special attention. What needs to be done is that yuv planes are sent to the GPU translated to RGB colorspace there, then image processing, color grading and video filters are performed, and at last the image is either displayed on the screen or sent back to the CPU for storage. For inspiration I recommend to look at the code from the yuvtools. There are very interesting high performance OpenGL based video playback routines.
Also the FreeFrame Project has a specification for OpenGL based Video Filters, and some examples of such plugins.
There is also some OpenGL video accelleration in gstreamer, although I am not quite sure about how to extract and reuse that.
#2 A high performance, high quality intermediate codec: Check out the rants about intermediate codecs from Eugenia. There you should get a general idea about the problem. One thing that is essential for intermediate codecs is high performance so that real time video editing is possible with High Definition and stuff. Therefore an implementation that uniformly utilizes MultiCore machines would be desired, as explained above. Opportunities for inspiration are plenty, there are potential candidates available in ffmpeg, there is Dirac Pro, with its Schrödinger implementation. File Size is not that important, but speed and high quality are.
Additionally, while a solid codec on its own would be of immediate and significant use, ideally the codec should also be available for other Platforms like Apple OSX Quicktime, and Microsoft Windows DirectShow. This would enable collaboration with artists that are still limited to non-free software. Interoperability and Open-ness for everyone is vital, especially when working with artists.
#3 Usability Testing DVDStyler: Delivering a video project is not complete until its distributed to its audience. And more often then not, this means producing a DVD. As far as I know about the landscape of Free and Open Source DVD Mastering Applications, DVDStyler is the most promising solution, it is simple yet flexible, and seems to work quite well. However, at times I find that the workflow and User Interface could use some improvements. This is not mentioned as a criticism of the DVDStyler project, quite the opposite, I think that it is the most promising DVD app, therefore I advocate its usage and its improvement.
Also if you know of any kind of interesting projects that might solve one of those problems, and that I did not mention here, be sure to either email me: richard.spindler AT gmail.com or leave me a note in the blog comments.