Giter Site home page Giter Site logo

streamx's Introduction

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

Showcase

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:

pipenv shell # activate virtual environment
cd streamx-api
python manage.py runserver

Frontend:

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, don't forget to choose the right version - Gryphon (because it has rtmp module included).

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.

streamx's People

Contributors

style77 avatar

Stargazers

 avatar  avatar  avatar  avatar

Watchers

 avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.