GLC
GLC は Linux 用の ALSA & OpenGL キャプチャツールです。汎用の動画キャプチャ、再生・処理ライブラリとツールで構成されています。GLC は ALSA を使って音声を再生し OpenGL を使って画像を描画する全てのアプリケーションをキャプチャできます。Windows における Fraps と似ています。
インストール
GLC は glcs-gitAUR パッケージでインストールできます。
使用方法
基本的な使い方は簡単です。デフォルトでは、GLC は .glc ファイルをカレントディレクトリに保存します。保存されたファイルは再生したりエンコードできます。以下のコマンドを実行してください:
glc-capture [application]
Shift + F8 を録画が開始・停止されます。もしくは以下のコマンドを使うことですぐに録画を開始できます:
glc-capture -s [application]
利用可能なオプションのリストを表示するには:
glc-capture --help
異なる2つのオーディオデバイス (アプリケーションとマイクなど) から録音したい場合、-a オプションを使う必要があります。例:
glc-capture -a 'hw:0,48000,1;hw:1,48000,1' [application]
-a で指定するフォーマットは device,rate,channels;device2... です。2つのオーディオストリームをミックスすることで、サンプルレートを同一にするのが簡単になります。
再生
キャプチャしたストリームを直接再生するには:
glc-play [stream file]
ESC で再生を停止し、f でフルスクリーンを切り替え、方向キーで前後に進みます。
エンコード
glc-play 以外で動画を使いたい場合、エンコードする必要があります。ffmpeg がサポートしているフォーマットなら何でも使うことができます。
以下のようにスクリプトを実行してください:
glc-encode.sh filename.glc
H.264 Ultrafast + FLAC Audio (エンコードが高速で高品質、かつファイルサイズも小さめ):
#!/bin/bash glc-play $1 -a 1 -o glc.wav glc-play $1 -o - -y 1 | ffmpeg -i - -preset ultrafast -i glc.wav -acodec flac -vcodec libx264 output.mkv rm glc.wav
上記のスクリプトを使うには ffmpeg パッケージが必要で、出力は output.mkv
ファイルに吐かれます。
Lossless (最速で、最高品質ですが、ファイルは大きくなります):
#!/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
上記のスクリプトを使うには ffmpeg パッケージが必要で、出力は output.mkv
ファイルに吐かれます。
WebM:
#!/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
上記のスクリプトを使うには vorbis-tools, ffmpeg, mkvtoolnix-cli パッケージが必要で、出力は output.webm
ファイルに吐かれます。
オーディオストリームのミックス
glc-play -i 1 filename.glc
を使用して音声トラックのリストを表示し、前のセクションのコマンドで抽出することで .wav
ファイルが取得できます。
アプリケーションが Alsa ドライバーを使用する方法によっては、無音トラックが存在する場合があるので不要なトラックは削除してください。sox を使うことでミックスできます:
sox -m -v 0.3 gamesound.wav -v 0.7 voice.wav finalaudio.wav
-m オプションでミキシングを行い、-v オプションで音声ファイルのボリュームを変更し、合計が 1 になるようにしています。
単体の .wav
ファイルが出来たら、通常通りにエンコードしてください。
参照
- https://github.com/nullkey/glc - ホームページ、wiki が存在します
- https://github.com/darkimmortal/glc - 32ビットのフロートオーディオをサポートするバージョン (wine を使用する多くの Windows ゲームが使用します)