playreadyproxy (prp)

notes

requirements

method

  1. clone the repos and change into it the prp-api directory
  2. git clone https://github.com/ThatNotEasy/PlayReadyProxy.git
    git clone https://github.com/ThatNotEasy/PlayReadyProxy-API.git
    cd PlayReadyProxy-API
  3. create and activate a python virtual environment
  4. python -m venv venv
    venv\Scripts\Activate.ps1
  5. install the required modules
  6. pip install -r requirements.txt
  7. move your cdm into the working directory and rename it
  8. mv path\to\your_prd_file.prd cdm.prd
  9. rename the env and config files
  10. mv .env.example .env
    mv config.ini.example config.ini
  11. set the cdm location and name
  12. (cat config.ini) -replace '=.*', '= cdm.prd' | Set-Content config.ini
  13. create a local.json file
  14. echo '{"security_level":"3000","host":"http://127.0.0.1:1337","secret":"key","device_name":"cdm.prd"}' > local.json
  15. generate an api key
  16. python generate_apikey.py
  17. add the api key to local.json
  18. (cat local.json) -replace 'key', (cat APIKEY.json | ConvertFrom-Json).apikey | Set-Content local.json
  19. start the server
  20. flask run
  21. open edge, navigate to the extensions page and enable developer mode
  22. select load unpacked and choose the prp extension directory
  23. click the prp icon, select choose config under remote cdm and choose your local.json file

test the extension

  1. ensure the prp api server is running
  2. open edge and enable the prp extension
  3. open the dash.js playready drm example
  4. open the prp extension and locate the page url in the keys section
  5. click + to expand the entry and identify the manifest url and keys
  6. disable the the prp extension.