User:Opensource Obscure/GLC

From Second Life Wiki
Jump to navigation Jump to search

I get good results when taking Second Life videos on Linux. I use GLC for recording, so I wrote this page with some general tips about recording videos in Second Life and some specific GLC instructions. Resulting videos can be seen on my YouTube channel.

Reference website

Installing GLC

Installation instructions for various Linux platforms: https://github.com/nullkey/glc/wiki/Install

For a system-wide installation:

  • run glc-build.sh as root
  • answer "/usr" when asked for installation location

How to use GLC

GLC doesn't have a graphical user interface: it uses SHIFT F8 and SHIFT F9 shortcuts. Be sure these shortcuts are available on your system, eg they aren't already in use. GLC will start recording when you press SHIFT F8. Same shortcut to stop recording. Press SHIFT F8 again to resume recording: this way, new footage is added / queued to previous footage in a single file. If instead you want to create additional separate recording files, use SHIFT F9.

GLC, Second Life and Linux

GLC only records when you use the shortcuts as described above, but it runs in background from the moment you start your Second Life viewer. You can't start GLC if you're already running the application you want to record. To manage this, I created a simple Bash script. I'm not an expert but feel free to ask me about it, if the following instructions aren't clear.

A Bash script is just a text file (see below) which is made executable. I name it "slviewer" and I put it in /usr/bin/ directory so I can simply type 'slviewer' from the command line to run the viewer.

The script runs GLC with some options, which include the location where to save the recording files and how to call them. It also includes the complete path to the viewer to be run, with its additional parameters.

I also add a custom item to my Applications menu, where I write 'slviewer' in the "Command:" field. This makes fast and easy to run a viewer while GLC is ready to record.

By creating additional scripts I can use different settings for GLC, or run different viewers, or run the same viewer with different settings. I add icons for those scripts to my Applications menu, as said before.

#!/bin/bash

/usr/bin/glc-capture \
--fps=15 --resize=1.0 --disable-audio \
--out=/PATH/TO/YOUR/VIDEOS/SL-%year%-%month%-%day%-%hour%-%min%-%sec%.glc \
/PATH/TO/YOUR/SECONDLIFE/VIEWER \
--set AllowMultipleViewers TRUE --set Language it 

Notes:

  • The script is basically a single command: instead of a single line, I broke it down into multiple lines separated by "\" for clarity.
  • 15 FPS may sound low, and feel free to raise this setting. Anyway the videos I create with these settings look smooth enough, and I think that by limiting the GLC recording framerate I also limit the overall system load, so that more resources are available to the SL viewer. (is this clear?)
  • yes, the "--resize" option is redundant when set to 1.0, but I added it for clarity. On-the-fly resizing adds computing load on the system, so I avoid to do it when recording. I use to set my SL viewer window size to 1280x720 pixels, which is an ideal size for digital videos. I suggest you to do the same if you don't know what you're doing. You can always resize your recording later as needed. If you use this option, know that 0.5 is said to be more resource efficient than other values.
  • I don't need to record my audio. You may want to remove the "--disable-audio" GLC option if there are interesting sounds or music in the Second Life scene you're going to record. If not, I'd suggest you to disable audio recording in order to spare system resources. You may add a good soundtrack later (I do this directly on YouTube, after the upload, thanks to its AudioSwap feature; Nine Inch Nails ftw).
  • Be sure to replace the two "/PATH/TO/YOUR" occurrences with appropriate paths in your local filesystem.
  • I never tried to record Voice, which is handled by a different application than the viewer, so I'm not sure how that works.

Encoding .glc files

GLC natively generates .glc files, which have huge size and aren't supported by normal players or online services, so they need to be encoded into a more useful format. I'm currently using this script, thanks to Torrid Luna.

Performances and video smoothness

As you can see, I always try to limit the system load everywhere I can. The underlying rationale is that this allows more room to raise graphical features in the Second Life viewer, while keeping a decent framerate. For the same reason, I disable some viewers features if I don't need them when recording, like Media, Voice and rendering of Water and Trees. I also close all the other applications running in my system like (web browser, media players, etc.).