Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/dennis-b/webrtc-transmitter
Sample project for transmitting video/audio stream with ffmpeg/gstreamer over WebRTC.
https://github.com/dennis-b/webrtc-transmitter
ffmpeg gstreamer nestjs nodejs react webrtc webrtc-demos
Last synced: 2 months ago
JSON representation
Sample project for transmitting video/audio stream with ffmpeg/gstreamer over WebRTC.
- Host: GitHub
- URL: https://github.com/dennis-b/webrtc-transmitter
- Owner: dennis-b
- Created: 2020-04-26T05:54:56.000Z (over 4 years ago)
- Default Branch: master
- Last Pushed: 2023-01-24T02:17:59.000Z (almost 2 years ago)
- Last Synced: 2023-03-03T06:57:06.303Z (almost 2 years ago)
- Topics: ffmpeg, gstreamer, nestjs, nodejs, react, webrtc, webrtc-demos
- Language: TypeScript
- Homepage:
- Size: 2.01 MB
- Stars: 8
- Watchers: 1
- Forks: 1
- Open Issues: 34
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# 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](https://developer.mozilla.org/en-US/docs/Web/API/WebRTC_API/Signaling_and_video_calling) 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](https://nats.io/) for messaging system between the server and transmitter.
* I use [GraphQL](https://graphql.org/) for the client - server communication.## Prerequisites
1 - Install [Gstreamer](https://gstreamer.freedesktop.org/download/).
2 - Install [Docker](https://www.docker.com/get-started).
3 - Install [Docker Compose](https://docs.docker.com/compose/install/).
4 - Install [Yarn](https://classic.yarnpkg.com/en/docs/install#mac-stable).## Installation
```bash
# install server
$ cd server
$ yarn# install transmiter
$ cd transmitter
$ yarn# install client
$ cd client
$ yarn```
## Running
* from root folder:
```bash
# 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