Sample Header Ad - 728x90

Unix & Linux Stack Exchange

Q&A for users of Linux, FreeBSD and other Unix-like operating systems

Latest Questions

1 votes
1 answers
2742 views
v4l2loopback: Virtual camera exists, but doesn't show up in Zoom, and doesn't work in Cheese
I have successfully set up the virtual camera in OBS: sudo apt install obs-studio v4l2loopback-dkms sudo usermod -aG video myuser The following versions are installed: v4l2loopback-dkms 0.12.5-1 obs-studio 26.1.2+dfsg1-1~ubuntu20.10.1~ppa1 Kernel: 5.11.0-11-lowlatency After a reboot, the virtual cam...
I have successfully set up the virtual camera in OBS: sudo apt install obs-studio v4l2loopback-dkms sudo usermod -aG video myuser The following versions are installed: v4l2loopback-dkms 0.12.5-1 obs-studio 26.1.2+dfsg1-1~ubuntu20.10.1~ppa1 Kernel: 5.11.0-11-lowlatency After a reboot, the virtual camera button and settings are showing up in OBS, and clicking the start button creates the following CLI output: info: Virtual camera started info: ==== Virtual Camera Start ========================================== It also seems to work according to v4l2-ctl: $ v4l2-ctl --list-devices OBS Virtual Camera (platform:v4l2loopback-000): /dev/video6 USB 2.0 Camera: USB 2.0 Camera (usb-0000:00:14.0-4.2): /dev/video4 /dev/video5 /dev/media2 Integrated_Webcam_HD: Integrate (usb-0000:00:14.0-6): /dev/video0 /dev/video1 /dev/video2 /dev/video3 /dev/media0 /dev/media1 After changing the refresh rate in OBS -> Settings -> Video to **30 fps**, the virtual camera also shows up in **Cheese**, but selecting it there, Cheese can not use it and displays an error There was an error playing video from the webcam. Cheese does not create any CLI output. In **Zoom**, the virtual camera does not show up in the selection menu at all. I also experimented with different **color format** settings in OBS -> Settings -> Advanced, but to no avail, it doesn't affect the outcome. Any idea what could be a reason? [Update:] The virtual camera works when using VLC. This to me indicates a problem with the output format. However, I have tested all possible output resolutions, frame rates, and color formats offered by OBS, and none work with Cheese or Zoom.
knipknap (111 rep)
Apr 11, 2021, 10:08 AM • Last activity: Jun 17, 2025, 01:10 AM
1 votes
1 answers
2327 views
What is "New Virtual Output" in kde screen share (portal) dialog?
In kde wayland when you choose the pipewire source in obs, you get the Desktop Portal dialog that allows you to choose one of your screens or a "Full Workspace". But also there is an option "New Virtual Output". [![enter image description here][1]][1] When I choose it, in system settings in Monitors...
In kde wayland when you choose the pipewire source in obs, you get the Desktop Portal dialog that allows you to choose one of your screens or a "Full Workspace". But also there is an option "New Virtual Output". enter image description here When I choose it, in system settings in Monitors I see another screen appeared with no name. enter image description here What is a purpose of it? How it is intended to be used?
Ashark (1069 rep)
Jul 20, 2022, 08:44 PM • Last activity: May 16, 2025, 06:00 AM
1 votes
0 answers
308 views
OBS Studio Virtual Camera: Failed to start streaming on '/dev/video2'
Distribution: Arch Linux OBS Version: 31.0.3 Kernel Version: 6.14.2-arch1-1 v4l2loopback-utils Version: 0.14.0-1 vulkan-radeon Version: 25.0.3-1 ``` > v4l2-ctl --list-devices OBS Virtual Camera (platform:v4l2loopback-000): /dev/video2 Laptop Camera: Laptop Camera (usb-0000:c4:00.4-1): /dev/video0 /d...
Distribution: Arch Linux OBS Version: 31.0.3 Kernel Version: 6.14.2-arch1-1 v4l2loopback-utils Version: 0.14.0-1 vulkan-radeon Version: 25.0.3-1
> v4l2-ctl --list-devices
OBS Virtual Camera (platform:v4l2loopback-000):
    /dev/video2

Laptop Camera: Laptop Camera (usb-0000:c4:00.4-1):
    /dev/video0
    /dev/video1
    /dev/media0
When I click "Start Virtual Camera" on OBS Studio I get the "Failed to start virtual camera" error. Checking the logs, I see "Failed to start streaming on '/dev/video2' (Invalid argument)." I tried downgrading to 0.13.2-1.
> sudo downgrade v4l2loopback-dkms
> sudo downgrade v4l2loopback-utils
> sudo rmmod -f v4l2loopback
> sudo modprobe v4l2loopback
I could start the Virtual Camera, but Google Meet and other conferencing software could not detect my virtual camera anymore. also some other programs need v4l2 so I can no longer keep it in the downgraded state. Are there any fixes other than waiting for OBS to correct their code?
Hyunbin Yoo (175 rep)
Apr 16, 2025, 06:48 PM • Last activity: Apr 18, 2025, 05:36 PM
0 votes
1 answers
340 views
Using OBS with Virtual Camera on Debian Bookworm
I just installed OBS on Debian Bookworm and two things became apparent immediately: 1. "Screen Capture" only outputs a black screen. 2. There is no button under "Controls" for starting the virtual camera. How can OBS be made usable? [![OBS issues][1]][1] [1]: https://i.sstatic.net/MBlQauOp.png
I just installed OBS on Debian Bookworm and two things became apparent immediately: 1. "Screen Capture" only outputs a black screen. 2. There is no button under "Controls" for starting the virtual camera. How can OBS be made usable? OBS issues
Wilfred Montoya (173 rep)
Aug 18, 2024, 04:45 AM • Last activity: Sep 13, 2024, 06:48 AM
3 votes
1 answers
10142 views
How to best install v4l2loopback on Linux Mint?
I am trying to create a virtual webcam from OBS(26.1.1) so I can feed it to Zoom. I am Linux Mint 20.1 Cinnamon, version 4.8.6, Kernel 5.4.0-64-generic. I did: sudo apt-get install v4l2loopback-dkms sudo apt-get install v4l2loopback-utils but v4l2loopback is not showing up as an option in zoom I wen...
I am trying to create a virtual webcam from OBS(26.1.1) so I can feed it to Zoom. I am Linux Mint 20.1 Cinnamon, version 4.8.6, Kernel 5.4.0-64-generic. I did: sudo apt-get install v4l2loopback-dkms sudo apt-get install v4l2loopback-utils but v4l2loopback is not showing up as an option in zoom I went to the v4l2loopback github page, where it suggested I should build it from scratch and install it into my kernel. I tried to build from scratch and immediately ran into problems with the make command. make -C /lib/modules/uname -r/build M=/home/berggren/Downloads/v4l2loopback-main modules make: Entering directory '/usr/src/linux-headers-5.4.0-64-generic' Building modules, stage 2. MODPOST 1 modules make: Leaving directory '/usr/src/linux-headers-5.4.0-64-generic' make -C utils make: Entering directory '/home/berggren/Downloads/v4l2loopback-main/utils' cc -I.. v4l2loopback-ctl.c -o v4l2loopback-ctl v4l2loopback-ctl.c:1:10: fatal error: sys/types.h: No such file or directory 1 | #include | ^~~~~~~~~~~~~ compilation terminated. make: *** [: v4l2loopback-ctl] Error 1 make: Leaving directory '/home/berggren/Downloads/v4l2loopback-main/utils' make: *** [Makefile:85: utils/v4l2loopback-ctl] Error 2 I didn't go further because I wasn't sure I was going in the right direction with that. Could someone explain the correct procedure for installing v4l2loopback?
Karl Berggren (43 rep)
Feb 20, 2021, 02:51 PM • Last activity: Jun 13, 2024, 08:56 AM
1 votes
1 answers
1021 views
Using OBS studio on Sway with Pipewire
I am on Debian 12 / SWAY desktop which is WLR based. **** I first install the *"OBS Studio"* version `29.0` with: ``` ┌───┐ │ $ │ ziga > ziga--workstation > ~ └─┬─┘ /dev/pts/4 └─> sudo apt install obs-studio ``` *"OBS Studio"* can now be started with terminal command: ``` ┌───┐ │ $ │ ziga > ziga--wo...
I am on Debian 12 / SWAY desktop which is WLR based. **** I first install the *"OBS Studio"* version 29.0 with:
┌───┐
│ $ │ ziga > ziga--workstation > ~ 
└─┬─┘ /dev/pts/4
  └─> sudo apt install obs-studio
