Package Exports
- uyem
- uyem/packages/client/dist/Main.js
This package does not declare an exports field, so the exports above have been automatically detected and optimized by JSPM instead. If any package subpath is missing, it is recommended to post an issue to the original package (uyem) to support the "exports" field. If that is not possible, create a JSPM override to customize the exports field for this package.
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
WebRTC SFU Server

Dependencies,
- NodeJS v^16.*
- MariaDB v^10.*
- Coturn @latest
... or
- NodeJS v^16.*
- docker-compose @latest
Docker Environment
docker-compose up -d
Installation
- Install source:
npm i uyemSettings
- 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
iceServerson 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
migrateto thescriptsblock ofpackage.json:
"migrate": "uyem --db mysql://root:root@127.0.0.1:3306/uyem_db --migrate"- Conducting migrations:
npm run migrateUsage 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:root@127.0.0.1:3306/uyem_db' });