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.gitcd 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 buildpython3 setup.py install
Usage:
$ pyMediaAnnotator
Screenshot (v0.1.2): example usage to annotate the laugh track in an episode of Friends 
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.
Metadata
Release files for pyMediaAnnotator 0.1.9.post2
For a detailed explanation of source distributions (sdists) and built distributions (wheels), please see the package formats documentation.
Source distribution (sdist)
| File | Size | Uploaded | |
|---|---|---|---|
| pyMediaAnnotator-0.1.9.post2.tar.gz | 7.8 kB | Details |
Built distribution (wheel)
| File | Interpreter | ABI | Platform | Reset |
|---|---|---|---|---|
| pyMediaAnnotator-0.1.9.post2-py3-none-any.whl | Python 3 | none | any | Details |
Total release size: 28.2 kB
Release files / pyMediaAnnotator-0.1.9.post2.tar.gz
| Download URL | pyMediaAnnotator-0.1.9.post2.tar.gz |
|---|---|
| Size | 7.8 kB |
| Tags | Source |
|
SHA-256 checksum How to use checksums |
8c533a1ea19f20f5ffb8bf7cf2736ddf6adf096fa23e4f37bf00ab6698a36e10
|
|
BLAKE2b-256 checksum How to use checksums |
2b8bff9af82675443f616c1fc753b930d620c671d40654b1d2d9c67b4f961537
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|
Release files / pyMediaAnnotator-0.1.9.post2-py3-none-any.whl
| Download URL | pyMediaAnnotator-0.1.9.post2-py3-none-any.whl |
|---|---|
| Size | 20.4 kB |
| Tags | Python 3 |
|
SHA-256 checksum How to use checksums |
272fc841e5e3da0edbbd37bd3c957681ea2e691e43d984724fefa604ad75ea7f
|
|
BLAKE2b-256 checksum How to use checksums |
31d680f6bd0c3e34eb7fe1f88372331cc00daded0e911543d0460de17c031811
|
| Upload date | |
|
Uploaded using Trusted Publishing? What is 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
|