<?sphp $this->text('pagetitle') ?>
 
Home of the Squeezebox™ & Transporter® network music players.

AlienBBC

From SqueezeboxWiki

Revision as of 12:29, 1 July 2010 by Soulkeeper (Talk | contribs)
(diff) ← Older revision | Latest revision (diff) | Newer revision → (diff)
Jump to: navigation, search

AlienBBC is a plugin for SlimServer and SqueezeCenter designed to allow the user to listen to (mainly) BBC Radio streams. The website hosts versions from 0.98. The SqueezeCenter (SC) version of the plugin also incorporates WikiRadio.

Contents

Overview

AlienBBC is a plugin for SlimServer and SqueezeCenter designed to allow the user to listen to (mainly) BBC Radio streams. The website hosts versions from 0.98. The SqueezeCenter (SC) version of the plugin also incorporates WikiRadio.

This page supplements the information on the official webpage. It is hoped users will add information to this page relating to AlienBBC including information about installation, troubleshooting, usage, customisation/Addons and any other hints.

The information on this page is mainly for SqueezeCenter 7.x and AlienBBC 2.x.

What does AlienBBC do ?

The AlienBBC plugin adds the following functionality SqueezeCenter

  • Enables playing of RealAudio streams which use RTSP.
  • Provide easy access on SBC, WebUI and SB/remote to BBC program - live and "Listen Again"
  • Provides access to some other stations and other audio resource such as Australia's ABC and podcats from ABC & BBC.

Also for non-Windows platforms, AlienBBC enables playing WMA streams on SC players which cannot play WMA natively (e.g. SB1, Softsqueeze).

How it works

AlienBBC is a SC plugin It has two main function:

  • Translate the BBC's Radio web site into menus which can be navigated on various SC user interfaces. Usually the user navigates the menus until the user selects a program/station to play. At this point AlienBBC will have found a playable URL which is entered in the playlist
  • As part of AlienBBC there is a handler for RTSP URLs which is the format usually used by RealAudio servers. The handler will call the MPlayer application [MPLayer home site] to connect to BBC (or RealAudio) server and deliver a decoded audio stream to SqueezeCenter.

The audio data stream from BBC to player is as follows for Linux & OSX.

BBC server ------------>mplayer------------->SqueezeCenter--------->player (SB/TP) 

For Windows

BBC server ----->mplayer--->socketwrapper--->SqueezeCenter--->player (SB/TP) 

Installation

See the AlienBBC for the official SC 7.0 installation instructions on the main platforms

This section more or less repeats these instructions but with annotations from users.

AlienBBC installation has two stages:

  • Install actual AlienBBC Plugin
  • Installation of a suitable MPlayer in a location that SC "knows".

The installation of the AlienBBC Plugin is the same as any [SC Plugin]. The actual directory will depend on the platforms being used.

The most common problem with an AlienBBC installation relates to MPlayer and its installation. Windows users should use the installer. (i.e AlienBBC-v2.00_7.0.exe ) rather than the zip as the installer will install a suitable copy of mplayer.exe in the correct location. includes Mplayer. Linux and OSX users should read the installation instructions carefully and the additional notes below.

It is advisable that a user installs and tests mplayer on their system before installing the actual AlienBBC plugin.

Windows

The best way to install AlienBBC on Windows is to use the installer from the AlienBBC website [AlienBBC Windows installer]. Do not use the zip file unless you are experienced. If you do use the zip file you will have to make sure have mplayer installed in the correct location otherwise you will get a "Cannot connect to server" message..

1. Download the AlienBBC-v2.00_7.0.exe and then run the file.

2. When prompted install into the SC's "server" directory - the prompted value is usually correct for default SC installations.

3. After installation run the optional test - this checks whether mplayer can run and play BBC stations standalone on your systems. This is a good test to detect any router or firewall problems.

4. Restart SqueezeCenter

5. It is advisable to goto Settings/Advanced/Network/Radio Station Timeout and set to 20 as some BBC live connections take a while to connect.

6. Goto to "Post installation checklist" to verify installation.

If you wish to install mplayer.exe then make sure it is a command line version with support for RealAudio and not a GUI version. The mplayer.exe can be installed in either server\Bin\MSWin32-x86-multi-thread or in server\Plugins\Alien\Bin. After installation you should test it with the AlienBBC standalone test batch file.

