One of the special problems with managing a multimedia project (versus a text-based software project), is that there are often links to external data files which can get broken when you try to move the files around -- such as you might do when re-factoring the source code to make it more navigable. Three programs that we use extensively in the Lunatics project present this problem, and each requires slightly different handling. These are Inkscape, Blender, and Audacity. I have never found a compact guide to keeping the links straight in these programs, so I'm going to write one here.
This has been a very busy year for our "Lunatics" project (a free-film/free-culture animated web series about the first settlers on the Moon). As with many software projects, we keep our assets in a version-control system -- specifically "Subversion". In principle, Subversion does everything we need. The command line interface, however, does not make the right things easy for us (it's far too obsessed with parsing text files, which are incidental to our project, and it balks when given binary data files (which are essential). To keep a handle on the file tree, we need something a little smarter, and I've recently adopted "kdesvn" to do that job. This seems to solve the biggest annoyances.
The "Lunatics" project is moving on to the next stage, which is audio production -- recording voices, mixing sound effects and music, and putting it to an animatic which will be used later in creating fully-animated scenes. But we have a couple of problems for which we need free software help. We're also trying to meet a Kickstarter goal to get just this part of the project completed.
If you've been following my column for the last year or two, you already know that "Lunatics" is the free-culture animated science-fiction series that we are creating with free-software applications like Blender, Synfig, Audacity, Inkscape, Gimp, and Krita. We are finally crowd-funding for our pilot episode "No Children in Space" on Kickstarter. If we get funded, this will be a major step forward for free-culture and free-software in the media industry. Come check it out, tell everybody you know, and/or get a copy on DVD or other cool stuff from the project!
You've probably heard of this intriguing new crowd-funding service called Kickstarter, right? (If not, how are you getting this website from that cave of yours?). A lot of people are using it to fund all kinds of exciting new things, and it's obviously useful option for free software projects. Properly used, it can allow us to close the gap against proprietary applications that still have more polish or exist in niches that require more capitalization. But the idea that it is somehow immoral to ask for money to work on free software has got to go!
I'm used to thinking of region codes as an unmitigated evil, but they do serve one useful purpose: they divide DVD editions up so that any given regional edition has fewer languages to support. It's uncommon to find a DVD with more than just three or four languages in subtitles or audio tracks. Early on in the concept for Lib-Ray, though, I decided to do away with region-coding, and instead allow for broader localization in the design. This means there's just one edition worldwide, which is very helpful, but it does also mean that the subtitle menu in particular can become very cumbersome to navigate. How will we solve this user interface design problem?
The last week has been terrific for "Lunatics". We've cleared the licenses on almost all of the music -- and certainly the most important pieces. However, for a moment, I want to focus on the little problem with the one minute of music we probably won't get to use, and the right and wrong way to relicense your art if you are ever in that situation.
Today is the Free Software Foundation's "Day Against DRM" and it seems like an auspicious time to launch a Kickstarter campaign to support the completion of the Lib-Ray standard for publishing high-definition videos on fixed media. I've been posting my progress on the prototypes here in Free Software Magazine, and it's clear to me that this is now just a matter of being able to dedicate the time and resources to finish the job.
We use a common extension for MediaWiki for managing our script-development process on "Lunatics". It works quite well, and it might not be obvious, so I thought I'd explain it here. The idea is to make it possible for the writer to work on the script in a single page while allowing the director to add shooting notes, storyboards, and other material to each scene -- and to keep everything synchronized so that we don't have two versions of the script.
In my previous installments, I described the success I've been having with compressing "Sita Sings the Blues" with the VP8 video codec, and at the end I had a video file. Then I converted the audio to get a FLAC copy of the soundtrack (opting to retain this rather than compress into Vorbis format). Now in this installment, I'll show how I used
mkvtoolnix-gtk to build a complete MKV file with VP8 video, FLAC audio, and named chapters. The result is the complete "main feature" multimedia file that will form the core of the Lib-Ray prototype.
In my previous column, I described the success I've had with using VP8 for compressing the video for the Lib-Ray main feature multimedia file. At the end of that process, though, I still have a silent film. We also need to get the audio, and make a decision about the format. WebM calls for Vorbis sound, which probably makes sense for internet downloads, but this is where we part ways -- for my application, bit-perfect audio with FLAC seems to make more sense, at least for the main audio tracks (Vorbis is still in the picture for things like commentaries).
When I started working on a no-DRM, open-standards-based solution for distributing high-definition video on fixed media ("Lib-Ray"), I naturally thought of Theora, because it was developed as a free software project. Several people have suggested, though, that the VP8 codec would be a better fit for my application. This month, I've finally gotten the necessary
mkvtoolnix packages installed on my Debian system, and so I'm having a first-look at VP8. The results are very promising, though the tools are somewhat finicky.
This is one of those things that doesn't get explained much, because it's almost too simple to document: it's often useful to keep a few Debian package files (
.deb files, used in Debian, Ubuntu, and Linux distributions derived from them) available for installation, either on your local host or on other computers on the same local-area network (LAN). You can make these available as an extra "repository" for your APT system, so that APT-based package tools (
apt-get, Aptitude, Synaptic, etc) can access them. This makes managing these special packages just like your other packages, which can solve a lot of problems.
In Spring 2011, I started a project to attempt to create a free-culture compatible / non-DRM alternative to Blu-Ray for high-definition video releases on fixed-media, and after about a year hiatus, I'm getting back to it with some new ideas. The first is that I've concluded that optical discs are a bust for this kind of application, and that the time has come to move on to Flash media, specifically SDHC/SDXC as the hardware medium. This is a more expensive choice of medium, and still not perfect, but it has enough advantages to make it a clear choice now.
This is the Blender 2.5 update to Mullen's very successful book on character animation. Since Blender 2.5 introduced a fairly dramatic change in interface design, this is a very useful update. This is a thick and extremely dense book that covers character animation from start to finish.
Since script extensions are going to be a part of our toolchain on creating Lunatics, I thought it would be a good idea to familiarize myself with how scripts are created and run in Blender. As a learning project, I decided to create a script for creating 3D pie charts from CSV data files. My first task is to write this for Blender 2.49 using the API for Python 2.6. This is the version documented in the Python Scripting book from Packt that I recently reviewed, so it's a good place for me to start.
Jonathan Williamson is established in the Blender community as an instructor for the Blender Cookie tutorial website. So it probably comes as no surprise that he should write an instructional book on using Blender. This one is an impressive work, and despite a relatively high price, may be worth your time if you want a thorough introduction to designing and modeling characters in Blender.
The full title is "Annie's CS101, A Charting Approach to Computer Programming." This is an interesting approach to an introductory programming course -- the target is for younger learners (although not children), and it focuses on the thought process behind conceiving of a programming problem and solving it. The language of instruction is Python, although this is not really a Python book.
If you're wondering what machinima is, this book is a good starting point. If you're wondering what machinima is likely to be capable of and what its history has been like, then you'll likewise find it very useful. If you are looking for a how-to or tutorial on making your own machinima, then you'll find this book disappointing. It's basically a highly-illustrated "coffee table book" about the machinima artform.
Among the books I've read to get my head around the process of creating an animated film with Blender, this one is definitely the best. Nowadays you'll probably want to use Blender 2.5 or later, and this book is based on 2.49, but even with this problem, I'd still recommend it. The real win of this book is the way it deals with the synoptic view of the project: how to organize your project, how to break it down into manageable chunks, and even how to store it on disk. It's an excellent resource.