/webrtc-transmitter

Sample project for transmitting video/audio stream with ffmpeg/gstreamer over WebRTC.

Primary LanguageTypeScript

webrtc-transmitter

Description

Sample project for transmitting video/audio stream with ffmpeg/gstreamer over WebRTC.
This project has 3 parts:

1 - server : node server for WebRTC signaling process.
2 - transmitter - node app that streaming rtsp video stream (other stream also can be used)
3 - client - react application for displaying the stream.

  • I use nats.io for messaging system between the server and transmitter.
  • I use GraphQL for the client - server communication.

Prerequisites

1 - Install Gstreamer.
2 - Install Docker.
3 - Install Docker Compose.
4 - Install Yarn.

Installation

# install server 
$ cd server 
$ yarn

# install transmiter 
$ cd transmitter 
$ yarn

# install client 
$ cd client 
$ yarn

Running

* from root folder:

# start nats 
$ cd docker 
$ docker-compose -d up

# start server 
$ yarn start:server

# start transmitter 
$ yarn start:transmitter

# start client 
$ yarn start:client

* Open http://localhost:3000/ to view it in browser

TODO

  • Add ffmpeg example