Based on mpv, I added vo_driver named multidirect3d which is used for supporting multiple display or projector. and use grid to adjust intersection part between projectors, and set number of overlapped grid.
build steps
Download an installer from https://msys2.github.io/
Both the i686 and the x86_64 version of MSYS2 can build 32-bit and 64-bit mpv binaries when running on a 64-bit version of Windows, but the x86_64 version is preferred since the larger address space makes it less prone to fork() errors.
Start a MinGW-w64 shell (mingw64.exe). Note: This is different from the MSYS2 shell that is started from the final installation dialog. You must close that shell and open a new one.
For a 32-bit build, use mingw32.exe.
To prevent errors during post-install, the MSYS2 core runtime must be updated separately.
http://yasm.tortall.net/Download.html rename yasm.exe and copy to /bin
pacman -Syu
pacman -Su pacman -S make pacman -S diffutils pacman -S msys2-w32api-runtime
pacman -S git python $MINGW_PACKAGE_PREFIX-{pkg-config,gcc}
pacman -S $MINGW_PACKAGE_PREFIX-{libjpeg-turbo,lua51,angleproject-git}
git clone https://github.com/mpv-player/ffmpeg-mpv make && make install
git clone https://github.com/shadowmeng/edge-fusion-player.git && cd mpv /usr/bin/python3 bootstrap.py
/usr/bin/python3 waf configure CC=gcc.exe --check-c-compiler=gcc --prefix=$MSYSTEM_PREFIX
/usr/bin/python3 waf install
enter build dir
cd build
./mpv --vo=multidirect3d xxx.mp4
we can press Ctrl key to switch between grid screen and frame screen. In grid screen, you can drag control point with mouse to adjust the shape of grid.