|
|
@@ -2,45 +2,94 @@ Compilation instructions! Temporary quick compilation instructions!
|
|
|
Will give better instructions later when things are in a more complete state.
|
|
|
|
|
|
Windows:
|
|
|
- - Use VS2013, as obs-studio uses C99 and C++11
|
|
|
+ - NOTE: OBS on windows currently requires VS2013, as obs-studio uses C99 and
|
|
|
+ C++11. Express might not be supported at this time (though I'll fix it at
|
|
|
+ some point).
|
|
|
+
|
|
|
+ - Clone the repo. After cloning, run the following git commands:
|
|
|
+ git submodule init
|
|
|
+ git submodule update
|
|
|
+ which will download submodules.
|
|
|
+
|
|
|
+ - Download (or build) development packages of FFmpeg, x264, Qt5.
|
|
|
+
|
|
|
+ - Download windows version of cmake from: http://www.cmake.org/
|
|
|
+
|
|
|
+ - Add windows environment variables:
|
|
|
+ FFMpegPath (path to FFmpeg include directory)
|
|
|
+ x264Path (path to x264 include directory)
|
|
|
+ QTDIR (path to Qt build base directory)
|
|
|
+
|
|
|
+ NOTE: Each of these environment variables can specify 32bit and 64bit by
|
|
|
+ appending 32 and 64 to the end of the environment variable names.
|
|
|
+ So if you want to separate locations for 32bit or 64bit, you can set:
|
|
|
+ FFmpegPath32, FFmpegPath64, x264Path32, x264Path64, QTDIR32, QTDIR64, etc.
|
|
|
+
|
|
|
+ NOTE: These variables are optional and these can be entered in to cmake
|
|
|
+ while generating, but having these variables makes life much easier in case
|
|
|
+ you need to regenerate your cmake data from scratch for whatever reason.
|
|
|
+
|
|
|
+ NOTE: An example Qt directory you would use here if you installed Qt5 to
|
|
|
+ D:\Qt would usually look something like this for the 32bit version:
|
|
|
+ D:\Qt\5.3\msvc2013
|
|
|
+ And something like this for the 64bit version
|
|
|
+ D:\Qt\5.3\msvc2013_64
|
|
|
+
|
|
|
+ NOTE: Search paths and search order for FFmpeg and x264 library/binary
|
|
|
+ files, relative to their include directories:
|
|
|
+
|
|
|
+ Library files
|
|
|
+ ../lib
|
|
|
+ ../lib32 (if 32bit)
|
|
|
+ ../lib64 (if 64bit)
|
|
|
+ ./lib
|
|
|
+ ./lib32 (if 32bit)
|
|
|
+ ./lib64 (if 64bit)
|
|
|
+
|
|
|
+ Binary files:
|
|
|
+ ../bin
|
|
|
+ ../bin32 (if 32bit)
|
|
|
+ ../bin64 (if 64bit)
|
|
|
+ ./bin
|
|
|
+ ./bin32 (if 32bit)
|
|
|
+ ./bin64 (if 64bit)
|
|
|
+
|
|
|
+ - Run cmake-gui. In "where is the source code", enter in the repo directory
|
|
|
+ (example: D:/obs). In "where to build the binaries", enter the repo
|
|
|
+ directory path with the 'build' subdirectory (example: D:/obs/build).
|
|
|
+
|
|
|
+ NOTE: The subdirectories 'build', 'release', and 'debug' are meant for
|
|
|
+ builds, and are excluded from the repo in .gitignore, so they are safe to
|
|
|
+ use for building.
|
|
|
+
|
|
|
+ - Press 'Configure', then enable the COPY_DEPENDENCIES option, then press
|
|
|
+ 'Configure' again, and then press 'Generate' to generate visual studio
|
|
|
+ project files in the 'build' subdirectory.
|
|
|
+
|
|
|
+ - Open obs-studio.sln from the 'build' subdirectory, and it should run and
|
|
|
+ be good to go. All required dependencies should be copied on compile and
|
|
|
+ it should be a fully fuctional build environment.
|
|
|
|
|
|
- - Download latest FFmpeg repositories and Qt5 release
|
|
|
|
|
|
- - Create a windows environment variable FFmpegPath. Set it to your FFmpeg
|
|
|
- repo path
|
|
|
-
|
|
|
- - Create a windows environment variable QTDIR. Set it to your
|
|
|
- Qt5 install path
|
|
|
-
|
|
|
- - Compile FFmpeg and Qt5(Until they release a binary VS2013 version).
|
|
|
- They should both be compiled with VS2013.
|
|
|
- For compiling FFmpeg, see http://ffmpeg.org/platform.html#Windows
|
|
|
-
|
|
|
- - Create two directories in FFmpeg directory, lib32 and lib64. Place the
|
|
|
- lib files generated by FFmpeg into these directories for the respective
|
|
|
- architecture
|
|
|
-
|
|
|
- - If compiling FFmpeg with shared libraries (DLLs), place the DLLs into
|
|
|
- build/bin/32bit and/or build/bin/64bit respectively
|
|
|
-
|
|
|
- - Compile project with VS2013, and it should be good to go.
|
|
|
-
|
|
|
- - NOTE: Direct3D 11 library may require D3Dcompiler_47.dll to be present
|
|
|
- in both the obs-studio/build/bin/32bit and obs-studio/build/bin/64bit
|
|
|
- directories
|
|
|
+Mac OSX
|
|
|
+ - Use macports or homebrew and install FFmpeg, x264, Qt5, and cmake.
|
|
|
|
|
|
+ NOTE: Qt5 can also be downloaded/installed via the Qt website, though keep
|
|
|
+ in mind that you will have to set the QTDIR environment variable to the
|
|
|
+ Qt5 build base directory.
|
|
|
|
|
|
-Mac OSX
|
|
|
- - Use macports or homebrew and get FFmpeg, glew and cmake.
|
|
|
+ - In a terminal, go to the obs-studio directory create a 'build' sub
|
|
|
+ directory and change to it, then to build, type: cmake .. && make
|
|
|
|
|
|
- - In a terminal, go to the obs-studio directory create a cmbuild subdir
|
|
|
- and change to it, then to build, type: cmake .. && make
|
|
|
+ - It builds in a modular structure by default. To run it via terminal, go to
|
|
|
+ build/rundir/RelWithDebInfo/bin, then type ./obs to run.
|
|
|
|
|
|
- - It builds in a modular structure similar to windows, where everything
|
|
|
- necessary to run the program is compiled to cmbuild/rundir
|
|
|
+ NOTE: If you are running via command prompt, you *must* be in the 'bin'
|
|
|
+ directory specified above, otherwise it will not be able to find its files
|
|
|
+ relative to the binary.
|
|
|
|
|
|
- - You can also use ccmake to create an app bundle, which makes it so you
|
|
|
- don't have to use the terminal to execute it from the correct directory
|
|
|
+ - To create an app bundle instead, use the command: make package
|
|
|
+ This will create a .dmg file with an app bundle inside.
|
|
|
|
|
|
|
|
|
Linux
|
|
|
@@ -61,7 +110,7 @@ Linux
|
|
|
yourself(Ubuntu 14.04 only):
|
|
|
https://launchpad.net/~btbn/+archive/ubuntu/obs-studio
|
|
|
|
|
|
- - Build dependencies on Ubuntu 14.04 with ppa from above:
|
|
|
+ - Build dependencies on Ubuntu 14.04 with ffmpeg ppa from above:
|
|
|
cmake libpulse-dev qtbase5-dev libqt5x11extras5-dev libavcodec-dev
|
|
|
libavformat-dev libswscale-dev libx264-dev libswresample-dev
|
|
|
libfdk-aac-dev libxinerama-dev libxcomposite-dev libxrandr-dev
|
|
|
@@ -86,5 +135,3 @@ Linux
|
|
|
cmake -DUNIX_STRUCTURE=1 -DCMAKE_INSTALL_PREFIX=/usr ..
|
|
|
make -j4
|
|
|
sudo checkinstall
|
|
|
-
|
|
|
-
|