OBS redux

JPL

Member
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-dev libqt5gui-dev libqt5core-dev 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

Cool, thanks... one problem, when I try to install all those packages with apt-get I get this error:
E: Unable to locate package libqt5widgets-dev
E: Unable to locate package libqt5gui-dev
E: Unable to locate package libqt5core-dev

When I browse http://packages.ubuntu.com, those packages do not appear to be in the repos for Trusty.
 

thedopefish

New Member
Cool, thanks... one problem, when I try to install all those packages with apt-get I get this error:
E: Unable to locate package libqt5widgets-dev
E: Unable to locate package libqt5gui-dev
E: Unable to locate package libqt5core-dev

When I browse http://packages.ubuntu.com, those packages do not appear to be in the repos for Trusty.

Ah, you're right, it's just the normal qt5 libraries (not the -dev packages). I've updated my earlier post accordingly. If I got anything else wrong, let me know--it does seem useful to have a complist list of instructions all in one post for people to reference.
 

JPL

Member
Ah, you're right, it's just the normal qt5 libraries (not the -dev packages). I've updated my earlier post accordingly. If I got anything else wrong, let me know--it does seem useful to have a complist list of instructions all in one post for people to reference.

Thing is, cmake needs to have those Qt5 cmake files to run, otherwise you get a string of errors like this:

Code:
  By not providing "FindQt5X11Extras.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "Qt5X11Extras", but CMake did not find one.

  Could not find a package configuration file provided by "Qt5X11Extras" with
  any of the following names:

  Qt5X11ExtrasConfig.cmake
  qt5x11extras-config.cmake

  Add the installation prefix of "Qt5X11Extras" to CMAKE_PREFIX_PATH or set
  "Qt5X11Extras_DIR" to a directory containing one of the above files.  If
  "Qt5X11Extras" provides a separate development package or SDK, be sure it
  has been installed.

I can set that right by downloading the latest Qt from here http://qt-project.org/downloads , running its installer script, then setting those environment variables correctly. That gets me all the way through compilation, but when it tries to link libobs-x264.so it gives this error:

