https://github.com/style77/streamx
Django streaming platform with nginx-rtmp
https://github.com/style77/streamx
django live-streaming-application nginx-rtmp streaming
Last synced: 2 months ago
JSON representation
Django streaming platform with nginx-rtmp
- Host: GitHub
- URL: https://github.com/style77/streamx
- Owner: style77
- Created: 2023-09-15T14:01:24.000Z (over 1 year ago)
- Default Branch: develop
- Last Pushed: 2023-11-15T14:08:54.000Z (over 1 year ago)
- Last Synced: 2025-03-23T10:35:22.143Z (2 months ago)
- Topics: django, live-streaming-application, nginx-rtmp, streaming
- Language: TypeScript
- Homepage:
- Size: 340 KB
- Stars: 6
- Watchers: 1
- Forks: 2
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# StreamX
Live streaming platform. Written to learn Django Rest Framework and Channels. Used stack is Django and Next.js with addition of nginx-rtmp.
### Showcase
[](https://www.youtube.com/watch?v=fK9ozIpunlk)## Development
To run developing environment, you need to have pipenv, python >=3.10, nodejs >=16.0.0 and npm installed.
Get started with opening 3 terminals for seperate services.
API:
```sh
pipenv shell # activate virtual environment
cd streamx-api
python manage.py runserver
```Frontend:
```sh
cd streamx-web
yarn # install dependencies
yarn dev
```RTMP server:
Before starting nginx, you need to have nginx files in nginx folder. You can get them from [here](http://nginx-win.ecsds.eu/download/), don't forget to choose the right version - Gryphon (because it has rtmp module included).
```sh
cd nginx
start nginx
```## Production
I use Render to deploy my app. You can use any other service, but you need to have 3 services running: API, Frontend and RTMP server. To run server with render.yaml file just go to Render.com dashboard and select Blueprints.
## Conclusion
I learned a lot from this project. I learned how to use Django Rest Framework, Channels and nginx-rtmp. I also learned how to deploy my app to Render.com. I'm happy with the result, but there are still some things to do, so if you want to contribute, feel free to do so. I will be happy to see your pull requests.