|
|
@@ -0,0 +1,82 @@ |
|
|
|
# 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). |
|
|
|
} |