Keyboard‐driven video event tagger
Find a file
Timotej Lazar cb76fedcbc
Implement event model in C++
Filtering events in JS is too slow with >20,000 events. This moves the
event data model into C++.
2021-09-16 20:33:05 +02:00
.builds Add README and tags.json to Windows build 2021-06-28 20:20:30 +02:00
Fields Implement event model in C++ 2021-09-16 20:33:05 +02:00
icons/breeze First commit 2021-06-14 19:13:14 +02:00
translations First commit 2021-06-14 19:13:14 +02:00
.gitignore Add translations *.qm to .gitignore 2021-09-01 16:23:58 +02:00
Event.qml Implement event model in C++ 2021-09-16 20:33:05 +02:00
event_list.cpp Implement event model in C++ 2021-09-16 20:33:05 +02:00
event_list.h Implement event model in C++ 2021-09-16 20:33:05 +02:00
Events.qml Implement event model in C++ 2021-09-16 20:33:05 +02:00
fuzbal.pro Implement event model in C++ 2021-09-16 20:33:05 +02:00
icons.qrc First commit 2021-06-14 19:13:14 +02:00
io.h First commit 2021-06-14 19:13:14 +02:00
LICENSE Add LICENSE file 2021-06-14 19:39:52 +02:00
main.cpp Implement event model in C++ 2021-09-16 20:33:05 +02:00
main.qml First commit 2021-06-14 19:13:14 +02:00
main.qrc Implement event model in C++ 2021-09-16 20:33:05 +02:00
qtquickcontrols2.conf First commit 2021-06-14 19:13:14 +02:00
README.md First commit 2021-06-14 19:13:14 +02:00
Sidebar.qml Implement event model in C++ 2021-09-16 20:33:05 +02:00
tags.json First commit 2021-06-14 19:13:14 +02:00
Tags.qml Implement event model in C++ 2021-09-16 20:33:05 +02:00
UNLICENSE First commit 2021-06-14 19:13:14 +02:00
util.js First commit 2021-06-14 19:13:14 +02:00
Video.qml First commit 2021-06-14 19:13:14 +02:00
Volume.qml First commit 2021-06-14 19:13:14 +02:00

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 in the file video.mp4.events. Saved file includes tag definitions, which are loaded automatically when the file is opened. Event timestamps are stored with millisecond precision.

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.