I'm trying to display a video stream on a specific screen.
Right now I use the waylandsink
that has display
and fullscreen
properties so I have:
gst-launch-1.0 videotestsrc ! waylandsink display=wayland-0 fullscreen=TRUE
It works fine.
Then I check my display list using xrandr --listmonitors
and I get:
Monitors: 2
+*XWAYLAND0 1920/508x1080/286+0+0 XWAYLAND0
+XWAYLAND1 1920/508x1080/286+1920+0 XWAYLAND1
So I tried to replace wayland-0
by wayland-1
but the pipeline stops.
I'm not sure if my display name is correct or how I should obtain it (as for now I took wayland-0
and simply incremented it). Or if it is possible to do that using waylandsink
Edit: I did a lot more research (but still not enough). First I became aware that waylandsink may not be what I'm looking for. Second is I didn't understand how rendering works in Linux (and it's still not quite clear).
But I found:
- kmssink : was not able to make it work
- dfbvideosink : was not installed
- fbdevsink : Does not get 2D/3D hardware acceleration; Works fine but I have some problems (like not having another framebuffer for another display)
- glimagesink : Did not find a way to specify a display to render
I'll keep searching...