OBS redux

Weegee

New Member
Just upgraded to Ubuntu 14.04. Think I'm getting close to getting it building, after I use this PPA to get FFmpeg 1.2:



However it looks like latest OBS from git no longer uses the old style configure script. What's the preferred build method on Linux? CMake complains about Qt5 files. I see some autoconf files were committed recently, is that the way to go now?
I'm using
cmake ./ -DCMAKE_BUILD_TYPE='Release' -DCMAKE_INSTALL_PREFIX='/usr'
make
on Arch Linux and it works fine, no autotools needed.
 

kyuser101

New Member
Linux users will unfortunately still need to compile for the time being I think..

Okay, that's fine! It is in very early stages still, after all! These very early alphas: will they be usable for streaming? I know it's probably not recommended, but might as well test it out if so! :)
 

BarclayTech

New Member
Gonna shoot myself in the head in a minute.

Upgraded to 14.04 but can't install ffmpeg in any way.

Keeps shooting
ffmpeg : Depends: libavcodec54 (>= 7:1.2.5~) but 6:9.11-2ubuntu2 is to be installed or
libavcodec-extra-54 (>= 7:1.2.5~) but it is not going to be installed
Depends: libavdevice53 (>= 7:1.2.5~) but it is not going to be installed
Depends: libavfilter3 (>= 7:1.2.5~) but it is not going to be installed
Depends: libavformat54 (>= 7:1.2.5~) but 6:9.11-2ubuntu2 is to be installed


Don't get it.

EDIT:
Fixed FFmpeg issues by building it from the source.


EDIT.. AGAIN:
Got to the make stage but it fails @

