Now Playing JSON Data
OSMV exports live media metadata to shared/current_song.json for the built-in OBS Browser Source (shared/index.html), and optionally to shared/dynamic_text/track-info.json in Snaz format.
Primary JSON & JS Fallback (shared/current_song.json & shared/current_song.js)
When playback stops, closes, or the module is turned off, OSMV clears/removes shared/current_song.json and shared/current_song.js so shared/index.html fades out cleanly.
The companion shared/current_song.js defines window.__OSMV_CURRENT_SONG, allowing shared/widget.js to load track data when Chromium/OBS blocks fetch() on file:// URLs with ?preset=<Name> query strings.
{
"title": "Summer Of '69",
"artist": "Bryan Adams",
"album": "Reckless",
"player": "Spotify",
"thumbnail": "iVBORw0KGgoAAAANSUhEUgAA...",
"status": "playing",
"dynamicColor": true,
"audioVisualizer": false,
"timestamp": "2026-11-11T15:35:00Z"
}Fields description:
title: Name of the active song or video.artist: Name of the musical artist or channel.album: Album title (empty if unavailable).player: Detected media player or browser application name.thumbnail: Base64-encoded image bytes displayed directly byshared/index.html.status: Playback state (playing,paused,stopped, orclosed).dynamicColor: Whether the OBS widget adapts colors to the cover art.audioVisualizer: Whether the OBS widget visualizer is enabled.timestamp: Last update time in ISO 8601 (UTC).
Overlay Studio Configuration (shared/widget_config.json & shared/widget_config.js)
OBS Overlay Studio saves all styling, layout, visualizer, custom CSS, and multi-scene presets (obsCustomPresets in shared/settings.json) into shared/widget_config.json and shared/widget_config.js (window.__OSMV_WIDGET_CONFIG).
presetsmap: Contains all 7 built-in presets (classic,glass,neon,compact,vinyl,minimal,banner) alongside every saved custom preset so different OBS scenes can referenceshared/index.html?preset=<Name>.- CORS-safe
file://loading:shared/widget.jsautomatically falls back fromfetch()to loadingshared/widget_config.jsandshared/current_song.jsas<script>tags whenever running directly from local files.
Snaz-Compatible JSON (shared/dynamic_text/track-info.json)
When Export track-info.json is enabled in the Now Playing tab, OSMV writes a lightweight metadata file compatible with Snaz custom overlays:
{
"mediaplayer": "Spotify",
"artist": "Bryan Adams",
"song": "Summer Of '69",
"album": "Reckless",
"status": "playing"
}