Call for testing: OBS-Studio snap

Done. Revision 12 has this.

1 Like

You might want to add information about manually connected plugs in the snap description.

1 Like

Great idea. Done.

1 Like

I’m not sure if this has been addressed or not, but it’s not working on my system. I can’t output/use anything in /mnt/ directories, meaning I can’t output my recordings to my secondary storage drives. I see /media/ stuffs has been addressed though, so that’s good :smiley:

For /mnt access refer /mnt mounts should be supported - snapd - snapcraft.io

Greetings! Fenrir here from the OBS Contributors team. We’ve been seeing an increase in reports for issues with the snap package, some details of which can be found here:

https://obsproject.com/forum/threads/failed-to-initialize-video-your-gpu-may-not-be-supported-or-your-graphics-drivers-may-need-to-be-updated.86284/

As well as many users reporting issues with the webcam, which appears to have been discussed in this thread: Request for interface connection for obs-studio snap but never actually completed.

Is there any way you can label this as an unofficial build? We don’t particularly like the bad impression it’s giving to new users who find this package and assume we’re the ones providing it.

1 Like

Hi @Fenrir

Sincere apologies for causing additional reports for you. I have updated the app description which you can see here - is this satisfactory? Happy to take further edits.

I’m keen to get the GPU encoding working, and we’ve had a patch land in snapd which should enable this very soon, making this particular issue go away.

I originally contacted the OBS Studio project before publishing the snap, to check that it was okay to publish. I appreciate that you don’t want to have the negativity associated with your project though, so completely understand you reaching out. Once again, apologies for causing more work for you.

1 Like

No worries! I actually really like the idea of having a snap or appimage package available. It’s something I want to provide, but just haven’t had the time to sort out with our CI solution yet.

As for the hardware encoding, nvenc is the only one that will work out of the box right now, since we use FFmpeg for it. There’s an open PR work in progress to get VAAPI support implemented, so we can use the Intel and AMD hardware encoders as well, if you want to take a look: https://github.com/obsproject/obs-studio/pull/1256

3 Likes

Ok, great! The ultimate goal for this snap was always to enable whatever hardware encoding we could. The idea of having one single package which contained all the necessary libraries and environment setup to do it on any supported distro seemed too good an opportunity to miss :slight_smile: I know @Wimpress has done some work to get it working in ffmpeg as a stand-alone snap, and we intended to re-use that in the OBS one, once complete. Maybe he can chime in with the status :slight_smile:

1 Like

Yep, I made a ffmpeg 4.0 snap (currently classic) that supports nvenc and VA-APPI hardware accelerated decoding and encoding. I also have a prototype that is strictly confined, just waiting on some AppArmor tweaks in snapd so this can be reused.

The ffmpeg snap is 20MB so small enough to bundle in an application snap that requires ffmpeg.

2 Likes

Hi guys,

Sorry for possibly bumping this but I have a question - and I think you guys are the perfect people to ask!

Right now I use Ubuntu 16.04 and I have a script I made that builds FFMpeg 3.4 with NVENC support and builds the latest OBS Studio from the GitHub repo master branch and it works great using NVENC recording in OBS Studio with my GTX 1070. I am wondering - if I use Ubuntu 18.04 with snaps, is it possible for me to just install an FFMpeg snap and an OBS Studio snap and then I can use NVENC recording in OBS Studio with my GTX 1070 - that way, with two snaps, I no longer need to build? Is this possible in Ubuntu 18.04? What about in Ubuntu 16.04 - is this possible?

If this is not currently possible, is it planned for the future?

Thanks!

@ipkpjersi I’ve been working on an ffmpeg 4.0.x snap which can now be confined. The plan is to bundle ffmpeg, that supports accelerated encoding, in the OBS snap.

3 Likes

Hi,

That is awesome news. I am so glad there is a plan for the OBS snap to come with an NVENC-enabled ffmpeg. Thanks so much.

Cheers.

1 Like

see either:

or the description of the output of:

snap info obs-studio

there are instructions …

The indicator has no function, no matter how I click it, nothing happens.
OS: Ubuntu 18.04

It won’t run for me.

Ubuntu 18.10
NVIDIA GTX 960 | 396.54.09 from graphics-drivers/dev ppa