Code:
/usr/bin/ld: /usr/local/lib/libx264.a(cabac-a.o): relocation R_X86_64_PC32 against symbol `x264_cabac_range_lps' can not be used when making a shared object; recompile with -fPIC
/usr/bin/ld: final link failed: 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

which is the issue I had before.

Is anyone else using Ubuntu 14.04? I don't think anything about my setup is non-standard...
 

thedopefish

New Member
Thing is, cmake needs to have those Qt5 cmake files to run, otherwise you get a string of errors like this:

Code:
  By not providing "FindQt5X11Extras.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "Qt5X11Extras", but CMake did not find one.

  Could not find a package configuration file provided by "Qt5X11Extras" with
  any of the following names:

  Qt5X11ExtrasConfig.cmake
  qt5x11extras-config.cmake

  Add the installation prefix of "Qt5X11Extras" to CMAKE_PREFIX_PATH or set
  "Qt5X11Extras_DIR" to a directory containing one of the above files.  If
  "Qt5X11Extras" provides a separate development package or SDK, be sure it
  has been installed.

There is a libqt5x11extras-dev package which should solve that error. Though you'll probably want to stick with only the Ubuntu QT5 packages, or only the standalone QT5 from their website--mixing and matching is likely to cause more problems.

The only special thing I did was install ffmpeg (and related packages) from that PPA I mentioned. Everything else I installed were bog standard ubuntu 14.04 packages with no special configuration.

I hope you can get your problems sorted out one way or another.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
How do you install OBSRedux on Mac?
I will be making some public mac binaries within the next few weeks. Won't be much at first, will just be basic audio capture and screen capture, but it'll be something.
 

BarclayTech

New Member
Having this problem while building.

Decided to scratch everything and start again.

Instead of getting link errors I'm getting this?

cc1: some warnings being treated as errors
make[2]: *** [libobs/CMakeFiles/libobs.dir/media-io/audio-resampler-ffmpeg.c.o] Error 1
make[1]: *** [libobs/CMakeFiles/libobs.dir/all] Error 2
make: *** [all] Error 2


Not sure what's up but after going through the dir's audio-resampler-ffmpeg.c.o doesn't exist O_o
 

dodgepong

Administrator
Community Helper
Since the project is still so early in development, it would probably be better to report bugs here or on the #obs-dev IRC chat.
 

Salastil

New Member
I would just point out that those who are having problems with ffmpeg on Ubuntu are not actually dealing with ffmpeg despite it being the package name. Here is a good run down of the situation. http://blog.pkh.me/p/13-the-ffmpeg-libav-situation.html When you apt-get install ffmpeg from the Debian/Ubuntu/Linux Mint repository you're actually getting avconv, not ffmpeg. If you haven't compiled it yourself you're likely using avconv. Why does this matter? ffmpeg and libav are divergent projects. Ffmpeg maintains compliancy with Libav so in theory it should work without problems. Any ffmpeg exclusive commands given to libav will throw errors.

Don't expect it to change any time soon, the maintainers for the Debian repository are on the Libav side of the conflict despite it being an inferior project. Any Debian derived distro; Ubuntu, Mint, ElementaryOS all will use Libav. The rest of the Linux community uses ffmpeg, Arch, Fedora, OpenSuse etc etc.
 

pierpa91

New Member
Code:
CMake Error at obs/CMakeLists.txt:20 (find_package):
  By not providing "FindQt5Widgets.cmake" in CMAKE_MODULE_PATH this project
  has asked CMake to find a package configuration file provided by
  "Qt5Widgets", but CMake did not find one.

  Could not find a package configuration file provided by "Qt5Widgets" with
  any of the following names:

    Qt5WidgetsConfig.cmake
    qt5widgets-config.cmake

  Add the installation prefix of "Qt5Widgets" to CMAKE_PREFIX_PATH or set
  "Qt5Widgets_DIR" to a directory containing one of the above files.  If
  "Qt5Widgets" provides a separate development package or SDK, be sure it has
  been installed.


I was trying to install OBS Studio on my iMac, with OSX Mavericks, but I got this error.
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
That error is somewhat normal for mac at the moment due to the way qt5 installs (doesn't seem to install with pkg-config files, or at least I don't see how to install any pkg-config files yet)

You then need to use ccmake or edit CMakeCache.txt, find the Qt5Widgets_DIR variable, and set it to the cmake lib directory for Qt5Widgets.

For example, I have Qt5 version 5.2.0 installed to /Users/Jim/Qt5. In my CMakeCache.txt file, I have it set to:

Qt5Widgets_DIR:PATH=/Users/Jim/Qt5/5.2.0/clang_64/lib/cmake/Qt5Widgets
 

Weegee

New Member
Since the project is still so early in development, it would probably be better to report bugs here or on the #obs-dev IRC chat.
Well okay then :) I hope I'm not annoying or anything because I'm not a dev but still fiddling around with pre-alpha software.

Here are some things I noticed while testing OBS on Linux using the latest revision (which means I'm using the xshm and PulseAudio output capture in all cases):

  1. PulseAudio output capture: The audio/video delay I had before disappeared after the latest revision (both with and without the "Use OS timestamps" option set). However, I have some echo issues on both Twitch and hitbox (example video), which seem to be unaffected by the OS timestamp option (i. e. I get them with and without the option set). Changing the audio quality and the sample rate did not affect this issue either.
  2. Crash after starting the stream twice without closing OBS inbetween: If you start a stream, then stop it and then start it again, OBS crashes. I'm able to reproduce this bug without any problems, so I've rebuilt OBS with debug symbols enabled and started it within gdb. Here's the terminal output and the backtrace from gdb.
  3. Crash after closing OBS if you streamed before: To work around #2 I just close and restart OBS after having streamed, however this results in a crash as well. Once again the terminal output as well as the gdb backtrace.
Also, my user-specific configuration: ~/.obs-studio/global.ini as well as ~/.obs-studio/basic/basic.ini.


EDIT: Also, would it be possible for OBS to follow the XDG Base Directory specification?
 
Last edited:

Kladdy

New Member
I can't seem to find where on GitHub the instructions for installing on Mac OS X are, sorry I and quite new to it xD

EDIT: BTW, if you want to, I can help to translate the client to Swedish :p
 
Last edited:

manos34

New Member
I'm getting
Code:
-- Try C++11 flag = [-std=gnu++11]
-- Performing Test CXX11_FLAG_DETECTED
-- Performing Test CXX11_FLAG_DETECTED - Failed
-- Try C++11 flag = [-std=gnu++0x]
-- Performing Test CXX11_FLAG_DETECTED
-- Performing Test CXX11_FLAG_DETECTED - Failed
-- Try C++11 flag = [-std=c++11]
-- Performing Test CXX11_FLAG_DETECTED
-- Performing Test CXX11_FLAG_DETECTED - Failed
-- Try C++11 flag = [-std=c++0x]
-- Performing Test CXX11_FLAG_DETECTED
-- Performing Test CXX11_FLAG_DETECTED - Failed
-- Try C++11 flag = [ ]
-- Performing Test CXX11_FLAG_DETECTED
-- Performing Test CXX11_FLAG_DETECTED - Failed
-- Try C++11 flag = [/Qstd=c++11]
-- Performing Test CXX11_FLAG_DETECTED
-- Performing Test CXX11_FLAG_DETECTED - Failed
-- Try C++11 flag = [/Qstd=c++0x]
-- Performing Test CXX11_FLAG_DETECTED
-- Performing Test CXX11_FLAG_DETECTED - Failed
CMake Error at /opt/local/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:108 (message):
  Could NOT find CXX11 (missing: CXX11_FLAGS)
Call Stack (most recent call first):
  /opt/local/share/cmake-2.8/Modules/FindPackageHandleStandardArgs.cmake:315 (_FPHSA_FAILURE_MESSAGE)
  cmake/Modules/FindCXX11.cmake:67 (find_package_handle_standard_args)
  CMakeLists.txt:24 (find_package)


-- Configuring incomplete, errors occurred!
 

Lain

Forum Admin
Lain
Forum Moderator
Developer
You need an up-to-date compiler that supports C++11 and C99 features to compile it.
 

jconnor817

New Member
Being an avid video game streamer to Twitch with my Macbook Pro, I cannot use OBS because it is only for Windows. All I want is to have a stream delay to prevent cheating and a twitch overlay with a face cam. I was wondering if you could implement these features into the OBS for Mac, please. Thank you so much and good luck!
 

xiuide

Member
Being an avid video game streamer to Twitch with my Macbook Pro, I cannot use OBS because it is only for Windows. All I want is to have a stream delay to prevent cheating and a twitch overlay with a face cam. I was wondering if you could implement these features into the OBS for Mac, please. Thank you so much and good luck!

OBStudio will support all of these + more. the features you want are actually already included into OBS, but like you said, as a mac user you cant use them. once OBStudio reaches a state thats user friendly you will be all set!
 

JPL

Member
Further adventures in trying to get OBS to compile in 64-bit Ubuntu 14.04. Because nothing else has worked, I've tried compiling ffmpeg and its dependencies from source. I get this error:

Linking C shared library libobs.so
/usr/bin/ld: /usr/local/lib/libswscale.a(swscale.o): relocation R_X86_64_PC32 against symbol `ff_M24A' can not be used when making a shared object; recompile with -fPIC​

Thing is, I used the --enable-pic configure flag for both x264 and ffmpeg.

thedopefish, you mentioned you got everything working without doing anything non-standard except using that PPA. Are you using 32-bit or 64-bit Ubuntu? It's really unclear what the error means from searching for it, but it does mention architecture. I'm down to wild guesses or learn a bunch about compile settings :/
 
Top