*"OBS Studio"* can now be started with terminal command:
┌───┐
│ $ │ ziga > ziga--workstation > ~ 
└─┬─┘ /dev/pts/4
  └─> obs
If *"OBS Studio"* is configured to run on *"Xorg"* by default we will not see our display! If this is the case we can still force it to run on *"Wayland"* like this:
┌───┐
│ $ │ ziga > ziga--workstation > ~ 
└─┬─┘ /dev/pts/4
  └─> env QT_QPA_PLATFORM=wayland obs
Now it is surely using *"Wayland"* but this is still not enough for it to detect the desktop! I tried installing packages:
┌───┐
│ $ │ ziga > ziga--workstation > ~ 
└─┬─┘ /dev/pts/0
  └─> sudo apt install xdg-desktop-portal xdg-desktop-portal-wlr
> **Attention:** > *"Sway"* is based on *"WLR"* and therefore we installed xdg-desktop-portal-wlr *"portal"* implementation for xdg-desktop-portal. Different *"portal"* implementations exist and should be installed for different desktops. Debian supports *"portals"* for *"KDE"* (xdg-desktop-portal-kde), *"GTK"* (xdg-desktop-portal-gtk) or *"Gnome"* (xdg-desktop-portal-gnome). I tested and made a conclusion that it does not matter which *"Pipewire session manager"* is used. By default people use pipewire-media-session but I use wireplumber which deprecates pipewire-media-session ([link](https://wiki.archlinux.org/title/PipeWire#Session_manager)) . At this point I get no screens shown in *"OBS Studio"*! But I am able to record my screen and microphone using a simple CLI video recorder like this:
┌───┐
│ $ │ ziga > ziga--workstation > ~ 
└─┬─┘ /dev/pts/0
  └─> sudo apt install wl-recorder
┌───┐
│ $ │ ziga > ziga--workstation > ~ 
└─┬─┘ /dev/pts/0
  └─> pw-jack wf-recorder -a
And this works like a charm... It is just *"OBS Studio"* that fails to work...
71GA (1296 rep)
Mar 18, 2024, 10:22 PM • Last activity: Mar 29, 2024, 08:11 AM
2 votes
1 answers
436 views
How do you configure a V4L2 device when V4L2 software cannot read a V4L2 stream directly, because they give IO errors?
I'm trying to capture video from an [Elikliv UVC microscope][1] in Linux. We can do direct frame-by-frame capture using this command: ```sh v4l2-ctl --device /dev/video0 --stream-mmap --stream-to=stream.mjpg ``` ... and I can see it live using this big crazy command: ```sh v4l2-ctl --device /dev/vid...
I'm trying to capture video from an Elikliv UVC microscope in Linux. We can do direct frame-by-frame capture using this command:
v4l2-ctl --device /dev/video0 --stream-mmap --stream-to=stream.mjpg
... and I can see it live using this big crazy command:
v4l2-ctl --device /dev/video0 --stream-mmap --stream-to=/proc/self/fd/1 | \
  ffmpeg -i - -fflags discardcorrupt -c:v copy -f matroska - | \
  mpv --profile=low-latency -
..but I can't get it to work directly with V4L2-aware software (ie, MPV, VLC, OBS) without the help of v4l2-ctl to stream it into ffmpeg and then mpv. ## **Question:** Is there a way I can tell configure the V4L2 device to work in a "normal" way, directly from /dev/video0, without a big crazy pipe? ## MPV says
# mpv /dev/video0
[lavf] avformat_open_input() failed
Failed to recognize file format.
## VLC says
Your input can't be opened:
VLC is unable to open the MRL 'v4l2:///dev/video0'. Check the log for details.
[00007efbdc001120] v4l2 demux error: cannot set format: Input/output error
[00007efbdc001120] v4l2 demux error: not a radio tuner device
[00007efbdc003710] v4l2 stream error: cannot set format: Input/output error
## Other misc info:
# dmesg
[  +0.078764] usb 1-4.3: New USB device found, idVendor=05e3, idProduct=f12b, bcdDevice= 1.00
[  +0.000019] usb 1-4.3: New USB device strings: Mfr=1, Product=2, SerialNumber=0
[  +0.000008] usb 1-4.3: Product: GENERAL - UVC
[  +0.000006] usb 1-4.3: Manufacturer: GENERAL
[  +0.002536] usb 1-4.3: Found UVC 1.00 device GENERAL - UVC  (05e3:f12b)
[  +0.000287] usb 1-4.3: UVC non compliance - GET_DEF(PROBE) not supported. Enabling workaround.
[  +5.549774] retire_capture_urb: 233 callbacks suppressed
[  +5.000996] retire_capture_urb: 4991 callbacks suppressed
[  +5.000956] retire_capture_urb: 4991 callbacks suppressed
[  +5.001062] retire_capture_urb: 4991 callbacks suppressed
...  ...
[  +3.438372] uvcvideo 1-4.3:1.1: Failed to query (130) UVC probe control : -32 (exp. 26).


# v4l2-ctl --list-devices
GENERAL - UVC : GENERAL - UVC  (usb-0000:00:14.0-4.3):
    /dev/video0
    /dev/video1
    /dev/media0

# v4l2-ctl --list-formats -d /dev/video0
ioctl: VIDIOC_ENUM_FMT
    Type: Video Capture


# v4l2-ctl --list-formats -d /dev/video1
ioctl: VIDIOC_ENUM_FMT
    Type: Video Capture

# v4l2-ctl --list-formats -d /dev/media0
Unable to detect what device /dev/media0 is, exiting.

# v4l2-ctl -D -d /dev/video0
Driver Info:
    Driver name      : uvcvideo
    Card type        : GENERAL - UVC : GENERAL - UVC
    Bus info         : usb-0000:00:14.0-4.3
    Driver version   : 6.7.6
    Capabilities     : 0x84a00001
        Video Capture
        Metadata Capture
        Streaming
        Extended Pix Format
        Device Capabilities
    Device Caps      : 0x04200001
        Video Capture
        Streaming
        Extended Pix Format
Media Driver Info:
    Driver name      : uvcvideo
    Model            : GENERAL - UVC : GENERAL - UVC
    Serial           :
    Bus info         : usb-0000:00:14.0-4.3
    Media version    : 6.7.6
    Hardware revision: 0x00000100 (256)
    Driver version   : 6.7.6
Interface Info:
    ID               : 0x03000002
    Type             : V4L Video
Entity Info:
    ID               : 0x00000001 (1)
    Name             : GENERAL - UVC : GENERAL - UVC
    Function         : V4L2 I/O
    Flags         : default
    Pad 0x01000007   : 0: Sink
      Link 0x02000010: from remote pad 0x100000a of entity 'Processing 5': Data, Enabled, Immutable

# v4l2-ctl -D -d /dev/video1
Driver Info:
    Driver name      : uvcvideo
    Card type        : GENERAL - UVC : GENERAL - UVC
    Bus info         : usb-0000:00:14.0-4.3
    Driver version   : 6.7.6
    Capabilities     : 0x84a00001
        Video Capture
        Metadata Capture
        Streaming
        Extended Pix Format
        Device Capabilities
    Device Caps      : 0x04a00000
        Metadata Capture
        Streaming
        Extended Pix Format
Media Driver Info:
    Driver name      : uvcvideo
    Model            : GENERAL - UVC : GENERAL - UVC
    Serial           :
    Bus info         : usb-0000:00:14.0-4.3
    Media version    : 6.7.6
    Hardware revision: 0x00000100 (256)
    Driver version   : 6.7.6
Interface Info:
    ID               : 0x03000005
    Type             : V4L Video
Entity Info:
    ID               : 0x00000004 (4)
    Name             : GENERAL - UVC : GENERAL - UVC
    Function         : V4L2 I/O
## MPV Verbose output:
# mpv av://v4l2:/dev/video0 --profile=low-latency --untimed --demuxer-lavf-o=video_size=1280x720,input_format=mjpeg -v -v 
[cplayer] Command line options: 'av://v4l2:/dev/video0' '--profile=low-latency' '--untimed' '--demuxer-lavf-o=video_size=1280x720,input_format=mjpeg' '-v' '-v'
[cplayer] mpv 0.35.1 Copyright © 2000-2023 mpv/MPlayer/mplayer2 projects
[cplayer]  built on UNKNOWN
[cplayer] FFmpeg library versions:
[cplayer]    libavutil       57.28.100
[cplayer]    libavcodec      59.37.100
[cplayer]    libavformat     59.27.100
[cplayer]    libswscale      6.7.100
[cplayer]    libavfilter     8.44.100
[cplayer]    libswresample   4.7.100
[cplayer] FFmpeg version: 5.1.3
[cplayer] 
[cplayer] Configuration: /usr/bin/waf configure --prefix=/usr --bindir=/usr/bin --libdir=/usr/lib64 --mandir=/usr/share/man --docdir=/usr/share/doc/mpv --confdir=/etc/mpv --disable-build-date --enable-libmpv-shared --enable-sdl2 --enable-libarchive --enable-dvdnav --enable-cdda --enable-html-build --enable-dvbin --enable-gl-x11 --enable-wayland
[cplayer] List of enabled features: alsa asm av-channel-layout caca cdda cplayer cplugins cuda-hwaccel cuda-interop debug-build dmabuf-interop-gl dmabuf-interop-pl dmabuf-wayland drm drm-is-kms dvbin dvdnav egl egl-drm egl-helpers egl-x11 ffmpeg ffnvcodec gbm gbm.h gl gl-wayland gl-x11 glibc-thread-name glob glob-posix gpl iconv jack javascript jpeg jpegxl lcms2 libarchive libass libavdevice libbluray libdl libm libmpv-shared libplacebo librt linux-fstatfs linux-input-event-codes lua lua_5_1 memfd_create optimize pipewire plain-gl posix posix-or-mingw pthreads pulse rubberband rubberband-3 sdl2 sdl2-audio sdl2-gamepad sdl2-video shaderc shaderc-shared stdatomic uchardet vaapi vaapi-drm vaapi-egl vaapi-libplacebo vaapi-wayland vaapi-x-egl vaapi-x11 vapoursynth vdpau vdpau-gl-x11 vector vt.h vulkan wayland wayland-protocols wayland-protocols-1-24 x11 xv zimg zlib
[global] config path: '' -> '/root/.config/mpv'
[global] user path: '~~home/' -> '/root/.config/mpv'
[global] user path: '~~old_home/' -> '/root/.mpv'
[global] config path: 'encoding-profiles.conf' -/-> '/root/.config/mpv/encoding-profiles.conf'
[global] config path: 'encoding-profiles.conf' -/-> '/root/.mpv/encoding-profiles.conf'
[global] config path: 'encoding-profiles.conf' -> '/etc/mpv/encoding-profiles.conf'
[cplayer] Reading config file /etc/mpv/encoding-profiles.conf
[cplayer] Applying profile 'default'...
[global] config path: 'mpv.conf' -/-> '/root/.config/mpv/mpv.conf'
[global] config path: 'config' -/-> '/root/.config/mpv/config'
[global] config path: 'mpv.conf' -/-> '/root/.mpv/mpv.conf'
[global] config path: 'config' -/-> '/root/.mpv/config'
[global] config path: 'mpv.conf' -/-> '/etc/mpv/mpv.conf'
[global] config path: 'config' -/-> '/etc/mpv/config'
[cplayer] Setting option 'profile' = 'low-latency' (flags = 8)
[cplayer] Applying profile 'low-latency'...
[cplayer] Setting option 'audio-buffer' = '0' (flags = 12)
[cplayer] Setting option 'vd-lavc-threads' = '1' (flags = 12)
[cplayer] Setting option 'cache-pause' = 'no' (flags = 12)
[cplayer] Setting option 'demuxer-lavf-o-add' = 'fflags=+nobuffer' (flags = 12)
[cplayer] Setting option 'demuxer-lavf-probe-info' = 'nostreams' (flags = 12)
[cplayer] Setting option 'demuxer-lavf-analyzeduration' = '0.1' (flags = 12)
[cplayer] Setting option 'video-sync' = 'audio' (flags = 12)
[cplayer] Setting option 'interpolation' = 'no' (flags = 12)
[cplayer] Setting option 'video-latency-hacks' = 'yes' (flags = 12)
[cplayer] Setting option 'stream-buffer-size' = '4k' (flags = 12)
[cplayer] Setting option 'untimed' = '' (flags = 8)
[cplayer] Setting option 'demuxer-lavf-o' = 'video_size=1280x720,input_format=mjpeg' (flags = 8)
[cplayer] Setting option 'v' = '' (flags = 8)
[cplayer] Setting option 'v' = '' (flags = 8)
[global] config path: 'input.conf' -/-> '/root/.config/mpv/input.conf'
[global] config path: 'input.conf' -/-> '/root/.mpv/input.conf'
[global] config path: 'input.conf' -/-> '/etc/mpv/input.conf'
[osc] Loading lua script @osc.lua...
[ytdl_hook] Loading lua script @ytdl_hook.lua...
[stats] Loading lua script @stats.lua...
[console] Loading lua script @console.lua...
[osc] loading mp.defaults
[auto_profiles] Loading lua script @auto_profiles.lua...
[ytdl_hook] loading mp.defaults
[global] config path: 'scripts' -/-> '/root/.config/mpv/scripts'
[stats] loading mp.defaults
[global] config path: 'scripts' -/-> '/root/.mpv/scripts'
[global] config path: 'scripts' -/-> '/etc/mpv/scripts'
[cplayer] Waiting for scripts...
[auto_profiles] loading mp.defaults
[console] loading mp.defaults
[osc] loading @osc.lua
[stats] loading @stats.lua
[auto_profiles] loading @auto_profiles.lua
[console] loading @console.lua
[auto_profiles] Exiting...
[console] reading options for console 
[global] config path: 'script-opts/console.conf' -/-> '/root/.config/mpv/script-opts/console.conf'
[global] config path: 'script-opts/console.conf' -/-> '/root/.mpv/script-opts/console.conf'
[global] config path: 'script-opts/console.conf' -/-> '/etc/mpv/script-opts/console.conf'
[console] script-opts/console.conf not found. 
[global] config path: 'lua-settings/console.conf' -/-> '/root/.config/mpv/lua-settings/console.conf'
[global] config path: 'lua-settings/console.conf' -/-> '/root/.mpv/lua-settings/console.conf'
[global] config path: 'lua-settings/console.conf' -/-> '/etc/mpv/lua-settings/console.conf'
[console] lua-settings/console.conf not found. 
[stats] reading options for stats 
[global] config path: 'script-opts/stats.conf' -/-> '/root/.config/mpv/script-opts/stats.conf'
[global] config path: 'script-opts/stats.conf' -/-> '/root/.mpv/script-opts/stats.conf'
[global] config path: 'script-opts/stats.conf' -/-> '/etc/mpv/script-opts/stats.conf'
[stats] script-opts/stats.conf not found. 
[global] config path: 'lua-settings/stats.conf' -/-> '/root/.config/mpv/lua-settings/stats.conf'
[global] config path: 'lua-settings/stats.conf' -/-> '/root/.mpv/lua-settings/stats.conf'
[global] config path: 'lua-settings/stats.conf' -/-> '/etc/mpv/lua-settings/stats.conf'
[stats] lua-settings/stats.conf not found. 
[ytdl_hook] loading @ytdl_hook.lua
[global] config path: 'fonts' -/-> '/root/.config/mpv/fonts'
[global] config path: 'fonts' -/-> '/root/.mpv/fonts'
[global] config path: 'fonts' -/-> '/etc/mpv/fonts'
[osd/libass] ASS library version: 0x1701000 (runtime 0x1701000)
[osd/libass] libass API version: 0x1701000
[osd/libass] libass source: tarball: 0.17.1
[osd/libass] Shaper: FriBidi 1.0.10 (SIMPLE) HarfBuzz-ng 2.7.4 (COMPLEX)
[global] config path: 'subfont.ttf' -/-> '/root/.config/mpv/subfont.ttf'
[global] config path: 'subfont.ttf' -/-> '/root/.mpv/subfont.ttf'
[global] config path: 'subfont.ttf' -/-> '/etc/mpv/subfont.ttf'
[global] config path: 'fonts.conf' -/-> '/root/.config/mpv/fonts.conf'
[global] config path: 'fonts.conf' -/-> '/root/.mpv/fonts.conf'
[global] config path: 'fonts.conf' -/-> '/etc/mpv/fonts.conf'
[osd/libass] Setting up fonts...
[ytdl_hook] reading options for ytdl_hook 
[global] config path: 'script-opts/ytdl_hook.conf' -/-> '/root/.config/mpv/script-opts/ytdl_hook.conf'
[global] config path: 'script-opts/ytdl_hook.conf' -/-> '/root/.mpv/script-opts/ytdl_hook.conf'
[global] config path: 'script-opts/ytdl_hook.conf' -/-> '/etc/mpv/script-opts/ytdl_hook.conf'
[ytdl_hook] script-opts/ytdl_hook.conf not found. 
[global] config path: 'lua-settings/ytdl_hook.conf' -/-> '/root/.config/mpv/lua-settings/ytdl_hook.conf'
[global] config path: 'lua-settings/ytdl_hook.conf' -/-> '/root/.mpv/lua-settings/ytdl_hook.conf'
[global] config path: 'lua-settings/ytdl_hook.conf' -/-> '/etc/mpv/lua-settings/ytdl_hook.conf'
[ytdl_hook] lua-settings/ytdl_hook.conf not found. 
[osc] reading options for osc 
[global] config path: 'script-opts/osc.conf' -/-> '/root/.config/mpv/script-opts/osc.conf'
[global] config path: 'script-opts/osc.conf' -/-> '/root/.mpv/script-opts/osc.conf'
[global] config path: 'script-opts/osc.conf' -/-> '/etc/mpv/script-opts/osc.conf'
[osc] script-opts/osc.conf not found. 
[global] config path: 'lua-settings/osc.conf' -/-> '/root/.config/mpv/lua-settings/osc.conf'
[global] config path: 'lua-settings/osc.conf' -/-> '/root/.mpv/lua-settings/osc.conf'
[global] config path: 'lua-settings/osc.conf' -/-> '/etc/mpv/lua-settings/osc.conf'
[osc] lua-settings/osc.conf not found. 
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[cplayer] Run command: define-section, flags=64, args=[name="input_stats", contents="", flags="default"]
[cplayer] Run command: enable-section, flags=64, args=[name="input_stats", flags="allow-hide-cursor+allow-vo-dragging"]
[cplayer] Run command: define-section, flags=64, args=[name="input_forced_stats", contents="", flags="force"]
[cplayer] Run command: enable-section, flags=64, args=[name="input_forced_stats", flags="allow-hide-cursor+allow-vo-dragging"]
[cplayer] Run command: define-section, flags=64, args=[name="input_console", contents="", flags="default"]
[cplayer] Run command: enable-section, flags=64, args=[name="input_console", flags="allow-hide-cursor+allow-vo-dragging"]
[cplayer] Run command: define-section, flags=64, args=[name="input_forced_console", contents="", flags="force"]
[cplayer] Run command: enable-section, flags=64, args=[name="input_forced_console", flags="allow-hide-cursor+allow-vo-dragging"]
[cplayer] Run command: define-section, flags=64, args=[name="showhide", contents="mouse_move script-binding osc/__keybinding1\nmouse_leave script-binding osc/__keybinding2\n", flags="force"]
[cplayer] Run command: define-section, flags=64, args=[name="showhide_wc", contents="mouse_move script-binding osc/__keybinding3\nmouse_leave script-binding osc/__keybinding4\n", flags="force"]
[cplayer] Run command: enable-section, flags=64, args=[name="showhide", flags="allow-hide-cursor+allow-vo-dragging"]
[cplayer] Run command: enable-section, flags=64, args=[name="showhide_wc", flags="allow-hide-cursor+allow-vo-dragging"]
[cplayer] Run command: define-section, flags=64, args=[name="input", contents="mbtn_left script-binding osc/__keybinding5\nshift+mbtn_left script-binding osc/__keybinding6\nmbtn_right script-binding osc/__keybinding7\nmbtn_mid script-binding osc/__keybinding8\nwheel_up script-binding osc/__keybinding9\nwheel_down script-binding osc/__keybinding10\nmbtn_left_dbl ignore\nshift+mbtn_left_dbl ignore\nmbtn_right_dbl ignore\n", flags="force"]
[cplayer] Run command: enable-section, flags=64, args=[name="input", flags=""]
[cplayer] Run command: define-section, flags=64, args=[name="window-controls", contents="mbtn_left script-binding osc/__keybinding11\n", flags="force"]
[cplayer] Run command: enable-section, flags=64, args=[name="window-controls", flags=""]
[cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-visibility=auto"]
[cplayer] Set property: shared-script-properties -> 1
[cplayer] Run command: disable-section, flags=64, args=[name="input"]
[cplayer] Run command: disable-section, flags=64, args=[name="window-controls"]
[cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[cplayer] Set property: shared-script-properties -> 1
[cplayer] Done loading scripts.
[global] config path: 'watch_later' -> '/root/.config/mpv/watch_later'
[cplayer] Running hook: ytdl_hook/on_load
[ytdl_hook] ytdl:// hook 
[ytdl_hook] not a ytdl:// url 
[cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[avdevice] Opening av://v4l2:/dev/video0
[avdevice] resize stream to 4096 bytes, drop 0 bytes
[cplayer] Set property: shared-script-properties -> 1
[osc] osc_init 
[avdevice] Stream opened successfully.
[demux] Trying demuxers for level=request.
[demux] Trying demuxer: lavf (force-level: request)
[cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="append", value="osc-margins=0.000000,0.000000,0.000000,0.000000"]
[cplayer] Set property: shared-script-properties -> 1
[global] config path: 'fonts' -/-> '/root/.config/mpv/fonts'
[global] config path: 'fonts' -/-> '/root/.mpv/fonts'
[global] config path: 'fonts' -/-> '/etc/mpv/fonts'
[osd/libass] ASS library version: 0x1701000 (runtime 0x1701000)
[osd/libass] libass API version: 0x1701000
[osd/libass] libass source: tarball: 0.17.1
[lavf] Found 'video4linux2,v4l2' at score=100 size=0 (forced).
[osd/libass] Shaper: FriBidi 1.0.10 (SIMPLE) HarfBuzz-ng 2.7.4 (COMPLEX)
[global] config path: 'subfont.ttf' -/-> '/root/.config/mpv/subfont.ttf'
[global] config path: 'subfont.ttf' -/-> '/root/.mpv/subfont.ttf'
[global] config path: 'subfont.ttf' -/-> '/etc/mpv/subfont.ttf'
[global] config path: 'fonts.conf' -/-> '/root/.config/mpv/fonts.conf'
[global] config path: 'fonts.conf' -/-> '/root/.mpv/fonts.conf'
[global] config path: 'fonts.conf' -/-> '/etc/mpv/fonts.conf'
[osd/libass] Setting up fonts...
[ffmpeg/demuxer] video4linux2,v4l2: fd:6 capabilities:84a00001
[lavf] avformat_open_input() failed
[cplayer] Opening failed or was aborted: av://v4l2:/dev/video0
[osd/libass] Using font provider fontconfig
[osd/libass] Done.
[cplayer] Running hook: ytdl_hook/on_load_fail
[ytdl_hook] full hook 
[cplayer] Run command: define-section, flags=64, args=[name="input_osc", contents="", flags="default"]
[cplayer] Run command: enable-section, flags=64, args=[name="input_osc", flags="allow-hide-cursor+allow-vo-dragging"]
[cplayer] Run command: define-section, flags=64, args=[name="input_forced_osc", contents="", flags="force"]
[cplayer] Run command: enable-section, flags=64, args=[name="input_forced_osc", flags="allow-hide-cursor+allow-vo-dragging"]
[cplayer] finished playback, unrecognized file format (reason 4)
[cplayer] Failed to recognize file format.
[cplayer] 
[cplayer] Exiting... (Errors when loading file)
[ytdl_hook] Exiting...
[cplayer] Run command: change-list, flags=64, args=[name="shared-script-properties", operation="remove", value="osc-margins"]
[cplayer] Set property: shared-script-properties -> 1
[stats] Exiting...
[console] Exiting...
[osc] Exiting...
KJ7LNW (525 rep)
Mar 24, 2024, 10:13 PM • Last activity: Mar 26, 2024, 08:06 PM
0 votes
1 answers
1555 views
How to install OBS studio on Arch Linux without flatpak?
I am trying to install OBS studio using the standard Arch Linux repository instead of Flatpak. First I visited the [Github page][1] to find dependencies. >xserver-xorg version 1.18.4 or newer is recommended to avoid potential performance issues with certain features in OBS, such as the fullscreen pr...
I am trying to install OBS studio using the standard Arch Linux repository instead of Flatpak. First I visited the Github page to find dependencies. >xserver-xorg version 1.18.4 or newer is recommended to avoid potential performance issues with certain features in OBS, such as the fullscreen projector.
$ sudo pacman -S xorg-server
>OpenGL 3.3 (or later) support is required to use OBS Studio on Linux. You can check what version of OpenGL is supported by your system by typing
| grep "OpenGL"
on Terminal.
$ glxinfo | grep "OpenGL"
OpenGL core profile version string: 4.6 (Core Profile) Mesa 23.1.7-arch1.1
>For virtual camera support, you need the v4l2loopback kernel module installed. You can install it with the following command: >Arch Linux-based/Manjaro: >You will need to install the kernel headers package of your actual kernel beforehand or the module will not be completely installed. >
pacman -S v4l2loopback-dkms
>OBS Studio will normally load the module while starting the virtual camera if the module was not already loaded.
$ sudo pacman -S obs-studio
(2/2) Install DKMS modules
==> ERROR: Missing usr kernel headers for module v4l2loopback/0.12.7.
==> ERROR: Missing prod kernel headers for module v4l2loopback/0.12.7.
==> ERROR: Missing lib kernel headers for module v4l2loopback/0.12.7.
==> ERROR: Missing home kernel headers for module v4l2loopback/0.12.7.
...
After checking all three I tried running OBS studio.
$ obs
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, linuxfb, minimal, minimalegl, offscreen, vkkhrdisplay, vnc, xcb.

Aborted (core dumped)
It didn't run even though I uninstalled and reinstalled multiple times. What am I missing? Also how do install kernel headers package to enable virtual camera support on prerequisite 3?
wpt19368 (1 rep)
Sep 22, 2023, 07:53 AM • Last activity: Sep 22, 2023, 08:48 AM
0 votes
1 answers
451 views
My OBS Video recording is choppy
I use **OBS** only for screen recording. But when I stop recording, I found My video is choppy. **My System information:** Operating System: Manjaro Linux KDE Plasma Version: 5.22.4 KDE Frameworks Version: 5.84.0 Qt Version: 5.15.2 Kernel Version: 5.10.53-1-MANJARO (64-bit) Graphics Platform: X11 Pr...
I use **OBS** only for screen recording. But when I stop recording, I found My video is choppy. **My System information:** Operating System: Manjaro Linux KDE Plasma Version: 5.22.4 KDE Frameworks Version: 5.84.0 Qt Version: 5.15.2 Kernel Version: 5.10.53-1-MANJARO (64-bit) Graphics Platform: X11 Processors: 4 × Intel® Core™ i3-8100 CPU @ 3.60GHz Memory: 7.6 GiB of RAM Graphics Processor: Mesa Intel® UHD Graphics 630 You can see a screen recording of my computer: https://www.youtube.com/watch?v=F9HcUYbnkS8 How can I fix it, can anyone tell me please?
Rafid Al Haque (1 rep)
Aug 7, 2021, 03:54 AM • Last activity: Dec 19, 2022, 06:24 PM
0 votes
2 answers
1087 views
OBS Studio Virtual Camera and Iriun seem to be in Conflict
I am running Ubuntu 20.04 LTS Desktop. I have installed OBS Studio and Iriun. Both work fine as long as I don't try to use the Virtual Camera from OBS. When I do, the Iriun screen turns a pixalated green color and flickers to my iphone then back to the pixalated screen again. If I turn off Virtual C...
I am running Ubuntu 20.04 LTS Desktop. I have installed OBS Studio and Iriun. Both work fine as long as I don't try to use the Virtual Camera from OBS. When I do, the Iriun screen turns a pixalated green color and flickers to my iphone then back to the pixalated screen again. If I turn off Virtual Camera all is fine. It seems there are two apps trying to use the same V4l2loopback device and this may be causing a conflict. I would like to solve this problem so I can use Iriun and OBS with Zoom and Teams. Thanks
ov10fac (1 rep)
Feb 7, 2022, 04:30 AM • Last activity: Nov 23, 2022, 04:47 PM
2 votes
0 answers
2244 views
OBS Studio : Could not find the Qt platform plugin "wayland" - Arch Linux
I encountered this problem after re-installing `Arch Linux`, in the previous version of my arch system was working properly, but it is not working now, here is the terminal log output: ```bash qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in "" This application failed to start becau...
I encountered this problem after re-installing Arch Linux, in the previous version of my arch system was working properly, but it is not working now, here is the terminal log output:
qt.qpa.plugin: Could not find the Qt platform plugin "wayland" in ""
This application failed to start because no Qt platform plugin could be initialized. Reinstalling the application may fix this problem.

Available platform plugins are: eglfs, xcb, vkkhrdisplay, minimalegl, vnc, linuxfb, minimal, offscreen.

Aborted (core dumped)
DevProd_ (41 rep)
Oct 23, 2022, 11:12 AM • Last activity: Oct 30, 2022, 09:51 PM
4 votes
2 answers
17250 views
How to fix missing pipewire screen capture option or the black screen in OBS?
# Problem - After installing `obs-studio` from official Arch repos, it doesn't provide `Screen Capture (Pipewire)` option with Wayland or just captures black screen with cursor, although `v27+` OBS has native support for Wayland Screen Recording. - Passing `QT_QPA_PLATFORM=wayland` makes OBS crash,...
# Problem - After installing obs-studio from official Arch repos, it doesn't provide Screen Capture (Pipewire) option with Wayland or just captures black screen with cursor, although v27+ OBS has native support for Wayland Screen Recording. - Passing QT_QPA_PLATFORM=wayland makes OBS crash, or just doesn't work.
cryptic (103 rep)
Sep 2, 2021, 06:41 PM • Last activity: Aug 24, 2022, 06:06 PM
0 votes
0 answers
788 views
How can I create a virtual microphone device?
I use OBS to stream into Google Meet so I can send music and a opening scene. I also use OBS option for create a virtual camera, once I use a DSRL camera and not a webcam. The issue I need to solve right now is that I can not use my Blue Yeti on OBS and on Google Meet at the same time. If I plug it...
I use OBS to stream into Google Meet so I can send music and a opening scene. I also use OBS option for create a virtual camera, once I use a DSRL camera and not a webcam. The issue I need to solve right now is that I can not use my Blue Yeti on OBS and on Google Meet at the same time. If I plug it into OBS, I can't connect it into Google Meet. Is there anyway I can plug my microphone into Google Meet and also connect it as a virtual microphone device into OBS? That way I could record on OBS, while I'm live on G-Meet.
Maria (1 rep)
Jun 24, 2022, 05:58 PM • Last activity: Jun 24, 2022, 05:59 PM
3 votes
1 answers
2755 views
OBS can't do window capture under Sway
I'm running Fedora Linux with Sway, and I wanted to capture some stuff with OBS.  However, there is simply no option to do a "Window capture".  As far as I can tell, this is usually attributed to problems with PipeWire or `xdg-desktop-portal-wlr`.  Despite that, I can d...
I'm running Fedora Linux with Sway, and I wanted to capture some stuff with OBS.  However, there is simply no option to do a "Window capture".  As far as I can tell, this is usually attributed to problems with PipeWire or xdg-desktop-portal-wlr.  Despite that, I can do a full screen capture – that works via PipeWire, and to select the monitor it prompts me with a nice window, which is, presumably, generated by xdg-desktop-portal-wlr.  So, I guess, those work just fine: screenshot showing Screen Capture source selection (?) window As suggested in xdg-desktop-portal-wlr GitHub repo, I've also added this to my sway config: exec dbus-update-activation-environment --systemd WAYLAND_DISPLAY XDG_CURRENT_DESKTOP=sway However, that didn't really help.  What else can cause OBS to refuse to capture windows?
keddad (643 rep)
Dec 9, 2021, 09:48 AM • Last activity: Jun 20, 2022, 05:28 PM
0 votes
1 answers
555 views
OBS doesn't work on my raspberry pi 4
I'm a little french yotuber and I always use OBS in windows. Now, I use a raspberry pi 4 with debian bullseye and I tried to install OBS but it doesn't work. When I launch OBS from LXterminal, that say that: ``` pi@raspberrypi:~ $ obs-exec obs-exec: error while loading shared libraries: libxcb-util....
I'm a little french yotuber and I always use OBS in windows. Now, I use a raspberry pi 4 with debian bullseye and I tried to install OBS but it doesn't work. When I launch OBS from LXterminal, that say that:
pi@raspberrypi:~ $ obs-exec
obs-exec: error while loading shared libraries: libxcb-util.so.0: cannot open shared object file: No such file or directory
I have make some research but all of that doesn't work. Can someone help me?
In_ The_Nether (1 rep)
Jan 1, 2022, 05:06 PM • Last activity: Jan 5, 2022, 08:17 PM
0 votes
1 answers
4538 views
Ubuntu 20.04 high CPU usage
My Ubuntu always uses more CPU than Windows 10 pro for doing anything, but it's always dismissable as it's just a spike. Until I used these two applications. Using OBS to display recorded video(VLC video source) constantly uses about 60% of my CPU alone. My setting for the video output: _ 1280x720 d...
My Ubuntu always uses more CPU than Windows 10 pro for doing anything, but it's always dismissable as it's just a spike. Until I used these two applications. Using OBS to display recorded video(VLC video source) constantly uses about 60% of my CPU alone. My setting for the video output:
_ 1280x720 display
_ Bicubic filter
_ 10 fps value
_ NVENCE encoder enter image description here Using Chrome to join google meetings with the camera on would use about 50% in general, with or without OBS virtual camera. enter image description here Compare to Windows 10 pro which consumes less than 15% of my CPU in every circumstance(The GPU is just a spike, would die down after a second or two). They both have the same setting when it comes to resolution and such for google meetings. enter image description here My spec:
_ Core i7 gen 10th
_ Nvidia RTX 2060
_ 512 SSD
_ 16GB Ram
_ Nvidia driver 470, I have Nvidia performance mode on in general.
I have secure boots turn off, along with fast startup, and Ubuntu is installed with EFI format. I am using a Dell G5 5500 laptop. Is there any way to reduce or fix this? Please help me.
IcyHerrscher (115 rep)
Sep 27, 2021, 04:23 AM • Last activity: Sep 27, 2021, 07:09 AM
0 votes
1 answers
75 views
OBS doesnt work with amdgpu-pro drivers, but i need it in resolve
I am using Pop OS 21.04 and im a youtuber. I tend to use kdenlive for my video editing, but for some clips, I need davinci resolve. Davinci resolve seems to require amdgpu-pro drivers, but those are only availible for Ubuntu LTS releases. But I saw a Blender article about installing those on Pop OS...
I am using Pop OS 21.04 and im a youtuber. I tend to use kdenlive for my video editing, but for some clips, I need davinci resolve. Davinci resolve seems to require amdgpu-pro drivers, but those are only availible for Ubuntu LTS releases. But I saw a Blender article about installing those on Pop OS and that worked with resolve, but now OBS, my only screen capture program, doesnt work because of gpu drivers. What can I do? Thanks Irsu85
Irsu85 (101 rep)
Sep 14, 2021, 07:12 AM • Last activity: Sep 17, 2021, 07:53 AM
1 votes
1 answers
317 views
Install obs studio 26.1 on debian 9
Is it possible to accomplish that? I need the latest version in order to be able to use the virtual camera along zoom or similar I've tried building from source following [instructions][1], but had a lot of problems with cmake and qt dependencies I'm reading about installing from sid but I'm not sur...
Is it possible to accomplish that? I need the latest version in order to be able to use the virtual camera along zoom or similar I've tried building from source following instructions , but had a lot of problems with cmake and qt dependencies I'm reading about installing from sid but I'm not sure what it has to be done and not breaking my system.
Matías Cánepa (213 rep)
Mar 9, 2021, 07:11 PM • Last activity: Apr 7, 2021, 07:02 PM
1 votes
1 answers
2173 views
How can I get OBS Studio with the Browser Source Plugin on Debian?
According to the repository for the [Browser Plugin for Linux](obs-linuxbrowser), > Good news! Starting with version 25, OBS Studio ships with browser source that work on Linux. I recommend you to use that and report any issues at obs-browser repo and/or official discord community. I'm using Debian...
According to the repository for the [Browser Plugin for Linux](obs-linuxbrowser), > Good news! Starting with version 25, OBS Studio ships with browser source that work on Linux. I recommend you to use that and report any issues at obs-browser repo and/or official discord community. I'm using Debian Testing which Ships OBS Studio 26. However, it lacks Browser Plugin.
Evan Carroll (34663 rep)
Jan 21, 2021, 03:46 AM • Last activity: Jan 21, 2021, 06:49 AM
1 votes
1 answers
763 views
Is there any method to script OBS Studio with global hotkeys?
I'm wanting to use OBS Studio for recording videos. It has notions like "Scenes", is there anyway for me to transition between two screens using hotkey entry in i3 or the like? I want them to trigger when the window is not in focus and it seems currently they only trigger when the window is in focus...
I'm wanting to use OBS Studio for recording videos. It has notions like "Scenes", is there anyway for me to transition between two screens using hotkey entry in i3 or the like? I want them to trigger when the window is not in focus and it seems currently they only trigger when the window is in focus (receiving keyboard events).
Evan Carroll (34663 rep)
Jan 3, 2021, 11:30 PM • Last activity: Jan 4, 2021, 12:56 AM
Showing page 1 of 20 total questions