Screencast4Linuxとは?
Video4Linux互換の仮想ビデオデバイスによりLinux(X Window)上で手軽なスクリーンキャプチャを実現します.
Linuxからはあくまでビデオデバイスとして認識されているため,通常のスクリーンキャプチャの手段と違い,ustream.tvなどのPCカメラ(Webカメラ)が必要なWebサービスで自分のデスクトップを公開したり,streamer,ffmpegなどのビデオキャプチャソフトを使って,自作ソフトのデモムービーを撮影したりできます.
同様のことを可能にするフリーソフトはMac OS XではCamTwist,WindowsではManyCamがあるのですが,Linuxには無かったので自作してみました.
スクリーンショット

新着情報
2008-01-06 version 0.2:
- 出力映像へのスムージング処理を省くことによる動作の軽量化
- キャプチャ対象選択時に,ウィンドウを選択したとき,デスクトップ全体が選択されるバグを修正
- 複数のビデオデバイスがあった場合,もっともデバイス番号が大きいものを仮想デバイスとみなすように変更
2007-11-20 version 0.1:
- 新規リリース
必要なものなど
コンパイルに以下のパッケージが必要です.
Debian系Linux(Ubuntuなど)
- libx11-dev
Redhat系Linux(Vine Linuxなど)
- XFree86-devel
ダウンロード
セットアップ
配布しているアーカイブファイルを解凍してmakeを実行してください.仮想ビデオデバイス用のドライバがコンパイルされます.
動作
ドライバをコンパイルしたあとで,Shellから以下のように入力すれば,Screencast4linuxが起動します
$ ./screencast Registering driver. [sudo] password for yanbe: Starting screencast. Video resolution: 320x240 Frame rate: 10 Select source with mouse: Left Click: Window Left Drag: Rectangle area (free size) Right Click: Rectangle area (fit size to video resolution)
また,Screencast4Linuxでは以下のようにキャプチャ対象とする領域を選ぶことが出来ます.
- 適当なウィンドウの上で左クリックすると,そのウィンドウがキャプチャ対象になります.このとき,ウィンドウの大きさを変えても自動的に拡大・縮小します.
- デスクトップの適当な場所をクリックすると,デスクトップ全体がキャプチャ対象になります.
- 適当な場所でドラッグすると,デスクトップ上の矩形領域がキャプチャ対象になります.ã
- 適当な場所で右クリックすると,その場所を左上隅として,動画サイズと1:1になるような大きさの矩形領域がキャプチャ対象になります.
キャプチャ対象を決定すると直ちにキャプチャが開始されます.
この状態でustreamなどのサービスにアクセスすると,仮想デバイスが認識され,デスクトップの内容が配信出来るのが分かると思います.また,streamerなどのソフトウェアを使用して,自作のソフトウェアの仕様説明を動画として記録することもできます.
CTRL-Cを押すとキャプチャが終了し,システムから仮想ドライバをアンロードします.
Target: Point(250, 326) size: 432x350 CTRL-C to exit Frame: 4 Screencast finished. Unregistering driver.
起動オプション
screencast [WIDTH HEIGHT [FRAME_RATE]] WIDTH HEIGHT - キャプチャを行う動画のサイズ(デフォルト: 320 240, 最大: 640 480) FRAME_RATE - キャプチャを行う動画のフレームレート(デフォルト: 10)
制限など
本プログラムを起動するマシンのスペックとコマンドラインオプション次第では動画にコマ落ちが発生する場合があります
FAQ
TODO
様々な環境への対応
- ドキュメントの整備
- .debパッケージを作ってインストールしやすくする
- キャプチャ時の負荷の低減
- マウス追従モードの実装
- キャプチャ対象にウィンドウの枠を含めるかどうかを選べるようにする