Go to file
2022-12-27 11:12:38 +00:00
doc LINXD-2197: Added workflow diagram 2022-09-25 20:29:32 +03:00
public LINXD-2270: Allow server and web client to have full duplex 2022-12-19 19:31:33 +02:00
server/ssl Added logs for callId 2022-08-02 07:09:05 +00:00
.env LH-252: Update .env variables 2022-10-06 15:21:54 +03:00
.gitignore added build.sh 2022-10-31 12:17:07 +02:00
.prettierrc first commit 2022-07-23 10:32:54 +03:00
app.js LINXD-2270: Removed console logs; Update commented code 2022-12-27 13:11:06 +02:00
build.sh LH-265: Added audio on client and server 2022-11-29 14:19:02 +02:00
docker-compose.yml Added docker and docker-compose files 2022-07-30 09:53:40 +03:00
Dockerfile Added docker and docker-compose files 2022-07-30 09:53:40 +03:00
package-lock.json LINXD-2197: Added comments; Catch errors; Fix package.json start:run script 2022-09-25 20:03:17 +03:00
package.json LINXD-2197: Added comments; Catch errors; Fix package.json start:run script 2022-09-25 20:03:17 +03:00
README.md LH-265: Update doc; Update bundle 2022-11-29 15:35:28 +02:00
tsconfig.json Added room it when close transport; Added ts config file 2022-08-11 11:33:16 +03:00

Video server

Generating certificates

To generate SSL certificates you must:
  1. Go to /server/ssl
  2. Execute openssl req -newkey rsa:2048 -new -nodes -x509 -days 3650 -keyout key.pem -out cert.pem

Development

To start in development mode you must:
  1. Install the dependencies npm install.
  2. Run the npm start:dev command to start the server in dev mode. (Any change will trigger a refresh of the server)

Production

To start in production mode you must:
  1. Install the dependencies npm install.
  2. Run the npm start:prod command to start the server in production mode. (To connect to the terminal, use pm2 log video-server)

Web client

  • The server will start by default on port 3000, and the ssl certificates will have to be configured
  • The web client can be accessed using the /sfu path ex: https://HOST/sfu/?assetId=1&&accountId=1&producer=true&dest_asset_id=75&assetName=Adi assetId = asset id of the unit on which you are doing the test accountId = account id of the unit on which you are doing the test producer = it will always be true because you are the producer (it's possible to put false, but then you have to have another client with producer true) assetName = asset name of the unit on which you are doing the test dest_asset_id= the addressee with whom the call is made
  • To make a call using this client, you need a microphone and permission to use it
  • For any changes related to the client, the command `npm run watch' will have to be used to generate the bundle.js used by the web client

Demo project

The demo project used initially and then modified for our needs https://github.com/jamalag/mediasoup2