On Windows, security software such Norton, MacAfee, ZoneAlarm can affect the operation of the mplayer and socketwrapper and may prevent them from running or accessing internet. In particlar, known issues include:

  • NOD32 you need to add socketwrapper to the IMON exclusion list ( see [[1]].
  • ZoneAlarm on Vista needs to be version 7.1.254 - earlier versions prevent socketwrapper from working. When removing a faulty ZA make sure you do a complete uninstall see [[2]]
  • With Peerguardian installed, make sure this ip address is opened up 212.58.227.96.

Linux

These installation instructions assume you are installing on to SqueezeCenter 7.0 using the tar.,gz file from the AlienBBC website.

1. Download the linux archive [AlienBBC Linux tar.gz]

2. Extract this tar file into the main SqueezeCenter Plugins directory, this could be /usr/share/squeezecenter/Plugins, /usr/local/squeezecenter/Plugins or /opt/squeezecenter/Plugins. The directory will depend on how you have installed SqueezeCenter and your distro.

3. Check if necessary - change ownership and permissions of the files in Plugins/Alien.

4. Ensure that the included Plugins/Alien/Bin/mplayer.sh is executable by the user id who runs SqueezeCenter.

5. Ensure that mplayer is installed and available on the path for SqueezeCenter or that it is installed in /usr/local/bin. Otherwise when stations are played, there will be no audio.

6. Restart slimserver.

7. Goto Settings/Advanced/Network/Radio Station Timeout and set to 20.

8. Goto to "Post installation checklist" to verify installation.

However for many Linux users, it may be easier to install AlienBBC RPM from this YUM site [SC AlienBBC Plugin ]

The user will have to install a copy of mplayer suitable for their system and for decoding RealAudio in realtime. The Plugins uses the shell script mplayer to run mplayer The standard mplayer.sh scripts expects to find mplayer either on the path or in /usr/local/bin. If mplayer is installed in another location mplayer.sh will have to be modified.

The shell script mplayer.sh and this also requires the use of /dev/fd devices. User will also have to modify mplayer.sh for this Linux distro who do not include this driver, or who only support devices /dev/fd/0,/dev/fd1 and /dev/fd/2 or have some other restriction on use.

Mac OSX

These instructions are taken from the AlienBBC website. They assume SC 7.x and Mplayer 1.0rc1 or later and OSX 10.4.x. If they are not correct or incomplete please

It is best to install and test mplayer before installing ALienBBC plugin. Download MPlayer for OS X from: [MPlayer download]. Install the universal package accepting the default file locations.

1. Download the alienbbc distribution for linux/osx http://www.x2systems.com/alienbbc/alienbbc-linux-v2.00_7.0.tar.gz and open it to reveal the Plugins folder:

2. If you installed SqueezeCenter for the local user only or only want the current user to use Alien:

2a) Open Finder and goto ~/Library/Application Support/SqueezeCenter/Plugins [note not plugin]

2b) Drag the "Alien" folder from the alienbbc distribution to the Plugins folder in ~/Library/Application Support/SqueezeCenter/Plugins (note ~ represents folders within your own account, so the above relates to the Library folder within your home folder)

3. If you installed SqueezeCenter for all users and want all users to be able to use Alien:

3a) Open Finder and goto /Library/Application Support/SqueezeCenter/Plugins

3b) Drag the "Alien" folder from the alienbbc distribution to the Plugins folder in /Library/Application Support/SqueezeCenter/Plugins (you may need to create this). Restart the server, Alien should now show up on the home page and player menu under Internet Radio.

4. Restart slimserver.

5. Goto Settings/Advanced/Network/Radio Station Timeout and set to 20.

6. Goto to "Post installation checklist" to verify installation.

