The PVA Photo and Video Annotator is a desktop application for organizing and viewing images and videos in a folder, making it easy to click through media files, add detailed annotations to images and videos, skip unwanted segments of videos, and view the results as a slideshow.
The project website has a video walkthrough, list of features, executables to download, and usage instructions with screenshots
PVA is written entirely in Python using Python packages.
- Python 3.8 or higher (tested with Python 3.11)
- All required packages are listed in
requirements.txt
-
Clone the repository:
git clone https://github.com/yourusername/pva_photo_video_annotator.git cd pva_photo_video_annotator -
Install dependencies:
For Python 3.11+ (standard installation):
pip install -r requirements.txt
For Python 3.8 or 3.9:
python -m pip install -r requirements.txt
For multiple Python versions on the same system:
If you have multiple Python versions installed, you can specify which version to use:
# For Python 3.8 python3.8 -m pip install -r requirements.txt # For Python 3.9 python3.9 -m pip install -r requirements.txt # For Python 3.10 python3.10 -m pip install -r requirements.txt # For Python 3.11 python3.11 -m pip install -r requirements.txt
Using a virtual environment (recommended):
# Create a virtual environment python -m venv venv # Activate it # On Windows: venv\Scripts\activate # On macOS/Linux: source venv/bin/activate # Install dependencies pip install -r requirements.txt
-
Run the application:
python pva_photo_video_annotator.py
The application requires the following Python packages:
- PySide6 (≥6.4.0): Qt framework for the GUI
- requests (≥2.28.0): HTTP library for location reverse-geocoding
- tinytag (≥1.9.0): Audio/video metadata extraction (for video duration)
- Pillow (≥9.0.0): Image processing library
- hachoir (>=3.1.0): Process binary file (to extract video GPS)
- pymediainfo (>=6.1.0): Extract information from media files
- Craig L. Zirbel; design, testing, debugging, images
- ChatGPT; initial code version, icon
- Cladue; code revisions
- GitHub; executable versions
- ElevenLabs; text to speech for audio in demonstration video
- Canvas Studio; screen capture for demonstration video