Skip to main content

Control VLC media player using hand gestures detected through a webcam

Project description

VLC Gesture Control

PyPI version License: MIT Python Versions

Control VLC media player using hand gestures detected through your webcam.

Features

  • Control VLC media player without touching your keyboard/mouse
  • Support for both CPU and GPU processing
  • Palm-facing detection to prevent accidental triggers
  • Fast-forward and rewind functionality with repeated gestures
  • Real-time performance monitoring with FPS display

Supported Gestures

Gesture Action
All five fingers up Play/Pause
Index finger only Volume Up
Thumb + Index finger Volume Down
Index + Middle fingers Forward 10 seconds (Fast-forward when repeated)
Thumb + Index + Middle fingers Backward 10 seconds (Fast-rewind when repeated)
Index + Middle + Ring fingers Toggle Subtitles
All fingers except thumb Change Audio Track
Left hand thumb only (pointing right) Next Video
Right hand thumb only (pointing left) Previous Video

Installation

Basic Installation

pip install vlc-gesture-control

With GPU Support

pip install vlc-gesture-control[gpu]

For Development

pip install vlc-gesture-control[dev]

Usage

  1. Open VLC media player and start playing a video
  2. Run the application with either CPU or GPU mode:
# For CPU mode (default)
vlc-gesture-control-cpu

# For GPU mode (if supported by your hardware)
vlc-gesture-control-gpu
  1. Position your hand in front of the webcam and use the gestures to control VLC
  2. Press 'q' to quit the application

How It Works

The application uses MediaPipe's hand tracking to detect hand landmarks in real-time. It analyzes the configuration of fingers to recognize specific gestures, then sends the corresponding keyboard commands to VLC. The system includes a consistency check that requires a gesture to be detected multiple times before triggering an action, which prevents accidental commands.

The application also checks if your palm is facing the camera, ignoring gestures when the back of your hand is visible. This allows you to adjust your hair or move around without accidentally triggering commands.

For directional gestures like next/previous video navigation, the application uses thumb-only gestures that are specific to which hand is being used (left hand thumb for next, right hand thumb for previous), making the controls more intuitive.

Requirements

  • Python 3.9+
  • VLC Media Player
  • Webcam
  • Windows OS

License

This project is licensed under the MIT License - see the LICENSE file for details.

Acknowledgments

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

vlc_gesture_control-0.1.0.tar.gz (20.4 kB view details)

Uploaded Source

Built Distribution

If you're not sure about the file name format, learn more about wheel file names.

vlc_gesture_control-0.1.0-py3-none-any.whl (25.1 kB view details)

Uploaded Python 3

File details

Details for the file vlc_gesture_control-0.1.0.tar.gz.

File metadata

  • Download URL: vlc_gesture_control-0.1.0.tar.gz
  • Upload date:
  • Size: 20.4 kB
  • Tags: Source
  • Uploaded using Trusted Publishing? No
  • Uploaded via: twine/6.1.0 CPython/3.12.3

File hashes

Hashes for vlc_gesture_control-0.1.0.tar.gz
Algorithm Hash digest
SHA256 943c6a5eff7c0be38ab5c71bc0d429233fe236737a6de4af5cfbcb08712e2ab3
MD5 2beed94b7228996fd9dbea5466347ffc
BLAKE2b-256 b611688bc1bb6e25cc20754d95fbd9cadfbc5e869f6193da72c7a1935f53bfc0

See more details on using hashes here.

File details

Details for the file vlc_gesture_control-0.1.0-py3-none-any.whl.

File metadata

File hashes

Hashes for vlc_gesture_control-0.1.0-py3-none-any.whl
Algorithm Hash digest
SHA256 011cba60b64ee8871f01783d6ea672b8dc3b97fa4c98b29617e633704ece8358
MD5 dd88e9488c9fb594531a9787e7ddc9d8
BLAKE2b-256 0763e9c1f0968db159c0dd33d07515a8775f581350baa222dd0f0184a40c19c4

See more details on using hashes here.

Supported by

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