PHPackages                             pxgamer/getiplayer-php - PHPackages - PHPackages  [Skip to content](#main-content)[PHPackages](/)[Directory](/)[Categories](/categories)[Trending](/trending)[Leaderboard](/leaderboard)[Changelog](/changelog)[Analyze](/analyze)[Collections](/collections)[Log in](/login)[Sign up](/register)

1. [Directory](/)
2. /
3. [API Development](/categories/api)
4. /
5. pxgamer/getiplayer-php

ActiveLibrary[API Development](/categories/api)

pxgamer/getiplayer-php
======================

An easy to use wrapper for the iPlayer download API written in PHP.

v1.1.2(8y ago)09[1 issues](https://github.com/owenvoke/getiplayer-php/issues)MITPHPPHP ^7.1

Since Jan 12Pushed 8y ago2 watchersCompare

[ Source](https://github.com/owenvoke/getiplayer-php)[ Packagist](https://packagist.org/packages/pxgamer/getiplayer-php)[ RSS](/packages/pxgamer-getiplayer-php/feed)WikiDiscussions master Synced 3w ago

READMEChangelogDependencies (2)Versions (8)Used By (0)

getiplayer-php
==============

[](#getiplayer-php)

[![Latest Version on Packagist](https://camo.githubusercontent.com/3fb8f53feb1784a1c7a899493b01448f6e310e3583f780563dc126c13a6ef8a1/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f762f707867616d65722f67657469706c617965722d7068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/pxgamer/getiplayer-php)[![Software License](https://camo.githubusercontent.com/55c0218c8f8009f06ad4ddae837ddd05301481fcf0dff8e0ed9dadda8780713e/68747470733a2f2f696d672e736869656c64732e696f2f62616467652f6c6963656e73652d4d49542d627269676874677265656e2e7376673f7374796c653d666c61742d737175617265)](LICENSE.md)[![Build Status](https://camo.githubusercontent.com/0ae8ae106fbda10ed18d312c0a5f0190cf1acbc5192d7780037de4c0e6128d4e/68747470733a2f2f696d672e736869656c64732e696f2f7472617669732f707867616d65722f67657469706c617965722d7068702f6d61737465722e7376673f7374796c653d666c61742d737175617265)](https://travis-ci.org/pxgamer/getiplayer-php)[![Style CI](https://camo.githubusercontent.com/4a2a0d4a97c2083af7dc3fc86890a64d4d491ce3df3e2079b917b27d2245224b/68747470733a2f2f7374796c6563692e696f2f7265706f732f37383639313637372f736869656c64)](https://styleci.io/repos/78691677)[![Code Coverage](https://camo.githubusercontent.com/e8dd005fc77294fe3925ddad19b08f255b4fa04bcae40a3d355b53017a8e5a79/68747470733a2f2f696d672e736869656c64732e696f2f636f6465636f762f632f6769746875622f707867616d65722f67657469706c617965722d7068702e7376673f7374796c653d666c61742d737175617265)](https://codecov.io/gh/pxgamer/getiplayer-php)[![Total Downloads](https://camo.githubusercontent.com/6a5a084195db9ccc16091cef08dcd5f02a6aad70f092ab467aefe98cf60ef1ab/68747470733a2f2f696d672e736869656c64732e696f2f7061636b61676973742f64742f707867616d65722f67657469706c617965722d7068702e7376673f7374796c653d666c61742d737175617265)](https://packagist.org/packages/pxgamer/getiplayer-php)

An easy to use wrapper for the iPlayer download API written in PHP.

Structure
---------

[](#structure)

```
resources/
src/
tests/
vendor/

```

Install
-------

[](#install)

Via Composer

```
$ composer require pxgamer/getiplayer-php
```

Usage
-----

[](#usage)

This currently creates a single .ts file which can be encoded using Handbrake or another encoder.

Usage
-----

[](#usage-1)

```
use pxgamer\GetiPlayer;

$client = new GetiPlayer\Client();

echo 'Episode URL: ' . $client->setUrl('https://www.bbc.co.uk/iplayer/episode/b088ppll/sherlock-series-4-2-the-lying-detective') . "\n";

echo 'Video ID: ' . $client->getVideoId() . "\n";
echo 'Output Quality: ' . $client->setQuality('highish') . "\n";

$client->getMediaISM();

echo 'Discovered URL: ' . $client->discoveredUrl . "\n";
echo 'Master Key: ' . $client->getMasterKey() . "\n";

$client->getM3u8();
$client->getStream();
//echo "M3u8: " . $client->getM3u8() . "\n";
//echo "M3u8 Stream: " . $client->getStream() . "\n";

echo 'Programme ID: ' . $client->getProgrammeId() . "\n";
echo 'Programme Title: ' . $client->getFullProgramTitle() . "\n";

$client->listHlsFiles();

$client->createDirectories();

echo 'Parsed: ' . $client->downloadFiles($client->hlsFiles) . "\n";

echo 'Files written: ' . $client->writeFiles() . "\n";

$client->cleanDirectory();

echo "Cleaned directory\n";
```

*Note: This is based off of Tiiveni's original code from SquarePenguin.*

Change log
----------

[](#change-log)

Please see [CHANGELOG](CHANGELOG.md) for more information on what has changed recently.

Testing
-------

[](#testing)

```
$ composer test
```

Contributing
------------

[](#contributing)

Please see [CONTRIBUTING](CONTRIBUTING.md) and [CODE\_OF\_CONDUCT](CODE_OF_CONDUCT.md) for details.

Security
--------

[](#security)

If you discover any security related issues, please email  instead of using the issue tracker.

Credits
-------

[](#credits)

- [pxgamer](https://github.com/pxgamer)
- [All Contributors](../../contributors)

License
-------

[](#license)

The MIT License (MIT). Please see [License File](LICENSE.md) for more information.

###  Health Score

26

—

LowBetter than 41% of packages

Maintenance20

Infrequent updates — may be unmaintained

Popularity4

Limited adoption so far

Community8

Small or concentrated contributor base

Maturity63

Established project with proven stability

 Bus Factor1

Top contributor holds 100% of commits — single point of failure

How is this calculated?**Maintenance (25%)** — Last commit recency, latest release date, and issue-to-star ratio. Uses a 2-year decay window.

**Popularity (30%)** — Total and monthly downloads, GitHub stars, and forks. Logarithmic scaling prevents top-heavy scores.

**Community (15%)** — Contributors, dependents, forks, watchers, and maintainers. Measures real ecosystem engagement.

**Maturity (30%)** — Project age, version count, PHP version support, and release stability.

###  Release Activity

Cadence

Every ~65 days

Recently: every ~81 days

Total

6

Last Release

3127d ago

PHP version history (2 changes)v1.0.0PHP &gt;=5.5.0

v1.1.0PHP ^7.1

### Community

Maintainers

![](https://avatars.githubusercontent.com/u/1899334?v=4)[Owen Voke](/maintainers/owenvoke)[@owenvoke](https://github.com/owenvoke)

---

Top Contributors

[![owenvoke](https://avatars.githubusercontent.com/u/1899334?v=4)](https://github.com/owenvoke "owenvoke (29 commits)")

---

Tags

iplayerphpwrapper

###  Code Quality

TestsPHPUnit

Code StylePHP\_CodeSniffer

### Embed Badge

![Health badge](/badges/pxgamer-getiplayer-php/health.svg)

```
[![Health](https://phpackages.com/badges/pxgamer-getiplayer-php/health.svg)](https://phpackages.com/packages/pxgamer-getiplayer-php)
```

###  Alternatives

[exsyst/swagger

A php library to manipulate Swagger specifications

35816.3M7](/packages/exsyst-swagger)[hubspot/api-client

Hubspot API client

24015.5M18](/packages/hubspot-api-client)[pocketmine/bedrock-protocol

An implementation of the Minecraft: Bedrock Edition protocol in PHP

172437.8k11](/packages/pocketmine-bedrock-protocol)[botman/driver-telegram

Telegram driver for BotMan

94452.6k6](/packages/botman-driver-telegram)

PHPackages © 2026

[Directory](/)[Categories](/categories)[Trending](/trending)[Changelog](/changelog)[Analyze](/analyze)
