GLC

提供: ArchWiki
2017年10月23日 (月) 23:54時点におけるKusakata.bot (トーク | 投稿記録)による版 (文字列「Category:音声/動画」を「Category:マルチメディア」に置換)
ナビゲーションに移動 検索に移動

GLC は Linux 用の ALSA & OpenGL キャプチャツールです。汎用の動画キャプチャ、再生・処理ライブラリとツールで構成されています。GLC は ALSA を使って音声を再生し OpenGL を使って画像を描画する全てのアプリケーションをキャプチャできます。Windows における Fraps と似ています。

インストール

GLC は glcs-gitAUR パッケージでインストールできます。

ノート: GLC は ALSA でしか機能しません。PulseAudio や OSS を使用する場合、音声は別の方法で録音する必要があります。

使用方法

基本的な使い方は簡単です。デフォルトでは、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 ファイルが出来たら、通常通りにエンコードしてください。

参照