uyem
v1.1.4
Published
WebRTC client-server SFU application
Downloads
19
Maintainers
Readme
uyem
Selective Forwarding Unit (SFU) is a WebRTC web application library, the server part of which is written in Node, and the client part is a ReactJS/Next.js shared component.
Know-how
Dependencies,
- NodeJS v^16.*
- MariaDB v^10.*
- Coturn @latest
... or
- NodeJS v^16.*
- docker-compose @latest
docker-compose up -d
Installation
- Install source:
npm i uyem
Settings
- To be able to create connections on a host other than localhost, you need to connect SSL certificates.
Sample setup SSL certificates from Let's Encrypt for client and for server together with nginx
see docs/SSL.md
- To remote access between units using valid
iceServers
on client is required:
const iceServers = [
{
urls: ['stun:127.0.0.1:3478'],
},
{
urls: ['turn:127.0.0.2:3478'],
username: 'username',
credential: 'password',
},
];
See docs/COTURN.md for more details.
Server preparation
- Add property
migrate
to thescripts
block ofpackage.json
:
"migrate": "uyem --db mysql://root:[email protected]:3306/uyem_db --migrate"
- Conducting migrations:
npm run migrate
Usage on client
- Import module styles:
import 'uyem/packages/client/dist/styles.css';
- Import component:
import Uyem from 'uyem';
Usage on sever
const { createServer } = require('uyem/server');
createServer({ port: 3233, db: 'mysql://root:[email protected]:3306/uyem_db' });