# How to use OBS-studio for streaming audio-video on FreeBSD.



## ziomario (Jan 12, 2022)

Hello to everyone.

I would like to configure OBS studio on FreeBSD to stream the audio video from my home using the Kinect 2 embedded audio-video chipsets,but I'm realizing that the "OBS Studio Plugin: Output as Video4Linux2 device" does not work under FreeBSD,even if the port can be installed. Do you know if there is a workaround ?


----------



## astyle (Jan 12, 2022)

I would probably try getting a cheap webcam to work first. Geezer on these forums seems to have found some success with that. My thinking goes, if you get that to work, then OBS Studio will work, too. Good luck!


----------



## ziomario (Jan 12, 2022)

I want to stream on a web site what my camera is seeing inside my room (me and my ugly face) :

I think that I have installed the required libs,but the error below persists. First of all I tried to configure my very very old web cam :



Creative LabsWebcam Plus (CT6840)should work​0x05a9​0xa511​OV511+​


to make it work directly on FreeBSD. This is how I have configured it :


```
nano /etc/rc.conf

kld_list="cuse4bsd"
webcamd_enable="YES"
```

and then with the tool pwcview I have displayed on my desktop what the camera was seeing, like this :


```
pwcview -s uxga -f 30
```

and it worked. But unfortunately it didn't with obs-studio. Infact as soon I've launched it,I've seen the error below :


```
root@marietto:/usr/home/marietto # pkg install obs-ndi

Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The most recent versions of packages are already installed


root@marietto:/usr/home/marietto # pkg install libndi
Updating FreeBSD repository catalogue...
FreeBSD repository is up to date.
All repositories are up to date.
Checking integrity... done (0 conflicting)
The most recent versions of packages are already installed


root@marietto:/usr/home/marietto # obs

error: Could not create dbus connection: The connection is closed
error: Could not create dbus connection: The connection is closed
Attempted path: share/obs/obs-studio/locale/en-US.ini
Attempted path: /usr/local/share/obs/obs-studio/locale/en-US.ini
Attempted path: share/obs/obs-studio/locale.ini
Attempted path: /usr/local/share/obs/obs-studio/locale.ini
Attempted path: share/obs/obs-studio/themes/Dark.qss
Attempted path: /usr/local/share/obs/obs-studio/themes/Dark.qss
info: CPU Name: Intel(R) Core(TM) i9-9900K CPU @ 3.60GHz
info: CPU Speed: 3600.26MHz
info: Physical Cores: 8, Logical Cores: 16
info: Physical Memory: 31665MB Total, 15717MB Free
info: Kernel Version: FreeBSD 13.0-RELEASE-p4
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.20.13
info: Portable mode: false
Attempted path: share/obs/obs-studio/themes/Dark/no_sources.svg
Attempted path: /usr/local/share/obs/obs-studio/themes/Dark/no_sources.svg
QMetaObject::connectSlotsByName: No matching signal for on_tbar_position_valueChanged(int)
QMetaObject::connectSlotsByName: No matching signal for on_actionShowTransitionProperties_trigge
red()
QMetaObject::connectSlotsByName: No matching signal for on_actionHideTransitionProperties_trigge
red()
info: OBS 27.1.3 (freebsd)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
samples per sec: 48000
speakers:        2
info: ---------------------------------
info: Initializing OpenGL...
info: Loading up OpenGL on adapter Intel Mesa Intel(R) UHD Graphics 630 (CFL GT2)
info: OpenGL loaded successfully, version 4.6 (Core Profile) Mesa 21.1.8, shading language 4.60
info: ---------------------------------
info: video settings reset:
base resolution:   1920x1080
output resolution: 1280x720
downscale filter:  Bicubic
fps:               30/1
format:            NV12
YUV mode:          709/Partial
info: NV12 texture support not available
info: Audio monitoring device:
name: Default
id: default
info: ---------------------------------
warning: Failed to load 'en-US' text for module: 'decklink-captions.so'
warning: Failed to load 'en-US' text for module: 'decklink-ouput-ui.so'
warning: v4l2loopback not installed, virtual camera disabled
info: FFMPEG VAAPI supported
info: [obs-ndi] hello ! (version 4.9.1)
info: [obs-ndi] Trying ''
error: [obs-ndi] Can't find the NDI library

NDI™ Runtime not found. Please install libndi on your system.
You can find a copy of libndi for Linux on obs-ndi's GitHub page.
```

