Home

Awesome

<center><img align="right" src="images/buffering_mpv_stream.png"></center> <h1 align="center"><a href="https://github.com/cniw/mpv-discordRPC">mpv-discordRPC</a></h1> <p align="center"><b>Discord Rich Presence intergation for mpv Media Player</b></p> <hr><p align="center"> This is alternative version, edited from <a href="https://github.com/noaione/mpv-discordRPC">mpv-discordRPC</a>. I add metadata tags (Title, Artist and Album) support for 'details' and I use status-line for 'state'. I use 'elapsed' time mode when idle, while when playing, paused, and buffering use 'left' time mode. I add support and installer script for Linux, Mac and Windows. I also add custom configuration file and new features: info, cover art, url detections, and active/inactive toggle. </p><p align="right"> For more description read below. </p>

Previews

DescriptionImage
IdleIdle
PlayingPlaying
PausedPaused
Info: playlist and loopInfo: playlist and loop
Cover artCover art
YouTube playingYouTube playing
Crunchyroll pausedCrunchyroll paused
SoundCloud playingSoundCloud playing
LISTEN.moe pausedLISTEN.moe paused

Used softwares

  1. Provided by user: mpv, Discord
  2. Included: Discord RPC, status-line, lua-discordRPC
  3. Optional: Python, pypresence

Downloads


Installation

  1. For Linux, installing just run install-linux.sh on terminal.
  2. For Windows, installing just run install-win.bat by double-clicking it.
  3. For Mac, installing just run install-osx.sh on terminal.

Settings

Just edit mpv_discordRPC.conf file in script-opts folder. Now Available 2 rpc_wrapper option, choose one. Example:

Setting to show playlist info and loop info. Example:

Setting to show cover art. Example:

Setting to active/inactive toggle the Discord RPC and the start states. Example:

To use rpc_wrapper=lua-discordRPC, Important LuaJIT on mpv

Check LuaJIT, because it has FFI Library and it needed by lua-discordRPC.

  1. For Linux

    • Make sure your mpv binary linked to luajit~~ not lua~~ library.

      ldd $(which mpv) | grep luajit
      libluajit-5.1.so.2 => /usr/lib/x86_64-linux-gnu/libluajit-5.1.so.2 (0x00007f32e9a83000)
      
    • If it's dynamic build while it's static build you can check with

      mpv -v -V | sed -rn 's/.*(luajit).*/\1/p'
      luajit
      
  2. For Windows (Don't worry)

    • You can skip this because available mpv Windows build by lachs0r and shinchiro already use LuaJIT and it static build which configured with --enable-static-build.
  3. For Mac (So sad)

    • Until now, LuaJIT still have problem on Mac OS X. Also build mpv with LuaJIT on Mac OS X (read mpv issue #1110), it maybe can build successfully but still can't load LuaJIT properly when run mpv (read mpv issue #5205). You can check with otool command.

To use rpc_wrapper=python-pypresence, Important to install pypresence

Support Mac, Windows, and Linux because can use with Lua or LuaJIT.

  1. Install Python >=3.5 because this version has asyncio library which needed by pypresence.
  2. Install pypresence pip install pypresence or pip install https://github.com/qwertyquerty/pypresence/archive/master.zip use pip3 instead of pip if Python 2 still installed on your old machine.

You may want to check again, run command mpv -v -V and find luajit or lua word on the line which beginning with [cplayer] List of enabled features: for Mac, Windows or Linux.


Testing

  1. Open your Discord then,
  2. Open your mpv then,
  3. Back to Discord and then check your profile.

Good Luck and have a nice day.

Feedback: If you have question, problem or request, please make new issue or contact me wachidadinugroho#7674 via Discord.