PCDN实现flash无延时直播的技术原理与优点

简介: PCDN是以P2P技术为基础,通过挖掘利用边缘网络海量碎片化闲置资源而构建的内容分发网络,它具有低成本、高品质的特点,十分适用于视频直播这一业务场景。针对直播中延时的情况,PCDN也进行了一系列优化,近期上线了flash无延时直播方案,下面我们将来介绍下无延时直播方案的技术原理和实现。

随着直播业务的大众化,直播过程中的技术也面临着越来越多的挑战。而延时影响用户体验的一个十分重要的因素。

直播过程中的延时是指从主播端采集,到观众端播放之间的时间差,主要来源于网络传输中的延时、网络抖动、网络丢包等等情况,短则1s-2s, 长则15以上,严重时可导致用户无法观看,所以解决直播延时问题一直是技术亟待解决的痛点。

我们知道PCDN是以P2P技术为基础,通过挖掘利用边缘网络海量碎片化闲置资源而构建的内容分发网络,它具有低成本、高品质的特点,十分适用于视频直播这一业务场景。针对直播中延时的情况,PCDN也进行了一系列优化,近期上线了flash无延时直播方案,下面我们将来介绍下无延时直播方案的技术原理和实现。

首先,我们来看看无延时传输策略是怎样的?

第一,切片大小是影响延时的直接因素,无延时直播的切片小,避免了因为切片过大的原因出现播放延时,同时P2P传输不会分包,提高传输效率。
第二,无延时直播采用订阅/推送模式,订阅子流,推送模式进行分享调度,满足直播的实时要求。
第三,当订阅/推送模式在peer退出时出现切片空洞,则使用快速补片的方式保证数据连续性和播放流畅度。

PCDN flash无延时直播整体服务架构

pcdn_

1、主播通过rtmp协议将直播流推送到阿里CDN
2、切片服务通过rtmp协议从阿里CDN拉取直播流并进行切片
3、阿里CDN再通过http协议拉取切片流,最终通过websocket协议分发到PCDN网络

那么无延时直播和有延时直播的区别是什么?

第一,切片类型不同
有延时直播切片按照时间切片,切片时长可配置,基本是在1s或500ms;
无延时直播切片按照大小切片,默认是1KB。
第二,分发类型
有延时直播,按照点播文件分发,每个切片都是单独的文件;
无延时直播,按照流式分发,与CDN L2节点维持长连接,通过http协议流式传输。
第三,CDN L1节点与终端传输协议不同
有延时直播是http协议,不支持持久连接
无延时直播是websocket协议,支持持久连接

我们可以看出,无延时直播方案是从直播流实时处理和传输分发等层面分别进行了优化,从而实现了流畅的直播用户体验。

PCDN flash无延时直播具有几大优势:

第一,可以支持大直播场景(重要赛事、大型活动、在线教育),服务端可以支撑上百万的同时在线量。
第二,P2P智能调度,可以从上百万的peer中选择与当前peer连通性最好的一批peer,确保更精准、更快速的数据传输。
第三, 支持热点自发现,仅为热点直播提供P2P服务,最大程度提升P2P效率,帮助用户节省成本。
第四,指标表现优异:平均延时小于 1s , 和CDN相比无延时,直播流畅率> 99%,同时P2P分享率可达30%-60%。

感兴趣的用户,可以在官网申请书使用,通过播放器加载SDK,SDK提供出LiveStream类,该类继承自flash.net.NetStream,播放器可使用NetStream类调用play函数播放对应的直播流,实现flash无延时直播。

目录
相关文章
|
Linux 网络安全 数据安全/隐私保护
FileZilla 将本地文件上传到linux目录
FileZilla 将本地文件上传到linux目录
662 0
|
监控 安全 Linux
深入探讨Samba服务器的配置与使用
深入探讨Samba服务器的配置与使用
1669 0
|
网络安全 Docker 容器
内网穿透访问你家里的树莓派
你有一个自己的外网服务器,然后捏你又买了一个树莓派放家里吃灰,有一天,你觉得不能让你的树莓派吃灰,你想上班的时候用你的树莓派在家里编译arm用的镜像程序。于是,便有了本篇文章~~~如何通过内网穿透访问你家里的树莓派。(注:仅用于测试,闹着玩,千万别上生产,上生产需要自己进行改造用户权限以及审计功能,这部分就不贴出来了) 使用的工具:docker,rtty,rttys
839 0
内网穿透访问你家里的树莓派
|
人工智能 自然语言处理 负载均衡
排期延误预警:用AI预测项目风险的3层模型搭建教程
本文介绍了如何通过 AI 智能排期将项目排期误差减少 40% 以上。文章剖析了传统排期中常见的经验依赖、资源冲突、需求变更和进度滞后四大痛点,提出 AI 排期的三步落地方法:历史数据建模、动态适配需求、资源智能匹配,并推荐适配不同团队的 AI 排期工具。强调 AI 是辅助而非替代,核心在于用数据驱动提升排期准确性,帮助团队告别“拍脑袋估期”,实现高效、可控的项目管理。
排期延误预警:用AI预测项目风险的3层模型搭建教程
|
Oracle Java Linux
JDK
JDK
5684 0
|
Python
Python 将PowerPoint (PPT/PPTX) 转为HTML
使用Python将PowerPoint转换为HTML以适应网络分享。需安装`Spire.Presentation for Python`库,通过`pip install Spire.Presentation`。示例包括:1) 全部转换,使用`Presentation.SaveToFile()`方法;2) 转换特定幻灯片,通过`Presentation.Slides[]`获取幻灯片再保存。代码示例展示了具体操作步骤。
1371 6
|
运维 监控 调度
普通人如何用PCDN来赚钱
私有内容分发网络(PCDN)利用分散的终端设备和带宽资源,构建去中心化的内容分发系统。普通人可通过搭建PCDN,利用闲置设备实现低成本、高灵活性的赚钱机会。主要步骤包括硬件准备、选择稳定软件平台、设计网络架构、内容管理和运维监控。盈利模式涵盖提供PCDN服务、广告合作、流量变现及增值服务。通过优化网络配置和设备选择,可最大化收益。尽管存在法律风险和收益波动,但合理搭建和维护能带来可观回报。
20581 0
|
Java API Maven
SpringBoot+SeetaFace6搭建人脸识别平台
【10月更文挑战第8天】以下是使用Spring Boot和SeetaFace6搭建人脸识别平台的步骤:首先安装Java和Maven,下载SeetaFace6库并添加依赖;接着创建Spring Boot项目并在`pom.xml`中添加必要依赖;然后配置SeetaFace6参数;实现人脸识别服务类与控制器类;最后使用工具如Postman测试API接口及识别结果。示例代码展示了如何接收图像数据并进行人脸检测。可根据具体需求扩展更多功能,如用户管理和历史记录等。
1550 1
|
机器学习/深度学习 人工智能 文字识别
轻松识别文字,这款Python OCR库支持超过80种语言
轻松识别文字,这款Python OCR库支持超过80种语言
1513 2
|
缓存 编解码 算法
Skia深入分析10——Skia库的性能与优化潜力
Skia库性能与优化潜力 图形/渲染 算法/架构 作为图形渲染引擎,性能上是非常重要的,按通常Android手机60帧的刷新率,绘制一帧的总时间只有16ms,可谓是毫厘必争。提升性能到最后,就必然跟不同CPU的特性打交道,毕竟一个SIMD下去,好做的提升5、6倍,不那么好做的也达到2、3倍,收益极其可观。 SIMD,在intel上是SSE,在arm上是neon,在
9787 0