Skip to content

TIP

大视频时代,重新定义流媒体分发,SwarmCloud让你的用户设备成为你无限扩展的CDN节点,与高昂的CDN流量费Say Goodbye!

p2p

面向未来的P2P流媒体技术

随著5G技术的普及,包括直播在内的线上视频娱乐已经逐渐成为主流娱乐方式。然而,CDN部署成本极高,成本增速超过收入增速,落后的技术无法满足各大视频厂商扩张业务和降低成本的需求。对于终端用户而言,由于多数CDN服务商不能覆盖全部ISP和网络边缘,导致用户在观看视频时都无法避免地遭受二次缓冲、卡顿等不良体验。 "P2P+CDN"的视频传输模型有效的解决了服务器带宽不足的问题,在提升用户观看体验的同时为视频厂商节省带宽成本。 然而,传统的P2P技术由于自身的局限性(大多采用私有协议),无法实现跨平台的端到端传输,这极大的限制了P2P的利用率。SwarmCloud采用WebRTC Datachannel标准协议,实现了Web、iOS、Android与PC的全平台P2P互联,充分利用网络中每个节点的上行带宽,解决了P2P无法跨平台以及利用率不高的问题。

工作原理

传统的流媒体播放模式是播放器向CDN(源服务器)请求数据进行渐进式下载播放,SwarmCloud通过在客户端集成SDK的方式,在播放器与网络之间嵌入一层代理,播放器向代理请求数据,由代理在P2P与CDN之间进行智能切换,在保证播放流畅的前提下最大化P2P使用率。

p2p

集成简单

写代码,可以是一件愉快的事。

javascript
import Hls from '@swarmcloud/hls/hls.min';

if(Hls.isSupported()) {
    var hls = new Hls();
    hls.loadSource('https://your_stream.m3u8');
    hls.attachMedia(video);
}
kotlin
import com.p2pengine.sdk.P2pEngine

P2pEngine.init(applicationContext, YOUR_TOKEN, null)
val parsedUrl = P2pEngine.instance!!.parseStreamUrl("https://your_stream")
mediaPlayer.play(parsedUrl)
swift
import SwarmCloudKit

let parsedUrl = P2pEngine.shared.parseStreamUrl("https://your_stream.m3u8")
_player = AVPlayer.init(url: URL(string: parsedUrl)!)
dart
import 'package:flutter_p2p_engine/flutter_p2p_engine.dart';

await FlutterP2pEngine.init(
  YOUR_TOKEN,
  config: P2pConfig.byDefault()
);
url = await FlutterP2pEngine.parseStreamURL(YOUR_STREAM_URL);
player = VideoPlayerController.networkUrl(url);
tsx
import { initP2pEngine, parseStreamURL, TrackerZone } from 'react-native-swarmcloud';

initP2pEngine(YOUR_TOKEN, {
    trackerZone: TrackerZone.Europe,           // Set HongKong or USA if you changed zone
})
.then(() => {
    const url = parseStreamURL(YOUR_STREAM_URL);
    setSource({ uri: url });
})

先进的P2P+CDN架构

CDN与P2P在流媒体分发中存在非常强的互补性,SwarmCloud的P2P分发网络与CDN技术深度融合,视频观看者首次点开播放器一律到CDN边缘节点获取资源,在已经能够正常观看视频的过程中同时连入P2P网络,在保证足够剩余缓冲时间的前提下从对等端获取资源。一旦对等端下线或者网络抖动,再无缝切换回CDN边缘节点取片,保证视频的流畅播放,从而解决了P2P网络可用性不可控的问题。

p2p

消除P2P安全隐患

  • 基于主流浏览器默认支持的WebRTC技术,用户使用完全无感知,不需要安装额外的插件,解决了传统P2P安装插件或者客户端软件带来的繁琐和安全隐患。
  • 对于视频提供商来说,WebRTC原生的安全传输特性加上P2P技术原生切片化及分布式传输的特性,使得原有的DRM方案完全不受影响,让数据更加安全,难以被攻击或者窃取。
  • P2P只有在用户获得CDN服务器授权并开始播放后才开启,CDN服务器的授权流程(tokens, keys, cookies等)在P2P启动前后都保持一致。
  • 所有媒体数据缓存在应用的内存中而不是磁盘,这些内存空间无法被其它应用或者调试工具访问,从而保证视频数据不会被窃取。

用户服务协议

如果您使用了本服务,则视为同意SwarmCloud用户服务协议

零成本启动

SwarmCloud为每个账号每天提供150GB免费流量,助你零成本上手。

接下来

  • 访问管理面板并注册
  • 如果您要在Web端使用P2P:
  • 如果您要使用移动端原生SDK:
  • 回到管理面板,即可查看P2P效果
  • 如果用户量较大建议采用灰度发布的方式,在管理面板 P2P配置 -> 激活比率 进行配置即可

粤ICP备18075581号