Forge Home

get_iplayer

Installs get_iplayer. Configures service for web-based PVR

10,419 downloads

5,573 latest version

4.3 quality score

We run a couple of automated
scans to help you access a
module's quality. Each module is
given a score based on how well
the author has formatted their
code and documentation and
modules are also checked for
malware using VirusTotal.

Please note, the information below
is for guidance only and neither of
these methods should be considered
an endorsement by Puppet.

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
  • , , , ,

Start using this module

  • r10k or Code Manager
  • Bolt
  • Manual installation
  • Direct download

Add this module to your Puppetfile:

mod 'sevendials-get_iplayer', '0.1.9'
Learn more about managing modules with a Puppetfile

Add this module to your Bolt project:

bolt module add sevendials-get_iplayer
Learn more about using this module with an existing project

Manually install this module globally with Puppet module tool:

puppet module install sevendials-get_iplayer --version 0.1.9

Direct download is not typically how you would use a Puppet module to manage your infrastructure, but you may want to download the module in order to inspect the code.

Download

Documentation

sevendials/get_iplayer — version 0.1.9 May 30th 2017

get_iplayer

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

Overview

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.

Setup

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:

https://forge.puppet.com/stahnma/epel https://forge.puppet.com/m0byd1ck/nux

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:

/usr/bin/get_iplayer

The PVR service can be accessed from:

http://localhost:1935

Usage

Change the PVR service listen address

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

 class { 'get_iplayer':
   listen_address => '0.0.0.0'
 }

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 http://www.infradead.org/get_iplayer/CHANGELOG-get_iplayer 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

Reference

Classes

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.

Parameters

The below parameters are available in the get_iplayer class:

####base_dir

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

####conf_dir

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

####listen_address

PVR service listen address. Defaults to '127.0.0.1'.

####listen_port

PVR service listen address. Defaults to '1935'.

####manage_prereqs

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

####options_extra

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

####output_dir

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

####prereqs

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

####service_env_path

Path to service environment file.

####service_path

Path to service file.

####service_template

Templace for service file.

####source_location

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

ftp://ftp.infradead.org/pub/get_iplayer/get_iplayer-VERSION.tar.gz

####version

Set version.

Limitations

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

Development

Please send pull requests.