头图

Cloud Connect: 使用现有的云基础设施来降低使用云编码的操作成本

LiveVideoStack

文 / Ally Yong

整理 / LiveVideoStack

大家好,欢迎来到2020年度的音视频峰会。

我是来自Bitmovin的亚太区销售工程师Ally Yong。今天我讲解的主题是我们企业的Cloud Connect云端连接。

首先我会给大家介绍Bitmovin公司的背景,然后和大家分享我们的产品还有我们编码的功能;我们云端上市场的一些数据,在云端上编码的一些模式,最后分享一个我们客户的成功案例。

1.Bitmovin 介绍

Bitmovin是一家在2013年创办的公司,左图这位是我们的CTO Chris Mueller,右边这位是我们的CEO Stefan Lederer。他们两位在2013年的时候合作推出MPEG-DASH的格式,也同时开始了Bitmovin这家公司。

在Bitmovin我们有三个产品:Encoding的服务、Player和Analytics的服务。今天我们的主题大多是Encoding的服务,但我们这三个服务都可以让我们的客户在不同云端上使用地更加便捷。

2.编码解决方案-Per-Title Encoding

我们的编码服务有一个比较独特的功能叫做Per-Title Encoding

我今天想要跟大家介绍Per-Title Encoding的用途。

一般我们做编码的时候,我们会在编码器上手动设定一些限定好的编码令和解析度。但到Per-Title这个功能的时候,我们把视频输入到编码器时,编码器就会通过分析,分成不同的视频的复杂度,再帮它再设计一个编码率和解析度,最后用最佳的编码率来编码出视频。我们Per-Title Encoding可以把编码率再降低,同时还能减少储存和带宽。后面我们会更详细的去介绍Per-Title的区别。

不同的视频一定会有不同的复杂度,如果我们事先是通过手动的方式去设定,那么在很多情况下其实我们可能会使用一些不合适的编码率或者不适当的解析度去编码一个视频。

所以我们以PPT上的图片为例。平时做设定时,我们会把比较低码率的设定成低解析度的。我们在这里看到一个360p的视频,我们分配600kbps去编码。但是其实同样的视频可以通过比较低的码率就可以编码成到高清的效果,这究竟是为什么呢?

我们可以看到在这个图片里,左图上还有一些比较模糊的情况,但放在1080p的时候这些现象就不会再出现。

我们刚刚说到不同视频会有不同的复杂度,如果我们用手动设置高解析度还有高编码率时, 我们有很大概率会发现它的编码率使用率是比实际情况多得多。反而在编码率低的时候因为我们给的解析度很低,我们用户在收看视频的时候,图像质量不是很好。

那我们如何合理分配解析度和编码率呢?上图展示的是PSNR的对比数据,PSNR就是图像质量水平的数据,图中橙色的就是通过Per-Title编码的设定,蓝色的是手动设定好的Profile。

我们在观察PSNR的数据,发现Per-Title编码的图像质量都在34-45之间,为什么会这样?因为低于34的图像质量不理想,而超过45就超出了人类的感觉阈限。所以,在这个例子中,虽然我已经达到70dB,虽然数值上它已经翻倍,但是其实用户并不会有感知。所以我们的Per-Title都会在适当的情况下把不同的Profile提高到合适的水平。

我们在低码率的情况下,比如左侧200K的情况下,它的图像质量30以下,因为我们在比较低的编码率的时候都会设计一些比较低的解析度。但是通过Per-Title不同的图像可以分配更加适当的解析度。

另外如果我们手动设定,我们会发现,虽然这两个Profile的编码率的差别很大,但是实际情况下图像质量的提高并不明显,所以要通过Per-Title就可以解决或排除这些问题。它专注于增加合适的编码率来对应Profile。

用Per-Title最大的优点是什么呢?当然视频可以用最适当的编码率去做编码的时,降低CDN的带宽成本就是Per-Title最大的优势。同时储存的成本也会降低,在网络较差时,我们也提高了解析度和图像质量。

