Skip to main content

Control VLC media player using hand gestures detected through a webcam

Project description

VLC Gesture Control

Control VLC Media Player with hand gestures using your webcam.

Python Version License Platform

VLC Gesture Control allows you to control VLC Media Player using hand gestures detected through your webcam. It uses computer vision and machine learning to recognize various hand gestures and translate them into VLC control commands.

Features

  • Intuitive Gesture Controls: Control playback, volume, and navigation with natural hand gestures
  • GPU Acceleration: Optional GPU acceleration for improved performance
  • Camera Feedback: Real-time visual feedback with FPS display
  • Robust Detection: Ignores back-of-hand gestures to prevent accidental triggers
  • Multi-Monitor Support: Controls VLC even when it's not in focus

Screenshots

Play/Pause Gesture Volume Up Gesture Volume Down Gesture
Play/Pause
(All fingers up)
Volume Up
(Index finger only)
Volume Down
(Thumb + Index finger)

Supported Gestures

Gesture Action Description
✋ All five fingers up Play/Pause Show all five fingers
☝️ Index finger only Volume Up Raise only your index finger
👍 Thumb + index finger Volume Down Show only thumb and index finger
✌️ Index + middle fingers Forward 10 sec Peace sign
👌 Thumb + index + middle fingers Backward 10 sec Show thumb, index, and middle finger
🤟 Index + middle + ring fingers Toggle Subtitle Show index, middle, and ring fingers
🖖 All fingers except thumb Change Audio Track Show all fingers except thumb
👍 Left hand thumb only Next Video Show only thumb on left hand
👍 Right hand thumb only Previous Video Show only thumb on right hand

Advanced Features

  • Fast Forward/Backward: When repeating the forward/backward gesture 4+ times in a row, it activates fast forward/backward mode.
  • Palm Detection: The system only recognizes gestures when your palm is facing the camera, allowing you to move your hand freely without triggering unwanted actions.

Command Line Options

usage: vlc-gesture-control [-h] [--version] [--mode {cpu,gpu}] [--camera CAMERA] [--debug]

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

options:
  -h, --help           show this help message and exit
  --version            show program's version number and exit
  --mode {cpu,gpu}     Processing mode: CPU (default) or GPU if supported
  --camera CAMERA      Camera index to use (default: 0)
  --debug              Enable debug mode with additional logging

Troubleshooting

  • No VLC window found: Make sure VLC is running and a video is playing.
  • Camera not detected: Check your webcam connection and try a different camera index with --camera 1.
  • Low FPS: Try running with GPU mode using --mode gpu or close other applications using the webcam.
  • Gestures not recognized: Ensure good lighting conditions and position your hand clearly in the camera view.

Contributing

Contributions are welcome! Please feel free to submit a Pull Request.

  1. Fork the repository
  2. Create your feature branch (git checkout -b feature/amazing-feature)
  3. Install development dependencies (pip install -e ".[dev]")
  4. Make your changes
  5. Run tests (pytest)
  6. Commit your changes (git commit -m 'Add some amazing feature')
  7. Push to the branch (git push origin feature/amazing-feature)
  8. Open a Pull Request

License

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

Acknowledgments

  • MediaPipe for hand tracking technology
  • OpenCV for computer vision capabilities
  • VLC Media Player for being an awesome open-source media player

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-1.0.0.tar.gz (26.3 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-1.0.0-py3-none-any.whl (32.2 kB view details)

Uploaded Python 3

File details

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

File metadata

  • Download URL: vlc_gesture_control-1.0.0.tar.gz
  • Upload date:
  • Size: 26.3 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-1.0.0.tar.gz
Algorithm Hash digest
SHA256 cc8216376d0e640adb3495e61b82dd77888326b980399fcad141661efb411e99
MD5 ab7c698c8cbe019057e84809b85f0578
BLAKE2b-256 8914e0784a1b4dcf27e634a83e8b1f770263b974b3edbb76c9926c43fd9341e2

See more details on using hashes here.

File details

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

File metadata

File hashes

Hashes for vlc_gesture_control-1.0.0-py3-none-any.whl
Algorithm Hash digest
SHA256 48f08d95900898cbf5757d7ea1bf4e6c17df1a8f6e71474121fa89d09bfdc8b7
MD5 df72a0975782c8e75227be8504d942d4
BLAKE2b-256 bbe3578eb755396e3c741c23bc4fdaf6e01b6f1df00a02aa9c9dc922b2a1fc8e

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