How to Make a Game Trailer with Linux Tools
This week I tried out tools to capture gameplay footage and edit that footage into a beta release trailer. I’ll begin with the setup I wound up using to cut the trailer, and then give a brief overview of problems I encountered in other tools.
To get an idea of what I was creating, the trailer can be found here.
Everything was recorded and edited in Ubuntu 12.10. ffmpeg captured 10 minutes of gameplay footage. OpenShot was used to slice and organize the clips. Inkscape was used to create the white-on-black text overlays. The GIMP was used to grab the header from the Aigilas website(http://www.aigilas.net) to use as a title. Audacity was used to capture and then mix input from a Jasmine S38 guitar for the music.
I took this opportunity to familiarize myself with some alternative workflows. I already know tools on Mac and Windows to achieve the task of cutting this trailer, but I wanted to see if the offerings on Linux would prove to be more productive.
The first task was testing out ways to capture some gameplay footage. recordmydesktop was the gold standard for creating screencasts in the past, so I started there. Videos were easy to capture, but the framerate stuttered and there was artifacting in the footage. It made the game look terrible. This same problem plagued another recommended application, Istanbul. After combing through forums it was apparent that ffmpeg might be exactly what I needed. Setting frame rate, resolution, and compression were each a single command line argument. A threw together a one-liner bash script to capture video without any audio, which can be found here.
Next, I went about editing that footage. I had been running the latest KDE as my dev environment, so kdenlive was where I started. It immediately crashed during launch. Since it wouldn’t open, I jumped into Unity and tried out the GTK offerings. First up was Pitivi. I threw the 10 minute video onto the timeline, and noticed that scrubbing has noticeable lag. After a few YouTube videos and forum posts, it was revealed that Blender has a video sequencing mode. The same test was applied in Blender as was applied in Pitivi, with the same results. More walking down the rabbit hole revealed OpenShot. Fifteen minutes of playing around felt very natural, but there was some serious bugs.
OpenShot cannot remember where the project file should save. It always writes it to my home directory. That means I needed to manually copy the project file everytime I needed another backup. It also has the annoying habit of horizontally locking a clip. I often had to delete a clip, and then undo the delete, in order to make it possible to move any clips forward or backward on the timeline.
Those problems were only minor annoyances, because OpenShot’s usability is a cut above the rest. I didn’t need to watch a half hour walkthrough to get up and running. Everything is right where you expect it to be, and the included Help section clearly explains every function.
I was at first a little put off by the workflow of adding some text to OpenShot. Each post I found recommended that you generate a bitmap image externally and import that file. I wanted OpenShot to provide that functionality internally. However, I quickly warmed up to using Inkscape to handle the text style and position. It felt like OpenShot and Inkscape were each doing their one job well. The major boon for me on Linux is having mulitple virtual workspaces that are easily configured. That lowered the barrier of context switching between two programs to get this job done.
With the video edited and sequenced and the text/audio in place I used the GIMP to chop up a screenshot from the Aigilas website(http://www.aigilas.net). Why did I use the GIMP? Because I worked with it extensively during the Daily Sketch project.
I love to play with new tools and discover more efficient workflows. Even with the need to manually backup my project files, I think OpenShot will prove the test of time as my goto video editing tool. I plan on cutting another video this upcoming week. That will be the real test of efficiency, because I spent most of my time getting used to a new workflow this week.
Side note, these are my hardware specs.
Want to chat? Throw a comment on this Reddit post or shoot me a tweet @XBigTK13X.