You can not select more than 25 topics Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.

README.md 2.9KB

MMPC2

The second version of Mort’s Media PC.

Goal

MMPC2 is meant to be running constantly on a HTPC, letting you stream media to a TV and control the playback remotely, all through a web interface. It allows you to stream three kinds of movies:

  • URLs - YouTube, Vimeo, Dailymotion, plain HTTP streams, anything supported by mpv and youtube-dl.
  • Magnet Links - Stream any torrent.
  • Files - Upload files and have them play.

For magnet links and files, subtitles will automatically be downloaded if you want and subtitles exist for it in OpenSubtitles.

Installation

Install git, a recent version of node, and npm, clone the repository, run npm install, copy conf.json.example to conf.json, and run node server.js.

git clone https://github.com/mortie/mmpc2.git
cd mmpc2
npm install
cp conf.json.example
node server.js

Getting a recent version of node.js

Many distros ship old versions of node, which won’t work with MMPC2. To fix this, install node.js and npm (sudo apt-get install nodejs-legacy npm on Debian and Ubuntu), then install n and install a new version of node with that.

sudo apt-get install nodejs-legacy npm
sudo npm install -g n
sudo n stable

With rolling release distros, the version of node in the package manager will generally be new enough - e.g sudo pacman -S npm node in arch is enough.

Getting a recent version of mpv

MMPC2 requires a relatively new version of mpv, newer than what’s currently in Debian and Ubuntu. For Ubuntu, you could just add this ppa to your system: https://launchpad.net/~mc3man/+archive/Ubuntu/mpv-tests

sudo add-apt-repository ppa:mc3man/mpv-tests
sudo apt-get update
sudo apt-get install mpv

For Debian, you will probably have to either use the testing repositories to install mpv, get some binary from somewhere, or compile it from source. I compiled from source when installing it on the Debian stable (jessie), and the instructions are a bit too long to include here, but you can get the source from here: https://github.com/mpv-player/mpv/releases/latest and get the source there. Make sure to compile with luajit support for youtube-dl, and libpulse for pulseaudio (if you use that).

Getting a recent version of youtbe-dl

Debian may ship a version of youtube-dl that’s so old it doesn’t really work anymore - I had that problem with my Debian box. To fix that, uninstall youtube-dl if you installed with apt-get (apt-get remove youtube-dl), and install it through pip (installing pip if necessary)

sudo apt-get install python-pip
sudo pip install youtube-dl

Configuration

conf.json contains a couple of configuration options (assuming you copied conf.json.example to conf.json). These are:

{
    "tmpdir": String. The directory to store temporary files in. Default:

"tmp"

    "subtitles": String (or `false`). The language code for the subtitles,

or false for no subtitles. Default: "en" (english).

}