Setup Guide — Media Communications Mesh#
Prerequisites#
Linux server – Intel® Xeon processor recommended, e.g. Sapphire Rapids.
NIC – Network interface card compatible with DPDK, e.g. Intel® Ethernet Controller E810-C.
Updated NIC drivers and firmware – Strong recommendation is to update them. For more information and the latest drivers, see Support.
Build and install steps#
Clone the repository
git clone https://github.com/OpenVisualCloud/Media-Communications-Mesh.git
Navigate to the Media-Communications-Mesh directory
cd Media-Communications-Mesh
Install dependencies. There are two options.
Option A – Use environment preparation scripts. The scripts were tested under environments with
Ubuntu 20.04,Ubuntu 22.04,Ubuntu 24.04,CentOS Stream8, andCentOS Stream9, installed alongside the Linux kernel 5.15.Run the following commands, execute
setup_build_env.shto prepare the whole build stack and build dependencies that are mandatory for bare metal version of MCM and exec second onesetup_ice_irdma.sh allto download, patch, setup and install ICE as well as iRDMA drivers for CLV NIC (E810) cards:sudo ./scripts/setup_build_env.sh sudo ./scripts/setup_ice_irdma.sh all
Reboot the host after the scripts are executed.
Option B – The following method is universal and should work for the most Linux distributions.
XDP-tools with eBPF – Follow the Simple guide for installation instructions.
MTL – Follow the MTL setup guide.
E810 driver – Follow the MTL NIC setup guide.
gRPC – Refer to the gRPC documentation for installation instructions.
Install required packages
Ubuntu/Debian
sudo apt-get update sudo apt-get install libbsd-dev cmake make rdma-core libibverbs-dev librdmacm-dev dracut
CentOS Stream
sudo yum install -y libbsd-devel cmake make rdma-core libibverbs-devel librdmacm-devel dracut
Install the
irdmadriver andlibfabricusing script:./scripts/setup_ice_irdma.sh get-irdmaFor more information, see Building and installing libfabric from source.
Reboot the host.
Build the Media Communications Mesh software components
Run the build script
sudo ./build.shThis script builds and installs the following software components
SDK API library
File name:
libmcm_dp.soHeader file to include:
mesh_dp.h
Media Proxy
Executable file name:
media_proxy
Mesh Agent
Executable file name:
mesh-agent
Build for Docker#
Make sure the Docker engine is configured and installed. It is recommended to use the Buildx toolkit.
Clone the repository
git clone https://github.com/OpenVisualCloud/Media-Communications-Mesh.git
Navigate to the Media-Communications-Mesh directory
cd Media-Communications-Mesh
Build Docker images
Depending on the Docker installation, this step may require root privileges.
Run the following script from the root directory of the repository to build all Dockerfiles
./build_docker.sh
In case of success, the following Docker images will be available in the current Docker context:
mcm/sample-app:latestmcm/media-proxy:latestmcm/ffmpeg:latestmcm/ffmpeg:6.1-latest
Check if Media Proxy can be run in a container by running the command below
docker run --privileged -it -v /var/run/mcm:/run/mcm -v /dev/hugepages:/dev/hugepages mcm/media-proxy:latest