β― An automated Docker-based tool for downloading rPlay live streams with multi-stream monitoring and custom naming.
Built with the tools and technologies:
- π Description
- β¨ Features
- β Known Issues
- π Usage Guide
- π§ Project Structure
- π₯ Contributing
- π License
rplay-live-dl is a easily deployable solution for recording Rplay live stream content. The system regularly checks streaming status based on a user-configured list of content creators and automatically initiates recording when streams begin. All recorded content is organized by creator name for efficient management and retrieval.
- Automated live stream monitoring and downloading system built with Python
- Docker container deployment support for consistent runtime environment
- Customizable monitoring intervals
- Simultaneous monitoring of multiple streamers
- Automated file management with creator-based organization
- Environment variable configuration for deployment flexibility
- π© doc
- π© & completely untested code
- Logger will π© around in logs folder
- Can't handle M3U8 404 Error (EX: useBonusCoinTicket, useSecretKey...)
Production Requirements:
- Docker environment
- Valid Rplay platform account
- Sufficient storage space
- Stable network connection
Development Requirements:
- Python environment
- Package manager (pip or poetry)
- FFmpeg installed
- Log into Rplay.live
- Open browser DevTools (F12)
- Execute:
localStorage.getItem('_AUTHORIZATION_')
- Copy the returned token
- Visit creator's profile
- Open DevTools > Network
- Refresh page and search for "CreatorOid"
- Copy the creator's ID
-
Environment Setup (
.env
):INTERVAL=check interval in seconds USER_OID=your user number AUTH_TOKEN=JWT authentication token
-
Creator Configuration (
config.yaml
):creators: - name: "Creator Nickname 1" id: "Creator ID 1" - name: "Creator Nickname 2" id: "Creator ID 2"
Using Docker Compose (recommended):
# Start recording
docker-compose up -d
# View logs
docker-compose logs -f
# Stop recording
docker-compose down
# Update application
docker-compose pull
docker-compose up -d
Using Docker directly:
docker run -d \
-v $(pwd)/.env:/app/.env \
-v $(pwd)/config.yaml:/app/config.yaml \
-v $(pwd)/archive:/app/archive \
-v $(pwd)/logs:/app/logs \
rplay-live-dl
rplay-live-dl/
βββ archive/ # Recorded streams
β βββ [Creator Name]/ # Organized by creator
βββ config.yaml # Creator configuration
βββ .env # Environment variables
βββ logs/ # Application logs
-
Stream Not Recording
- Verify
AUTH_TOKEN
is valid - Check
creatorOid
is correct - Ensure sufficient disk space
- Verify
-
M3U8 404 Error
- Check if stream uses bonus coins/secret keys...etc
-
Container Crashes
- Check logs:
docker-compose logs
- Verify environment configuration
- Ensure network connectivity
- Check logs:
βββ rplay-live-dl/
βββ core/
β βββ config.py
β βββ downloader.py
β βββ env.py
β βββ live_stream_monitor.py
β βββ logger.py
β βββ rplay.py
βββ models/
β βββ config.py
β βββ env.py
β βββ rplay.py
βββ images/
β βββ auth_toke.png
β βββ user_oid.png
β βββ creator_oid.png
βββ LICENSE
βββ config.yaml.example
βββ .env.example
βββ docker-compose.yaml
βββ dockerfile
βββ main.py
βββ poetry.lock
βββ pyproject.toml
βββ requirements.txt
βββ .gitignore
βββ README.md
- π¬ Join the Discussions: Share your insights, provide feedback, or ask questions.
- π Report Issues: Submit bugs found or log feature requests for the
rplay-live-dl
project. - π‘ Submit Pull Requests: Review open PRs, and submit your own PRs.
Contributing Guidelines
- Fork the Repository: Start by forking the project repository to your github account.
- Clone Locally: Clone the forked repository to your local machine using a git client.
git clone https://github.com/Zhen-Bo/rplay-live-dl
- Create a New Branch: Always work on a new branch, giving it a descriptive name.
git checkout -b new-feature-x
- Make Your Changes: Develop and test your changes locally.
- Commit Your Changes: Commit with a clear message describing your updates.
git commit -m 'Implemented new feature x.'
- Push to github: Push the changes to your forked repository.
git push origin new-feature-x
- Submit a Pull Request: Create a PR against the original project repository. Clearly describe the changes and their motivations.
- Review: Once your PR is reviewed and approved, it will be merged into the main branch. Congratulations on your contribution!
Notice! Please ensure your PR:
- Follows the existing code style (black + flake8 + isort).
- Use conventional commit messages format
- Updates documentation.
- Describes the changes made.
This project is licensed under the MIT License. See the LICENSE file for details.