I can render my webcam feed to my wayland desktop if I use xvimagesink
, but if I try a waylandsink
, I get this error:
$ echo $XDG_SESSION_TYPE
wayland
$ gst-launch-1.0 \
v4l2src device=/dev/video0 \
! "video/x-raw, format=(string)NV12, width=(int)1280, height=(int)720" \
! waylandsink
WARNING: erroneous pipeline: no element "waylandsink"
Why can I create a pipeline with a xvimagesink
, but not a waylandsink
?
OS: Ubuntu 22.10
Desktop: Wayland
Compositor: gnome-shell
gstreamer: 1.20.3
Update
The plugin is not present?
$ gst-inspect-1.0 | grep sink
aasink: aasink: ASCII art video sink
aasink: aatv: aaTV effect
alsa: alsasink: Audio sink (ALSA)
app: appsink: AppSink
autodetect: autoaudiosink: Auto audio sink
autodetect: autovideosink: Auto video sink
cacasink: cacasink: A colored ASCII art video sink
cacasink: cacatv: CacaTV effect
coreelements: fakesink: Fake Sink
coreelements: fdsink: Filedescriptor Sink
coreelements: filesink: File Sink
debug: testsink: Test plugin
gdkpixbuf: gdkpixbufsink: GdkPixbuf sink
gio: giosink: GIO sink
gio: giostreamsink: GIO stream sink
jack: jackaudiosink: Audio Sink (Jack)
multifile: multifilesink: Multi-File Sink
multifile: splitmuxsink: Split Muxing Bin
opengl: glimagesink: GL Sink Bin
opengl: glimagesinkelement: OpenGL video sink
opengl: glsinkbin: GL Sink Bin
oss4: oss4sink: OSS v4 Audio Sink
ossaudio: osssink: Audio Sink (OSS)
pipewire: pipewiresink: PipeWire sink
playback: playsink: Player Sink
pulseaudio: pulsesink: PulseAudio Audio Sink
shout2: shout2send: Icecast network sink
soup: souphttpclientsink: HTTP client sink
tcp: multifdsink: Multi filedescriptor sink
tcp: multisocketsink: Multi socket sink
tcp: tcpclientsink: TCP client sink
tcp: tcpserversink: TCP server sink
udp: dynudpsink: UDP packet sender
udp: multiudpsink: UDP packet sender
udp: udpsink: UDP packet sender
vaapi: vaapisink: VA-API sink
video4linux2: v4l2sink: Video (video4linux2) Sink
ximagesink: ximagesink: Video sink
xvimagesink: xvimagesink: Video sink
With these packages:
$ dpkg --list | grep gstreamer
ii gir1.2-gstreamer-1.0:amd64 1.20.3-1 amd64 GObject introspection data for the GStreamer library
ii gstreamer1.0-alsa:amd64 1.20.3-2 amd64 GStreamer plugin for ALSA
ii gstreamer1.0-gl:amd64 1.20.3-2 amd64 GStreamer plugins for GL
ii gstreamer1.0-libav:amd64 1.20.3-1ubuntu2 amd64 ffmpeg plugin for GStreamer
ii gstreamer1.0-packagekit 1.2.5-2ubuntu2 amd64 GStreamer plugin to install codecs using PackageKit
ii gstreamer1.0-pipewire:amd64 0.3.58-2ubuntu1 amd64 GStreamer 1.0 plugin for the PipeWire multimedia server
ii gstreamer1.0-plugins-base:amd64 1.20.3-2 amd64 GStreamer plugins from the "base" set
ii gstreamer1.0-plugins-base-apps 1.20.3-2 amd64 GStreamer helper programs from the "base" set
ii gstreamer1.0-plugins-good:amd64 1.20.3-1ubuntu1 amd64 GStreamer plugins from the "good" set
ii gstreamer1.0-plugins-ugly:amd64 1.20.3-1 amd64 GStreamer plugins from the "ugly" set
ii gstreamer1.0-tools 1.20.3-1 amd64 Tools for use with GStreamer
ii gstreamer1.0-vaapi:amd64 1.20.3-1 amd64 VA-API plugins for GStreamer
ii gstreamer1.0-x:amd64 1.20.3-2 amd64 GStreamer plugins for X11 and Pango
ii libgstreamer-gl1.0-0:amd64 1.20.3-2 amd64 GStreamer GL libraries
ii libgstreamer-plugins-bad1.0-0:amd64 1.20.3-1ubuntu6 amd64 GStreamer libraries from the "bad" set
ii libgstreamer-plugins-base1.0-0:amd64 1.20.3-2 amd64 GStreamer libraries from the "base" set
ii libgstreamer-plugins-base1.0-dev 1.20.3-2 amd64 GStreamer development files for libraries from the "base" set
ii libgstreamer-plugins-good1.0-0:amd64 1.20.3-1ubuntu1 amd64 GStreamer development files for libraries from the "good" set
ii libgstreamer1.0-0:amd64 1.20.3-1 amd64 Core GStreamer libraries and elements
ii libgstreamer1.0-dev:amd64 1.20.3-1 amd64 GStreamer core development files
UPDATE2
vaapisink works as well.