obs-studio icon indicating copy to clipboard operation
obs-studio copied to clipboard

Pipewire web cameras inconsistent behaviour

Open v4u6h4n opened this issue 1 year ago • 3 comments

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

  1. Be unlucky like me perhaps.
  2. Add a pipewire source.
  3. Select web camera device.
  4. Select NV12.
  5. Select maximum framerate.

Anything else we should know?

No response

v4u6h4n avatar Apr 23 '24 05:04 v4u6h4n

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.

hikkamorii avatar May 23 '24 11:05 hikkamorii

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

10leej avatar Jun 02 '25 19:06 10leej

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?

v4u6h4n avatar Jun 07 '25 03:06 v4u6h4n

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.

LinuxMainframe avatar Oct 17 '25 11:10 LinuxMainframe