Linking C shared library libobs.so
/usr/bin/ld: /usr/local/lib/libswscale.a(swscale.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libswscale.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [libobs/libobs.so.0] Error 1
make[1]: *** [libobs/CMakeFiles/libobs.dir/all] Error 2
make: *** [all] Error 2


Looked up but can't find any information about it.


ANOTHER EDIT:
Fixed that issue too, there was another that popped up but I'm hopefully resolving that one now! Woo!

Ok, so I'm getting this error without knowledge of how to fix. Others I could do but not this one.

/usr/bin/ld: /usr/local/lib/libswscale.a(utils.o): relocation R_X86_64_32S against `.text.unlikely' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libswscale.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [libobs/libobs.so.0] Error 1
make[1]: *** [libobs/CMakeFiles/libobs.dir/all] Error 2
make: *** [all] Error 2
 
Last edited:

Lain

Forum Admin
Lain
Forum Moderator
Developer
Okay, that's fine! It is in very early stages still, after all! These very early alphas: will they be usable for streaming? I know it's probably not recommended, but might as well test it out if so! :)

It's technically usable right now.
 

JPL

Member
EDIT: I tried a different PPA and can now get obs to compile. First I installed the PPA and packages with the commands below:

sudo apt-add-repository ppa:smarter/ffmpeg
sudo apt-get update
sudo apt-get install ffmpeg libavformat-extra-54 libswresample-dev libavformat-dev libavcodec-dev libjansson-dev

Then I had to download and install Qt 5.2.1 and set the env variables as CookieMonsterZA did in this post:

Seems like the Qt5 packages in the Mint/Ubuntu repos are a bit buggy. So I've downloaded the Qt 5.2.1 files from the official site and fixed the directories for Qt5:

Qt5Core_DIR = ~/Qt5.2.1/5.2.1/gcc_64/lib/cmake/Qt5Core
Qt5Gui_DIR = ~/Qt5.2.1/5.2.1/gcc_64/lib/cmake/Qt5Gui
Qt5Widgets_DIR = ~/Qt5.2.1/5.2.1/gcc_64/lib/cmake/Qt5Widgets
 
Last edited:

JPL

Member
Gah, I spoke too soon. When I run make I get this error:
Code:
[  1%] Built target glad
[ 10%] Built target jansson
[ 55%] Built target libobs
[ 65%] Built target libobs-opengl
[ 66%] Automoc for target obs
[ 66%] Built target obs_automoc
[ 79%] Built target obs
[ 82%] Built target linux-xshm
[ 83%] Built target linux-pulseaudio
Linking C shared module libobs-x264.so
/usr/bin/ld: /usr/local/lib/libx264.a(common.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libx264.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [plugins/obs-x264/libobs-x264.so] Error 1
make[1]: *** [plugins/obs-x264/CMakeFiles/obs-x264.dir/all] Error 2
make: *** [all] Error 2

Is this a problem with the FFmpeg PPA I'm using?
 

BarclayTech

New Member
Gah, I spoke too soon. When I run make I get this error:
Code:
[  1%] Built target glad
[ 10%] Built target jansson
[ 55%] Built target libobs
[ 65%] Built target libobs-opengl
[ 66%] Automoc for target obs
[ 66%] Built target obs_automoc
[ 79%] Built target obs
[ 82%] Built target linux-xshm
[ 83%] Built target linux-pulseaudio
Linking C shared module libobs-x264.so
/usr/bin/ld: /usr/local/lib/libx264.a(common.o): relocation R_X86_64_32 against `.rodata.str1.1' can not be used when making a shared object; recompile with -fPIC
/usr/local/lib/libx264.a: error adding symbols: Bad value
collect2: error: ld returned 1 exit status
make[2]: *** [plugins/obs-x264/libobs-x264.so] Error 1
make[1]: *** [plugins/obs-x264/CMakeFiles/obs-x264.dir/all] Error 2
make: *** [all] Error 2

Is this a problem with the FFmpeg PPA I'm using?

Yeah I can't tell whether it's FFmpeg causing the issue or OBS. As you saw above, I got past this stage successfully but got stopped at a .text.unlikely file for the same reason.

I don't know why it doesn't like to be built on Linux.
 
Quick question. Will OBSRedux make it possible to record a local video file that includes more than one audio stream? This is possible with Dxtory, and allows for recording the game audio and the player's voice on different tracks. This makes editing and correcting audio levels after recording a lot easier, and it will also improve the audio quality as you aren't forced to apply audio processing on the final mix.
 

Scribbler397

New Member
JoshKnowles - We might do that, yea. I wouldn't mind giving out super-ultra-early test builds, but I want to get our network code finished first. I'll post some windows/mac builds after I do (linux users should compile from git due to system dependencies).

You can count me in for testing!
 

thedopefish

New Member
I spent a little time playing around with this on Linux, and I'm quite impressed. I was able to stream without any real issues, and it was pretty easy to get up and running.

The only real hurdle I had was that I selected "Monitor of Built-in Audio" for my desktop audio device in OBS, but pulseaudio apparently assigned it to my microphone instead. I couldn't even tell what was going on until I ran pavucontrol, but fortunately I could select the correct device there, and everything went swimmingly after that.

I'll definitely be keeping an eye on this project.
 

JPL

Member
Has anyone using Ubuntu gotten OBS to compile correctly yet? I'm not exactly inexperienced when it comes to building stuff from source, but I've had a heck of a time with this, between all the dependencies. A step-by-step compilation guide for Ubuntu 14.04 (as that's what I figure most people will be using now or soon) would be really handy for newcomers.
 

Weegee

New Member
Heyo, just wanted to say that I was able to stream to different services using the latest OBS Git revision on Linux :)

The only issue I experienced was an audio/video desync, everything else worked fine. Incredible progress so far, thank you so much Jim (and of course all other OBS developers out there :Þ)
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
Desync on linux may be pulseaudio's fault, but I haven't verified. The audio subsystem doesn't have any known issues with sync (primarily due to the new design which makes it almost impossible this time around). The only real way it can get desync now is if it's getting bad timing information from it's target.

As for ubuntu, I am not sure about the status of Ubuntu right now.

Also, pre the question of separated audio, making more than one audio stream is possible, but it'll probably have to be out to a separate audio file rather than some hypothetical extra audio channel in a single video file.
 
Last edited:

Weegee

New Member
The only real way it can get desync now is if it's getting bad timing information from it's target
And it's very likely that this is the actual cause, as DOTA 2 has some very nasty audio-related issues on Linux :)

I'll fiddle around with it a bit later today, but I'm nearly 100% sure that it's not OBS' fault but rather the dota client itself.


E: Okay, after trying it on both hitbox and Twitch I can say that even if I'm not in a game the audio track is already around two seconds behind on Twitch and around four to five seconds on hitbox (example), so I guess it actually is related to the PulseAudio capture?
 
Last edited:

thedopefish

New Member
Has anyone using Ubuntu gotten OBS to compile correctly yet? I'm not exactly inexperienced when it comes to building stuff from source, but I've had a heck of a time with this, between all the dependencies. A step-by-step compilation guide for Ubuntu 14.04 (as that's what I figure most people will be using now or soon) would be really handy for newcomers.

I was able to get it compiled and running on 64bit Ubuntu 14.04 without much trouble. Here's roughly what I did; the line installing all the prerequisite libraries is probably incomplete. If cmake fails, install whichever library(s) it complains about, clear out the cmbulid directory, and try the cmake command again.

sudo apt-add-repository ppa:jon-severinsson/ffmpeg
sudo apt-get update
sudo apt-get install ffmpeg libqt5widgets libqt5gui libqt5core libswresample-dev libswscale-dev libavformat-dev
git clone https://github.com/jp9000/obs-studio.git obs-studio
cd obs-studio
mkdir cmbuild
cd cmbuild
cmake ..
make install
 
Last edited:

leonhard

Developer
E: Okay, after trying it on both hitbox and Twitch I can say that even if I'm not in a game the audio track is already around two seconds behind on Twitch and around four to five seconds on hitbox (example), so I guess it actually is related to the PulseAudio capture?

It's possible that's the fault of the capture plugin, i'll look into that.

The only real hurdle I had was that I selected "Monitor of Built-in Audio" for my desktop audio device in OBS, but pulseaudio apparently assigned it to my microphone instead. I couldn't even tell what was going on until I ran pavucontrol, but fortunately I could select the correct device there, and everything went swimmingly after that.

Did you use the "Settings" Dialog or did you add a custom source to the scene ?
 

Padchi

New Member
I have tried it on OS X and i can stream to twitch without nothing negative to say except that i can't get sound to work, maybe this isn't implemented yet?
Good job and I looking forward to use OBS!
 

thedopefish

New Member
Did you use the "Settings" Dialog or did you add a custom source to the scene ?

I used the Settings dialog. Screenshot attached.
 

Attachments

  • obs_audio.png
    obs_audio.png
    124.2 KB · Views: 139

Lain

Forum Admin
Lain
Forum Moderator
Developer
Padchi - it requires that you have soundflower installed (and configured) to capture sound. Capturing desktop audio on mac requires kernel extensions unfortunately because the writers of the mac operating system didn't care about it
 

Padchi

New Member
Padchi - it requires that you have soundflower installed (and configured) to capture sound. Capturing desktop audio on mac requires kernel extensions unfortunately because the writers of the mac operating system didn't care about it

I have soundflower and everything works fine with programs like CocoaSplit but everything is quiet when i try with OBS.
Twitch giving me this error "Audio codec must be set to MP3 or AAC (it is currently "unknown")". Maybe thats the reason why everything is quiet?

I have tried set CoreAudio Input and Outout to use Soundflower and I have set Desktop Audio Device to soundflower. Mic/Aux Audio device to soundflower too.
 
Top