The plugNmeet-recorder can be used to record sessions as well as RTMP broadcasts. This software consumes CPU power, so it's best to run it on a different server from the one used for plugNmeet or livekit. However, if you are not recording frequently, you can continue to use the same server. In this scenario, the plugnmeet-install script is recommended for installation.
Requirements
- Nodejs
- Chromium
- xvfb
- ffmpeg
Install dependencies (Ubuntu)
## nodejs
## https://github.com/nodesource/distributions#debian-and-ubuntu-based-distributions
mkdir -p /usr/share/keyrings
curl -fsSL https://deb.nodesource.com/gpgkey/nodesource-repo.gpg.key | sudo gpg --dearmor -o /usr/share/keyrings/nodesource.gpg
sudo echo "deb [arch=amd64 signed-by=/usr/share/keyrings/nodesource.gpg] https://deb.nodesource.com/node_20.x nodistro main" | sudo tee /etc/apt/sources.list.d/nodesource.list
sudo apt -y update
sudo apt -y install nodejs
## xvfb & ffmpeg
sudo apt install -y xvfb ffmpeg
## Google Chrome (optional)
By default recorder will use Chromium browser but if you want then you can use Google chrome too.
curl -fsSL https://dl-ssl.google.com/linux/linux_signing_key.pub | sudo gpg --dearmor -o /usr/share/keyrings/googlechrome-linux-keyring.gpg
sudo echo "deb [arch=amd64 signed-by=/usr/share/keyrings/googlechrome-linux-keyring.gpg] http://dl.google.com/linux/chrome/deb/ stable main" >/etc/apt/sources.list.d/google-chrome.list
sudo apt -y update
sudo apt -y install google-chrome-stable
## optional
sudo apt install -y fonts-noto fonts-liberation
Install recorder
- To download the latest version, check release page.
- Unzip the recorder.zip file and navigate to the directory from the terminal, then run.
cp config_sample.yaml config.yaml
-
Change the relevant information in the
config.yaml
file. Redis information should be the same asplugnmeet-server
. Themain_path
value should be same asrecording_files_path
value ofplugnmeet-server
'sconfig.yaml
file. If you intend to use NFS, ensure that both the recorder and the plugnmeet-server can access this directory. Otherwise, the user will be unable to download recordings. Also, ensure that nodejs has write permissions on the path. -
Change
plugNmeet_info
with correct information. -
It's possible to install
plugNmeet-recorder
in multiple server.plugNmeet-server
will choose the appropriate one based on availability. In that case change value ofid
insideconfig.yaml
file. Make sure that value is unique, example:node_01
,node_02
... You can also set the value ofmax_limit
based on the server's capacity. -
Start server
pnpm start
Development
- Clone the project & navigate to the directory. Make sure you've nodejs install in your PC. https://nodejs.org/en/download/
- Copy to rename this file:
cp config_sample.yaml config.yaml
- Now start server
pnpm install
pnpm run dev
// to build
pnpm run build