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
- Linux system (Recommend: Ubuntu)
- Google Chrome
- pulseaudio
- xvfb
- 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
- To download the latest version based on the type of your OS architecture, check release page or can use plugnmeet-recorder docker image.
- Unzip the 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. Thenats_info
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 or another type of network mounted drive, ensure that both therecorder
and theplugnmeet-server
can access it. Otherwise, the user will be unable to download recordings. -
Change
plugNmeet_info
&nats_info
with correct information. -
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 theid
within theconfig.yaml
file. Make sure the value is unique, such asnode_01
,node_02
, etc. You can also change the value ofmax_limit
based on the server's capacity. -
Start server
./plugnmeet-recorder-linux-[amd64|arm64]
Development
- Clone the project & navigate to the directory.
- Copy to rename the following files and update info:
cp config_sample.yaml config.yaml
cp docker-compose_sample.yaml docker-compose.yaml
- Now start
docker compose build
docker compose up