norihiro / obs-face-tracker

Face tracking plugin for OBS Studio
GNU General Public License v2.0
343 stars 29 forks source link

Looking for help to build under Windows #146

Closed HuBandiT closed 5 months ago

HuBandiT commented 5 months ago

Source/filter types Face Tracker (source code)

Describe your problem I would like to do some modifications to the plug-in (source code) and then compile it. I am on Windows. I have a working development environment for obs-studio, which successfully compiles and runs obs-studio itself.

Now I am looking for a way to do the same for obs-face-tracker.

Desktop (please complete the following information):

Additional context I see the steps in the file .github/workflows/main.yml, but I don't know GitHub Workflows, and I am new to CMake as well, so I do not know, how to perform those steps on my local computer to generate a working build environment, including an .sln file for the development environment Visual Studio.

Thank you kindly in advance.

norihiro commented 5 months ago

At first, you need to have directory structure like below.

And, also download model files from https://github.com/davisking/dlib-models; mmod_human_face_detector.dat.bz2 and shape_predictor_5_face_landmarks.dat.bz2. Extract them. Place mmod_human_face_detector.dat and shape_predictor_5_face_landmarks.dat under obs-face-tracker/data/dlib_cnn_model and obs-face-tracker/data/dlib_face_landmark_model, respectively.

Then, go to the directory obs-face-tracker and follow the command below. https://github.com/norihiro/obs-face-tracker/blob/573da1af2bad48b9cbd4c75a8abb45d5f6061b29/.github/workflows/main.yml#L376-L385

@CmakeArgs is a variable and you may extract the line 383 like make -S . -B build -G "Visual Studio 17 2022" -DQT_VERSION=6 -DCMAKE_SYSTEM_VERSION=10.0.18363.657 And also need to add the options starting with -DCMAKE_INSTALL_PREFIX= and -DCMAKE_PREFIX_PATH= so that make can find libobs configuration file but I don't know exactly how it should be configured.

Usually I don't use Windows. Above comment might not be insufficient.

HuBandiT commented 5 months ago

Thank you, this just gave me the right amount of push.

I started with your cmake suggestion, and then kept adding directories for libraries cmake reported as not found, until finally this gave me no errors anymore:

cmake -S . -B build -G "Visual Studio 17 2022" -DQT_VERSION=6 -DLIBOBS_INCLUDE_DIR=$PWD/../obs-studio/libobs -DLIBOBS_LIB=$PWD/../obs-studio/libobs -Dlibobs_DIR=$PWD/../obs-studio/build_x64/libobs -Dw32-pthreads_DIR=$PWD/../obs-studio/build_x64/deps/w32-pthreads/ -Dobs-frontend-api_DIR=$PWD/../obs-studio/build_x64/UI/obs-frontend-api/ -DQt6_DIR=$PWD/../obs-studio/.deps/obs-deps-qt6-2023-11-03-x64/lib/cmake/Qt6/ -DQt6CoreTools_DIR=$PWD/../obs-studio/.deps/obs-deps-qt6-2023-11-03-x64/lib/cmake/Qt6CoreTools/ -DQt6GuiTools_DIR=$PWD/../obs-studio/.deps/obs-deps-qt6-2023-11-03-x64/lib/cmake/Qt6GuiTools/

I assume there is a better way, but I put it here for future reference for others who are similarly clueless about cmake as I am but might want to work on this.

HuBandiT commented 5 months ago

and I needed do update libvisca after this to be able to do a Debug build:

cd libvisca
git pull origin HEAD