obs-studio worked despite this error,but it is not able to recognize my webcam,so I can't add it as source.


----------



## Geezer (Jan 13, 2022)

astyle said:


> I would probably try getting a cheap webcam to work first. Geezer on these forums seems to have found some success with that. My thinking goes, if you get that to work, then OBS Studio will work, too. Good luck!


Thank you astyle.

I did install OBS Studio and V4L. The webcam worked. I did not use it for streaming. You possibly could. The webcam I used is a standard USB Logitech.

Really, I did not like OBS Studio, it is not intuitive and the layout is difficult (IMO only). I have since uninstalled it.

I am sure you can get streaming working. There are may packages around. You could look at multimedia/cheese.

In general, multimedia under Freebsd can work quite easily, often surprisingly out of the box. Sometimes, you may have to build a port with different configuration options. But broadly, in the latest version of Freebsd (13.0-RELEASE-p6) and with quarterly ports, you can do an awful lot.

One thing you must make sure, ziomario : Keep it simple.

_*KEEP IT SIMPLE !*_​ 
Don't use convoluted towering piles of unrelated, unsupported _stuff_, as is your want. You will just get frustrated and _not_ learn anything.

If you only want to talk and share video with one other party (or a very few), then don't stream. It is fairly simple to get skype for web working in chrome browser and zoom meeting working in firefox.


----------



## ziomario (Jan 13, 2022)

-->  It is fairly simple to get skype for web working in chrome browser and zoom meeting working in firefox.

there is no native chrome browser on FreeBSD,only Chromium. I ran chrome with the linuxulator inside the chroot and it didn't work as normal user and as root :


