More > JRiver Media Center 22 for Linux

Quick Start Guide for Installing JRiver Mediacenter 22 ARM on a Raspberry Pi

(1/10) > >>

mwillems:
This guide to performing a fresh install of JRiver's ARM build for the Raspberry Pi version 1 B+, Raspberry Pi version 2, or Raspberry Pi version 3.  If you're looking to upgrade an older installation, see this thread for instructions: http://yabb.jriver.com/interact/index.php?topic=105984.0

Mediacenter works best on a Pi 2 or 3, but will work on the Pi 1 B+ (especially if you overclock), but the experience is limited. The steps to get MC running on the Pi are somewhat similar to getting it running on a normal linux system, with a few tweaks.

Setup

Hardware/OS setup:

Install Raspbian onto an SD card using the downloaded NOOBS image from the Raspberry Pi website. They have good instructions for install there.

Configuring Hardware:

At first boot the Pi may show a config utility (called raspi-config), if it doesn't show, it is now available through the launcher menu at the top left of the desktop. For easy use of mediacenter, I recommend a) making sure that the Pi is set to boot into a graphical desktop environment by default, b) choosing the audio output you want by default (HDMI or the Pi's built in audio output*), and c) thinking about whether you want to choose one of the overclock* options in the advanced options. Once you've picked your settings, reboot.

Notes:

Audio: the Pi's HDMI output works great, but the built in stereo jack is not the highest quality output in the world. I wouldn't recommend using it for actual listening. If you have a USB DAC, just ignore that for now, this option is only about the behavior of the Pi's built in audio outputs.

Overclocking: Overclocking can potentially shorten the life of your Pi or cause instability. However, because the Pi now comes with built in thermal throttling, you can overclock using the raspberry pi utility as described above without voiding your warranty. Overclocking makes a huge difference in performance for the Pi 1; I did not find the Pi 1 usable at stock settings, YMMV. Overclocking is less important for the Pi 2, but it definitely improves performance. AFAIK, the Pi 3 does not support out of the box overclocking.  I have not personally encountered overclocking related instability with about four different Pis, but that doesn't mean you won't. If you decide to wait to overclock you can get back to the built in configuration utility any time by running the raspi-config utility from the menu in the upper right hand corner.

Software Preparation:

After rebooting, you should be looking at the Pi's desktop. If your Pi isn't plugged into to an ethernet line, take a minute to configure your wi-fi adapter to get internet access. Once that's done, open a terminal by clicking on the icon that looks like a computer monitor. Enter the following into the terminal:

--- Code: ---sudo apt-get update && sudo apt-get dist-upgrade

--- End code ---

After you enter the line, you'll be prompted whether to install updates to packages; press "y" to confirm. It may take a little while for the packages to download and install. Now enter the following into the terminal


--- Code: ---cd /boot
sudo nano config.txt

--- End code ---

This will show you the file config.txt in the text editor nano. You'll see a lot of information in the config file already, scroll down to the bottom of the file using the direction keys on your keyboard and enter the following two lines exactly as shown:


--- Code: ---framebuffer_depth=32
framebuffer_ignore_alpha=1

--- End code ---

Then save the file by pressing Ctrl+O, then enter. Then press Ctrl+X to exit, and you should be back at the terminal. Now close the terminal and reboot the pi.

Installing MC:

After the reboot, it's time to install MC:


--- Code: ---wget -q "http://dist.jriver.com/mediacenter@jriver.com.gpg.key" -O- | sudo apt-key add -
sudo wget http://dist.jriver.com/latest/mediacenter/mediacenter22native.list -O /etc/apt/sources.list.d/mediacenter22.list
sudo apt-get update
sudo apt-get install mediacenter22

--- End code ---

After installation completes, you should see MC in the application menu in the upper left hand corner under "sound and video." Open MC, and you're off! 

Installing a License:

JRiver offers a 30-day trial, but to keep using the software you'll need to buy and register it. Currently a JRiver for Linux license or Master license will work. There are several ways to install a JRiver License, but the easiest way is to do it on the command line. 

When you purchase JRiver, you receive an E-mail with an .mjr file. Download that file to your Raspberry Pi's Downloads directory (the one created above). Then open a terminal by clicking on the icon that looks like a computer and enter the following command:


--- Code: ---mediacenter22 /RestoreFromFile ~/Downloads/"Media Center22 Linux-YYYYYY.mjr"

--- End code ---

Replace the Y's with the numbers from your .mjr file, but otherwise enter the command exactly as shown. 

NOTE for advanced users: This will not work correctly if you try to do it via ssh, because Mediacenter needs a display/xserver in order to run.  If you have used the headless/VNC setup instructions below, try connecting to the pi using VNC and using lxterminal to register your license.

Audio Setup:

