深度分析:经典视频产品架构拆解
01
产品架构 产品架构就是在充分理解产品用户需求基础上对产品数据流转的逻辑梳理。简言之,就是产品架构是功能梳理+策略整合。纯银曾经说真正拥有产品架构能力的PM十分之少,那么本文,主要来阐述下经典视频网站的产品架构。
那么产品架构梳理中,存在很多必须的过程。整个过程从广泛意义上的下载、功能体验、业务流程梳理、产品流程梳理最终来完成整体产品架构梳理。
02
视频网站的产品架构 在了解一个产品,特别是像如Netflix、Hulu、Amazon prime video、LineTV、Bilibili、爱奇艺、腾讯视频、优酷汇集了强大内容和多向周边业务流转的的巨大产品中,希望研究清楚架构,需要以下7步骤:
首先了解整个业务流转的基础流程,即整个业务能够基础流转的MVP模型;其次根据基础业务流程完成整体产品流程;第三根据产品流程完成MVP初版产品架构图;第四将其它业务业务流程增加进业务流程中;第五补充剩余产品流程图;最后将剩余的业务所需的产品功能补充进整体产品架构图。即可完成整体的产品架构梳理。
特殊情况:在大型公司中,为了提升整体效率,在中台化策略中,需要做到前后台解耦。那么这个时候,在绝大多数大型公司中需要通过一个数据存储系统,定义不同展示字段以及每个字段端展示参数获取的地址,这样最大的方便在于一旦出现线上故障,可以迅速排查到问题在哪里,专人专项解决,极大提升整体效率。
03 业务流程梳理 分析一个网站、APP产品架构,需要了解清楚、策略实现的。因此,梳理业务流程成为了了解产品架构的第一步能力。
3.1何为业务流程?
马克尔·哈默阐述的业务流程是指达到特定目标由不同人完成的活动。
广义上业务流程通常是为了达到特定的价值目标而由不同的人分别共同完成的一系列活动。活动之间不仅有严格的先后顺序限定,而且活动的内容、方式、责任等也都必须有明确的安排和界定,以使不同活动在不同岗位角色之间进行转手交接成为可能。活动与活动之间在时间和空间上的转移可以有较大的跨度。
从狭义上来看业务流程,我们可以认为它仅仅是与客户价值的满足相联系的一系列活动。因此业务流程的核心多个配合方做好一件事情所需要的配合方式、职能划定和组成形式。
因此,在分析一款产品的时候,需要明确这款产品服务的业务是什么?整个业务需要哪些专业化团队配合,他们相关配合的关键节点和前后顺序是什么样的?哪些角色做串联?哪些角色做独立的事情。了解到这些以后,就知道整个业务流程如何梳理了。 3.2业务流程图如何构建?
上文说明业务流程的要求,那么在构建业务流程时需要着重注意以下两点:
参与方:即想完成当前这个事情,需要哪些部门参与进来,明确每个参与方需要做的事情
过程:整个过程中分成那几个阶段,每个阶段都需要做些什么
有了以上两点,业务流程便可以迎刃而解。
常用业务流程图表示方式:因为涉及到多组织写作、多过程的关系,因此业务流程绘制中,个人比较建议通过泳道图进行表达。
下图是经典的业务流程图
具体方法:
按顺序列出每个活动,并将其链接到流程的下一部分:
从第一个达成目标的事件开始,在独立角色的泳道中绘制当前角色的需要做事情的前后顺序,并通过线条连接起来。
当某一角色到达需要作出决定的点时,在必须作出的决定时,通过判断符号进行路径决策,判断符号通常用菱形表示。通常,这会被写是/否问题。从菱形开始应有两行,每行指向将根据决定进行的活动
按顺序链接每个活动。有些可能同时在您企业中的不同部门中运行,有些可能是不同企业,有些可能是线性执行,有些可能是存在断点通过监听的方式进行后续步骤。
到达目标的后结束。
3.3视频产品中的视频入库-播放业务流程
下面我们来一起制作长视频网站中,视频入库到线上播放业务流程图(此处忽略常见的报审环节)。常用的流程图工具如windows系统内独有的Visio,在线可以通过process on等软件进行绘制。
按照上文描述,参与一个视频从入库到播放需要多少个角色呢?
首先是片方:一般情况片方会把片源上传到网盘中,通过IM or E-mail的方式告知上传成功。网盘的密码是仅平台方和片方知道的
然后是编辑:编辑获取内容源以后,会对视频内容进行加工(视频行业通常称之为制作),如遮挡或删除一些不符合当地法律条文的镜头;加工好视频内容以后会对加工好的在线时间进行简单的视频壳信息录入(视频行业通常称这项工作为编目。
在之后是运营:运营会根据视频的运营规划,补齐视频的视频壳内容(如封面图、标签等信息)、播放限制(如哪些端、哪些地区可以播放)等信息,做好视频在前台上线操作)。上线之后需要做对做好的视频的线上版本进行质量审核,如果遇到审核不通过,则需要重新发起各个视频线上内容版本的重新转码。
以上一切完毕之后,用户便可以在线上看到视频内容了。同时编辑需要对线上的视频内容有无转码问题进行二次确认(官方称为质量检测)。
因此,基于以上4个角色(片方、编辑、运营、用户)为泳道,所做的事情在泳道中的内容,便可以制作出业务流程图了。
具体图如下:
产品流程是在业务流程的基础上绘制而来的。什么是产品流程呢?最简单的理解为,完成一件事视频,相关角色需要通过操作哪些系统(平台、工具)能够完成整个业务流程的进展,从而达到业务目标,那么这些系统之间相互协作便构成了产品流程。
产品流程可以是通过多系统交互的方式完成最终目的,也可以是单一工具完成最终目的(如计算器),产品流程图的表示方式视具体描述的功能场景而定,需要做到简单明了即可。
根据上述业务流程,我们仅看编辑视频制作部分即从一个原始视频介质变成线上视频,可以如下来进行解读。
在以上业务流程中,梳理出需要如下的系统
视频制作平台:承载视频的剪辑、渲染工作
音视频编码系统:涉及视频本身的编码服务(如线上可以观看的1080p、HDR、杜比视界等视频格式的制作)
存储:存储视频
素材库:记录所有素材的数据库
因此,单独完成视频制作,便需要至少以上4个产品相互之间配合,在涉及到多产品共同完成一项工作时,做好的办法便是通过泳道图的方式进行产品流程的绘制。
结合以上,编辑制作视频粗略产品流程如下:
05
产品架构图与实例讲解
经过上述讲解,基本上完成了分析一款产品的业务流程、产品流程阶段,在了解整个产品机制如何运转以后,便可以对整个产品的产品结构做相应的梳理。
5.1产品架构图
其实我们经常能够看到在招聘网站中招聘产品架构师的消息,岗位JD中最为多人眼球的是架构师的动辄60k一个月的薪酬,那么对于架构师的要求主要是什么样呢?打开某招聘网站可以看到如下信息:
我们通过招聘JD可以发现,在架构师招聘中可以用以下4个关键词进行概括:
体系
行业
架构示意图
沟通技巧
我们上文中了解了做成一件事情需要哪些角色如何有序完成一件事情,并梳理了业务流程图。在之后通过整体的业务流程图拆解成为了每个角色需要使用什么产品,这些产品如何配合完成整个任务,形成了产品流程图。
通过这两张图我们可以清晰的了解整个业务运转的体系,体系内需要什么产品支撑,其实已经完成了对体系、行业的感知。那么下一步就是将我们拆解出来的产品流程图归纳整理形成产品架构图。
产品架构图主要分成三大部分组成:
操作端:可以简单理解为实际用户会使用到的产品。可以分为前端和后台产品,前端产品产品(后续可以统一称之为端)主要是为用户提供直接服务的产品,可以是C端用户也可以是B端用户,C端如Netflix、Pinterest、Facebook、Tinder等。后台产品则是为企业运营人员服务的产品,如视频网站的生产运营发布系统、Zoom、Wiki、Skype for business、Google docs等。
服务端:服务端则是主要职能为精华服务专项,如专门做大型文件分发的CDN、专门做视频编码的编码器、一大堆AI服务等,这些系统都是做独立项目的,所谓越专越精。
数据端:大体上做两件事情,记录端数据,和数据存储调用。常见的如BI系统、各种数据库之类的。
因此通过产品流程中的各个模块组合而成的数据链路,在将各个模块按逻辑整合在一起,形成的产品架构图。
产品架构图的好处:
明确的知道自己负责区域相较于整体的定位
清晰的了解整个业务的组成
迅速了解上下游关系,快速推荐后续业务
5.2实例分析
因涉及到国内责任规避问题,故本文中不对国内在线视频平台做结构拆解。我们常见的爱奇艺、腾讯视频、优酷、Bilibili、芒果TV暂时不在分析之列,本文将以海外用户规模第二大在线视频平台Amazon prime video的简单视频架构。
下图是Amazon prime video的首页截图
从首页来看,最上面是焦点图、下方是各种类型内容展示区、上面登陆注册、会员购买等模块。Hover及点击进入任意内容,可以见到如下信息:
Hover状态会展示:封面图、精彩片段、播放限制、视频介绍、视频点评、视频时长、分级。这些信息都是当前视频内容信息及用户信息。
视频名称、观看限制、视频介绍、封面图、评论等信息。点击播放则是播放器,可以调整清晰度、进度、音轨、字幕等信息。
那么我们从用户端展示的内容可以看出展示部分包括两大部分:内容信息、用户信息
内容信息:
视频壳信息:封面图、精彩片段、评级、视频介绍、视频时长……
视频信息:视频、音频、字幕
播放信息:会员限制等
其他信息:
区块名称
Passport与会员
支付等
除此之外,因为各个国家/地区有不同的内容制度,所以除以上能力之外,还需要判断一个内容在哪些国家/地区可以上线,哪些不能上线,视频的各方面信息多语言版本等等信息。
从前往后推,我们不难发现,这个时候需要有一个数据库需要写清楚站内都有哪些视频内容、这些视频内容的播放规则是什么、视频内容壳的信息有哪些?每个语言版本各是什么样子?视频都存储在哪里?字幕存储在哪里?
那么我们不难从这中间拆分出来以下模块:
1、数据记录:需要有一个数据平台记录每一条视频的各种信息
2、视频壳信息:这个信息需要通过对视频的编目进行定义,所以需要后台具有对内容的编目能力
3、视频内容:需要存在视频制作平台可以对视频、音频、字幕进行制作,并为了用户体验和防盗版等需求,可以做成多种格式、清晰度的视频码流
4、播放控制:需要记录每一条视频在哪些地区能够播放、哪些端口可以播放、什么时间可以播放等等
5、审核后台:我们发现前台存在用户的点评信息,依据不同国家/地区法律条文的规范,需要对用户内容(UGC)进行审核、上线、下线等进行有效控制
这些大体为了前端用户展示所需要的后台需求
在视频播放加载时候,为了0s开播、特效字幕等渲染的要求、视频码流编码、调度等还需要很多独立服务存在,因此整个过程中涉及到服务向大体包括了
6、CDN:CDN的全称是Content Delivery Network,即内容分发网络。CDN是构建在现有网络基础之上的智能虚拟网络,依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。
7、云服务:主要负责调度
8、编解码服务
10、Passport:记录用户各方面的登陆注册、点评等信息展示
11、会员系统:记录用户的会员状态信息
12、广告系统:负责广告投放、与广告主签约等服务
为了更有效的提升用户端整体性能,降低用户端app包的大小,通常情况下形成用户端的数据由服务端供给。
13、服务端
14、多语言后台:像Amazon prime video、Hulu、Netflix这样的国际视频平台,为了让更多国家的人能够看得懂内容,会使用前端产品,则需要在展示时显示多语言版本的内容,因此服务端通过用户状态到多语言后台加载相关文案,并投递给用户端。
15、推荐及搜索服务:内容量极大了以后,需要通过推荐及搜索服务给用户提供更精准的方式提供匹配的内容
16、BI服务:记录用户、内容、端等使用数据
17、其他:包括AI等服务在这里不做详细阐述
因此,整体而言就建立起来了一套整体模块流程,即前端数据由服务端提供,服务端从数据系统中获取,数据提醒的数据由后台系统写入,后台系统的相关服务由各个服务端承载,BI等数据系统通过前端埋点获取投递获取相应数据并加以处理展示在内部员工不断优化产品的循环。
整体粗略架构可以如下表示:
在之后把每个模块里面对应的详细功能填入,便可以得到更加详细的产品架构图了。
简略版Amazon prime video架构图: