Installs get_iplayer. Configures service for web-based PVR

Christopher Jenkins



4,605 latest version

4.3 quality score

Version information

  • 0.1.9 (latest)
  • 0.1.7
  • 0.1.6
  • 0.1.4
  • 0.1.3
  • 0.1.2
  • 0.1.1
  • 0.1.0
released May 30th 2017
This version is compatible with:
  • Puppet Enterprise 2017.2.x, 2017.1.x, 2016.4.x
  • Puppet >=4.9.0 <5.0.0
  • RedHat

Start using this module


sevendials/get_iplayer — version 0.1.9 May 30th 2017


Table of Contents

  1. Overview
  2. Module Description - What the module does and why it is useful
  3. Setup - The basics of getting started with get_iplayer
  4. Usage - Configuration options and additional functionality
  5. Reference - An under-the-hood peek at what the module is doing and how
  6. Limitations - OS compatibility, etc.
  7. Development - Guide for contributing to the module


The get_iplayer module lets you access content from the BBC iPlayer service.

Module Description

This module installs get_iplayer from its source location on the web. This provides a command line client and a web-based PVR service. The module also installs a service for PVR functionality. The software can only access video content from a UK-based IP address.


What get_iplayer affects

  • Creates /etc/get_iplayer directory
  • Installs software into /usr/local
  • Creates get_iplayer service in native service provider
  • Runs service on port 1935

Setup requirements

A system running a RHEL-based or Debian-based OS. On RHEL, extra YUM repositories must be added to satisfy the package requirements. These repositories are EPEL and Nux Dextop. They can be added them manually or by including the following Forge modules:

Beginning with get_iplayer

 include 'get_iplayer'

The above gets the client software installed. Make sure to follow the setup requirements above. The command line client can be accessed by running:


The PVR service can be accessed from:



Change the PVR service listen address

The PVR service runs on localhost ( by default so to access it remotely, set the listen_address parameter:

 class { 'get_iplayer':
   listen_address => ''

Change the PVR service listen port

 class { 'get_iplayer':
   listen_port => '1935'

Change the PVR service download directory location

 class { 'get_iplayer':
   output_dir => '/home/joebloggs/Downloads'

Set software version

By default, the latest version of the software is installed from the ftp site. See for available versions and set the version manually:

 class { 'get_iplayer':
   version => '2.94'

Dealing with software prerequisites

This software has the following prerequisites:

perl perl::CGI perl::Env perl::HTML::Parser perl::HTTP::Cookies perl::libwww::perl perl::XML::Simple rtmpdump or flvstreamer ffmpeg or libav-tools

The module attempts to install these using the ensure_package function. If this causes a problem, prerequisite installation can be skipped:

 class { 'get_iplayer':
   manage_prereqs => false

Additional get_iplayer options for PVR service

To set additional options the options_extra takes a hash:

 class { 'get_iplayer':
   options_extra => { 'subdir' => true, subdirformat => '<nameshort>' }

The above option causes the PVR service to create a subdirectory for the download. For a complete list of options, run:

get_iplayer --dump-options



Public Classes

  • get_iplayer: Main class, includes all other classes

Private Classes

  • get_iplayer::install: Handles the software source.
  • get_iplayer::config: Handles the PVR service configuration.
  • get_iplayer::service: Handles the PVR service.


The below parameters are available in the get_iplayer class:


Target directory for tarball. Defaults to '/usr/local'.


PVR service config directory. The options file and the generated cache are stored here. Defaults to '/etc/get_iplayer'.


PVR service listen address. Defaults to ''.


PVR service listen address. Defaults to '1935'.


Installs perl dependencies and external commands (see full description in Setup section). Defaults to true.


Extra options for PVR service (see full description in Setup section). Defaults to an empty hash: {}


Download directory for PVR service. Defaults to '/var/get_iplayer'.


Prerequisite packages. Defaults to a hash in get_iplayer::params.


Path to service environment file.


Path to service file.


Templace for service file.


FTP location of software source file. VERSION is replaced by the version parameter. Defaults to:


Set version.


This module has been tested with Puppet 4.

The module has been tested on:

  • CentOS 6/7
  • Ubuntu 12.04/14.04/14.10/15.04


Please send pull requests.