If you're using the Pi's built in audio output (HDMI or stereo), it should just work provided you did the steps above. If you have a USB DAC, you'll need to configure MC to address it just like in normal MC for Linux. That means looking under options --> Audio Devices and looking for a hardware device (an entry for your DAC that has something like "front:" or "surround:" in the name). 

Updating:

To update mediacenter (and the rest of your Pi OS) just enter the following line on the terminal:

--- Code: --- sudo apt-get update && sudo apt-get dist-upgrade

--- End code ---

Troubleshooting Audio

If you followed the steps above and are not getting audio output via HDMI, try the following:

Alsamixer:
In the terminal "alsamixer" and you will see a volume bar (a "graphical" mixer displayed using ASCII characters).  Check whether the volume is muted by looking at the bottom of the column: if you see "MM" press the "m" key to unmute and then press escape to exit.  If you see "00" then the output isn't muted and that's not the problem (press escape to exit)

Monitor/DVI issues:
Many monitors expect/request a DVI input, which results in the Pi not sending sound to those monitors by default.  To find out if that's what's causing your problem, open a terminal, and type


--- Code: ---sudo nano /boot/config.txt

--- End code ---

and then find the line that reads


--- Code: ---#hdmi_drive=2

--- End code ---

 Remove the "#" symbol, and leave the rest of the line intact.  If your file doesn't have that line for some reason, you can just add the line at the end of the file.  In either case, save the file by pressing CTRL+O, and exit nano by pressing CTRL+X. Then reboot the Pi and test whether you can get sound over HDMI. Changing that option in config.txt has resolved no-audio issues for several folks with screens that have those issues with HDMI support.

Pops and Dropouts:

Pops or dropouts can be caused by a lot of different things and can be tough to troubleshoot.  Some users have found that adjusting CPU frequency scaling can help on RPi 2's (RPI 1's won't benefit from this tweak).  The following link explains how to set your RPi 2 to stay at maximum CPU frequency (using the performance CPU governor: http://yabb.jriver.com/interact/index.php?topic=95578.msg676554#msg676554

Some notes on getting the most out of MC on the Pi:

The Pi is not a full-featured computer so things will take longer to do on the Pi than on a normal computer. Be patient especially during startup or right after. It might take ten or even thirty seconds for mediacenter to start after you click the icon (depending on whether you have a pi 1 or pi2 and your other settings). Video is not currently supported and the maximize and minimize buttons do not work (at least for me). Other than those two issues, everything I've tested works pretty well. 

An Important Note Concerning Power:

Pi's are very sensitive to not having enough power; if you plug in too many power hungry USB peripherals it can cause the Pi to reboot or turn off (and corrupt the sd card!). The safest way to resolve this is to use a good powered USB hub and plug the peripherals into that. The best part is that the Hub can also power the Pi itself, so you still only have one wall plug! Some USB hubs won't work very well due to back-power issues, but a recommended list of hubs is available here: http://elinux.org/RPi_Powered_USB_Hubs.  To be clear, if you're just plugging in a usb keyboard/mouse and a wi-fi adapter you should be fine with the normal power supply; it's things like external hard drives and USB DACs that need more juice.

Additionally, if you don't want to use a USB hub, you may be able to power more peripherals by adding the following line to your config.txt:


--- Code: ---max_usb_current=1

--- End code ---

That line allows the Pi's USB ports to supply more current to peripherals, which has allowed several forum members to use an external Hard Drive without using a USB hub.  [Thanks to Hilton for finding and testing that option.]

Pi's are also sensitive to sudden loss of power: cutting off the power on a pi without shutting down properly can and will corrupt your sd card. For that reason it's important to always shut down your pi appropriately. However accidental power outages do occur, so, as a best practice, consider backing up your sd card with a disk imaging utility once you've gotten everything working the way you want. Another more advanced approach is to hook up a rechargeable battery in between the power supply and the Pi to act as a buffer in case of sudden power loss, and configure the Pi to shut down gracefully when mains power goes out, but that's a more advanced topic.

Status of Features
What I've tested that works for me:

1) Local audio playback of FLACs and MP3s (Pi 1, 2, and 3)
2) Using the Pi as a library client (Pi 1, 2, and 3)
3) Using the Pi as a DLNA renderer (Pi 1, 2, and 3)
4) Controlling the Pi with gizmo or eos (Pi 1, 2, and 3)
5) Streaming to gizmo from the Pi (works on Pi 2 and 3, not on the Pi 1)
6) Normal window resizing
7) ALSA-compatible USB DACs
8 ) Using an external hard drive with the Pi (some additional configuration required for some drives)
9) A user has reported that DSD works on the pi (as of 2017)

What I have not tested:

1) Airplay, etc. (I have no macs or i-devices to test with)

What is not working/supported:

1) Video Playback

