I am trying to get gphoto2
to work without v4l2loopback
module. I can get my camera stream to display through xvimagesink
with VA-API and all, indicating that the issue is not from gphoto2
> GStreamer pipe:
gphoto2 --stdout --capture-movie | gst-launch-1.0 fdsrc fd=0 ! jpegparse ! vaapijpegdec ! vaapipostproc ! videoconvert ! xvimagesink
However, when I tried to put the stream through pipewiresink
:
gphoto2 --stdout --capture-movie | gst-launch-1.0 fdsrc fd=0 ! jpegparse ! vaapijpegdec ! vaapipostproc ! videoconvert ! pipewiresink mode=provide stream-properties="properties,media.class=Video/Source,media.role=Camera" client-name=OMD
The command crashed immediately upon selecting the source (the device) in other apps, both in OBS and in Brave with PipeWire camera flag enabled from my testing.
I also tested pipewiresink
with videotestsrc
:
gst-launch-1.0 videotestsrc ! pipewiresink mode=provide stream-properties="properties,media.class=Video/Source,media.role=Camera" client-name=TEST
The stream turned black and white instead of the colored one.
Testing with xvimagesink
has no coloring issue:
gst-launch-1.0 videotestsrc ! xvimagesink