The MPlayer 1.0rc2 for OSX from the mplayerhq site seems to have a problem with RealAudio decoding and it loses one channel. If you have a Intel OSX 10.5 (maybe 10.4) systems then you could download, unzip and insstall mplayer from here [Triode's Mplayer for OSX] into /usr/local/bin.

Other Installation instructions

For ClarkConnect users these instructions may be useful: [Installing AlienBBC]

Post Installation Checklist

This section is a set of steps to check whether AlienBBC has been installed correctly. If the install has failed in someway - this checklist will provide suggestions on the underlying problem

1. In Settings/Plugins - check there is an entry for AlienBBC and it is enabled. If no Plugins then either Plugin files have been installed in the wrong directory or else the files cannot be read by SC.

2. Click "Settings" in the Settings/Plugin/AlienBBC entry. If the install has succeeded you will get an AlienBBC settings page. If you get a "404" message then it usually means that AlienBBC Plugins has been installed at the wrong level in the Plugins directory, you have multiple installations of AlienBBC or multiple "Plugins" directory in the SC server directory and sub-directories

3. Check main WebUI - do you see AlienBBC menu under Internet Radio. Click on this menu and you should more menus. If you don't then AlienBBC had problems creating the alienbbc.opml file in Playlist or Cache directories. Check permissions and disk quota of SC user or free space on the disk where playlists are stored.

4. Check that when you go down menu such as Radio 4 A-Z you get a list of programs. If you do not get submenus then it is likely you have some sort of network problem. A network problem would affect the Staff Picks menu. Check if "Staff Picks" is working

5. Check Settings/FileTypes/RTSP. There should be 3 entries for RTSP and at least 2 (WAV and Flac) should be enabled. If there are no RTSP setting then installation has failed in someway and needs more Troubleshooting. If there are RTSP entries and none are enabled then SC cannot find mplayer or cannot run mplayer or mplayer.sh in the case of Linux and OSX. Check where mplayer is installed. Check the name of mplayer (case can be significant) and also check ownership and permission.

6. If RTSP entries are enabled and you can navigate AlienBBC menus down to programs - selecting and playing a program. If the program plays then AlienBBC install is probably good.

7. If playing a program failed, test playing RealAudio streams by pasting the following URL into "Tune-in" on the WebUI. rtsp://rmlive.bbc.co.uk/bbc-rbs/rmlive/ev7/live24/radio4/live/r4_dsat_g2.ra If no audio is heard then if you are on Windows check security s/w/. If you are on Linux/OSX check that mplayer works OK on your system and that mplayer.sh can find mplayer.

Troubleshooting

This section deals with installations that seems to be OK (see Checklist) or installations that were working and now have for some reason stopped working.

Common problems

Problem generally fall into four categories:

  • No menus
  • No Audio
  • Some menus do not appear, are garbled or missing entries
  • Audio starts playing then stops, stutters, restarts or some other playback problem.

For "No Menus" or "No Audio" go through the "Post Installation " checklist and see if the problem can be identified and fixed. Consider that something in the system may have changed (e.g. path, software upgrade, changed permissions) which has affected the installation.

For menu problems this is usually an issue with an Addon or the host website (e.g. BBC) has changed. There is no definitive source for this problem and is best sorted by a starting a thread in 3rd party Plugin with a clear title such as "AlienBBC submenu corrupted / missing"

The remaining playback problems are usually associated with mplayer and network.

  • audio stream starts playing and then stops.
When this problem happens with Softsqueeze - usually pressing play again starts the stream. This seems to be a Softsqueeze issue.
If this happens when playing "Listen Again" streams but not live stream. This cause is TCP windows usually either because internetlink is a satellite link or something has "!tweaked" network TCP settings to optimise file download. Solution is to remove "--bandwidth 10000000" from AlienBBC custom-convert.conf file and then restart SC.
If it is happening on both live streams and "Listen Again" it may be worth upgrading mplayer. Certainly the version shipped with Ubuntu Dapper Drake has this problem and building it from source solved the problem (and also got rid of some minor stuttering issues).
  • audio stutters
Audio stream stuttering is usually because of network/serverissues or server decoding. With RealAudio server /network issues of stuttering can sometimes be identified by fragments of the audio repeating Server deciding stuttering is usually because processor is not fast enough or too much CPU load on the system, mplayer using floating point when there is no FPU on processor (e.g. ARM), wireless connection to player is not good enough because WAV is being used because processor is not powerful enough to transcode into Flac.
  • audio restarts
Restarts are usually because network stops, link to server gets reset or audio stream is not being received fast enough.

Obtaining Logs for problem solving

When troubleshooting the first things to get some logs.

Basic log information

To get a log the user should go to Settings/Advanced/Loggin and make the following changes.

  • plugin.alienbbc set to INFO
  • player.source set to INFO

To remember these settings between restarts the user should check the "Save logging settings for use at next application restart" check box.

Then click "Apply".

The user should then run a test with AlienBBC (typically select a menu item and try to play). After a few minutes Stop SC and copy the relevant fragment of the log file to a text file. Full path to log file can be found on the Server/Advanced/Logging page. There are limits when posting messages on the forum so when post logs to forums it is best save the log in a plain txt file (not doc or rtf) and then zip the txt file. Then the zip file is attached to the post.

More complete Logging

Some of the more difficult problem require getting log information from mplayer and socketwrapper (Windows only).. This requires running SqueezeCenter from the shell prompt or command prompt. This procedure is basically the same for each OS but the details differ so the procedure is listed according to OS below.

Windows

To run SC from a command prompt.

1. Stop SC.

2. Save a copy of Plugins/Alien/custom-convert.conf so you can revert.

3. Edit using Wordpad the file Plugins/Alien/custom-convert.conf. Change the "-really-quiet" on the mplayer lines to "-quiet". Save file and end edit.

4. From Windows open a command prompt (e.g. type cmd into the run box)

5. Goto top left corner icon menu of command window and change properties to change window size. Change window to 300 wide by 3000 lines long.

6. In command prompt window. Change directory (ie. use cd) to the SC directory - if using a standard installation it is in c:\Program Files\SqueezeCenter\server

7. Type in the command squeezecenter.exe and SC should start normally.

8. From web interface (Setting/Advanced/Logging) enable logging as follows plugin.alienbbc to DEBUG, player.source to DEBUG and click Apply.

9. Try to play the stream that provokes the problem preferably a "Listen Again" stream.

10. Log messages should scroll up and you should see some from mplayer and also socketwrapper.

11. Wait 1 minute - at command prompt window - type CTRL/C to stop SC. Wait for prompt.

12. Use command prompt window top left icon menu to copy all of the log messages and paste them into text file

13. Zip the text file and Post the zipped text file.

Linux

To run SC from a shell prompt.

1. Stop SC.

2. Save a copy of Plugins/Alien/custom-convert.conf so you can revert.

3. Edit using the file Plugins/Alien/custom-convert.conf. Change the "-really-quiet" on the mplayer lines to "-quiet". Save file and end edit.

4. Open a Terminal windows and get a shell prompt.

5. In command prompt window. Change directory (ie. use cd) to the SC "server" directory

6. Type ./slimserver.pl when in the server directory and SC should start. Depending on the installation and permissions you may need to have additional parameters such as user and prefsdir such as './slimserver.pl --user squeezecenteruser --prefsdir /etc/scprefs'

7. From web interface (Setting/Advanced/Logging) enable logging as follows plugin.alienbbc to DEBUG, player.source to DEBUG and click Apply.

8. Try to play the stream that provokes the problem preferably a "Listen Again" stream.

9. Log messages should scroll up and you should see some from mplayer.

10. Wait 1 minute - at Terminal window - type CTRL/C to stop SC. Wait for prompt.

11. Copy all of the log messages and paste them into text file

12. Zip the text file and Post the zipped text file.

OSX

To run SC from a Terminal shell prompt.

1. Stop SC.

2. Save a copy of Plugins/Alien/custom-convert.conf so you can revert.

3. Edit using the file Plugins/Alien/custom-convert.conf. Change the "-really-quiet" on the mplayer lines to "-quiet". Save file and end edit.

4. Open a Terminal window

5. Find the SqueezeCenter preference pane in your Library (or the main Library, depending on your installation).

6. Control-click on this and choose Open Package Contents.

7. Find slimserver.pl inside the Server folder of the package Contents.

8. Drag this to the Terminal window. Run SC by poressing Return

9. From web interface (Setting/Advanced/Logging) enable logging as follows plugin.alienbbc to DEBUG, player.source to DEBUG and click Apply.

10. Try to play the stream that provokes the problem preferably a "Listen Again" stream.

11. Log messages should scroll up and you should see some from mplayer.

12. Wait 1 minute - at Terminal window - type CTRL/C to stop SC. Wait for prompt.

13. Copy all of the log messages and paste them into text file

14. Zip the text file and Post the zipped text file.

MPlayer issues

MPlayer has been improved a lot in the 2 years but there are issues which need clarification. The issues are diverse including: unnecessary installation of codecs, old bugs, processors limitation and OS versions.

  • For the majority of RealAudio stations (e.g. BBC, RAI, RTE) there is no need to install any additional codecs. This was necessary a few years ago but mplayer now has a native codec for the RealAudio 8 / Cook codec. If you find an old recording or an old station (IIRC Radio Malta) you may need additional codec such as SIPR. You will also need to make sure that mplayer has been built to linkinto these external codecs. These codec libraries are only available for x86 and ppc processors.
  • Many recent NAS systems use CPU which have no floating point processor (e.g. ARM, MIPsel). If you want to play BBC stream using mplayer on these systems you will need to get a version of mplayer which has been built using fixed point arithmetic for RealAudio. See [[3]]
  • Unlike most Linux applications, the WAv stream from mplayer cannot be sent to stdout so AlienBBC uses the mplayer.sh and /dev/fd to route the WAV stream to stdout for SC. However some distros and NAS either do not have /dev/fd device or the devices are limited (e.g. /dev/fd/0 -> 2). To overcome this the user flipflip created a patch so that mplayer can send output to stdout. Mplayer built with this patch have been called mplayer-stdout and is used for many NAS ports of Slimserver/SqueezeCenter as part of SSODS and SlimNAS There are alternative to patching mplayer usually using fifo or named pipes such as described in this post [[4]]
  • built version of Mplayer for OSX usually do not work on OSX 10.3.x and users of OSX 10.3.x may have to build their own version of mplayer or upgrade to OSX 10.4 or OSX 10.5. Building mplayer is not as hard as it seems and the following thread shows how a user with no programming experience succeeded see [[5]].

Customisation / Addons

User can create Addons to AlienBBC. An Addon usually consist of a Module .pm file and an associated opml file which has details about the new stations. However sometimes the Addon is just an opml file. Installation of an Addon is usually copying the files into the server/Plugins/Alien/Addons directory and then restart SC. The new menu should appear at the end of the menu list.

Changing default

The default menu is generated from the default.opml file in the Alien/Default directory. This file is used when AlienBBC is run for the first time or when "Reset Menu" is selected in Settings. A user can edit (with Wordpad in Windows) default.opml to change these default. However if a new version of AlienBBC is released, a new version of default.opml will probably overwrite the old version.

Change name of AlienBBC & Icon

The user can edit the Alien/strings.txt file to change the name "AlienBBC" which appears on menus as some users do not find the name "AlienBBC" intuitive.

The AlienBBC icon is server/Plugins/Alien/HTML/EN/plugins/Alien/html/images/alien.png

More detailed instructions for Clarkconnect users but should work on any AlienBBC can be found here but exact directory location of files will vary. [Tweaking AlienBBC]

New menus & Functionality

This section is for users to add news addons, opml file or other functionality

  • Download and unzip the attached opml file into Alien/Addons to get BBC Listen By Genre menus
  • See this post [[6]] for an Addons to BBC Live streams - displays program info and station appropriate Icons
  • See this post [[7]] if a user wants to create a "MyPicks" for SC7.0 from AlienBBC
  • Not strictly AlienBBC - see Infobrowser page for better BBCWhatson info on Radio schedule

FAQ

Q. I am using Winamp/VLC/XX player (i.e. using stream.mp3) - SC works fine and plays everything except AlienBBC.

A. In case of copyright (BBC) and limitations of Use (RealNetwork) litigation - AlienBBC is designed to work only with SB clients (i.e. Softsqueeze, Transporter, Squeezebox).

Q. Playing always stops after about X minutes (typically between 2 and 10 mins).

A. If Live streams play OK and only "Listen Again" streams are affect. Try removing "--bandwidth 10000000" from the Alien file custom-convert.conf and restarting SC.

Q. When trying to play. the message "Cannot connect server for" appears A. Usually means SC cannot find mplayer (windows) or mplayer.sh (Linux/OSX).

Q. When streaming is played - counter increments for about x secs (between 5 and 40) and then stops but no sound A.  ?

Q. Audio stutters when playing

A. Usually network problems or CPU is overloaded. If using a NAS - avoid re-eoncoding into Flac or MP3 and make sure mplayer is built to use fixed point arithmetic.

Search Terms

This section is here just to include word that would help someone searching the Wiki. RealAudio BBC Alien RTSP RAM SMIL SIPR COOK RealNetworks RealPlayer