mwillems:
Running Without a Monitor: If you would like to run the Pi without a monitor attached, that's a slightly more advanced topic.  MC needs some kind of "display" in order to run.  When a monitor is not attached, the pi will not necessarily start it's display, which will prevent MC from running. The following steps outline a very basic method of creating a virtual display and allowing for remote control of Mediacenter on the pi. NOTE: If you're using a different username than "pi", you should replace all instances of "pi" in the code below with your username. 

Enter the following onto the end of your /boot/config.txt file (as described above)

--- Code: ---framebuffer_width=1920
framebuffer_height=1080
hdmi_group=2
hdmi_mode=82
hdmi_drive=2

--- End code ---

Then enter the following commands replacing your_password with a password you will remember

--- Code: ---sudo apt-get install x11vnc
mkdir /home/pi/.vnc
x11vnc -storepasswd your_password /home/pi/.vnc/passwd
--- End code ---

Now enter the following line:

--- Code: ---x11vnc -rfbauth ~/.vnc/passwd -display :0 -geometry 1920x1080 -auth guess -forever -bg

--- End code ---

You should now have a remote VNC server running on your pi. Test it out by trying to log in from another computer using a VNC client.  For example, tigervnc is available for Windows, Mac, and Linux: https://bintray.com/tigervnc/stable/tigervnc/1.4.3

When you start TigerVNC it will ask you for the VNC server details.  Enter the ip address* of your pi. It will look something like
--- Code: ---192.168.1.35
--- End code ---
Once you enter the address, click connect, and it will prompt you for your password. 

*If you don't know the ip address of your pi, enter "sudo ifconfig" in a terminal on your pi, and it will tell you. You're looking for a 4-part number separated by periods next to the phrase "inet addr." You want the one in the paragraph labelled eth0 if your pi has a wired connection or wlan0 if your pi has a wireless connection.

You should now be looking at a virtual desktop on your pi, from which you can run MC!

We're not done yet, though, as we still need to configure the pi to start the vncserver and MC on boot. The easiest way to do this is with a cron script. Type "sudo nano ~/headless" into the terminal and type the following
--- Code: ---#!/bin/bash
export USER=pi
export DISPLAY=:0
x11vnc -rfbauth ~/.vnc/passwd -display :0 -geometry 1920x1080 -auth guess -forever -bg
mediacenter22 /mediaserver

--- End code ---
Once you're done, press CTRL-X, and choose "y" and press "enter" twice.  Now type

--- Code: ---sudo chmod 755 ~/headless
crontab -e
--- End code ---

After you enter the second command, you may be prompted you to choose an editor; if so choose /bin/nano, which should be option 1.  Now you should now be looking at a file with some information in it. 

If you want mediacenter to launch on boot type the following line at the bottom of the file:
--- Code: ---@reboot     /home/pi/headless > /dev/null
--- End code ---

Once you've added the one you want, press CTRL-X and then "y" and "enter" twice.  Now reboot your pi as described above, and within a few minutes you should be able to access MC and your VNC desktop. 

kuanj:
The use of the:-

"Quick Start Guide for Installing JRiver Mediacenter 22 ARM on a Raspberry Pi, was successful"
However, unable to register the MediaCentre22 either using the Terminal window or the Install license (use keys).

From the terminal;
pi@raspberrypi:~ $ mediacenter22 /RestoreFromFile ~/Downloads/"Media Center22 Linux-351351.mjr"
CRegistrationHelper::RestoreFromFile: license file /home/pi/Downloads/Media Center22 Linux-351351.mjr not found.
Could not restore license from file /home/pi/Downloads/Media Center22 Linux-351351.

From the Install licence:

Cannot communicate with the server.

Help please

mwillems:

--- Quote from: kuanj on August 17, 2016, 05:34:39 am ---The use of the:-

"Quick Start Guide for Installing JRiver Mediacenter 22 ARM on a Raspberry Pi, was successful"
However, unable to register the MediaCentre22 either using the Terminal window or the Install license (use keys).

From the terminal;
pi@raspberrypi:~ $ mediacenter22 /RestoreFromFile ~/Downloads/"Media Center22 Linux-351351.mjr"
CRegistrationHelper::RestoreFromFile: license file /home/pi/Downloads/Media Center22 Linux-351351.mjr not found.
Could not restore license from file /home/pi/Downloads/Media Center22 Linux-351351.

--- End quote ---

This error suggests that the registration file is either not where you told the program to look, or is called something else.  Are you sure you saved the license file in that directory?  Did you check for typos?

kuanj:
The registration email I received from JR is copied from my Outlook (win 10 machine) in a thumb drive and physically transferred to the Raspberry Pi in the download folder. I had tried to follow the registration file name but it gives me the same error.

In the raspberry pi, I double click the registration file and open by text, it comes out only a few funny characters.

Whats next. Thank you

Navigation

[0] Message Index

[#] Next page

Go to full version