Skip to main content

pyMediaAnnotator

pipeline status

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 bindings
    • vlc, python-vlc: the VLC media player and Python bindings for libvlc

    $ 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.

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)

Source distribution for pyMediaAnnotator 0.1.9.post2
File Size Uploaded
pyMediaAnnotator-0.1.9.post2.tar.gz 7.8 kB Details

Built distribution (wheel)

Table of built distributions (wheels) for pyMediaAnnotator 0.1.9.post2
File Interpreter ABI Platform
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

Release history Release notifications | RSS feed

This release

0.1.9.post2 This release

2 release files

0.1.9

2 release files

0.1.8

2 release files

0.1.7

2 release files

0.1.6

2 release files

0.1.5

2 release files

0.1.4

2 release files

0.1.3

2 release files

0.1.1

1 release file

0.1

2 release files

Anthropic, PBC Visionary sponsor Bloomberg Visionary sponsor Hudson River Trading Visionary sponsor Meta Visionary sponsor NVIDIA Visionary sponsor Microsoft Sustainability sponsor Depot Continuous Integration AWS Cloud computing and Security Sponsor Datadog Monitoring Fastly CDN Google Download Analytics Sentry Error logging StatusPage Status page