Skip to main content

A pyGTK and vlc based application to hand-annotate audio and video files for classification tasks

Project description

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.

Project details


Download files

Download the file for your platform. If you're not sure which to choose, learn more about installing packages.

Source Distribution

pyMediaAnnotator-0.1.9.post2.tar.gz (7.8 kB view hashes)

Uploaded Source

Built Distribution

pyMediaAnnotator-0.1.9.post2-py3-none-any.whl (20.4 kB view hashes)

Uploaded Python 3

Supported by

AWS AWS Cloud computing and Security Sponsor Datadog Datadog Monitoring Fastly Fastly CDN Google Google Download Analytics Microsoft Microsoft PSF Sponsor Pingdom Pingdom Monitoring Sentry Sentry Error logging StatusPage StatusPage Status page