```
root@marietto:/home/ziomario# google-chrome

[12847:12847:0113/222639.421163:ERROR:zygote_host_impl_linux.cc(90)] Running as root without --no-sandbox is not supported. See https://crbug.com/638180.
root@marietto:/home/ziomario# google-chrome --no-sandbox
[12861:106559:0113/222649.264869:ERROR:file_path_watcher_linux.cc(326)] inotify_init() failed: Function not implemented (38)
[12861:106568:0113/222650.192775:ERROR:bus.cc(392)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[12861:12861:0113/222650.548005:ERROR:proxy_config_service_linux.cc(609)] inotify_init failed: Function not implemented (38)
[12861:106560:0113/222651.037800:ERROR:address_tracker_linux.cc(196)] Could not create NETLINK socket: Address family not supported by protocol (97)
[12861:106564:0113/222651.196618:ERROR:bus.cc(392)] Failed to connect to the bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
[12861:106564:0113/222651.196938:ERROR:bus.cc(392)] Failed to connect to the bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
[12861:106571:0113/222651.640053:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 12875: No such file or directory (2)
[12861:106560:0113/222651.940215:ERROR:udev_watcher.cc(52)] Failed to initialize a udev monitor.
[12876:106577:0113/222652.752442:ERROR:address_tracker_linux.cc(196)] Could not create NETLINK socket: Address family not supported by protocol (97)
[12876:106579:0113/222652.752451:ERROR:file_path_watcher_linux.cc(326)] inotify_init() failed: Function not implemented (38)
[12861:106571:0113/222653.773565:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 12877: No such file or directory (2)
[12861:106564:0113/222654.105775:ERROR:bus.cc(392)] Failed to connect to the bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bussecurity policy blocked the reply, the reply timeout expired, or the network connection was broken.
[12861:106564:0113/222654.105833:ERROR:bus.cc(392)] Failed to connect to the bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was broken.
[12861:12861:0113/222654.263307:ERROR:proxy_config_service_linux.cc(609)] inotify_init failed: Function not implemented (38)
[12861:106564:0113/222656.668766:ERROR:bus.cc(392)] Failed to connect to the bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bussecurity policy blocked the reply, the reply timeout expired, or the network connection was broken.
[12861:106564:0113/222656.668822:ERROR:bus.cc(392)] Failed to connect to the bus: Did not receive a reply. Possible causes include: the remote application did not send a reply, the message bus security policy blocked the reply, the reply timeout expired, or the network connection was bro ken.
[12861:12861:0113/222657.781715:ERROR:proxy_config_service_linux.cc(609)] inotify_init failed: Function not implemented (38)
[12861:106571:0113/222657.871815:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 12880: No such file or directory (2)
[12861:106571:0113/222658.163419:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 12881: No such file or directory (2)
[12861:106625:0113/222700.652541:ERROR:bus.cc(392)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[12861:106625:0113/222700.652557:ERROR:bus.cc(392)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[12861:106625:0113/222700.652577:ERROR:bus.cc(392)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[12861:106625:0113/222700.666440:ERROR:bus.cc(392)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[12861:106625:0113/222700.666453:ERROR:bus.cc(392)] Failed to connect to the bus: Failed to connect to socket /var/run/dbus/system_bus_socket: No such file or directory
[12876:106577:0113/222700.697233:ERROR:address_tracker_linux.cc(196)] Could not create NETLINK socket: Address family not supported by protocol (97)
[12861:106571:0113/222701.508707:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 12894: No such file or directory (2)
[12894:12894:0113/222701.508994:FATAL:proc_util.cc(97)] Check failed: . : No such file or directory (2)
[0113/222701.550365:ERROR:ptracer.cc(476)] Unexpected registers size 0 != 216, 68
[0113/222701.567189:ERROR:proc_task_reader.cc(45)] format error
[0113/222707.423359:ERROR:ptracer.cc(476)] Unexpected registers size 0 != 216, 68
[0113/222707.423386:ERROR:proc_task_reader.cc(45)] format error
[12861:12861:0113/222712.451722:ERROR:gpu_process_host.cc(979)] GPU process exited unexpectedly:exit_code=512
[12861:106571:0113/222712.456185:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 12895: No such file or directory (2)
[0113/222727.470412:ERROR:ptracer.cc(476)] Unexpected registers size 0 != 216, 68
[0113/222727.470437:ERROR:proc_task_reader.cc(45)] format error
[12861:12861:0113/222732.490323:ERROR:gpu_process_host.cc(979)] GPU process exited unexpectedly:
exit_code=512
[12861:106571:0113/222732.491484:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 12904: No such file or directory (2)
[0113/222747.532439:ERROR:ptracer.cc(476)] Unexpected registers size 0 != 216, 68
[0113/222747.532467:ERROR:proc_task_reader.cc(45)] format error
[12861:12861:0113/222752.583982:ERROR:gpu_process_host.cc(979)] GPU process exited unexpectedly:exit_code=512
[12861:106571:0113/222752.585167:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 12907: No such file or directory (2)
[12907:12907:0113/222752.702934:ERROR:gpu_init.cc(453)] Passthrough is not supported, GL is swiftshader, ANGLE is
[12907:12907:0113/222752.767238:FATAL:proc_util.cc(97)] Check failed: . : No such file or directory (2)
[0113/222752.767575:ERROR:ptracer.cc(476)] Unexpected registers size 0 != 216, 68
[0113/222752.767666:ERROR:proc_task_reader.cc(45)] format error
[12861:12861:0113/222758.361923:ERROR:gpu_process_host.cc(979)] GPU process exited unexpectedly:exit_code=133
[12861:106571:0113/222758.363206:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 12911: No such file or directory (2)
[12911:12911:0113/222758.368152:ERROR:gpu_init.cc(453)] Passthrough is not supported, GL is swiftshader, ANGLE is
[12911:12911:0113/222758.370137:FATAL:proc_util.cc(97)] Check failed: . : No such file or directory (2)
[0113/222758.370207:ERROR:ptracer.cc(476)] Unexpected registers size 0 != 216, 68
[0113/222758.370228:ERROR:proc_task_reader.cc(45)] format error
[12861:106571:0113/222759.289461:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 12914: No such file or directory (2)
[12914:12914:0113/222759.290822:FATAL:proc_util.cc(97)] Check failed: . : No such file or directory (2)
[0113/222759.291265:ERROR:ptracer.cc(476)] Unexpected registers size 0 != 216, 68
[0113/222759.291358:ERROR:proc_task_reader.cc(45)] format error
[12861:12861:0113/222803.936792:ERROR:gpu_process_host.cc(979)] GPU process exited unexpectedly:exit_code=133
[12861:106571:0113/222803.941235:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 12915: No such file or directory (2)
[12915:12915:0113/222803.966466:ERROR:gpu_init.cc(453)] Passthrough is not supported, GL is swiftshader, ANGLE is
[12915:12915:0113/222803.974801:FATAL:proc_util.cc(97)] Check failed: . : No such file or directory (2)
[0113/222803.974986:ERROR:ptracer.cc(476)] Unexpected registers size 0 != 216, 68
[0113/222803.975038:ERROR:proc_task_reader.cc(45)] format error
[12861:12861:0113/222805.631095:ERROR:web_resource_service.cc(170)] Data Decoder terminated unexpectedly
[12861:12861:0113/222809.453687:ERROR:gpu_process_host.cc(979)] GPU process exited unexpectedly:exit_code=133
[12861:106571:0113/222809.458217:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 12916: No such file or directory (2)
[12916:12916:0113/222809.465116:ERROR:gpu_init.cc(453)] Passthrough is not supported, GL is disabled, ANGLE is
[12916:12916:0113/222809.466039:FATAL:proc_util.cc(97)] Check failed: . : No such file or directory (2)
[0113/222809.466362:ERROR:ptracer.cc(476)] Unexpected registers size 0 != 216, 68
[0113/222809.466462:ERROR:proc_task_reader.cc(45)] format error
[12861:12861:0113/222814.959599:ERROR:gpu_process_host.cc(979)] GPU process exited unexpectedly:exit_code=133
[12861:106571:0113/222814.960806:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 12920: No such file or directory (2)
[12920:12920:0113/222814.962184:ERROR:gpu_init.cc(453)] Passthrough is not supported, GL is disabled, ANGLE is
[12920:12920:0113/222814.962396:FATAL:proc_util.cc(97)] Check failed: . : No such file or directory (2)
[0113/222814.962464:ERROR:ptracer.cc(476)] Unexpected registers size 0 != 216, 68
[0113/222814.962486:ERROR:proc_task_reader.cc(45)] format error
[12861:12861:0113/222820.316699:ERROR:gpu_process_host.cc(979)] GPU process exited unexpectedly:exit_code=133
[12861:106571:0113/222820.317917:ERROR:zygote_host_impl_linux.cc(263)] Failed to adjust OOM score of renderer with pid 12921: No such file or directory (2)
[12921:12921:0113/222820.319272:ERROR:gpu_init.cc(453)] Passthrough is not supported, GL is disabled, ANGLE is
[12921:12921:0113/222820.319465:FATAL:proc_util.cc(97)] Check failed: . : No such file or directory (2)
[0113/222820.319531:ERROR:ptracer.cc(476)] Unexpected registers size 0 != 216, 68
[0113/222820.319553:ERROR:proc_task_reader.cc(45)] format error
[12861:12861:0113/222825.690943:ERROR:gpu_process_host.cc(979)] GPU process exited unexpectedly:exit_code=133
[12861:12861:0113/222825.690959:FATAL:gpu_data_manager_impl_private.cc(417)] GPU process isn't usable. Goodbye.
[0113/222825.730769:ERROR:ptracer.cc(476)] Unexpected registers size 0 != 216, 68
[0113/222825.730877:ERROR:proc_task_reader.cc(45)] format error
Trace/breakpoint trap (core dumped)

root@marietto:/home/ziomario# [0113/222834.500992:ERROR:nacl_helper_linux.cc(307)] NaCl helper process running without a sandbox!
Most likely you need to configure your SUID sandbox correctly

root@marietto:/home/ziomario# su - ziomario

ziomario@marietto:~$ google-chrome

[0113/223234.042130:FATAL:proc_util.cc(97)] Check failed: . : No such file or directory (2)
[13005:13005:0113/223234.043786:ERROR:nacl_fork_delegate_linux.cc(329)] Bad NaCl helper startupack (0 bytes)
[0113/223234.052052:ERROR:ptracer.cc(476)] Unexpected registers size 0 != 216, 68
[0113/223234.052315:ERROR:proc_task_reader.cc(45)] format error
Trace/breakpoint trap
```

