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
- A computer running Linux or Windows
- Open VLC Media Player
- Go to
Tools→Preferences - In the bottom left, select
Allunder "Show settings" - Navigate to
Interface→Main interfaces - Check
Webto enable the web interface - Go to
Interface→Main interfaces→Lua- Set a password in the
Lua HTTP→Passwordfield - 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