V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
V2EX 提问指南
zoule
V2EX  ›  问与答

服务端渲染搭建示例

  •  
  •   zoule · 2020-12-14 16:33:14 +08:00 · 929 次点击
    这是一个创建于 1471 天前的主题,其中的信息可能已经有所发展或是发生改变。

    前言

    部分开发者在着手搭建自建渲染服务时会产生一些疑问,本文以我司云渲染产品的架构进行举例,方便客户理解云渲染部署需要做哪些事情。

    服务器环境和 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. 每隔一段时间查询最近时间段内的任务的失败情况
    1 条回复    2020-12-14 17:48:40 +08:00
    0bit
        1
    0bit  
       2020-12-14 17:48:40 +08:00
    看了半天,结合上下文,猜测是视频相关渲染?

    本来以为是前端的 SSR 。
    关于   ·   帮助文档   ·   博客   ·   API   ·   FAQ   ·   实用小工具   ·   3452 人在线   最高记录 6679   ·     Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 · 32ms · UTC 04:48 · PVG 12:48 · LAX 20:48 · JFK 23:48
    Developed with CodeLauncher
    ♥ Do have faith in what you're doing.