http://www.ox-holdings.com

WebP2P 技术应用于直播场景的开发实践,我们就可以在网页上面实现 P2P 的功能

摘要2018 音视频技术沙龙·深圳站丨又拍云 Open Talk NO.41一、活动介绍随着移动互联网的普及和智能终端设备的广泛应用,短视频、在线教育、 在线狼人杀、直播竞答等各类形式的音视频形式的应用越来越广泛,技术的不断升级正在提升应用的体验。本期又拍云 Open Talk ,将会结合一线的实践案例,与众多音视频开发者探讨新一代音视频技术的实践和发展趋势。又拍云 Open Talk 是由又拍云发起的系列主题分享沙龙,秉承又拍云帮助企业提升发展速度的初衷,从 2015 年开启以来,Open Talk 至今已成功举办 40 期,辐射线上线下近 70,000 技术人群。不管是从某个“主题”出发,并从横向拓展技术干货分享,还是以某个“品牌企业”为主,从纵深丰富演讲内容,活动都场场爆满。截止目前,又拍云 Open Talk 已经举办 40 期活动,分别在北京、上海、广州、深圳、杭州等12 座城市举办,覆盖美拍、唱吧、美联集团、唯品会、哔哩哔哩、华为等诸多知名企业,往期的活动的讲稿及视频详见: 年 06 月 10 日( 周日 )14:00-17:30三、活动地点广东省深圳市南山区深圳虚拟大学园 R3-B 栋一楼触梦社区四、活动议程13:00-14:00签到14:00-14:40高毅 / 资深语音技术专家 《智能设备语音处理与交互实践》14:40-15:20凌建发 / 又拍云 PrismCDN 项目负责人 《低延时的 WebP2P 直播实践》15:20-15:30茶歇15:30-16:10刘鹏 / 糗事百科视频软件工程师 《直播 SDK 的技术实践》16:10-16:50张波 / 虎牙直播运维研发架构师 《基于CDN推流日志的主播上行实时监控及其自动化解密》16:50-17:30自由交流五、嘉宾介绍分享嘉宾一:高毅, 资深语音技术专家电子科技大学硕士,计算机软件与理论工程师职称,中国计算机学会专业会员。曾任中兴通讯中心研究院多媒体平台部音频处理工程师;摩托罗拉系统有限公司DSP部门高级工程师,PCR产品线音频功能架构师,成都团队 Audio Tech Lead,全球 common audio team 成员。长期从事语音通讯系统,智能音箱,智能电视等语音交互项目研发,译著《语音增强——理论与实践》,拥有多篇专利(包括4篇PCT专利)和论文。分享主题:《智能设备语音处理与交互实践》分享嘉宾二:凌建发,又拍云 PrismCDN 项目负责人先后任职于诺基亚等通信公司,目前主要负责又拍云 PrismCDN 项目的设计与开发工作,对 P2P 、流媒体技术有较深入的研究。PrismCDN 是在 CDN 的基础上完美融合 P2P 及流媒体技术,高效整合利用零散闲置的上行带宽资源构建内容分发网络服务。分享主题:《低延时 WebP2P 直播技术实践》主题简介:本次分享将介绍又拍云 PrismCDN 项目中,将 WebP2P 技术应用于直播场景的开发实践。相比传统嵌入式的 P2P网络,基于 WebRTC 开发的 WebP2P 网络具有无插件、低延时、高分享率的优势,能够覆盖更多的应用场景。分享嘉宾三:刘鹏,糗事百科视频软件工程师曾任职于酷狗,负责繁星直播播放器的研发,酷狗移动端音视频构架的重构;现任糗事百科视频开发工程师,负责短视频、直播音视频 SDK的研发,熟悉 RTMP、RTP/RTCP 等流媒体协议,熟悉 android framework。分享主题:《直播 SDK 的技术实践》主题简介:本次分享将会介绍直播 sdk 研发过程中碰到的各种坑,以及一些小技巧。分享嘉宾四:张波,虎牙直播运维研发架构师目前主要负责虎牙直播运维体系的建设,主要针对 web 和后台类程序的发布、监控、运维自动化相关的运维系统的设计和开发。分享主题:《基于CDN推流日志的主播上行实时监控及其自动化解密》​本次分享将会介绍虎牙直播针对主播推流在 CDN 环境下的优化的小技巧和过程中碰到的各种坑。往期讲稿/视频回顾 “付费票” 的参会者可以凭票参与现场 “圆点机械键盘” 的抽奖,奖品数量总共 2 台。七、主办方又拍云是国内知名企业级云服务商、国家高新技术企业,持有工信部颁发的 CDN 牌照;致力于为客户提供一站式的在线业务加速服务,以场景化 CDN 为核心,为客户提供对象存储、HTTPS/SSL 证书、多媒体处理(WebP 自适应、H.265 自适应、窄带高清等)、影像识别、文字识别、短视频 SDK、直播 SDK、连麦 SDK 等服务,打造了安全可靠的全站加速、海外加速、图片应用、短视频应用、直播应用、音频应用等场景化解决方案。又拍云拥有 6 个数据处理中心、300 多个国内CDN节点、15 个海外CDN节点、5000 台服务器、5TB 保有带宽,日均请求超过 1000 亿次。八、协办方IT趣学社致力于互联网技术分享和交流,打造最全面的互联网/IT行业会员网络,汇聚互联网/IT高端技术精英,促进行业交流,实现资源共享。IT趣学社成功举办多次互联网/IT精英技术沙龙/峰会,邀请国内国外互联网/IT顶尖专家分享最热的技术,每场沙龙参会嘉宾、沙龙晚宴到场嘉宾人数爆满且级别质量很高,IT趣学社目前拥有北京、上海、广州、深圳、成都、西安技术普通社群共 180+个社群,拥有精英联盟( CTO & 运维总监)群共 6 个,累积汇集了 500 个 CTO 和 1500 多个运维总监/经理会员,共计有 80000+ 技术会员。​九、合作伙伴十、联系我们活动咨询请添加又小拍微信号:upyun1111 或扫描下方二维码,备注“音视频技术沙龙”,主办方将会邀请您到活动群,活动直播链接也将会在活动群内发布。

