Gstreamer(3)

スクリーンキャプチャしてみます。

スクリーンキャプチャ

 ximagesrc を使うとスクリーンキャプチャができるようです。

$ st-launch-1.0 -v ximagesrc ! \ video/x-raw,framerate=15/1 ! videoconvert ! \ queue ! omxh264enc ! h264parse ! \ mpegtsmux ! filesink location=desktop_.ts

 メッセージが出ましたが取り込みはできました。フレームレートは 30fps にしてもあまり変わらないようなので、15fps で十分なようです。

ウインドウキャプチャ

 Window ID を指定すると、ウィンドウのキャプチャもできるようです。xwininfo コマンドで Window ID を取得して、取り込みます。コマンドを動かしたら、調べたいウィンドウをクリックします。

$ xwininfo xwininfo: Please select the window about which you would like information by clicking the mouse in that window. xwininfo: Window id: 0x2c00003 “pi@retropie: ~" Absolute upper-left X: 465 Absolute upper-left Y: 273 Relative upper-left X: 2 Relative upper-left Y: 30 Width: 815 Height: 489 Depth: 24 Visual: 0x258 Visual Class: TrueColor Border width: 0 Class: InputOutput Colormap: 0x2c00002 (installed) Bit Gravity State: NorthWestGravity Window Gravity State: NorthWestGravity Backing Store State: NotUseful Save Under State: no Map State: IsViewable Override Redirect State: no Corners: +465+273 -0+273 -0-38 +465-38 -geometry 815×489–2-36

0x2c00003 が Window ID になります。取り込んでみます。

$ gst-launch-1.0 ximagesrc xid=0x2c00003 use-damage=false ! \ video/x-raw,framerate=15/1 ! videoconvert ! autovideosink

表示されました。対象となるウィンドウが隠れていても取り込みできるようです。

Gstreamer

Posted by sirius