Wednesday 6 January 2016

BlissFlixx on RaspberryPi

A few days ago I stumbled upon a video media application for the Raspberry Pi.


I've tried others in the past like XBMC, and I don't really like them. But BlissFlixx is different.


I have only been playing around with it for a couple of days, and I'm already hooked!


What's it all about?


BlissFlixx turns your Raspberry Pi model B (or B+ or B2) into a media streamer. With your BlissFlixx Pi connected to a nice big TV, you simply use a tablet or laptop to control the system remotely, via a web browser.

BlissFlixx main menu

A required service or channel can be selected from the main screen.

BlissFlixx BBC iPlayer menu

Each channel screen is nicely laid out with subject categories and programs listed vertically. When a program is run, a number of controls are provided.

video menu

There are the usual pause/play and stop controls, and if you click on the "..." icon an additional control screen pops up.

BlissFlixx control menu

The volume controls are especially useful because the audio level of internet videos can vary enormously.

Installing the system


The basic method is described on the BlissFlixx website. But the following method includes a few additional notes that you may find helpful.

My initial system uses an old model B Pi with a fast (class 10) 8GB SD card and an Edimax wifi dongle. Although BlissFlixx recommend an ethernet connection, I'm using wifi.

The current Raspbian images from the Raspberry Pi Foundation download page includes a Lite and a Full version. You could use either, but I started with the full image because I wanted a desktop GUI so I could easily experiment with configuration settings.

Having installed the Raspbian Jessie (full) image on an 8GB SD card via my Lubuntu laptop, I keep the SD card in my Linux laptop for the following operations.

First, I need to configure the card to allow connection to my wifi, so in a terminal I type:-

sudo wpa_passphrase "NICE BEER" GreeneKingIPA

...which is the name of my wifi access point followed by the wifi password. This produces an output like this:-

network={
    ssid="NICE BEER"
    #psk="GreeneKingIPA"
    psk=2ac438200963885f9daeadbd8929693944f1fe10d8ff14b9f3a698acbb2317f5
}


Now navigate the SD card and open (as root) the file:-

/etc/wpa_supplicant/wpa_supplicant.conf

Paste the output from wpa_passphrase into this file and save it. It should end up looking like this:-

ctrl_interface=DIR=/var/run/wpa_supplicant GROUP=netdev
update_config=1


 network={
    ssid="NICE BEER"
    #psk="GreeneKingIPA"
    psk=f82ac16e561219238fdc6a3341c99cec47152ebf1ed5ec1e80727136e2ee4758
}


While still in the SD card file structure, navigate to: /boot/config.txt

You can add/enable the following 3 parameters now...

#uncomment to overclock the arm. 700 MHz is the default.
arm_freq=800
gpu_mem=128
hdmi_drive=2


...or you can do it later. I say this because I added the first 2 parameters to see if they made any difference to boot speed and video performance.

The first raises the clock rate from 700MHz to 800MHz. The second, allocates more RAM to the GPU. I'm not sure whether either of these makes any difference.

The third parameter is to give you audio via HDMI. If you are initially going to test BlissFlixx with a DVI monitor and audio via the jack socket, don't add this at this stage.

Put the SD card into the Pi and boot. Probably a good idea to update image:-

sudo apt-get update
sudo apt-get upgrade

Expand the file system using:-

sudo raspi-config

When complete, close the config interface and reboot.

In a terminal type:-

ifconfig

...and note your IP address.

Install BlissFlixx


In a terminal window/command line:-

git clone https://github.com/blissland/blissflixx.git

Now change directories:-

cd blissflixx

...and run configure:-

sudo ./configure.sh

Do worry about reported errors at this stage (...who knows, they may not be fatal!) and when its finally all over you can test it:-

./blissflixx.py

On a pc/laptop/other run a web browser and type in the previously noted IP address and the BlissFlixx port: 6969

For example:-

http://192.168.0.18:6969/

It might take a minute or so for the server to come-up, so keep trying.

The final touches


Once you have established that it is working, we need it to start automatically, and we want to lose the desktop GUI.

Open the file manager (pcmanfm) and select View > Show Hidden

Navigate to the blissflixx folder in the home directory and open with LeafPad:-

 /home/pi/blissflixx/start.sh

Modify text to look like this:-

#!/bin/bash
python /home/pi/blissflixx/blissflixx.py --port 80 --daemon


...and save.

Now navigate to the home directory and open with LeafPad:-

 /home/pi/.bashrc

At the bottom of this file add the line:-

/home/pi/blssflixx/start.sh

...and save.

In a terminal type:-

sudo raspi-config

...and change the boot option so that the Pi boots to the command line and logs in the user Pi.

Now reboot.

The Pi should now boot very quickly (30 seconds...ish! for a B+, probably less than 15s for a Pi2) and the final few lines of text on the screen should indicate that BlissFlixx has running.

You should now be able to reach BlissFlixx via a remote device by simply using the noted IP address.

Example:-

http:/192.168.0.18

Note that the port number does not have to be specified because the start.sh script specifies port 80.

Obviously you can change this behaviour by editing start.sh.

In use, the BlissFlixx Pi just runs with power supply, TV and wifi dongle connected (i.e. you don't needs a keyboard or mouse).

How's it hangin'


I have used it most on BBC iPlayer and ITV Player without any real problems.

When you load a program you have to wait a while, but this also applies to my Smart-arse Sony TV.

If the first program you load is in 4:3 format, you can still see the RaspberryPi logo and startup text to the left of the video image. But this shouldn't be too difficult to automatically clear (...work in progress, but you can get rid of the Raspberry logo and most of the boot text by adding; os.system('clear')  ...to the blissflixx.py file...).

It is sometimes possible to detect slight jerkiness when "credits" are scrolling up the screen. However this is not on all programs, so perhaps I need to compare with my Sony viewing the same internet content.

Shutting down BlissFlixx Pi


Just how the system is shut down depends upon who is in control.

1. The Technical Method (the one which you will use, and tell the rest of the family about): Click on the Settings icon...

Settings menu on BlissFlixx

...then click the SHUTDOWN icon and wait a couple of minutes.

2. The Family Method (the one everyone but you will use): Turn off the power.
A bit brutal, but I do this all the time with my Pi powered internet radio/music box and I've never had a problem.


Credit goes to "MrBliss" AKA "blissland"AKA Rob

No comments:

Post a Comment