5 月 19、20 日,行业精英齐聚的 WebRTCon 2018 在上海举办。又拍云 PrismCDN 项目负责人凌建发在大会做了《又拍云低延时的 WebP2P 直播实践》的精彩分享。

△ 又拍直播云的辅助模块分享 | 孙曦(又拍云高级产品经理)

分享介绍了 WebP2P 行业将从 FlashP2P 逐步进入 H5P2P,并分享了又拍云 PrismCDN 网络如何突破传统 P2P 网络高延迟、低分享率的难题。

整理 | 半夏

因分享内容较多,特将演讲整理为两部分:

2016年10月29日,又拍云主办的Open Talk No.26在“魔都”上海3W空间成功举办,此次活动邀请了直播领域开发一线的技术大神们,聊一聊直播平台的架构与优化,如何化解项目选型、开发上线、迭代过程、性能优化中遇到的挑战与经验。

  • 取代 FlashP2P,H5P2P 将成为 WebP2P 主流:介绍几类 P2P 的架构、原理、优劣势,介绍传统树状、网状两种 P2P 结构的不足。
  • PrismCDN 网络的架构解析,以及低延迟、低成本的奥秘:介绍又拍云 PrismCDN 的结构、优势,分析又拍云 PrismCDN 达成好体验、低成本、易使用的奥秘

又拍云高级产品经理孙曦凭借在直播行业多年的研究、实践,对CDN、云存储、互动直播等领域的技术、需求、用户有较深的理解和丰富的实践经验,在活动中围绕“又拍直播云系统探索”的主题进行了详细的分享。

