部分开发者在着手搭建自建渲染服务时会产生一些疑问,本文以我司云渲染产品的架构进行举例,方便客户理解云渲染部署需要做哪些事情。
首先下载 SDK,并集成进开发环境中 http://www.seeshiontech.com/docs/page_8.html。
安装依赖
首先需要禁用默认的显卡驱动
sudo vim /etc/modprobe.d/blacklist-nouveau.conf
blacklist nouveauoptions nouveau modeset=0
sudo update-initramfs -u
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 服务器中运行。
渲染平台需要顺序做以下工作。
监听渲染任务队列,抢占式获取渲染任务。
准备渲染数据:
a.下载任务数据中的模板地址、图片素材、视频素材、音频素材 b.将下载好的素材的本地路径以及渲染任务中的文字信息混合好,按官网中要求的 replaceJson 格式生成渲染任务数据
启动渲染,并等待渲染结果。
渲染结束后向渲染结果队列中传入渲染结果通知数据。
服务监控平台将负责以下工作
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.