# 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`