本文是第一部分《取代 FlashP2P,H5P2P 将成为 WebP2P 主流》。

图片 1

WebRTC 可以有很多种的应用,比如实时音视频通信,又拍云 PrismCDN 团队目前在做把 WebRTC 应用于内容分发 CDN。利用 WebRTC DataChannel 下的一些功能,可以去建立 P2P 连接,有了这个能力之后,我们就可以在网页上面实现 P2P 的功能,也就是 WebP2P 的 H5P2P 实现。

Open Talk No.26

在 CDN 网络基础上,加入 P2P 的目的是减少 CDN 的流量,用 P2P 连接完成大部分的流量。这样会带来一个巨大的好处——CDN 的成本下降,价格优势就体现出来了;对客户、对视频应用来讲,带宽成本也非常显著地下降。成本优势这一最大的好处,也是我们做 PrismCDN 这张 P2P-CDN 网络最大的动力。

以下就是孙曦的分享全文啦~

我今天主要以 WebP2P 功能来切入这个话题。

大家下午好!我是又拍云产品经理孙曦,主要负责又拍直播云系统的产品规划及设计,今天就主要跟大家谈谈与直播业务相关的一些功能。

什么是 WebP2P 呢?它主要功能是在能够以 P2P 方式传输数据到网页上来,目的是要降低 CDN 的成本。

直播的挑战:画面和设备

举一个已经存在了八年的 WebP2P 的典型应用:FlashP2P,这是 Adobe 公司自己研发的内嵌在 Flash 播放器里面的 P2P 功能。它采用的协议是私有的 RTMFP,现在用这个协议的公司也蛮多的。

首先我们来看下这张图

我们先看一下 Flash 的未来:Google 声明在 2020 年末就完全不支持 Flash;也是2020 年下半年,微软的 IE 和 Edge 浏览器放弃支持 Flash。

图片 2

苹果的态度其实大家都很清楚,乔布斯一开始就很讨厌 Flash 这个东西。Mozilla 也是一样,2020 年结束对 Flash 的支持。Facebook 也在 2020 年末的时候停止支持 Flash 的视频游戏。最后,Adobe 自己也宣布了在 2020 年末就完全停止支持 Flash。

△ 令人眼花缭乱的直播App

也就是说,在 2020 年末的时候,FlashP2P 这个产品也就基本上结束了。

上面的图从2015年开始流行起来,在朋友圈中也是频繁转载,当时短短一年的时间内市面上就出现了如此多的直播App;到现在,直播App数量已经达到了数千个,市场规模达到百亿级别。大家身为IT行业的业内人士,紧跟新兴热流,对这应该也是了解的。

那么我们如何在 Web 里面使用 P2P 呢?诞生于 2011年的 WebRTC 技术,在 Google、Microsoft、Apple、Facebook、Mozilla 等几家大公司的支持下成为了 H5 的标准,并且 Chrome、Firefox、Safari、Edge 等几大浏览器也都支持 WebRTC,我们就可以用 WebRTC 来实现 P2P 的功能了。

不过现在的直播跟前几年火热的直播还是不一样的。最初的映客、花椒是社交直播,但是社交直播只是直播一个很小的分类。现在的直播已经涉及到我们生活的方方面面,比如有的主播做旅游,有的主播做户外探险;前一段时间的巴西奥运会,有的主播做了体育直播,除了这些,还有发布会、美食、教育、影视、新闻等直播。

图片 3△ SDK P2P 示意图

说到直播,我们来回顾一下直播的发展历史及当时的特点。

在讲 WebP2P 之前,我们先讲一下基于 SDK 的 P2P 功能。它的原理是这样的, SDK 里面有一个 P2P 下载器,它能够建立 P2P 连接;P2P 不能完成所有的数据传输,不够的数据再从 CDN 服务器补充。最终拼成一个完整的数据流,这就是所谓的P2SP 技术。

传统直播

