Update README.md

This commit is contained in:
YOLOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOOO
2025-03-20 07:42:54 +08:00
committed by GitHub
parent 5a8130f94a
commit a1d67bc225

View File

@@ -1,14 +1,74 @@
# PlayReady-Proxy
# PlayReadyProxy Setup Guide 🤔
`PlayReady-Proxy` is based on [WidevineProxy2](https://github.com/DevLarLey/WidevineProxy2) and has been re-code to support `PlayReady DRM`, utilizing some code from [WidevineProxy2](https://github.com/DevLarLey/WidevineProxy2) for reuse in `PlayReady DRM`. Additionally, new features such as [DDownloader](https://pypi.org/project/DDownloader/), proxy support, and others (still in development)
### 1. Clone the repositories
- First, clone the repositories [PlayReadyProxy](https://github.com/ThatNotEasy/PlayReadyProxy) and [PlayReadyProxy-API](https://github.com/ThatNotEasy/PlayReadyProxy-API) to your local machine.
## How To Use?
- Load config templates for Remote CDM, See [example](https://github.com/ThatNotEasy/PlayReady-Proxy/blob/main/config/local.json)
- Go to this repository [PlayReadyProxy-API](https://github.com/ThatNotEasy/PlayReadyProxy-API)
### 2. Re-configure `PlayReadyProxy-API`
- Navigate to the `PlayReadyProxy-API` directory for re-configuration.
- Rename `.env.example` and `config.ini.example` to `.env` and `config.ini`, respectively.
## Footprints Notes:
- For your information, this extension can only be used with `PlayReady-ProxyAPI` because some features are still in development. Additionally, certain services do not provide proper keys by default, meaning they require a `unique PSSH`.
### 3. Configure `config.ini`
- Open and modify the `config.ini` file with the appropriate settings. For example:
## Credits & References:
- `WidevineProxy2` A project created by [DevLarLey](https://github.com/DevLARLEY)
- `DDownloader` A Python package for downloading and processing streams, integration with [N_m3u8DL-RE](https://github.com/nilaoda/N_m3u8DL-RE) & [FFmpeg](https://www.ffmpeg.org/)
[PLAYREADY]
DEVICE_FILE = device/myprd_file.prd
DEVICE_NAME = NVIDIA
### 4. Set up virtual environment (venv) 🐍
- Create a virtual environment (venv) and activate it.
- Install the required dependencies from `requirements.txt`:
pip install -r requirements.txt
### 5. Place your `.prd` file
- Ensure that your `myprd_file.prd` file is located in the `device` directory.
### 6. Set up `PlayReadyProxy` Extension 🔑
- The `NVIDIA` device name will be used in the [PlayReadyProxy](https://github.com/ThatNotEasy/PlayReadyProxy) extension.
### 7. Generate API Key 🔐
- Once everything is set up, run `generate_apikey.py` to generate an API key:
python generate_apikey.py
- Example output after generation:
Enter username: TEST
Generated API key for 'new_user': TEST_3b6d0dfba92b63cbf41aaaa76fb493a8
### 8. Use the API Key
- Use the generated API key `TEST_3b6d0dfba92b63cbf41aaaa76fb493a8` in the `PlayReadyProxy` extension configuration.
### 9. Extension Configuration Example 📑
- Example configuration for the [PlayReadyProxy](https://github.com/ThatNotEasy/PlayReadyProxy) extension:
{
"security_level": "3000", // Can be 2000 or 3000
"host": "http://127.0.0.1:1337",
"secret": "TEST_3b6d0dfba92b63cbf41aaaa76fb493a8",
"device_name": "NVIDIA"
}
- Make sure to check the `device_name` and `secret` values carefully. These are obtained from the Backend (`PlayReadyProxy-API`).
### 10. Test the Setup 🖥️
- Visit the following link to get the keys:
[DASH.js PlayReady Example](https://reference.dashif.org/dash.js/v4.4.0/samples/drm/playready.html)
- Check the terminal to see if the setup was successful.
### 11. Troubleshooting 🚨
- If you encounter any issues or errors, please feel free to DM me on [Telegram](https://telegram.me/SurpriseMTFK).
## Credit & References:
- [DevLarley](https://github.com/DevLARLEY/WidevineProxy2)