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. Linux system (Recommend: Ubuntu)
  2. Google Chrome
  3. pulseaudio
  4. xvfb
  5. ffmpeg

Install dependencies (Ubuntu)

## To insall pulseaudio, xvfb & ffmpeg
sudo apt install -y pulseaudio xvfb ffmpeg

## To start pulseaudio
pulseaudio -D --verbose --exit-idle-time=-1 --disallow-exit
# to start at boot
systemctl --user enable pulseaudio

## Google Chrome

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 && apt -y install google-chrome-stable

## optional
sudo apt install -y fonts-noto fonts-liberation

Install recorder

  1. To download the latest version based on the type of your OS architecture, check release page or can use plugnmeet-recorder docker image.
  2. Unzip the 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. The nats_info 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 or another type of network mounted drive, ensure that both the recorder and the plugnmeet-server can access it. Otherwise, the user will be unable to download recordings.

  2. Change plugNmeet_info & nats_info with correct information.

  3. You can deploy plugNmeet-recorder on several servers. plugNmeet-server will select the suitable one based on availability and load. In that scenario, modify the value of the id within the config.yaml file. Make sure the value is unique, such as node_01, node_02, etc. You can also change the value of max_limit based on the server's capacity.

  4. Start server ./plugnmeet-recorder-linux-[amd64|arm64]

Development

  1. Clone the project & navigate to the directory.
  2. Copy to rename the following files and update info:
cp config_sample.yaml config.yaml
cp docker-compose_sample.yaml docker-compose.yaml
  1. Now start
docker compose build
docker compose up