the person I want to talk to does not use Zoom. She can't. I could stream my face on the web using cheese and some other streaming tool that at the moment I can't figure out.


----------



## Geezer (Jan 14, 2022)

ziomario said:


> there is no native chrome browser on FreeBSD,only Chromium



Yes. So use chromium. It works a treat.



ziomario said:


> and it didn't work as normal user and as root :
> 
> the person I want to talk to does not use Zoom. She can't. I could stream my face on the web using cheese and some other streaming tool that at the moment I can't figure out.



Do it the hard way if you want.


----------



## ziomario (Jan 14, 2022)

Geezer said:


> Yes. So use chromium. It works a treat.
> 
> 
> 
> Do it the hard way if you want.



the video call does not work in chromium using skype. And Im using an old webcam (not the kinect,that seems to be harder to use even in Linux). Hear me : can u suggest a nice streaming tool ? I want to stream my face on the web to port 80 capturing my face with :


```
pwcview -s uxga -f 30
```

,before all.


----------



## Geezer (Jan 14, 2022)

ziomario said:


> Hear me :



Nope. Can't hear a thing.


----------



## ziomario (Jan 14, 2022)

listen...


----------



## grahamperrin@ (Jan 14, 2022)

I could suggest alternative software (a service) but don't want to take things off-topic …


