Please acknowledge and cite the use of this software and its authors when results are used in publications or published elsewhere:
Friard, O. and Gamba, M.,
BORIS: a free, versatile open-source event-logging software for video/audio coding and live observations.
(2016) Methods Ecol Evol, 7: 1325–1330.
DOI: 10.1111/2041-210X.12584
http://onlinelibrary.wiley.com/doi/10.1111/2041-210X.12584/abstract
General information
An EXPERIMENTAL version of BORIS is available for macOS (v.9.7.2).
The author would like to thank dsanmiguel for his initial work on making BORIS run on macOS. Most of the following material was written by him.
Please report any issues or caveats related to the installation or use of BORIS on macOS. See the how to report a bug page
EXTREMELY IMPORTANT
This is an experimental version and BORIS is distributed WITHOUT ANY WARRANTY.
Please remember that it is extremely important to regularly back up your project files to prevent data loss. While software can be reinstalled, your data might be lost forever if not properly backed up. Use an external drive and/or a cloud service for your backups. Include a timestamp in the file name to avoid overwriting previous backups (e.g., my_project.YYYY-MM-DD.boris).
Notes / caveats on macOS Support before installing
On Linux and Windows, BORIS embeds mpv (the media player web site) directly into the Qt interface using the libmpv render API.
Unfortunately, on macOS this is not yet possible because: - Apple does not provide native OpenGL beyond version 4.1, and is deprecating it in favor of Metal. - mpv’s embedded render API (vo=libmpv) only supports OpenGL, not Vulkan or Metal. - mpv’s newer GPU backends (vo=gpu, vo=gpu-next) do support Metal/Vulkan through libplacebo and MoltenVK, but those only work in mpv’s own floating window — they cannot currently be embedded inside a Qt widget.
Because of this limitation, this macOS version of BORIS uses a floating mpv window launched alongside the BORIS GUI. This allows full scoring and analysis functionality, but the video window is separate rather than integrated. When upstream mpv (or libplacebo) adds Vulkan/Metal support to the render API, integration inside the Qt window on macOS may become possible.
Therefore the wrapper has mpv open alongside BORIS so it is VERY IMPORTANT to click on the BORIS window to score as usual. BORIS is aware of the floating mpv window and will keep track of appropriate time elapsed.
How to install and run on macOS
Install Homebrew if not already installed from https://brew.sh
Homebrew is "The Missing Package Manager for macOS" and has more then 45K stars on GitHub.
Install the BORIS dependencies with Homebrew
FFmpeg is "a complete, cross-platform solution to record, convert and stream audio and video."
mpv is "a free, open source, and cross-platform media player".
Open a macOS Terminal and type (or paste): (1)
- If you do not know how to open a terminal, see macOS terminal
brew install mpv ffmpeg pkg-config cmake gfortran openblas
Install the uv Python package and project manager from Astral
uv is an "An extremely fast Python package and project manager, written in Rust" and has more than 70K stars on GitHub
To activate uv, close the terminal and reopen it
Install and launch BORIS with uvx
In the macOS Terminal type (or paste): (1)
- If you do not know how to open a terminal, see macOS terminal
export LDFLAGS="-L/usr/local/opt/openblas/lib"
export CPPFLAGS="-I/usr/local/opt/openblas/include"
export PKG_CONFIG_PATH="/usr/local/opt/openblas/lib/pkgconfig"
export CMAKE_PREFIX_PATH="/usr/local/opt/openblas"
uvx --python 3.12 boris-behav-obs@latest
The next time you want to launch BORIS just open a terminal and type the command:
uvx --python 3.12 boris-behav-obs@latest
To launch a specific version of BORIS:
uvx --python 3.12 boris-behav-obs==9.7.2
Remember that it is VERY IMPORTANT to click on the BORIS window to score your media file otherwise the key press will NOT be recorded.
BORIS was successfully tested on:
Mac min (Apple M2 Pro) with Sequoia 15.3.2
MacBook Pro (2.3 GHz 8-core Intel core i9) with Tahoe 26.0.1
