Difference between revisions of "GLC"

From ArchWiki
Jump to: navigation, search
(Introduction)
(Encoding)
Line 22: Line 22:
  
 
=Encoding=
 
=Encoding=
In order to use the videos outside of glc-play, you will need to encode it. Here are two scripts that work well for encoding, one for the open source WebM format, and one for the popular H.264 format. There are endless ways to encode .glc files, and these are just two of them, so experiment with them until you get what you want.
+
In order to use the videos outside of glc-play, you will need to encode it. Here are a few example that work well for encoding. Of course, you can be creative and use any of the formats supported by ffmpeg to get your desired result (mencoder works too, I'm just not familiar with it).
  
 
For either script, run with the following context (assuming it's saved as glc-encode.sh):
 
For either script, run with the following context (assuming it's saved as glc-encode.sh):
 
  glc-encode.sh filename.glc
 
  glc-encode.sh filename.glc
  
'''H.264 Ultrafast + FLAC''': (fairly quick encoding, high quality, good filesize)
+
'''H.264 Ultrafast + FLAC Audio''': (fairly quick encoding, high quality, good filesize)
 
This script requires the following packages: ffmpeg
 
This script requires the following packages: ffmpeg
 
  #!/bin/bash
 
  #!/bin/bash

Revision as of 04:17, 9 December 2011

Introduction

GLC is an ALSA & OpenGL capture tool for Linux. It consists of a generic video capture, playback and processing library and a set of tools built around that library. GLC should be able to capture any application that uses ALSA for sound and OpenGL for drawing. It is similar to Fraps on Windows.

NOTE: GLC will only work with ALSA. If you use OSS or Pulseaudio, you will probably need to record the audio separately.

Installation

To install GLC, simply install the glc package from AUR.

If you want to record 32 bit programs such as Wine on a 64 bit system, you will also need to install lib32-glc.

Usage

The basic usage is simple. Just run this:

glc-capture [application]

Press Shift + F8 to start and stop recording. By default, it will save a (large) .glc file in your home folder. You can then play or encode it. For complete list of available options see

glc-capture --help

Playback

To play a captured stream directly, execute

glc-play [stream file]

ESC stops playback, f toggles fullscreen and Right seeks forward.

Encoding

In order to use the videos outside of glc-play, you will need to encode it. Here are a few example that work well for encoding. Of course, you can be creative and use any of the formats supported by ffmpeg to get your desired result (mencoder works too, I'm just not familiar with it).

For either script, run with the following context (assuming it's saved as glc-encode.sh):

glc-encode.sh filename.glc

H.264 Ultrafast + FLAC Audio: (fairly quick encoding, high quality, good filesize) This script requires the following packages: ffmpeg

#!/bin/bash
glc-play $1 -a 1 -o $1.wav
glc-play $1 -o - -y 1 | ffmpeg -i - -vcodec libx264 -preset ultrafast -i glc.wav -acodec flac output.mkv
rm glc.wav

It will output as output.mkv

Lossless (usually quickest, no quality loss, huge files, need plenty of HD space): This script requires the following packages: ffmpeg

#!/bin/bash
glc-play $1 -a 1 -o glc.wav
glc-play $1 -y 1 -o glc.yuv
ffmpeg -i glc.wav -i glc.yuv -acodec copy -vcodec copy output.mkv
rm glc.yuv
rm glc.wav

It will output as output.mkv

WebM: This script requires the following packages: vorbis-tools, ffmpeg, and mkvtoolnix

#!/bin/bash
glc-play $1 -a 1 -o - | oggenc - -b 128k -o glc.ogg
glc-play $1 -o - -y 1 | ffmpeg -i - -vcodec libvpx glc.webm
mkvmerge -o output.webm glc.webm glc.ogg
rm glc.ogg
rm glc.webm

It will output as output.webm

Note: Sometimes when recording WINE, the audio stream you want won't be #1, so you'll have to find out which one it is and experiment, and edit the encoding script accordingly.

External Links

  • [1] - Homepage, and they have a good wiki there as well