我们在 SDK 里面做一些本地的转封装之后,然后通过 local(127.0.0.1) 的 HTTP Server 向播放器提供标准的 HTTP 请求,比如说 HLS 、HTTPFLV。在使用传统 CDN 服务时,播放器发起一个 HTTP 请求或者 RTMP 请求到 CDN,现在使用 SDK P2P CDN 服务后,播放器直接到本地地址(127.0.0.1)拉取一个 HTTP 请求。播放器只需要改变一下请求的 URL 就可以从传统 CDN 切换到 SDKP2P CDN。

在2000年左右的时候,传统直播已经非常成熟了,它的直播内容是以电视信号传输。电视信号传输,跟现在的直播相比,控制得严格一点,那时你看到的内容可能有三到五分钟的延迟。它的信号不是通过互联网而是通过模拟信号传输,传输非常稳定,同时传统直播是单向、无交互的。

如果要在 Web 上应用 SDK P2P 技术,只有一个方式,就是把这个 SDK 做成一个插件安装到浏览器里面去,包括用 ActiveX、NPAPI 这些技术把 SDK 嵌到浏览器里面去。

直播1.0时代

过去若干年的经验已经告诉我们,浏览器插件带来的用户体验是非常差的,最后几乎所有的视频网站没有使用。所以说用 SDK 的方式去做 WebP2P,这条路走不通的。

当时主要是以六间房等为主的媒体秀场直播。这个时候画面的清晰度跟现在相比有较大的差距,受限于当时一兆、两兆的家庭带宽,它的直播画面比较模糊,特点是单向、数据量小,延迟容忍度高,延迟大于5秒,主播地域分散。

本质上来讲 FlashP2P 也是一个 SDK P2P,只不过说 Flash 这个插件应用太广泛了,几乎每个浏览器都会装它,没有重新安装插件的问题。

直播2.0时代

有了 WebRTC 之后,通过浏览器实现点对点连接的可能性就来了。我们可以通过WebRTC + H5 的组合实现 WebP2P。

前几年,随着斗鱼、虎旗等游戏直播的发展,直播的画面有了巨大的提升,而且我们能够在电脑上观看游戏直播,这样就好像自己真的在打游戏一样。那这时的特点是:单向,文字交互,流数多,延迟容忍度高,延迟大于5秒,虽然自身业务对延迟要求不高,但是由于竞争较大提高了要求。

对 WebP2P 的研究,国外已经持续了一些时间了,包括 BiTorrent 也衍生出一个WebP2P 项目——WebTorrent。Peer5、Streamroot 是两家商业公司,分别拿了 250 万美元和 320 万美元的投资。

直播3.0时代

图片 4△ H5 P2P 示意图

随着互联网时代的发展,直播行业有了较大的改善,此时主播可以在生活的每个方面进行随时随地的直播、随时随地的分享。直播3.0的特点是:单向或双向,比如主播连麦交互,文字交互,流数多,延迟容忍度低,延迟控制在2-5秒。

H5P2P 用 JavaScript 实现 P2P 引擎,包括下载器、转封装。通过 WebRTC 里面的 DataChannel 功能建立 P2P 连接,从 P2P 雾节点拿数据;当 P2P 数据不足时,可以通过 WebSocket 或者 DataChannel 去 CDN 补数据;将 P2P 数据与 CDN 数据组合后得到完整的媒体数据;最后通过 MSE 转封装成 mp4 向 H5 播放器 提供媒体数据流。

直播4.0时代

以上就是在 H5 框架里面实现 P2P 数据层面的逻辑,P2P 里面还会有一些信令、管理服务器,通过 WebSocket 就可以建立好 Web 与服务器之间通信通道。