3-Pass-Encoding也是我们另外一个编码的功能,一般我们见到的都是2-Pass-Encoding,是让视频多跑一层编码分析再去做编码的功能。但我们Bitmovin比较独特的是我们还要跑一层,把图像质量的水平提高。如果我们同时使用Per-Title和3-Pass编码器会再做一层,去解析不同的视频。

通过上面的例子,我们看到通过3-Pass的时候在同样编码率的条件下,视频的图像质量增长了很多。

所以如果我们将3-Pass-Encoding和Per-Title一起使用,我们最终达到的优势就是把CDN的带宽还有存储的成本减少。

3.2019年云服务市场份额

接下来分享给大家我们云端市场上的数据。近年来我们也观察到越来越多用户会选择用云端来做他们技术的流程。所以我们公司也参考了IDC对云端市场做的调查数据。

上图是我们在2019年对云端市场占有率的数据,在众多云端平台上,占有率最大是亚马逊公司;排名第二是微软,它的占有率有18%;接下来是谷歌和阿里巴巴分别在市场上有5%。

同时我们也对编码的用户去做了市场调查。我们在调查之中发现近两年来的趋势,比如软件或者是硬件编码在低端环境都出现了一些减少的现象。

我们在2020年低端的软件编码市场上,我们发现它从55%减少到49%,同样我们在硬件的编码也是看到同样的现象。我们在云端上其实也有区分,比如云端的软件服务、云端的编码服务也就是CES。我们还看到云端软件服务也是有一些少许的减少,反而在云端Encoding的服务,是有一些增长的。这也证明了当客户越来越追求便捷性而不想再考量基础设备的时候,客户更有可能会往云端编码的方向去走。

4.Bitmovin 编码

我们Bitmovin的编码过程在云端上一般是怎么样去操作?通过上图可以看到,上半部分都是我们的视频。当视频输入到云端编码的过程中,它会做几个步骤,刚刚说的Per-Title的分析当然是其中一个步骤。另外,我们还会先把这些视频做切片处理,切片成比较小片的视频过后再分配到不同的机器去做编码,可以看到底层都是不同的机器同时进行编码,编码完成之后就会把这些视频连接成一个完整的视频最后输出到储存里面。

当然我们做编码的过程也包括其他的服务,比如加密的服务、加字幕的服务或者多层申报的服务,广告插播的服务都会包括在这个编码的过程里面。

刚才我们讲切片分配到不同的机器,我想更详细地描述一下这个过程。这一页看到这些都是我们分的不同的影片,然后不同的影片一般是会把它先切片到4秒钟的影片,切片过后就会把它给分配到机器去做编码,这是一台8-core的机器。然后编码过后把它连接成一个完整的视频。

与此同时,所有的切片都会被分配给一台机器,所以这是一个影片分配到很多台机器同时去做编码。

那当我们要编码很多个视频的时候,它同时就会在所有的视频都同样做切片的步骤,我们有上千台的机器在同时去做编码的过程。这也就是说我们在云端上的情况才可以很有效率的做到编码的步骤,也正是因为在云端上才可以比较有弹性化的去增加或者减少这些机器,而且如果任何情况下这些机器出现问题时,也能很方便的把这些影片分配到另外一台机器。

以上就是我们云端上编码的过程。我们发现随着业内云端上编码服务的不断进步,这项技术也逐渐成熟,有越来越多的客户会选择云端的平台进行编码,因为不用再去考量基础设备的问题。

另外我们刚刚讲到Bitmovin切片分配编码的过程,这其实也很适合在云端上去使用,因为这可以很有效率地去同时用多台机器快速地编码那些很大的储存或者数量较多的视频。

同时我们也发现,我们很多客户他们自己都是拥有云端服务的,甚至有些都有他们自己的云端合约,所以就推出了一些需求想要利用他们原有的云端资源再继续使用这个编码服务。我们对这种客户,我们也有另外一个模式可以符合他们的需求。

第一个模式就是Managed Cloud这个模式。这个模式让客户很方便能获取我们的账户,就可以通过API去把这些编码的过程开始使用。这个编码的过程、流程,实际情况都是在Bitmovin我们拥有的云端平台上去做这个编码的过程,这就是Managed Cloud模式。

