# obs-v4l2sink plugin freebsd port



## NapoleonWils0n (Jun 27, 2020)

Just a heads up there is a freebsd port of obs-v4l2sink which is a obs studio plugin used with virtual video devices

An OBS Studio plugin that provides output capabilities to a Video4Linux2 device.

It is basically a Linux version of obs-virtual-cam, but only contains the video sink part.
You can use it with v4l2loopback to achieve cross-program video transfer between OBS Studio and third party software supporting

it was added on the 2020-04-06 so hasnt shown up in the quarterly pkg repo, 
guess we have to wait until the end of the quarter for the pkg

i managed to get the plugin working on ubuntu 20.04, you need to create some directories and a symbolic link
obs-v42sink install on linux

On linux you can use v4l2loopback to create a virtual video device

freebsd does have some video for linux pkgs but not v4l2loopback

So is it possible to create a virtual video device on freebsd,
because the obs-v4l2sink obs plugin works with virtual video devices so i would thought there must be a way,
otherwise there wouldnt be a freebsd port


```
gstreamer-plugins-v4l2-0.10.31_2,3 Gstreamer Video 4 Linux 2 source plugin
gstreamer1-plugins-v4l2-1.16.2 GStreamer Video 4 Linux 2 source plugin
libv4l-1.6.3_4                 Video4Linux library
linux-c7-libv4l-0.9.5_2        Video4Linux library (Linux CentOS 7.7.1908)
v4l-utils-1.6.3                Video4Linux utilities
v4l_compat-1.6.3_3             Video4Linux IOCTL header files
libv4l-1.6.3_4                 Video4Linux library
v4l_compat-1.6.3_3             Video4Linux IOCTL header files
```


----------



## yurivict (Aug 11, 2020)

NapoleonWils0n said:


> On linux you can use v4l2loopback to create a virtual video device
> 
> freebsd does have some video for linux pkgs but not v4l2loopback
> 
> ...



Hi NapoleonWils0n,

obs-v4l2sink requires the v4l2loopback kernel module that is currently missing, so obs-v4l2sink can't be used at this time.

But once v4l2loopback kernel module is implemented obs-v4l2sink would become useful.

v4l2loopback is basically a converter between two video devices, source and destination. It shouldn't be too hard to implement.

Best,
Yuri


----------



## swills@ (Aug 12, 2020)

yurivict Thanks for the info. I'll note that webcamd does some similar things to what v4l2loopback needs to do...


----------



## swills@ (Jul 28, 2021)

Sorry to revive an old dead thread, but for the record: v4l2loopback support is available in the newly released webcamd 5.13.2.5 (committed to ports as well).


----------



## jardows (Jul 28, 2021)

I'm fairly new to OBS use, and have only been using for some basic use (Livestreaming from an external camera to YouTube).  Can you explain some practical uses for the v4l2loopback?


----------



## swills@ (Jul 28, 2021)

jardows said:


> I'm fairly new to OBS use, and have only been using for some basic use (Livestreaming from an external camera to YouTube).  Can you explain some practical uses for the v4l2loopback?


For example, one use, would be to send a video stream from OBS to Zoom via Firefox. See https://github.com/umlaeute/v4l2loopback/wiki for more.


----------



## jardows (Jul 29, 2021)

swills@ said:


> For example, one use, would be to send a video stream from OBS to Zoom via Firefox. See https://github.com/umlaeute/v4l2loopback/wiki for more.


That makes sense.  Thank you!


----------



## tOsYZYny (Mar 25, 2022)

I'd like to be able to use my Android camera as a webcam.  I have installed IP camera (on my Android phone) and can view the live video feed via an IP in firefox / chrome.

The challenge I'm having is exposing that IP source as a v4l device so that I can use it directly within my browser.  I see that obs has a v4l2sink, but I am lost as how to configure that.

From the webcamd manpage, I see that I need to:
1. load cuse (kldload cuse), I need to rebuild my custom kernel to support this  ... compiling
2. webcamd -c v4l2loopback

Assuming that creates the loopback device, where do I go from there?  In obs, I see the v4lsink, and that asks me for the device which I think I'm creating in #2.  Then, my question is, how to I configure the sink to use my Android IP camera as the source?


----------

