Skip to content

cmeissl/gst-wlr-screencopy-src

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

15 Commits
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Gstreamer plugin for wlr-screencopy

WIP

Testing locally

Software Encoding

export GST_PLUGIN_PATH="$PWD/target/debug"
gst-launch-1.0 wlrscreencopysrc display="wayland-1" ! videoconvert ! openh264enc ! openh264dec ! videoconvert ! queue ! waylandsink

Gstreamer VA-API

export GST_PLUGIN_PATH="$PWD/target/debug"
gst-launch-1.0 wlrscreencopysrc display="wayland-1" ! vaapipostproc ! vaapih264enc ! vaapih264dec ! vaapipostproc ! queue ! waylandsink

Gstreamer VA (plugins-bad)

Note: This requires as least gstreamer 1.21 which is not released, if you build from source you can override the plugin paths with:

export GST_PLUGIN_SYSTEM_PATH="/usr/local/lib64/gstreamer-1.0"
export LD_LIBRARY_PATH=/usr/local/lib64/:$LD_LIBRARY_PATH
export GST_PLUGIN_PATH="$PWD/target/debug"
gst-launch-1.0 wlrscreencopysrc display="wayland-1" ! glupload ! glcolorconvert ! gldownload ! vah264enc ! vah264dec ! vapostproc ! queue ! waylandsink

Recording

Recording ~10s from output with 60Hz

Software

gst-launch-1.0 -m wlrscreencopysrc display="wayland-1" num-buffers=600 ! videoconvert ! openh264enc ! h264parse ! mp4mux ! filesink location="record.mp4"

VA-API

gst-launch-1.0 -m wlrscreencopysrc display="wayland-1" num-buffers=600 ! vaapipostproc ! vaapih264enc ! h264parse ! mp4mux ! filesink location="record.mp4"

About

No description, website, or topics provided.

Resources

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages