Display your currently playing VLC music as Discord Rich Presence (with artwork support)
- 🎵 Real-time status updates - Shows currently playing track, artist, and album
- 🖼️ Artwork display - Uploads and displays album artwork in Discord
- ⏱️ Progress tracking - Shows elapsed time and remaining time
- 🎮 Play/Pause states - Different icons for playing and paused states
- 🔄 Smart caching - Caches artwork to improve performance
- 🎛️ Auto-detection - Automatically reads VLC web interface configuration
- 📁 Audio file filtering - Only shows presence for audio files (MP3, FLAC, WAV, OGG, AAC, OPUS)
- Python 3.9+
- VLC Media Player with web interface enabled
- Discord Desktop
- Open VLC Media Player
- Go to
Tools
→Preferences
- In the bottom left, select
All
under "Show settings" - Navigate to
Interface
→Main interfaces
- Check
Web
to enable the web interface - Go to
Interface
→Main interfaces
→Lua
- Set a password in the
Lua HTTP
→Password
field - Click
Save
- Set a password in the
- Restart VLC
- Clone or download the repository
- Install required dependencies:
pip install requests
For album artwork support, you can run the included Flask server:
-
Configure the artwork server:
# In server.py, set your public domain or IP address BASE_URL = 'http://X.X.X.X:PORT'
-
Install Dependencies:
pip install Flask flask_limiter filetype
-
Run the artwork server:
python server.py
-
Update the main script:
# In main.py, set your server endpoint ARTWORK_API_ENDPOINT = "http://X.X.X.X:PORT/upload"
- Start VLC Media Player with web interface enabled, and start Discord
- Run the Python script
- Play any audio file in VLC
- Your Discord status will update automatically
The presence will show:
- Song title as the main activity
- Artist name as the state
- Album artwork as the large image
- Play/pause status as the small image
- Progress bar with remaining time
Disclaimer: This program may contain bugs. I've only tested it on Windows, so it may not work on other operating systems. If you encounter any issues, feel free to open an issue.