Join GitHub today
GitHub is home to over 28 million developers working together to host and review code, manage projects, and build software together.Sign up
get_iplayer Web PVR Manager
The Web PVR Manager (WPM) is a Web-based search front-end to get_iplayer which allows you, through a web browser, to manage the get_iplayer PVR and start recordings. You are able to search all of the programmes indexed by get_iplayer. It also has a built-in streaming server so you can play recorded content from the web browser or using simple HTTP URLs. It can also generates M3U playlists for recorded programmes so that media players can use the streams.
THIS IS BETA CODE!!! DO NOT RUN THIS ON AN UNTRUSTED NETWORK
See the get_iplayer installation page for instructions on how to install and run the WPM. Bear in mind that the WPM is a front end for the get_iplayer command-line interface (CLI), so you must install the CLI, its related Perl modules and the necessary external applications along with the WPM. In particular, note that ffmpeg is required for recording and streaming programmes.
Windows users should download and run the latest get_iplayer installer, which will set up everything you need. You can launch the WPM from
All Programs -> get_iplayer -> Web PVR Manager on the Start Menu (
All Apps -> get_iplayer -> Web PVR Manager on Windows 10) or the
Web PVR Manager tile in the Windows 8 Start screen.
It is also recommended to install VLC Media Player to use with the Play and Play File links in the Recordings page.
DO THIS EVERY TIME YOU RUN THE WEB PVR MANAGER
Select the programme types you wish to search by ticking the appropriate Programme type boxes in the Search page. Only BBC TV programmes are indexed and searched by default, so you MUST select additional types for them to be included in your search results.
Click the Refresh Cache button to open a new browser window/tab where the programme data cache will be updated. You MUST do this in order to find the latest programmes in your search results. Leave that window open to automatically refresh the cache at periodic intervals.
There are several different tabs along the top of the page to navigate the different WPM pages:
- Search - Shows you a list of all available programmes that match your default options. Use any of the search criteria presented, enter a search term then click the Search button below (select the Advanced Search tab to get more search options).
- Recordings - Shows you a list of all recorded programmes (this view is generated from your get_iplayer download history). Use any of the search criteria presented, enter a search term, then click the Search button (select the Advanced Search tab to get more search options). You can play your recorded programmes from the search results. See "Recordings Page" below.
- PVR List - Shows you a list of currently saved PVR searches or queued recordings. You can delete PVR searches by selecting the desired entries and clicking the Delete button. Click the name of a PVR search to edit it.
- Run PVR - Runs the PVR immediately in a new tab - make sure you wait for it to fully complete before closing the browser tab. If you do not close the tab it will automatically run the PVR every 4 hours.
- Help - Sends you here.
There are several different action buttons along the top and bottom of the search results:
- Search - Enter your search term in the Search field and click this button to execute the search. You can perform your search on a field other than Name by changing the value of Search in. Additional search options may found in the Advanced Search tab. You can search the PVR recordings history instead of the available programmes by selecting Search History in the search panel.
With the default settings WPM will only search TV programmes. Select the BBC Radio checkbox to add radio programmes to the search results.
- Record - Select the checkbox next to the programme(s) you want to record and click this for immediate recording in a separate browser tab.
In Linux/BSD recordings are saved by default in the directory where you started the WPM service. In Windows/macOS recordings are saved by default in the
iPlayer Recordingsfolder on your desktop. You can specify the output directory in your get_iplayer preferences, or you may enter a new location in the Override Recordings Folder field in the Recording settings tab.
Queue - Select the checkbox next to the programme(s) you want to record and click this button to queue them for when the PVR next runs (i.e., by clicking Run PVR).
Add Search to PVR - Once you have added the search terms to get the list of programmes you wish to regularly record, click this button.
The queued recordings and PVR searches that you add will only actually be recorded when you click the Run PVR tab at the top of the page.
Refresh Cache - You must regularly refresh the programme cache to see new programmes. Clicking this button opens another tab or window that refreshes the list of programmes from the online feeds of the selected programme types. If you leave it open it will auto-refresh every hour unless you override the settings.
NOTE: It may take a while to reload page when refreshing caches.
Quick URL - To record a BBC iPlayer programme, paste the programme episode page URL into the Quick URL box and click Record. The correct programme type (BBC TV or BBC Radio) must also be selected.
Each item in search results has several action links:
Queue - Queue the programme for recording
Record - Immediately record the programme (opens a new tab)
NOTE: Only two recording tabs can work at any one time.
Add Series - Add the programme's entire series (including future episodes) to the PVR List
Further information can be displayed for each item in search results:
- Click the description text to retrieve full metadata for a programme
- Click any underlined text to search only for that clicked text, e.g., a series name.
- Click a thumbnail image to go to the associated episode web site
- Sort columns by clicking the headings
- Add or remove columns in the search results by selecting checkboxes in the Columns settings tab
Play back your recordings from the Recordings page, which shows the contents of your recording history. You can search the recording history in the same way you search programme listings in the Search page.
There are several different action buttons along the top and bottom of the search results:
Search - Enter your search term in the Search field and click this button to execute the search. You can perform your search on a field other than Name by changing the value of Search in. Additional search options may found in the Advanced Search tab. In the Recordings page you can only search the PVR recordings history.
Delete - You can delete downloaded files by selecting the desired entries and clicking the Delete button. The files will be deleted, but the entries will remain visible (greyed out) in your recording history. If the Actions column is empty, it means the file has been deleted (or relocated).
Play - Select the recorded programmes you wish to play and click the Play button to send a M3U playlist to your browser that can be opened by an appropriate media player (e.g., VLC). The playlist contains links to stream the selected programmes. Streaming parameters can be selected in the Streaming options tab before generating the playlist. Default is to stream programmes in FLV format.
Play Files - Select the recorded programmes you wish to play and click the Play Files button to send a M3U playlist to your browser that can be opened by an appropriate media player (e.g., VLC). The playlist contains links to play the the selected programmes direct from the local disk, so it will not work with remote clients.
Each item in your download history has several action links:
Play - Sends a M3U playlist to your browser that can be opened by an appropriate media player (e.g., VLC). The playlist contains a link to stream the selected programme. Streaming parameters can be selected in the Streaming options tab before generating the playlist. Default is to stream programme in FLV format.
Play File - Sends a M3U playlist to your browser that can be opened by an appropriate media player (e.g., VLC). The playlist contains a link to play the file directly from the local disk, so it will not work for remote clients.
Play Direct - Streams recorded programme directly to your browser. Streaming parameters can be selected in the Streaming options tab before playback. Will not work for all streaming formats or all browsers.
Settings are grouped into 5 tabs: Advanced Search, Display, Columns, Recording and Streaming. Hover over any form field with your mouse to see a tooltip with a brief description of its purpose.
The settings correspond to options for the get_iplayer CLI. See this page for a full list. Not all get_iplayer options are available to the WPM. For those options, get_iplayer uses either its default values or values that have been saved to its user options file with
get_iplayer --prefs-add (examples here).
Because the WPM is merely a frontend to the get_iplayer CLI, you may see error messages and warnings that reference command line options. You will need to translate them into the corresponding WPM settings, if available. For example, if you are warned that the
--force option is required to re-download a programme, you would instead set Force Recording = On in the Recording tab.
When you change settings, use the buttons beneath the settings tabs to apply them:
Apply Settings applies the options in settings tabs to the current search.
Save As Default saves the options in settings tabs and a few of the standard settings such as Programme Type. The settings are saved as browser cookies.
Relationship to CLI
When you invoke an action in the WPM such as "Search", "Record" or "Add to PVR", behind the scenes the WPM constructs a command string and runs the get_iplayer CLI just as if you typed the equivalent command at a prompt. However, the WPM was designed as a standalone, simpler and more limited interface to get_iplayer, and thus lacks a number of options available to the CLI. The WPM also was designed to maintain its own configuration settings separate from preferences set with the CLI using
--prefs-add. It is strongly recommended that if you are a WPM user you do all your configuration in the WPM. However, there are some particular cases where CLI preferences may be required. Below is list of considerations to keep in mind if you attempt to use CLI preferences from the WPM.
The WPM cannot load, display, or change the values of CLI preferences. Any settings you save in the WPM are saved for the WPM only. In order to view or change the values of your preferences, you must use the CLI with
Any WPM setting with a non-empty value will override the equivalent CLI preference value. This is the same as if you override a preference value by adding the equivalent option to the CLI command line.
Any WPM setting with a text string value (e.g., "Exclude Channels Containing") will not override the equivalent CLI preference if the string value is empty, so it is technically possible (though not advisable) to use the equivalent CLI preference.
Any WPM setting with a boolean (on/off) value (e.g., "Refresh Future Schedule") will always override the equivalent CLI preference since it always has a value (on or off). These settings must always be made in the WPM.
Any WPM setting with a fixed set of possible values (e.g., "Sort By") will always override the equivalent CLI preference since it always has a value (one of the set). These settings must always be made in the WPM.
Any CLI preference that does not have an equivalent WPM setting (e.g.,
--exclude-supplier) will always be used by the CLI when it is invoked from the WPM.
You may wish to permanently exclude CBeebies from your search results. To do that, set the necessary preference with the CLI:
get_iplayer --prefs-add --exclude-channel "CBeebies"
However, if you enter any value in the "Exclude Channels Containing" setting in the WPM, it will override your CLI preference. It will not be added to it. It is strongly recommended that you make this and similar settings in the WPM.
You may always wish to pull in the following week's listings whenever you refresh your programme cache. To do that with the CLI, you set the necessary preference:
get_iplayer --prefs-add --refresh-future
This preference will always be overridden by the WPM. Instead, you must set "Refresh Future Schedule" = On in the WPM.
Direct Streaming URLs
Web PVR Manager allows you to stream recorded audio and video to media player software such as VLC, mplayer and ffplay
The WPM Server README gives examples.
Streaming Playlist URLs
Web PVR Manager allows you to create M3U playlists on-the-fly from searches to enable you to stream recorded audio and video to media player software such as VLC, mplayer and ffplay.
The WPM Server README gives examples.
The WPM Server README contains instructions. NOTE: CGI installation is unsupported.