doc | ||
public | ||
server/ssl | ||
.dockerignore | ||
.env | ||
.gitignore | ||
.prettierrc | ||
app.js | ||
build.sh | ||
docker-compose.yml | ||
Dockerfile | ||
package-lock.json | ||
package.json | ||
README.md | ||
tsconfig.json |
Video server
Generating certificates
To generate SSL certificates you must:
- Go to
/server/ssl
- 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:
- Install the dependencies
npm install
. - 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:
- Install the dependencies
npm install
. - Run the
npm start:prod
command to start the server in production mode. (To connect to the terminal, usepm2 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