fuzbal/README.md

39 lines
2.3 KiB
Markdown
Raw Permalink Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

# Fuzbal
Friendly Usable ZeroBullshit Analyzer & Labeler: a keyboarddriven utility for tagging events in video clips, created for analyzing football matches but likely useful for other kinds of videos.
While functional, this project is not yet productionready. While unlikely, it might eat your files or your cake.
## Usage
Open a video. Press `space` to start or stop video playback. Seek with `←` and `→`. Use `,` and `.` to decrease and increase the playback rate, and `=` to reset it.
To add a new event, press the key for the corresponding tag and fill out event details. Custom tags can be defined as a JSON array and loaded at runtime. See `tags.json` for the builtin example showcasing all supported field types.
Events for `video.mp4` are saved in JSON format to the file `video.mp4.events`. The saved file includes tag definitions, which are loaded automatically when the video is opened. Event timestamps are stored with millisecond precision.
### Filter
Input spaceseparated search strings to select a subset of events. Selected events must match each string, either as the tag name or a field value. Tags are matched from the beginning, so `p` will select events tagged `pass` and `penalty`.
Text and enum fields match when they contain the given search string. Prefixing the string with `=` specifies a complete match. The string `2` thus matches values `123`, `2` and `22`, while `=2` only matches `2`. A boolean field matches when its value is true and its name starts with the search string. Prefixing the string with `!` inverts the match.
Finally, a search string can be prefixed with a (prefix of) field name, as in `play:2`. This selects events with a field named `player` whose value matches `2` as above. This can be combined with the `!` and `=` operators, as in `pass:!success`.
## Compiling
Qt≥5.14 is required. Once Debian catches up, this might be enough:
# apt install git qtmultimedia-dev qtquickcontrols2-dev qml-module-qtmultimedia qml-module-qtquick-dialogs
One or more of the `gst-plugins` packages are needed at runtime to play videos. Build with:
$ mkdir build && cd build
$ qmake ..
$ make
This should create the `fuzbal` binary.
## License
This project is released into the public domain. Breeze icons are distributed under LGPL3+. See `UNLICENSE` and `icons/breeze/LICENSE` for details.