到了直播4.0时代,也就是现在所说的VR直播,它的数据量比以前更大,交互性更强,会让人有身临其境的感觉。VR直播对于设备的要求非常非常高。暴风在2015年上市的时候,创造了一个股市的奇迹,当时市价从7元升到250多。它生产的眼镜,让人如同身临其境,虽然硬件给观看直播带来了一些新鲜的感觉,但是也带来了一些不必要的麻烦,比如观看的时候,用户对设备的依赖感特别强,而且受地域的影响,如果没有外联设备,体验就大打折扣。 直播4.0时代的特点是多维互动,数据量大,延迟容忍度2-5s,虽然目前技术条件不够成熟,体验还不完美,但是是大势所趋。

Flash 彻底退出还要两年时间,在这段时间里,通过如下框架也是可以适配 Flash 播放器。

了解了直播的发展过程,总结一下直播行业遇到的挑战:

图片 5△ H5P2P + FlashPlayer示意图

首先就是我们刚刚一直提到的画面的高清晰,以及观看的高流量。

我们总结一下过去若干年的 P2P 直播,主要有这样的一些特征,要么树型结构,要么网状结构,要么树型和网状融合起来。

其次,我们观看直播的设备越来越丰富,不光是在电脑上、电视上,同时在手机上也可以进行观看,这就会带来一些潜在的问题。直播非常烧钱,需要大量的服务器资源、带宽资源,平时服务带宽一两个G,突然有一天来了上百万的直播流请求,会让服务器崩溃。

  • Tree:树型
  • Mesh:网状
  • Tree + Mesh:树型 +网状

这是直播行业遇到的一些挑战,也是亟待解决的一些问题。

树状结构是最传统的 P2P 直播,把播放节点分成很多个层次,呈现一棵直播树的形态。直播流通过 RTMP 推送到 CDN 服务器上,然后数据一层层地往下推:数据先往第一层节点发,第一层节点收到了之后再发给第二层节点,第二层节点再发给第三层节点,以此类推,逐层往下发。

又拍直播云服务架构

图片 6△ 树状 P2P 直播示意图

上面介绍了直播行业的发展及面临的挑战,接下来我们探讨一下直播的服务架构。

当播放人数变多,P2P 直播的节点层级也变得很大,最多时会有十几层。这导致它的延时非常大,少则 30 秒,多则达到几分钟的延迟。这种延时水平,在目前的游戏直播、秀场直播等直播应用场景里面是无法应用的。

通过下面的图片,大家可以看到,其实直播云架构最初是很简单的,但是直播对直播源站要求是非常高的。

另一方面,P2P 节点很容易出现退出等不稳定情况,比如用户关闭设备、退出程序等。P2P 直播树有一个节点挂掉,它下面的子树下的所有节点都会受到影响。这也意味着 P2P 直播树不稳定。

图片 7

大家对传统的 P2P 直播树做一些改进。比如节点只是从多个上层节点拿数据,避免子树的不稳定;节点不只是从上层拿数据,同层之间也可以拿数据,这就是在同层之中引入网状的结构了。

△ 直播服务架构图

图片 8△ 网状 P2P 直播示意图

图片 9

FlashP2P 事实上就抛弃了树的概念,直接用一个网状的概念。数据流一到播放节点,直接就开始在节点之间互相传输。这个类型网状 P2P 网络。

△ 一般的直播源站架构图

用 WebRTC 来做 P2P 的 Peer5 采用的是网状 P2P 网络。Streamroot 的解决方案也是网状结构。

几年前云服务厂商,通常是单点配置,但是单点对容错性支持得不是很好,一旦一个服务节点有故障或者是机房的网络有故障,很难在短期内完成切换所以又拍直播云在构架之初,就提出了一个概念:六个数据中心的视频源站集群。如图所示:

相比树状 P2P 网络,网状 P2P 网络的优势是比较稳定,因为节点之间能够互传数据。

图片 10

郑重声明:本文版权归新匍京a奥门-最全网站手机版app官方下载所有,转载文章仅为传播更多信息之目的,如作者信息标记有误,请第一时间联系我们修改或删除,多谢。