Install all necessary building and development libraries viz. cmake, cpp, libcurl, libconfig, qt5, tinyxml2 for your distro. Please note that the developemnet libraries could be suffixed with either -dev (in debian-based distros) or -devel in others like (arch or voidlinux). If you come across a missing package or libraries while compiling and building as in 3 and 7 below, you ought to install those, too.
Create a directory to keep the sources:
mkdir opencast-obs-plugin-build-from-source
Change to the newly-created directory:
cd opencast-obs-plugin-build-from-source
Pull the lib-opencast-ingest source and compile with the following command (one line at a time):
git clone https://github.com/elan-ev/lib-opencast-ingest.git
cd lib-opencast-ingest/
mkdir build && cd build
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
Change to the default build directory as in 1 above:
cd ../../
Pull the opencast-obs-plugin from source repo:
git clone https://github.com/elan-ev/opencast-obs-plugin.git
Make some symlinks to lib-opencast-ingest headers:
cd opencast-obs-plugin/libs/libOpencastIngest/include/
ln -s ../../../../lib-opencast-ingest/src/libOpencastIngest.h
ln -s ../../../../lib-opencast-ingest/src/libOpencastIngest.hpp
cd ../lib
ln -s ../../../..//lib-opencast-ingest/build/libOpencastIngest_static.a libOpencastIngest.a
Compile and build this plugin:
cd ../../..
mkdir build
cd build/
cmake -DCMAKE_BUILD_TYPE=Release ..
cmake --build .
You will get the following if compiled and built successfully:
You may encounter some warnings, but it does not seem to impact, so can be IGNORED(?)!
Warning related to package name mismatch:
...
CMake Warning (dev) at /usr/share/cmake-3.18/Modules/FindPackageHandleStandardArgs.cmake:273 (message):
The package name passed to `find_package_handle_standard_args` (TINYXML2)
does not match the name of the calling package (TinyXML2). This can lead
to problems in calling code that expects `find_package` result variables
(e.g., `_FOUND`) to follow a certain pattern.
Call Stack (most recent call first):
cmake/FindTinyXML2.cmake:13 (find_package_handle_standard_args)
CMakeLists.txt:69 (find_package)
This warning is for project developers. Use -Wno-dev to suppress it.
...
Warning related to Qwidget:
...
[ 38%] Generating ui_dialogopencast.h
/home/zenny/Downloads/obs/opencast-obs-plugin/src/ui/dialogopencast.ui: Warning: The name 'layoutWidget' (QWidget) is already in use, defaulting to 'layoutWidget1'.
/home/zenny/Downloads/obs/opencast-obs-plugin/src/ui/dialogopencast.ui: Warning: The name 'layoutWidget' (QWidget) is already in use, defaulting to 'layoutWidget2'.
Scanning dependencies of target obsOpencastIngestPlugin
...
Copy the generated binary libobsOpencastIngestPlugin.so to obs-plugin directory of obs installation (NOT into $HOME/.config/obs-studio/plugins):
Hi,
I propose to include the following instructions (derived from my own experience described in #11) either in
README.md
or particulary in https://github.com/elan-ev/opencast-obs-plugin/blob/master/docs/building.md#building-on-linux section to prevent others from whining around like I had to:Install all necessary building and development libraries viz.
cmake, cpp, libcurl, libconfig, qt5, tinyxml2
for your distro. Please note that the developemnet libraries could be suffixed with either-dev
(in debian-based distros) or-devel
in others like (arch or voidlinux). If you come across a missing package or libraries while compiling and building as in 3 and 7 below, you ought to install those, too.Create a directory to keep the sources:
mkdir opencast-obs-plugin-build-from-source
Change to the newly-created directory:
cd opencast-obs-plugin-build-from-source
Pull the
lib-opencast-ingest
source and compile with the following command (one line at a time):Change to the default build directory as in 1 above:
cd ../../
Pull the
opencast-obs-plugin
from source repo:git clone https://github.com/elan-ev/opencast-obs-plugin.git
Make some symlinks to
lib-opencast-ingest
headers:Compile and build this plugin:
You will get the following if compiled and built successfully:
You may encounter some warnings, but it does not seem to impact, so can be IGNORED(?)!
Qwidget
:Copy the generated binary
libobsOpencastIngestPlugin.so
to obs-plugin directory of obs installation (NOT into$HOME/.config/obs-studio/plugins
):Start
obs
and you would see the plugin underTools
menu item.Enjoy!