A pyGTK and vlc based application to hand-annotate audio and video files for classification tasks
Project description
pyMediaAnnotator
A GTK+ and vlc based application for annotating video and audio files for classification tasks
Features:
- Add text annotations time-locked to content in media file
- Annotate time accurate to the millisecond
- Jump to annotation start time to verify correctness
- Standard media playback features (play/pause, stop, seek)
- Change annotation task mid-video
- Edit annotation label for particular time segment
- Delete annotation entry
- Undo annotation segment (in the order of most recent)
- Sort annotations by starttime by clicking on column header so that you can go back and re-annotate a particular segment of media
Changelog:
v0.1.9:
- Implement loading an existing annotation file at the start
Planned features and bugfixes for future releases:
- Save, exit, and resume: be able to load existing annotation file
- The YAML format was chosen because it is convenient and human-readable. However, in the future, the user should be able to choose output format (
json
,pickle
,txt
, Numpy array, etc.) - Fix seek bar synchronization with playback
- Multiple button support for rapid multiclass annotation
Installation:
From pyPI using pip
:
python3 -m pip install --upgrade [--user] pyMediaAnnotator
The --user
flag installs it locally
without needing root
(optional).
If you are able to ensure the availability of GTK bindings from some other source, you could skip installing pyGTK:
python3 -m pip install --upgrade [--user] --no-deps pyMediaAnnotator
From source
-
Clone the repository
git clone https://gitlab.com/aalok-sathe/pyMediaAnnotator.git
cd pyMediaAnnotator
-
Make sure to have the necessary prerequisites:
pyGTK/pyGObject
: Python GTK bindingsvlc
,python-vlc
: the VLC media player and Python bindings forlibvlc
$ python3 -m pip install --upgrade -r requirements.txt
-
Create Python package and install:
make build
python3 setup.py install
Usage:
$ pyMediaAnnotator
Screenshot (v0.1.2): example usage to annotate the laugh track in an episode of Friends ![example usage](scrsht-friends.png?raw=true Screenshot")
Compatibility:
- GNU/Linux, *NIX [recommended]:
- Expected to run smoothly with proper prerequisites
- Tested on Ubuntu 16.04
- Any other system:
- Not tested, however, should theoretically work long as you are able to provide pyGTK and libvlc support
Bugs?
- Get in touch. Please try to see debug output in terminal and save it if you notice a bug.
- Contribute! PRs are welcome and will be reviewed.
Project details
Release history Release notifications | RSS feed
Download files
Download the file for your platform. If you're not sure which to choose, learn more about installing packages.
Source Distribution
Built Distribution
File details
Details for the file pyMediaAnnotator-0.1.9.post2.tar.gz
.
File metadata
- Download URL: pyMediaAnnotator-0.1.9.post2.tar.gz
- Upload date:
- Size: 7.8 kB
- Tags: Source
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.7.1 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 8c533a1ea19f20f5ffb8bf7cf2736ddf6adf096fa23e4f37bf00ab6698a36e10 |
|
MD5 | e196a330e1eed0ae4a35cbc6057f82dc |
|
BLAKE2b-256 | 2b8bff9af82675443f616c1fc753b930d620c671d40654b1d2d9c67b4f961537 |
File details
Details for the file pyMediaAnnotator-0.1.9.post2-py3-none-any.whl
.
File metadata
- Download URL: pyMediaAnnotator-0.1.9.post2-py3-none-any.whl
- Upload date:
- Size: 20.4 kB
- Tags: Python 3
- Uploaded using Trusted Publishing? No
- Uploaded via: twine/1.12.1 pkginfo/1.5.0.1 requests/2.21.0 setuptools/40.7.1 requests-toolbelt/0.8.0 tqdm/4.30.0 CPython/3.6.8
File hashes
Algorithm | Hash digest | |
---|---|---|
SHA256 | 272fc841e5e3da0edbbd37bd3c957681ea2e691e43d984724fefa604ad75ea7f |
|
MD5 | 5bd348304b372f38b5022d720de4ef74 |
|
BLAKE2b-256 | 31d680f6bd0c3e34eb7fe1f88372331cc00daded0e911543d0460de17c031811 |