【视频直播场景下P2P对等网技术①】挑战与形式化分析

我在熊猫直播亲自主持的最后一个项目,就是要试图通过P2P对等网技术来切实降低互联网视频直播的流量成本,对此有一些数据上&经验的积累和检验。很遗憾没有机会看到最后的结果,但也希望我们的经验能够帮助这个行业本身的成长,所以在此分享给大家。接下来的几篇文章,我将就P2P的设计、验证与经验,与大家一一分享。


让我们来设想一下场景:某赛事总决赛,数百万人同时在看比赛直播,这时一个新的观众刚打开直播,那么从这几百万人中选取哪些来建立P2P连接来拉直播流比较高效稳定呢?

接下来我们来分析一下这里面的约束条件:

  1. 该对等网络规模很大,有数百万个节点;
  2. 直播的业务场景表示每个正常观看的节点获取到的信息是相同的(不同于点播,直播视频流的时间轴是对齐的,至少是我们希望对齐的)(考虑到容错机制,至少是等价的);
  3. 每个节点的上行带宽是有限的,也就是说它能分享出去的流的份数是有限的;
  4. 每个节点都有一定概率随时掉线,为了增加视频流的稳定性,拉流应该有一定的冗余度
  5. 我们需要知道这个新的节点与网络中另外数百万个节点建立连接的性能和成本

基于上面的条件,我们做形式化定义如下:

  1. 设图 G G G是一个有序三元组, G = ( V ( G ) , E ( G ) , ω G ) G=(V(G),E(G), \omega_G) G=(V(G),E(G),ωG​),
  2. 其中 V ( G ) V(G) V(G)是图G的顶点集 ,内部的元素称为图 G G G的顶点(Vertex)
  3. E ( G ) E(G) E(G)是与 V ( G ) V(G) V(G)不相交的边集,内部的元素称为图 G G G的边(Edge)
  4. 对 ∀ v ∈ V \forall v \in V ∀v∈V, 记 d o ( v ) d_o(v) do​(v)表示以顶点 v v v为起点的边的条数; 记 d i ( v ) d_i(v) di​(v)表示以顶点 v v v为终点的边的条数

基于上面分析,约束条件的形式化描述为:

  1. ∀ v ∈ V , d i ( v ) ≥ A 1 且 d i ( v ) ≤ A 2 \forall v \in V, d_i(v)\geq A_1 且 d_i(v)\leq A_2 ∀v∈V,di​(v)≥A1​且di​(v)≤A2​,即要满足视频流正常播放,需要同时有至少 A 1 A_1 A1​路流。同时,记 ρ = A 2 A 1 \rho=\frac{A_2}{A_1} ρ=A1​A2​​为系统设计冗余度
  2. ∀ v ∈ V , ∃ d o ( v ) ≤ B v \forall v \in V, \exists d_o(v)\leq B_v ∀v∈V,∃do​(v)≤Bv​,等价于节点 v v v最大上行带宽。
  3. ω G \omega_G ωG​是联通性能函数, ∀ ( u , v ) ∈ E , ∃ ω ( u , v ) ∈ R + \forall (u,v)\in E, \exists \omega(u,v)\in R^+ ∀(u,v)∈E,∃ω(u,v)∈R+,称为这条边的联通性能。

带入场景,假设节点 F F F加入目标对等网络前一刻的网络有 m m m个顶点,则此时的核心问题是在 m m m个顶点中选 A 2 A_2 A2​个符合约束条件的且总联通性能 ∑ 1 A 2 ω ( v ) \sum_1^{A_2}\omega(v) ∑1A2​​ω(v)最大的组合给新加入的节点 F F F拉流。

顺着这个场景分析,我们看看要让新加入的节点 F F F获得最好的收视效果,还需要在解决哪些核心问题。

  1. 对于 ∀ ( u , v ) ∈ E \forall (u,v) \in E ∀(u,v)∈E,如何度量其联通性能,也即 ω ( u , v ) \omega(u,v) ω(u,v)是一个挑战。这需要了解运营商复杂的网络拓扑才能预测。
  2. 对于 G = { V , E , Ω } G=\{V,E,\Omega\} G={V,E,Ω},令 m = ∣ V ∣ m=|V| m=∣V∣, 则对于新加入的节点 F F F来说,有 C m A 2 C_m^{A_2} CmA2​​种可能的组合。考虑到 m m m可能会比较大(几百万),所以对于每个新节点的加入,计算量还是比较大的。

基于业务场景,考虑到 G G G中业已建立的连接不能因为新节点的加入而重构,可见对于整个 G G G来说,新节点 F F F按照最佳策略加入后形成的 G ′ G' G′也是全局最优的,这显然符合贪心算法的构造过程。

