用 Livepeer 在区块链上进行实时视频转码

2022-02-18 10:24:16 浏览数 (1)

来源:The Video Insiders 主讲人:Eric Tang 内容整理:冯冬辉 Livepeer 的创始人兼首席技术官 Eric Tang 介绍了他的愿景,即利用由开源软件驱动的 GPU 硬件编码器的去中心化网络将实时视频转码成本降低 10 倍,并讨论了如何利用 FFMpeg 在同一 GPU 上进行实时内容分类。

目录

  • 简介
  • 可靠性
  • 延迟
  • 生态
  • 编码器支持
  • 用户案例
  • 展望

简介

P2P 时代(90 年代)遗存下来的 BitTorrent 现在仍占据了 15-20% 的互联网流量。回过头去看看,人们真正创造 BitTorrent 的目的是想在互联网上从点对点的角度分享信息,在某些情况下比集中式系统性能更好。区块链是一种新的类型的去中心化系统,但实际上人们在去中心化的基础上又增加了许多其他有趣的功能。

价值交换网络也是一种去中心化的系统,对于视频来说,已经不仅仅是内容的交付。它是关于价值创造的集中化,也是关于计算的分散化。一个去中心化的系统,比点对点技术拥有更多可以探讨的内涵。这是一个思考去中心化系统的好时机。

对于视频分发而言,它可以使用分布式的资源来分发你的视频,因为同一个视频从一个源头分发到很多终端/用户。收到视频的用户可以自己重新将视频分发给其他用户,这使得整个系统更有效率,并且使用更少的集中式资源。

Livepeer 是一个去中心化的视频转码网络,并旨在成为一个全栈的视频流网络,一个公共产品。它具有开源代码,开放访问的基础设施,整个协议也开放部署在以太坊上。对用户来说,可以使用 Livepeer 来转码视频,并获得可缩放、可信赖以及划算的体验。世界上有很多参与者向网络中提供算力。提供者只需下载 Livepeer 的软件,加入该网络,提供 GPU 中的硬件编码器算力并获取收益。当用户转码视频时,就可以使用他人提供的算力。

该方案可比公共服务商便宜 10 倍,据 Eric 介绍,该公司并未从区块链交易中获利,公司的盈利途径有两个,其一是该公司的网关和 API,其二是开源的媒体服务器软件。用户可以运行其媒体处理生产线,也可以利用其 Livepeer 网络提供的算力。

可靠性

在流媒体行业,可靠性是一切的基础。在这个分布式的匿名的网络环境中,任何资源可以在任何时候从网络中消失。讲者花了很多时间来解决这个问题,以避免给整个生态系统带来任何停机时间。

Netflix 引入了一个“混沌猴子“的概念,让一个程序可以随机关闭计算机,而底层机制可以让服务继续。在 Livepeer 有类似的机制,整个工作流程是冗余的且足够健壮。当处理工作流时,如果一个视频正在使用的资源突然从网络上消失了,该视频可以迅速被另一个可用的资源重新处理。只要有网络上有多余的资源就完全没有问题。另外,Livepeer 也受益于巨大的加密货币挖矿行业。在世界上最大的计算处理网络上,很多 GPU 设备在计算哈希值,但 GPU 上的硬件编码器是闲置的,因此也可以在同一时间对视频进行转码。

我们都知道 GPU 上存在闲置的视频处理能力,但我们并没有真正思考过,这就是问题所在。这正是去中心化的魅力,不再有中心化的权利来决定使用什么资源,而是把这种使用资源的权利赋予每个人。而每个人只需玩一个经济学游戏,使用一套非常简单的激励措施。这是讲者学到的有趣的经验之一。对网络参与者而言,其可以简单地出售资源使用权以换取报酬,但是并不需要去建立一个销售引擎,或是一个消费者界面,这就是整个生态的作用。

延迟

对于直播转码网络,延迟也是很重要的因素。一方面转码资源分布在世界各地,另一方面当某一资源下线时需要重定向到另一资源,这其中延迟的处理非常关键。

由于有资源有冗余,可以对于每一个直播视频,从 2 个供应商那里挑选 2 个 GPU,以防其中一个下线,此外谁先完成就用哪一个。但在这之上,需要注册网络上所有的资源请求者和资源提供者,这时软件可以在后台测试每个节点,并找出较为合适的资源节点放入备选。当正在使用的资源下线时,就可以使用备选的资源节点。 利用这种分布式系统的设计原则,可以确保系统作为一个整体是冗余的且是有性能的,即使一个节点由于任何原因不能执行。

生态

讲者希望建立一个公共产品,希望 Livepeer 网络能够被尽可能广泛地采用。从设计上来说,越多的人访问 Livepeer 网络,它就越有价值。LPT 代币越轻,网络就会有更多的资源来继续发展自己,并在此基础上建立更多的功能,让更多的人参与进来,这是一种良性循环。

讲者最近将其他类型的处理添加到视频转码管道中,例如,当视频在 GPU 上被解码后,可以发送到同一 GPU 上的机器学习管道。这种类型的操作在性能上是非常有益的,因为不需要把视频送到另一个处理设施。

在过去 3 年里,FFmpeg 已经集成了 6-7 个超分辨率滤波器,也可以挂上自定义的 AI 模型来做任何类型的图像处理,所有这些都是基于 GPU 的。其机器学习的后端,可以是 tensorflow,pytorch 或其他任何东西。

编码器支持

在不同场景下,对编解码器的支持,以及视频技术上的要求差异非常大。

目前软件中的编码器是 x264 和 AAC,因为这是最常用的视频和音频编解码器。然而,支持其他编解码器也不是太难。虽然 Livepeer 不直接使用 FFmpeg,但是使用了 FFmpeg 构建所需的所有底层库。因此它可以使用其他视频编解码器。而且 Livepeer 是开源的,这意味着任何人都可以去做自己的分叉和支持所需的任何视频编解码器。在主分支上,Livepeer 后续将支持更多的视频编码器,如 HEVC,VP8,VP9,AV1。

主分支的目标是基于 GPU 的编解码器,但 Livepeer 软件实际上也是与 CPU 兼容的,所以不一定需要运行 GPU 编码器,也可以是任何基于 CPU 的编解码器。

除 GPU 以外,ASIC 也可以加入到 Livepeer 网络中,因其可与 ffmpeg 兼容。当节点加入 Livepeer 网络时,会建立一个能力列表。例如具有 AV1 编码能力的节点会将 AV1 添加到能力列表中。此外也可以对不同的编码能力设置不同价格,只需在软件中做些小的优化。

用户案例

Livepeer 网络目前每周处理约 200 万至 250 万分钟的视频,主要是转码视频以及 UGC 直播应用,这些应用程序需要低成本的实时视频转码解决方案。有一个是 PlayDJ.TV,他们允许 DJ 去串流他们的 DJ 组合,这是一个生活表演平台。另一个是 Lot Radio,这是一种互联网电台,来自世界各地的 DJ 24 小时不间断地进入他们的广播室做 DJ 集。也有一些更大的平台,例如 Picardo.TV 做艺术家的流媒体。

Livepeer 网络服务的价格取决于所使用的服务。对于 Livepeer 托管的网关服务,也就是 livepeer.com,提供了一个计算器,可以根据使用情况计算花费,这比其他同类服务便宜 10 倍左右。以一个小教堂为例,平均长度为 1 小时 30 分钟的流媒体,每月做 20 次直播,平均每条流有 100 个观众,则一个月只需要花 60 美元。此外,存储是免费的。

展望

其一是开源社区的进展。开源的媒体服务器 miss server 成为人们可以轻松利用的网关。这意味着他们可以在自己的视频基础设施中运行 miss Server 的一个实例以处理实时流媒体,并且能够通过 Livepeer 网络进行转码,并决定 miss server 服务器的实例数量。

其二是机器学习技术的应用,例如内容识别、内容分类功能。对于一个 UGC 直播网站,需要确保没有人直播成人内容或者英超足球。这些机器学习模型可以自动化地完成任务。另外,物体识别或者是在视频中创建合成内容,可以使视频更具有互动性。由于该项目是开源的,人们有能力为自己定制工作流程,并能够将所有这些智能视频功能连接在一起。

0 人点赞