This library presents functionality for the WMSPanel PPV framework.
Pass the JSON payload of the media servers in and receive structured data of your viewership back.
The library is able to validate requests by passing your PPV token.
You can also generate media signatures for playback.
Require the library with composer:
composer require kev-ac/wmspanel-ppv-parser
Instantiate the main class without validation:
$parser = new KevAc\WmsPanel\PpvParser\PpvParser();
Instantiate the main class with validation:
$parser = new KevAc\WmsPanel\PpvParser\PpvParser("YOURTOKEN", true);
Receive structured data:
$data = $parser->parse($yourPpvPayloadAsJsonString);
Generate response with DenyList (and Solution if token is specified above):
$response = $parser->generateResponse($arrayWithDeniedIds, $yourPpvPayloadAsJsonString);
Generate media signature for playback
With client IP:
$playbackUrl = MediaSignature::createForUrl("YOUR_PLAYBACK_URL", "YOUR_KEY", "YOUR_USER_ID", 20);
The last parameters specifies the duration the url is valid in minutes.
Without client IP:
$playbackUrl = MediaSignature::createForUrl("YOUR_PLAYBACK_URL", "YOUR_KEY", "YOUR_USER_ID", 20, "127.0.0.1");
All types of data are wrapped in entities with getter methods.
The main level of the resulting data is an array with VHost entities. Usually there is only one VHost entity but could be more if you have more than one domain name for one single server.
Below each VHost are the Application, Stream and Player data.
For ease of use Player information is also exposed on Application level.
You'll find a sample structured response here: sample-response.txt
This library is licensed under GNU General Public License v3.0.