Giter Club home page Giter Club logo

mpv-remote-node's Introduction

MPV remote control API. You can use MPV Remote android application or you can create your own frontend.

API documentation accessible here.

Installation

Requirements:

Install package

Linux:

Open your favorite terminal and:

sudo npm install -g mpv-remote
mpv-remote # Follow instructions

Windows: Open powershell as admin. It's required only for creating symbolic links.

Set-ExecutionPolicy Unrestricted -Force # Allows running PS scripts from unknown sources
npm install -g mpv-remote
mpv-remote # Follow instructions

Update

You have to re-run installation script after updating the package.

npm update -g mpv-remote
mpv-remote # Follow instructions

Note: if you get "Cannot create symbolic link because the path already exists" don't worry the installation will be fine.

How to run MPV

If you don't want MPV close after playback finished use --idle flag or you can add idle=yes to your mpv.conf.

mpv --idle

Configuration variables

You can configure server by using --script-opts flag of MPV like this (options seperated by ,):

mpv --script-opts=mpvremote-filebrowserpaths=/home/sudosu,mpvremote-uselocaldb=0

Or you can use a script-opts file.

scipt-opts location for mpvremote:

%appdata%/mpv/script-opts/mpvremote.conf # For windows
~/.config/mpv/script-opts/mpvremote.conf # For linux

If using script-opts file, you don't need mpvremote- prefix at configuration options.

More info about script-opts files.

Example configuration file:

# ~/.config/mpv/script-opts/mpvremote.conf
uselocaldb=1
webport=8000
webportrangeend=8010
unsafefilebrowsing=1
filebrowserpaths="'V:\anime';'W:\anime';'W:\Steins;Gate'"
verbose=0
osd-messages=1

Available options:

Option name Description Default value Available options/example
mpvremote-uselocaldb Use local database to store media statuses and collections. 1 0 - Disabled
1 - Enabled
mpvremote-filebrowserpaths Stores paths which can be browsable by users it's a semicolon seperated list N/A "'V:\anime';'W:\anime';'W:\Steins;Gate'"
mpvremote-webport This option gonna be your first available port for MPV. 8000 Any port within correct range
mpvremote-webportrangeend Web port range end. if mpvremote-webport is 8000 and this option set to 8004, 5 instances of MPV gonna be supported. Increase/decrease these numbers as you wish. 8004 Any port within correct range
mpvreomte-address Server address Your first local IP 127.0.0.1
mpvremote-unsafefilebrowsing Allows you to browse your local filesystem. Be careful though, exposing your whole filesystem not the safest option. For security reasons filebrowser only send results of media files, playlists, subtitle files and subdirectories. 1 0 - Disabled
1 - Enabled
mpvremote-verbose Verbose logging of MPV socket 0 0 - Disabled
1 - Enabled
mpvremote-osd-messages Show OSD messages on the player created by this plugin 1 0 - Disabled
1 - Enabled

Troubleshooting

NPM install/update takes forever

Sometimes NPM takes forever to install a package, it's a known bug, try update NPM to the latest version and hope it's going to work. Run this as administrator:

npm install -g npm@latest

Server not starting

If the server not starts, try run it manually, to get the exception (From terminal/command prompt):

node ~/.config/mpv/scripts/mpvremote/remoteServer.js # On linux systems
node %APPDATA%/mpv/scripts/mpvremote/remoteServer.js # On Windows from command prompt.

If you report server non starting issue copy the output of this command.

If you get "No socket provided" output the server works fine, so there's something up with the plugin or MPV itself.

Youtube playback issues

I recommend using yt-dlp for playing Youtube videos, but if you use youtube-dl:

  • If you can't play Youtube videos then try to update the youtube-dl package (as admin): pip3 install --upgrade youtube-dl

Common issues on Linux

yargs requires 12 or newer version of Node.JS so you should update your Node.JS version. For example this error occours on Ubuntu 20.04.3 LTS.

If the server works fine, then there's an issue with MPV itself. Some linux distributions like Debian and MX Linux ships pre-built MPV packages without Javascript support.

You can check it by using this command:

mpv -v | grep javascript

if the output is empty, there's no javascript support.

Install mujs and build MPV for yourself

When you report an issue

It makes problem solving easier if you provide some info about your environment.

  • Your OS,
  • Node.JS version (node -v)
  • NPM version (npm -v)

TODO

  • Need better installation scripts for Windows and Linux, where update can be handled easily. (NPM postinstall script maybe)
  • Improve API documentation,
  • Better installation scripts,
  • Make a Youtube video about installing/updating MPV-remote on Windows and Linux

Disclaimer

The app developer DOES NOT promotes piracy! Other apps and modules used by this app may include some level of piracy.

mpv-remote-node's People

Contributors

husudosu avatar byter11 avatar marcopus avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.