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