目录
1. 背景
2. Shopee 视频技术落地产品
3. Shopee 视频相关后台服务
3.1 直播/点播转码
3.2 直播连麦
3.3 多人会议混流
3.4 视频后台编辑
4. 高清低码
4.1 视频处理的一般流程
4.2 Shopee 高清低码优化方案
5. 性能优化
5.1 编码器端上优化
5.2 一入多出编码
东南亚各市场的网络环境复杂多变、差异极大,如何在有限网络条件下提供稳定、高清的视频体验是我们面临的一大挑战。基于此,本次分享将介绍 Shopee 在东南亚视频业务落地上的方案,在画质提升上做出的努力,以及一些性能提升成本控制方面的优化。
在 8 月 6 日举办的 LiveVideoStackCon 2022 上海站大会中,Shopee 视频技术团队负责人 Zhixing 分享了 Shopee 视频处理技术的后台应用,本文根据演讲内容整理而成。
1. 背景
随着 Shopee 电商业务在东南亚等市场展开,视频和电商结合的应用迅速落地。然而,当地许多用户使用的手机配置有限,这些手机在视频编解码、图像处理方面存在不小的性能瓶颈。
并且,当地网络基础设施建设还不太完善,在这样的网络条件下,如何稳定且高质量地传输媒体数据成为一大挑战。
另外,海量的视频文件和直播视频处理也给 Shopee 后台带来了巨大的压力。那么 Shopee 是如何通过技术手段来解决这一系列问题的呢?
本次分享的内容大致分为四个部分:第一部分是 Shopee 视频相关的产品介绍;第二部分是 Shopee 视频业务后台的技术方案;第三部分是 Shopee 高清低码转码技术,以及 RTC 场景视频编码技术;第四部分是我们在性能提升和节省算力成本上做的一些优化。
2. Shopee 视频技术落地产品
先来看看 Shopee 有哪些与视频相关的产品。
作为电商平台,Shopee App 是我们的主要业务,涵盖了 feeds 流、直播带货、点播等视频类服务。其中,短视频服务 Shopee Video 目前也已经在东南亚个别市场上线。
Shopee 的数字银行业务 SeaBank 在部分场景下也用到了视频服务,例如在线开户环节。用户发起开户请求,客服接听,通过视频画面在线认证身份信息。
此外,公司内部的通讯工具 SeaTalk 也计划在语音通信功能的基础上,新增视频会议能力。
3. Shopee 视频相关后台服务
针对上述应用,我们开发了哪些视频相关的后台服务呢?
3.1 直播/点播转码
首先是 Shopee App 的转码服务,涉及点播和直播转码两个转码平台。有一些 AI 增强类的前置处理,一帧耗时比较长,对于点播业务来说,这不是什么问题,只是转码耗时增长。而对于直播业务来说,就需要考虑效率问题了,比如帧率 30,最多一帧只能耗时 33ms,如果串行进行所有前置处理,就会使得出帧帧率小于输入帧率,导致视频帧堆积的问题。
于是,我们设计了流水线的视频处理架构,将耗时较短、不影响主流程的处理节点放在同一个 region 中,串行处理,耗时长的节点单独一个 region,region 与 region 之间并行执行,中间通过队列通信。这样,只需要任意一个处理节点耗时保证在帧 duration 范围内,就能满足业务要求。
我们可以看到中间这张彩色的示意图,如果是串行处理,每一帧的耗时就等于每一个节点耗时相加。然而流水线处理的话,每一帧的耗时取决于耗时最大的处理节点。