另外一个模式就是Customer Cloud Account的模式也就是云端连接的模式。云端连接和Managed Cloud最大的区别就是当客户选择用这个Cloud Connect这个模式的时候,他是通过同样的Bitmovin的API去踢开编码的过程。但是实际情况下那个编码的过程是在客户拥有的云端平台上发生的,对于这些有自己云端平台的客户,他们就可以通过Cloud Connect去使用Bitmovin的编码功能。这样做的好处是可以进一步降低成本,因为用户是通过他们拥有的合约继续使用他们的资源。

另外一点就是他们的视频都不用流出他们自己云端平台或者那个环境。他们所有的视频都会在他们自己的环境里面被编码。

通过Bitmovin在云端上编码的这个过程,我们让客户用两种不同的模式去做编码,第一个就是Managed Cloud用户很方便就可以拥有帐号,也可以在云端资源里直接开始编码的服务。第二个方式就是客户当拥有自己的云端平台的时候或者云端资源的时候,他也可以直接使用他们的云端资源,但是是用我们的Bitmovin的API去做编码。

同时因为Bitmovin的切片分配编码的过程,可以让我们用户很有效率的在云端里面做编码,而同时也可以选择去用spot instance去做编码,稍后带来更加细致的解释,以及spot instance和一般VM的不同。

当然我们因为在云端上可以弹性化地开很多台机器,我们可以做到上千台的机器处理很多视频的同时也可以保证编码完成的速度。

5.成功案例

接下来我们讲我们客户的成功案例。PCCW是香港的一家电信公司。他们底下的一家公司叫做ViuTV(香港电视娱乐有限公司),其中有一款产品叫VuClip。他们在17个国家有OTT平台,在印度、印尼、马来西亚、泰国等这些国家都会有OTT平台,每季度的用户也超过700万个用户。用户可以在不同的平台上下载APP(ios、安卓),还有浏览器上也可以观看VuClip不同的节目和视频。

VuClip选择Bitmovin有以下几个原因,首先是因为Bitmovin的服务可以很方便的让客户在所有云端平台上使用;其次是我们同样的编码版本,可以让客户符合到不同的codec的需求,VuClip的客户他们拥有的codec是H264 HEVC还有VP9,他们这些不同codec符合的需求都在同一个编码的版本里面;第三点他们是通过Cloud Connect云端连接去做编码的过程,所以他们通过切片分配的过程可以很有效率使用他们拥有的云端资源;再次他们同时也用spot instances的模式去做编码,因为在云端上使用时,他们需要踢开很多机器去处理很多的档案,他们编码的速度很快。整个过程都是在云端也不用再去考量基础设备成本的问题。Per-Title和3-pass一起用的时候,更可以降低CDN和储存的成本。

刚才说到VuClip是使用spot instances,那这个spot instances同一般机器有什么区别呢?一般云端上我们可以通过一个定好的价格去租一些机器来使用,但我们有另外一种选择就是用spot instances的机器。这种机器是比一般限定的机器价格成本更加低,但因为客户们是用切片分配的方式,就可以很有效率的利用成本很低的spot instances去做这个编码。我们同时在VuClip的项目中,我们观察到他们整体成本减低到了35%。

总结

回顾一下今天所有的内容,云端编码技术越来越成熟的时候,更多客户都会选择使用云端的服务,因为可以减少基础设备的考量;Bitmovin的切片以及分配编码的这个过程,可以很有效率的利用云端去做编码,同时因为可以弹性的去打开很多机器,也可以很快速地编码一些很大的存储;那当我们有一些客户自己原来拥有云端资源时,他们完全可以把这些资源利用起来并且可以选择云端连接的方式去做他们的编码,同时他们也可以把视频留在他们的环境里以此降低成本。我们在VuClip的客户观察到用这些方式可以降低35%的成本。

阅读 23
112 声望
20 粉丝
0 条评论
你知道吗?

112 声望
20 粉丝
宣传栏