目录

部署 Immersive Video OMAF-Sample


原仓库地址:Immersive-Video-Sample

修改之后的仓库:Immersive-Video-Sample

Server 端搭建

修改 Dockerfile

  1. 手动设置 wget 和 git 的 http_proxy

  2. 旧 package 目录 not found,修改为新 package 目录

  3. 因为找不到 glog 库因此加入软链接操作

1
ln -s /usr/local/lib64/libglog.so.0.6.0 /usr/local/lib64/libglog.so.0

重新编译内核

运行脚本时显示 libnuma 错误因此推断与 numa 设置有关

执行numactl -H显示只有一个 node,报错输出显示需要至少两个 numa 节点

查询资料之后获知可以使用 fakenuma 技术创造新节点,但是 Ubuntu 默认的内核没有开启对应的内核参数

  1. 手动下载 Linux 内核源代码到/usr/src/目录
1
wget https://mirrors.edge.kernel.org/pub/linux/kernel/v5.x/linux-5.11.1.tar.gz
  1. 解压
1
tar xpvf linux-5.11.1.tar.gz
  1. 复制现有内核配置
1
cd linux-5.11.1 && cp -v /boot/config-$(uname -r) .config
  1. 安装必要的包
1
sudo apt install build-essential libncurses-dev bison flex libssl-dev libelf-dev
  1. 进入内核配置界面
1
sudo make menuconfig

https://i.loli.net/2021/10/09/nF4faG93X6L5CsV.png

  1. 按下/键分别查询CONFIG_NUMACONFIG_NUMA_EMU位置

https://i.loli.net/2021/10/09/B6YvCUfxwFyQDzZ.png

  1. 手动勾选对应选项之后保存退出

https://i.loli.net/2021/10/09/aTsqJfkxNznE8Yw.png

  1. 重新编译并等待安装结束
1
sudo make -j $(nproc) && sudo make modules_install && sudo make install
  1. 修改grub启动参数加入 fake numa 配置
1
sudo vim /etc/default/grub

找到对应行并修改为

1
GRUB_CMDLINE_LINUX="numa=fake=2"

https://i.loli.net/2021/10/09/kSg1xMt3aNJXviQ.png

  1. 更新grub并重启
1
sudo update-grub && sudo reboot
  1. 执行numactl -H检查 numa 节点数目为 2

https://i.loli.net/2021/10/09/TksudNKlZYpGCB4.png

  1. 重新执行脚本如图说明一切正常

https://i.loli.net/2021/10/09/zDc3qXB98vZAOie.png

Client 端搭建

需要 Ubuntu18.04 环境,虚拟机中安装之后按照 README 命令,执行脚本一切正常

https://i.loli.net/2021/10/09/75BOFntKyeTIrhv.png