【视频直播场景下P2P对等网技术①】挑战与形式化分析相关推荐

  1. 【视频直播场景下P2P对等网技术②】任意两节点的联通性能评估

    [视频直播场景下P2P对等网技术②]任意两节点的联通性能评估 如上文([视频直播场景下P2P对等网技术①])所述,当一个新的节点 F F F加入现有的网络 G G G的时候,若 m = ∣ V G ∣ ...

  2. RTC在大规模直播场景下的技术分析

    RTC是延时非常低的CDN服务,RTC在一对一或者一对几的通话已经是非常成熟的服务了,现在很多应用都已经这么做了.大家如果有这种场景的可以直接往上走,已经没有什么技术障碍了. 我们今天聊的场景是一个对 ...

  3. 优酷智能档在大型直播场景下的技术实践

    作者 | 阿里文娱高级技术专家 肖文良 本文为阿里文娱高级技术专家肖文良在[阿里文娱2019双11猫晚技术沙龙]中的演讲,主要内容为如何通过优酷智能档,降低用户卡顿尤其是双11直播场景下,提升用户观看 ...

  4. 阿里技术分享:电商IM消息平台,在群聊、直播场景下的技术实践

    本文由淘宝消息业务团队李历岷(花名骨来)原创分享,首次发表于公众号"淘系技术",有修订和改动. 1.引言 本文来自淘宝消息业务团队的技术实践分享,分析了电商IM消息平台在非传统IM ...

  5. 实时音频混音技术在视频直播场景中的实践

    最近半年,视频直播领域中产生不少创新玩法,其中包括K歌直播和合唱直播.这些创新玩法都用到实时音频混音技术.今天我们来聊一下混音技术的实现,及其在创新玩法中的应用. \\ 混音的应用场景 \\ 混音,顾 ...

  6. 微博直播场景下,如何实现百万并发的答题互动系统

    内容来源:2018 年 09 月 07 日,新浪微博系统开发工程师陈浩在"RTC2018 实时互联网大会"进行<微博直播场景下百万并发的消息互动系统>演讲分享.IT 大 ...

  7. 从CV到ML 直播场景下新技术的应用

    版权声明:本文为博主原创文章,未经博主允许不得转载. https://blog.csdn.net/vn9PLgZvnPs1522s82g/article/details/82392646 本文来自花椒 ...

  8. 视频会议场景下的弱网优化

    疫情将远程办公,视频会议推上了风口的同时,同样也为视频会议平台的运作带来了更多的挑战.蓝猫微会创始人兼CEO 邓昀泽在LiveVideoStack线上分享中针对视频会议系统优化中弱网定义,算法评估及技 ...

  9. 边缘计算在视频直播场景的应用与实践

    9月24日,火山引擎开发者社区第九期 Meetup 圆满落幕,来自腾讯云.七牛云.火山引擎的技术专家从抖音同款 RTC 能力.直播系统架构.边缘计算服务.视频云存储等方面为大家详细介绍直播创新玩法下的 ...

最新文章

  1. 图像像素点赋值_医学图像处理教程(五)——医学图像边缘检测算法
  2. STM32-通用定时器基本定时功能
  3. 招募技术合伙人(H5混合开发+秒开流应用)
  4. python抖音github_GitHub - eternal-flame-AD/Douyin-Bot: Python 抖音机器人,论如何在抖音上找到漂亮小姐姐?...
  5. HDU2795 Billboard
  6. dft计算傅里叶级数系数_一道国外的DFT性质的题目
  7. 会动的图解 | 既然IP层会分片,为什么TCP层也还要分段?
  8. 逻辑运算符 用法解释
  9. 31、Arrays数组排序(续)——自定义排序
  10. c语言(随机数rand)
  11. 如何用SPSS或Excel做中介效应的Sobe检验?
  12. 使用 border 属性制作三角形
  13. 生物细胞繁衍生存模拟仿真
  14. LED背光源照明技术迅速发展
  15. IDEA常用快捷键,修改后更好用
  16. Julia开发工具Atom+Juno的安装与使用
  17. Rosalind Java| Computing GC Content
  18. css html模板下载插件
  19. 在Winform中上传文件的工具类-ResourceMgr
  20. GD32 mcu sram启动配置方法

热门文章

  1. WEB前端网页设计-Bootstrap 按钮下拉菜单
  2. 螺丝锁附过程的相关概念以及流程
  3. [Vue]非父子组件传值(bus/总线/观察者模式/发布订阅模式)
  4. 美团点评2020校招笔试 2019.08.22
  5. 根据百度地图API自定义切换地图类型为卫星或普通
  6. U盘中毒了,里面重要的文件夹不见了怎么办?
  7. 小米路由器PC客户端无法打开路由器…
  8. 绿色荧光素标记硫酸软骨素;FITC-Chondroitin-Sulfate;Chondroitin-Sulfate -Fluorescein
  9. vs项目中的引用是什么意思
  10. js中的的GO和AO