cxf@PC:~$ snap run obs-studio
+ case "$SNAP_ARCH" in
+ ARCH=x86_64-linux-gnu
+ OBS=64bit
+ cd /snap/obs-studio/213/usr/bin/64bit
+ exec ./obs
Gtk-Message: Failed to load module "gail"
Gtk-Message: Failed to load module "atk-bridge"
Gtk-Message: Failed to load module "unity-gtk-module"
Qt: Session management error: None of the authentication protocols specified are supported
Attempted path: ../../data/obs-studio/locale/en-US.ini
Attempted path: ../../data/obs-studio/locale.ini
Attempted path: ../../data/obs-studio/themes/Dark.qss
Attempted path: ../../data/obs-studio/license/gplv2.txt
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
Could not initialize OpenGL for RasterGLSurface, reverting to RasterSurface.
info: CPU Name: Intel(R) Core(TM) i5-4460  CPU @ 3.20GHz
info: CPU Speed: 3314.120MHz
info: Physical Cores: 4, Logical Cores: 4
info: Physical Memory: 7872MB Total, 1577MB Free
info: Kernel Version: Linux 4.18.0-11-generic
info: Distribution: "Ubuntu Core" "16"
info: Window System: X11.0, Vendor: The X.Org Foundation, Version: 1.20.1
info: Portable mode: false
QMetaObject::connectSlotsByName: No matching signal for on_advAudioProps_clicked()
QMetaObject::connectSlotsByName: No matching signal for on_advAudioProps_destroyed()
QMetaObject::connectSlotsByName: No matching signal for on_program_customContextMenuRequested(QPoint)
info: OBS 22.0.3-modified (linux)
info: ---------------------------------
info: ---------------------------------
info: audio settings reset:
	samples per sec: 44100
	speakers:        2
info: ---------------------------------
info: Initializing OpenGL...
libGL error: No matching fbConfigs or visuals found
libGL error: failed to load driver: swrast
error: Failed to create OpenGL frame buffer config
error: Failed to create context!
error: device_create (GL) failed
error: Failed to initialize video.  Your GPU may not be supported, or your graphics drivers may need to be updated.
Could not initialize OpenGL for RasterGLSurface, reverting to RasterSurface.
info: Freeing OBS context data
info: == Profiler Results =============================
info: run_program_init: 22791.7 ms
info:  ┣OBSApp::AppInit: 13.942 ms
info:  ┃ ┗OBSApp::InitLocale: 2.862 ms
info:  ┗OBSApp::OBSInit: 2902.96 ms
info:    ┣obs_startup: 21.874 ms
info:    ┗OBSBasic::OBSInit: 33.476 ms
info:      ┣OBSBasic::InitBasicConfig: 0.353 ms
info:      ┣OBSBasic::ResetAudio: 0.174 ms
info:      ┗OBSBasic::ResetVideo: 29.54 ms
info: obs_hotkey_thread(25 ms): min=0.051 ms, median=0.61 ms, max=5.958 ms, 99th percentile=2.427 ms, 100% below 25 ms
info: audio_thread(Audio): min=0.001 ms, median=0.036 ms, max=0.18 ms, 99th percentile=0.056 ms
info: =================================================
info: == Profiler Time Between Calls ==================
info: obs_hotkey_thread(25 ms): min=25.129 ms, median=25.719 ms, max=31.043 ms, 15.2778% within ±2% of 25 ms (0% lower, 84.7222% higher)
info: =================================================
info: Number of memory leaks: 174

Hello

Issue: OBS does not detect my blackmagic card.

System configuration
Ubuntu 18.04
RX 570 open source drivers
uname -a Linux deepcool 4.15.0-45-generic #48-Ubuntu SMP Tue Jan 29 16:28:13 UTC 2019 x86_64 x86_64 x86_64 GNU/Linux

No issue with blackmagic software install

When I used obs 21 in the ubuntu repo windows capture would display colours incorrectly. But the blackmagic card would have an option in the obs sources. I forget what it was called So I decided to use obs in the snap repo and that problem was resolved only to be replaced with this one.

How do I have my cake and eat it too?

Run the following command and report the output:

env SNAP_CONFINE_DEBUG=1 snap run obs-studio

The snap packaging probably didn’t migrate the configuration to the new snap revision during a snap upgrade/refresh, you should be able to acquire the old configuration at ~/snap/obs-studio/old_revision

It works now and it has NVENC support! Thank you guys!

1 Like