Pipewire web cameras inconsistent behaviour
Operating System Info
Other
Other OS
Arch
OBS Studio Version
30.1.2
OBS Studio Version (Other)
No response
OBS Studio Log URL
https://obsproject.com/logs/h2MB5ydM1lkRVEyr
OBS Studio Crash Log URL
No response
Expected Behavior
To work without toggle settings on and off.
Current Behavior
Currently I can get the web camera to work via pipewire, but I had to restart OBS several times for it to detect any cameras, then when it did, I had to toggle back and forth between framerates in NV12 for a few minutes to get it to work at 30 fps.
Steps to Reproduce
- Be unlucky like me perhaps.
- Add a pipewire source.
- Select web camera device.
- Select NV12.
- Select maximum framerate.
Anything else we should know?
No response
I have similar issues with my capture card not always initializing. On Windows you have an option of deactivating and reactivating camera, effectively resetting it, would be nice to have that mechanism on Linux too.
Using the OBS flatpak from flathub v31.0.3
Camera is working perfectly fine with UVC compliant video devices however video capture seems to be jerky or maybe it's freezing? Not sure if this should be a seperate issue or not
With the latest update i can see my webcam now. But its stuck at 5fps and very low res. It's listed as a v4l2 device. Just curious if there are additional dependencies I should have installed or uninstalled to get this working?
With the latest update i can see my webcam now. But its stuck at 5fps and very low res. It's listed as a v4l2 device. Just curious if there are additional dependencies I should have installed or uninstalled to get this working?
My workaround for cams is to use ffmpeg to pipe into a v4l2loopback device, and then use v4l2 input device and select which one. It supports all main encodings for webcams, whether they are hardwired or IP/PoE cams. Also, you can really mess around with ffmpeg flags to get it to be stable.
Just set up a dummy video device (/dev/videoX, where X is some number) and pipe it via ffmpeg.
Hope it helps.