前言

局部开发者在着手搭建自建渲染服务时会产生一些疑难,本文以我司云渲染产品的架构进行举例,不便客户了解云渲染部署须要做哪些事件。

服务器环境和SDK部署

首先下载SDK,并集成进开发环境中 http://www.seeshiontech.com/docs/page_8.html。

装置依赖

首先须要禁用默认的显卡驱动

sudo vim /etc/modprobe.d/blacklist-nouveau.conf

  • 增加以下内容:

blacklist nouveauoptions nouveau modeset=0

  • 保留退出后,执行上面命令更新 kernel initramfs

sudo update-initramfs -u

  • 重启之后,运行上面的命令, 查看nouveau有没有运行:

lsmod | grep nouveau  

  • 没有输入代表禁用失效
其次须要装置相干依赖

apt-get -y install dirmngr

apt-get -y install software-properties-common

sudo apt-key adv --keyserver keyserver.ubuntu.com --recv-keys 8CF63AD3F06FC659

add-apt-repository ppa:jonathonf/ffmpeg-4

apt-get update

apt-get -y  --allow-unauthenticated  install ffmpeg

apt-get -y install libfreeimage3

装置对应的显卡驱动

模板治理局部

后端将保护一个资源列表,保留着模板的压缩包以及config.json文件。在用户拜访前端页面时,将依据用户抉择的模板id返回模板的config.json文件给前端,前端将用这个文件生成编辑界面。

工作生成局部

后端须要裸露一个web接口,这个接口会接管自前端提交来的渲染和用户相干的数据,前端上传好相干素材,将素材的下载连贯、文字内容、模板id提交到web接口中。

在后端接口接管到模板id、素材下载地址、文字内容后,可自行进行一些业务解决,尔后将组合好的工作数据推入一个队列中。

工作解决局部

负责解决渲染工作的业务代码须要和工作生成的业务逻辑拆离开,可将编译好的渲染平台代码放在多个GPU服务器中运行。

渲染平台须要程序做以下工作。

  1. 监听渲染工作队列,抢占式获取渲染工作。
  2. 筹备渲染数据:

    a.下载工作数据中的模板地址、图片素材、视频素材、音频素材
    b.将下载好的素材的本地门路以及渲染工作中的文字信息混合好,按官网中要求的replaceJson格局生成渲染工作数据

  3. 启动渲染,并期待渲染后果。
  4. 渲染完结后向渲染后果队列中传入渲染后果告诉数据。

服务监控局部

服务监控平台将负责以下工作

  1. 继续监听渲染后果队列,在获取到音讯时,依据工作后果作相应解决。
  2. 每隔一段时间查问最近时间段内的工作的失败状况