User manual: installing MediacenterJS

Jan Smolders edited this page Nov 23, 2015 · 25 revisions

Installing and setting up MediacenterJS

What do I need to have installed?

  • FFmpeg installed (included for Windows)
  • NodeJS installed
  • A modern browser like Chrome(ium)
  • An internet connection

Setup Windows

  • Install MediacenterJS

Starting MediacenterJS:

After running this installer and restarting you computer, run "mediacenterjs.exe" located in the root of the directory you've installed MediacenterJS to start the project. If you close this window, MCJS will stop working. You can also see useful information about what the server is doing, including error messages and other useful information.

Open a browser, preferably Chrome, and type in the address bar: http://localhost:3000 The program will boot in setup mode.

If this is the first time you are running MCJS, the application will try to automatically open a browser with the correct webpage for you.

Setup NodeJS on Ubuntu 13.x/ Mint 15 / Debian Weezy

please paste the following commands in your terminal:

Install latest version of Nodejs

curl -sL | sudo bash -
apt-get install nodejs

You can also install Nodejs on Ubuntu using:

sudo apt-get install npm

Build NodeJS for ARM devices running Ubuntu / Debian

 cd /usr/local/src
 tar -xvzf node-v4.2.2.tar.gz
 cd node-v4.2.2
 sudo ./configure --without-snapshot
 sudo make
 sudo make install
 which node

Once NodeJS is built, install sqlite3:

sudo apt-get install sqlite3

Compile FFMPEG for Linux

If you do not have a recent version of FFMPEG installed on your system you need to compile a new build:

# FFMPEG Dependencies
sudo apt-get update
sudo apt-get -y install autoconf automake build-essential git libass-dev libgpac-dev \
 libsdl1.2-dev libtheora-dev libtool libva-dev libvdpau-dev libvorbis-dev libx11-dev \
 libxext-dev libxfixes-dev pkg-config texi2html zlib1g-dev libmp3lame-dev yasm libopus-dev

mkdir ~/ffmpeg_sources
# Install xh264
cd ~/ffmpeg_sources
git clone --depth 1 git://
cd x264
./configure --prefix="$HOME/ffmpeg_build" --bindir="$HOME/bin" --enable-static --disable-asm
make install
make distclean
# Install FFMPEG
cd ~/ffmpeg_sources
git clone --depth 1 git://
cd ffmpeg
./configure --prefix="$HOME/ffmpeg_build" \
   --extra-cflags="-I$HOME/ffmpeg_build/include" --extra-ldflags="-L$HOME/ffmpeg_build/lib" \
   --bindir="$HOME/bin" --extra-libs="-ldl" --enable-gpl --enable-libass \
   --enable-libmp3lame --enable-libtheora --enable-libvorbis \
   --enable-libx264 --enable-nonfree --enable-x11grab
make install
make distclean
hash -r
. ~/.profile

For more information and troubleshooting:

Setup in OSX

Use Homebrew to install ffmpeg. Install Homebrew from here (

ruby -e "$(curl -fsSL"
sudo chown -R $USER:admin /usr/local  (Homebrew can create syslinks)

brew options ffmpeg ( shows additional options)
brew install ffmpeg --with-fdk-aac --with-ffplay --with-freetype --with-frei0r --with-libass 
--with-libvo-aacenc --with-libvorbis --with-libvpx --with-opencore-amr --with-openjpeg
 --with-opus --with-rtmpdump --with-schroedinger --with-speex --with-theora --with-tools

Install MediaCenterJs

If you use a Git clone of MediacenterJS please use:

sudo apt-get install git # If you do not have git installed yet
git clone
cd mediacenterjs
npm install
npm start or node server

If you want to use NPM to install MediacenterJS use: (Please note that NPM does not necessary give you the latest version of the repo.)

npm install mediacenterjs
cd mediacenterjs
npm start or node server

Use 'sudo node server' if you use a port below 1000

Folder setup

The program will boot in setup mode, being accessible in your browser on http://localhost:3000 or http://'IP of the server':3000.



Running MediacenterJS

After the initial setup has been completed MediacenterJS will be available on the port you have specified and the language you have chosen. the server.js will make sure you do not have to restart the actual application (index.js) every time the configuration file changes.

Of course, if you change the port, you need to use that port after the initial setup.