web-dev-qa-db-ja.com

Gnomes3のデフォルトのデスクトップレコーダーで1つのウィンドウのみを記録する

Gnome3には優れた機能があります Ctrl-Alt-Shift-R ショートカット1。 これは イスタンブール だと思います。イスタンブールではないようです...それでもこのプログラムに関する情報は見つかりません。

マニュアルページはどこにありますか?コンソールから実行するにはどうすればよいですか?
そして最も重要なこと:1つのウィンドウだけを記録するにはどうすればよいですか( Alt+Print Screen)?

9
seler

GNOME APIドキュメントによると、gnome-Shell( Shell-recorder class )スクリーンレコーダーは基本的にすべてのスクリーンショット出力をパイプラインにパイプラインし、GStreamerによってエンコードされます。

Dconf-editorアプリケーションを使用して、org.gnome.Shell.recorderに移動できます。このスキーマには、次の3つのオプションがあります。

  • file-extension-私のボックスのデフォルトはwebmです
  • フレームレート-30まで私のボックスで間違いなく
  • パイプライン-ストリームをエンコードするために、デフォルトでGStreamervp8encへのパイプラインになります。 vp8enc min_quantizer=13 max_quantizer=13 cpu-used=5 deadline=1000000 threads=%T ! queue ! webmmux

では、コマンドラインで記録パイプラインを複製するにはどうすればよいでしょうか。これは、gstreamer-toolのgst-launchコマンドを使用して行うことができます。まず、ボックスにgst-toolsをインストールする必要があり、gstreamerで遊ぶことができます!。ここにいくつかの例があります:

webmに記録(vp8ビデオとvorbisオーディオ):

gst-launch ximagesrc ! ffmpegcolorspace ! queue ! vp8enc quality=10 speed=2 ! mux. alsasrc ! audio/x-raw-int ! queue ! audioconvert ! vorbisenc ! mux. webmmux name=mux ! filesink location=screencast.webm

Ctrl + Cを押して、録音を停止します。

ogv(theoraビデオとvorbisオーディオ)に記録:

gst-launch ximagesrc ! ffmpegcolorspace ! queue ! theoraenc ! mux. alsasrc ! audio/x-raw-int ! queue ! audioconvert ! vorbisenc ! mux. oggmux name=mux ! filesink location=screencast.ogv

Ctrl + Cを押して、録音を停止します。

パイプラインはgst-launchによって実行されます。彼らがしていることは次のとおりです。

  • Xビデオ画像(デスクトップ)を取得します
  • ビデオを許容可能な形式に自動的に変換します
  • バックグラウンドスレッド[t1]を生成して、ビデオ処理を続行します
  • [t1]ビデオをエンコードします(vp8またはtheoraのいずれかに)
  • [t1]ビデオをビデオシェル(webmまたはogg)にマージするための準備
  • オーディオ入力を生として取得します(マイク)
  • バックグラウンドスレッド[t2]を生成して、オーディオ処理を続行します
  • [t2]オーディオを許容可能な形式に自動的に変換します
  • [t2]オーディオをvorbisにエンコードします
  • [t2]オーディオをビデオシェル(webmまたはogg)にマージするための準備
  • エンコードされたオーディオとビデオをビデオファイルに書き込みます

これで、gstreamerパイプラインを恐れる必要がなくなりました。\o /

13
Trung Lê

そして最も重要なことです。どうすれば1つのウィンドウだけを記録できますか?

ウィンドウのXIDを取得できる場合は、それをximagesrcに渡すことができます。たとえば、ウィンドウの一意のタイトルがわかっている場合は、xwininfoとちょっとした魔法を使ってそれを取得できます。 bashで:

TITLE="Terminal Six"
WINDOW_XID=$(xwininfo -tree -root -all | egrep $TITLE | sed -e 's/^ *//' | cut -d\  -f1)`

これで、そのXIDをximagesrcに渡すだけで、もちろん、パイプラインを完成させることができます。

gst-launch-1.0 ximagesrc xid=$WINDOW_XID ! video/x-raw,framerate=30/1 ! videoconvert ! queue ! ...

参考までに、1.0バージョンのgstreamerを使用してこれを紹介します。 ffmpegcolorspaceはもうありません。代わりにvideoconvertを使用します(FFmpegの最新バージョンでは名前が「libav」に変更されたため、名前が変更されています)。

8
milli

Gnome 3レコーディングは、GStreamer FFmpegプラグインを使用して、ユーザーのホームの下に 。webm を出力します。

GStreamerFFmpegプラグイン

http://gstreamer.freedesktop.org/modules/gst-ffmpeg.html

そして最も重要なこと:どうすれば1つのウィンドウだけを記録できますか?

ウィンドウをフルスクリーンにズームすることはできますか?

0
Rony