NOTE: I am no longer actively maintaining this project. The production postgres DB is no longer running. If you want a simple example of how to use FFmpeg to restream check out this repo.
Ohmystream demo - Watch Video
Check out the app HERE
Web based software to record a livestream in the browser and stream simultaneously to Youtube, Facebook, and Twitch. Software is similar in functionality to OBS and streamlabs.
Frontend is built using React JS. Backend is build using Node + Express. Database is postgres. The livestreaming is enabled using websockets and ffmpeg.
On the client the code that sends the livestream to the server is in the client/containers/Broadcast/Broadcast.js file. On the server the websockets are enabled in server/server.js file.
Frontend tech stack:
- React JS
- CSS
- React Router
- React Icons
- react-hot-toast
Backend tech stack:
- Node JS
- Express
- node-media-server
- ffmpeg
- ws
- nodemailer
To run this project, install it locally using npm:
$ cd client
$ npm install
$ npm start
For the server create a .env file with the variables from env.example
$ cd server
$ touch .env
$ npm install
$ node server.js
Feel free to use code however you would like.
Feel free to also reach out to me on twitter at @t0xsh
MIT