ffmpeg 単体で画面キャプチャができる gdigrab

linux で言うところの x11grab が windows でも使えるようになった。

gdigrab でできること
  • 全画面取り込み
  • 取り込み解像度指定とオフセット指定
  • アプリケーション取り込み(制限多い)
  • マウス非表示、表示
  • フレームレート指定
  • 取り込み位置表示

2014年4月3日以降の ffmpeg を利用すると gdigrab が使える。

ここのバイナリは対応している:Zeranoe FFmpeg - Builds

追記 2014/04/06
別途ライブラリをインストールする必要はなく、今まで通りに configure を設定して make をすれば、gdigrab が使える。

基本コマンド
ffmpeg -f gdigrab -draw_mouse 1 -show_region 1 -framerate 30 -video_size 640x360 -offset_x 10 -offset_y 20 -i desktop -pix_fmt yuv420p out.mp4

  • draw_mouse
    マウスを表示するかどうか。規定値は 1、0 で非表示
  • framerate
    フレームレート指定。規定値は ntsc の 30000/1001
  • show_region
    取り込み範囲の表示。規定値は 1、0 で非表示
  • video_size
    取り込み解像度。規定値はフル画面。コーデックによっては奇数の解像度を取り込めない。
  • offset_x
    横軸のオフセット値。規定値は 0
  • offset_y
    縦軸のオフセット値。規定値は 0

単なる画面キャプチャなら取り込み位置を指定すればよいが、アプリケーションを取り込む場合はたいていの場合うまく取り込めない。タスクマネージャーのアプリケーション名を指定すると読み込めるが、日本語や多くの半角英数字のデバイスは読み込めない(と思う)。取り込めたとしても画面サイズが変わると動的にリサイズしない。表示が隠れると上に表示されているものか、黒塗りに変わる。そのほかの注意点は出力解像度はアプリケーションの解像度よりも大きくしないこと。

アプリケーション名(hoge)で取り込むコマンド
ffmpeg -f gdigrab -draw_mouse 1 -show_region 1 -framerate 30 -video_size 640x360 -offset_x 10 -offset_y 20 -i "title=hoge" -pix_fmt yuv420p out.mp4

これを試すには半角英数字のフォルダを作ってそれの名前を指定するとうまく読み込んでくれる。また一部アプリケーションでオーバーレイを切らないと映像が映らないかもしれない。

SCFF も同時に取り込み、左右に並べ、2番目に取り込んだ SCFF に unsharp フィルタを掛ける例
ffmpeg -f gdigrab -draw_mouse 1 -show_region 1 -framerate 30 -video_size 640x360 -offset_x 10 -offset_y 20 -i desktop -f dshow -i video="SCFF DirectShow Filter" -filter_complex [0:0]pad=2*iw[A];[1:0]unsharp[B];[A][B]overlay=w -pix_fmt yuv420p -y out.mp4

この gdigrab と FFTsServer を使えば、ローカルネットワーク内に画面を共有することや、動画や音声を共有することもできる。

関連記事


Add Win32 GDI-based screen grabbing · 08909fb · FFmpeg/FFmpeg · GitHub
FFmpeg documentation : : gdigrab
ローカルネットワーク内で映像や音声を配信できる FFTsServer
関連記事

この記事へのコメント

管理人のみ通知 :

トラックバック


ニコニコチャンネル始めました
ニコラボチャンネル
スポンサード リンク
新着記事と追記・編集記事
スポンサード リンク
ブログ内検索
プロフィール

Author:ロベルト
お問い合わせはこちらまで
robelt2525[at]gmail.com

中の人 @nico_lab
ブログ更新用 @blo_nico_lab

詳しいプロフィールはこちら

カテゴリ
アクセスの多い記事
記事アーカイブ

最新コメント
リンク
ニコニコ静画
アニメカテゴリ毎時ランキング
免責事項
当ブログはリンクフリーです。記事によりトラブルが生じた場合でも、当ブログ管理人は一切の責任を負いません。 当ブログに記載されている情報の正誤や利用は、ご自身の判断でお願いします。 紹介したアプリケーションに関する問い合わせは作者に問い合わせてください。ニコニコ動画に関する質問はまずは公式掲示板、2ch、各Q&Aサイトを参照ください。
ブログの読者になる(RSS)
アクセス数