#mpris #music #websocket #daemon #dbus #web

app mpris-nowplaying

A websocket based MPRIS2 "now-playing" / status client

2 releases

0.1.1 Oct 25, 2023
0.1.0 Aug 14, 2023

#172 in Multimedia

MIT license

15KB
224 lines

mpris-nowplaying

crates.io

A websocket based MPRIS2 "now-playing" / status client.

Main application is embedding a now-playing dock in your streams, but it isn't limited to that.

Written in Rust.

Default bound IP is 127.0.0.1:32100

Why?

Iunno, the Media Session doesn't seem to work for us, maybe it uses MPRIS1, we have no idea the difference.

We wanted to have a Now Playing thing in our stream (via OBS) aligned to what's playing in our media player.

Example HTML

Look in /examples.

API

The returned message from the bound WebSocket address is similar to that of a Media Session JSON.

However, there's some additional information: (only marking additions!)

"mediaSession": {
    "metadata": {
        "length": u64, // unit: microseconds, the media's length in time
    }
    "position": u64 // unit: microseconds, the current playback position
}

Dependencies

~14–22MB
~325K SLoC