Skip to content

mynaparrot/plugNmeet-recorder

Repository files navigation

plugNmeet-recorder

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

  1. Nodejs
  2. Chromium
  3. xvfb
  4. 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

  1. To download the latest version, check release page.
  2. Unzip the recorder.zip file and navigate to the directory from the terminal, then run.
cp config_sample.yaml config.yaml
  1. Change the relevant information in the config.yaml file. Redis information should be the same as plugnmeet-server . The main_path value should be same as recording_files_path value of plugnmeet-server's config.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.

  2. Change plugNmeet_info with correct information.

  3. 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 of id inside config.yaml file. Make sure that value is unique, example: node_01, node_02 ... You can also set the value of max_limit based on the server's capacity.

  4. Start server pnpm start

Development

  1. Clone the project & navigate to the directory. Make sure you've nodejs install in your PC. https://nodejs.org/en/download/
  2. Copy to rename this file:
cp config_sample.yaml config.yaml
  1. Now start server
pnpm install
pnpm run dev
// to build
pnpm run build