----------



## Geezer (Jan 15, 2022)

But you,


grahamperrin said:


> don't want to take things off-topic …



That's perfectly acceptable, you use the [redhsift] tag.


----------



## grahamperrin@ (Jan 15, 2022)

Sorry, not here; <https://forums.freebsd.org/profile-posts/3613/>


----------



## Alexander88207 (Jan 15, 2022)

Also stop running things as root.

If you need to access to /dev devices such as CD-ROM drive, webcam etc.. add yourself to the operator group.


----------



## eternal_noob (Jan 15, 2022)

He's been told so months ago, multiple times, somehow he doesn't listen.


----------



## grahamperrin@ (Jan 15, 2022)

eternal_noob said:


> … he doesn't listen.



… ziomario _does_ listen, but `root` has become like carpet slippers: <https://old.reddit.com/r/freebsd/comments/s3be9y/-/hsm4smz/?context=1> 


I can't complain. I'll probably *never* learn to use the right control Shift key (see †) after years of making things uncomfortable for myself. Back-tabbing with one hand is, if you like, my worn-out carpet slipper that I'll never shake off


----------



## kpedersen (Jan 15, 2022)

I believe OpenCV still works well on FreeBSD to capture webcam footage.

I have some random code here to stream to a webpage:

https://github.com/osen/tstream

If you are a bit handy with simple programming, you should be able to get it to work. It is very rough but is the only thing I have public at the moment that I am also somewhat familiar with. I am sure there are better all over GitHub, especially with the popularity of the Raspberry Pi these days.


----------



## ziomario (Jan 15, 2022)

grahamperrin said:


> … ziomario _does_ listen, but `root` has become like carpet slippers: <https://old.reddit.com/r/freebsd/comments/s3be9y/-/hsm4smz/?context=1>
> 
> 
> I can't complain. I'll probably *never* learn to use the right control key (see †) after years of making things uncomfortable for myself. Back-tabbing with one hand is, if you like, my worn-out carpet slipper that I'll never shake off



you are right,I should not use root,even if at home I want to relax myself from the outside millions of dangers. But its only a psychological thing,not a lack of knowledge or swagger.


----------



## ziomario (Jan 15, 2022)

I will start another thread,since I've gone into details trying to configure ngnix + obs for sharing my webcam over my web server,even if does not work for the moment.


----------



## ziomario (Jan 15, 2022)

kpedersen said:


> I believe OpenCV still works well on FreeBSD to capture webcam footage.
> 
> I have some random code here to stream to a webpage:
> 
> ...



who knows if in this case @Geezer,reading that,would have said what he said to me :

One thing you must make sure, @kpedersen  : Keep it simple.

_*KEEP IT SIMPLE !*_


----------

