Closed tovrstra closed 1 month ago
The following work:
Using v4l2loopback with gstreamer, e.g. using the following pair of commands:
gst-launch-1.0 videotestsrc ! v4l2sink device=/dev/video42
gst-launch-1.0 v4l2src device=/dev/video42 ! videoconvert ! xvimagesink
Using uxplay with another sink works, e.g.:
uxplay -vs "autovideosink" -p
I'm running this test on Fedora 40, for which I've rebuilt the RPM package to be able to install uxplay 1.69.
My gstreamer version is gstreamer1-1.24.8-1.fc40.x86_64
.
We have never tested with "-vs v4l2sink". https://gstreamer.freedesktop.org/documentation/video4linux2/v4l2sink.html?gi-language=c
why do you use it? what sort of device is the v4l2 output device at /dev/video42?
(Usually uxplay outputs video to a monitor screen)
I suppose you are trying to capture a video stream to retransmit it or something?
If you need to edit the gstreamer pipeline, modify it in /lib/video/renderer_gstreamer.c
Let us know if you develop some useful new use case for uxplay.
we are not planning to support v4l2sink as a videosink option, but if you feel there is a good use case for it, please let us know.
I'm sure you will be able to work out what causes the segfault. Let us know if it is something that can be fixed in uxplay itself, as opposed to GStreamer. Maybe it is just that you did not get the correct pipeline set up.
closing, but feel free to add more info or reopen.
I'd like to use the mirrored IPad as an input in obs-studio. Currently, I'm using xvimagesink
, put it to full screen and then capture with pipewire, which is a bit clumsy and not giving the right resolution. A more direct route is to let UxPlay stream to a v4l2loopback device and use that lookback device as input in obs-studio. This involves no rescaling, no rendering overhead and introduces no redundant black borders. I'm not sure if there are other options to get the output of UxPlay directly into obs-studio without first showing it on screen? (The reason for obs-studio is the convenient of switching between slides on the tablet, video demonstrations, quizzes while teaching.)
My current schedule is a bit dense, so testing will be for later. In any case, thank you for providing all the suggestions. These should help me to figure out what is going wrong.
Pipe wire comes with a gstreamer plugin, I wonder if you can directly pipe to that
what kind of output? is it video without audio ? what format is obs-studio expecting?
sound like you are trying to use the obs-gstreamer plugin?
unfortunately, "obs-gstreamer" is not part of gstreamer, it seems to be an add-on to obs-studio that runs its own gstreamer process.
obs-gstreamer seems to provide a videosink and an audiosink; ideally there ought to be gstreamer plugins built with names like obs_videosink and obs_audiosink that treat a running obs-studio as an output device that can supply information about what types of audio/video it accepts, but I dont think that is what the author of obs-gstreamer has done (?).
I didn't know that pipewire does video too... https://www.youtube.com/watch?v=LUbF-d77lAs
Wheb I run:
I get this output: