Linux下使用docker搭建ue流的环境

文章目录
  1. 1. 先在ubuntu上安装docker环境
  2. 2. python环境
  3. 3. 安装NVIDIA-toolkit
  4. 4. 使用ue4-example-dockerfiles来搭建 ue4视频流的demo

Linux 下使用docker搭建ue流的环境

本项目依赖的软件均依赖与

https://hub.fastgit.org/adamrehn

这个开发者的官方地址:https://docs.adamrehn.com/

以及官方docker仓库地址: https://hub.docker.com/u/adamrehn

虚幻容器:https://unrealcontainers.com

目前就是需要前置环境包括 docker ,python3 ,cuda

需要用 pip3 来安装开发者写的 ue4-docker 命令来实现 构建Linux,Windows的容器给 docker来使用

同时还需要 其他工具提供给Linux环境

  • Docker版本之一的64位版本(CentOS7+、Debian7.7+、Fedora26+、Ubuntu14.04+)

  • 最低8GB的RAM

  • 用于构建容器映像的至少300GB可用磁盘空间

Host OS Linux containers Windows containers NVIDIA Container Toolkit Optimality
Linux Yes No Yes Optimal for Linux containers
Windows Server Yes Yes No Optimal for Windows containers when using process isolation mode
Windows 10 Yes Yes No Sub-optimal for both Linux and Windows containers
macOS Yes No No Sub-optimal for Linux containers

直接调用gpu界面不使用图形界面来实现

先在ubuntu上安装docker环境

1
2
3
4
5
6
7
8
9
10
11
12
13
sudo apt-get remove docker docker-engine docker.io containerd runc

//更新apt软件包索引并安装软件包以允许apt通过HTTPS使用存储库:
sudo apt-get update
//添加Docker的官方GPG密钥:
curl -fsSL https://download.docker.com/linux/ubuntu/gpg | sudo apt-key add -
//验证您现在是否拥有带有指纹的密钥:
sudo apt-key fingerprint 0EBFCD88
//设置镜像仓库:(使用阿里云镜像地址)
sudo add-apt-repository "deb [arch=amd64] http://mirrors.aliyun.com/docker-ce/linux/ubuntu $(lsb_release -cs) stable"

安装最新版的docker
sudo apt-get install docker-ce docker-ce-cli containerd.io

或者

1
2
curl https://get.docker.com | sh \
&& sudo systemctl --now enable docker

python环境

1
2
3
4
5
//安装前看一下是否有软件
install python3 python3-devel python3-pip

配置Linux的防火墙
ue4-docker setup

安装NVIDIA-toolkit

https://nvidia.github.io 访问会有问题需要加速

1
2
3
4
5
distribution=$(. /etc/os-release;echo $ID$VERSION_ID) \
&& curl -s -L https://nvidia.github.io/nvidia-docker/gpgkey | sudo apt-key add - \
&& curl -s -L https://nvidia.github.io/nvidia-docker/$distribution/nvidia-docker.list | sudo tee /etc/apt/sources.list.d/nvidia-docker.list

sudo apt-get update
1
2
3
4
5
6
7
8
//安装依赖软件
sudo apt-get install -y nvidia-docker2
//重启docker 服务
sudo systemctl restart docker
//根据 cuda 版本来选择执行下面命令即可
docker run --rm --gpus all nvidia/cuda:11.0-base nvidia-smi

docker run --rm --gpus all nvidia/cuda:10.0-base nvidia-smi

docker pull adamrehn/ue4-build-prerequisites:cudagl10.0

docker-ue4 来构建 adamrehn/ue4-full:4.23.1-pixelstreaming 来提供给使用

该过程很慢,可能会失败,需要注意

ue4-docker build custom:4.23.1-pixelstreaming -repo=https://github.com/adamrehn/UnrealEngine.git -branch=4.23.1-pixelstreaming –cuda=10.1

ue4-docker build custom:4.25-pixelstreaming -repo=https://github.com/ImmortalEmperor/UnrealEngine.git -branch=4.25-pixelstreaming –cuda=10.1 –no-engine

使用ue4-example-dockerfiles来搭建 ue4视频流的demo

克隆 https://hub.fastgit.org/adamrehn/ue4-example-dockerfiles.git地址来

构建adamrehn/ue4-full:4.23.1-pixelstreaming

https://github.com/EpicGames/UnrealEngine.git

server 是需要的

webrtc 也是需要的

1
ue4-docker build

docker run –gpus=all -e DISPLAY –rm adamrehn/ue4-runtime:18.04-cudagl10.1-hostaudio