P2P流媒体引擎

vuePress-theme-reco    2018 - 2021
P2P流媒体引擎 P2P流媒体引擎

Choose mode

  • dark
  • auto
  • light
在线文档
  • 快速入门
  • Web SDK

    • Hls.js
    • MP4
    • Dash.js
    • Shaka-Player
    • 大文件下载
    • 网站加速
  • Android SDK
  • iOS SDK
  • Flutter SDK
价格
解决方案
  • 机顶盒/IPTV
控制台
关于我们
GitHub
language
  • English
  • 简体中文

在线文档
  • 快速入门
  • Web SDK

    • Hls.js
    • MP4
    • Dash.js
    • Shaka-Player
    • 大文件下载
    • 网站加速
  • Android SDK
  • iOS SDK
  • Flutter SDK
价格
解决方案
  • 机顶盒/IPTV
控制台
关于我们
GitHub
language
  • English
  • 简体中文
  • 快速入门
    • 常见问题
    • 信令服务
    • P2P优化
    • 控制台

      • 绑定域名/AppId
      • 数据分析
      • P2P控制
      • Restful API
    • Hls.js SDK

      • 简介
      • 使用方法
      • 第三方播放器
      • CMS集成
      • API文档
      • CDN
      • 更新日志
    • 安卓 SDK

      • 简介
      • 使用方法
      • API文档
      • 更新日志
    • iOS SDK

      • 简介
      • 使用方法
      • API文档
      • 更新日志
    • Flutter SDK

      • 简介
      • 使用方法
      • API文档
      • 更新日志
    • 网站加速 SDK

      • 简介
      • 使用方法
      • API文档
      • 更新日志
    • Shaka-Player SDK

      • 简介
      • 使用方法
      • 第三方播放器
      • API文档
      • 更新日志
    • Web MP4 SDK

      • 简介
      • 使用方法
      • 第三方播放器
      • API文档
      • 更新日志
    • Dash.js SDK

      • 简介
      • 使用方法
      • 第三方播放器
      • API文档
      • 更新日志
    • 大文件下载 SDK

      • 简介
      • 使用方法
      • API文档
      • 更新日志
    • 安卓 SDK 1.x

      • 简介
      • 使用方法
      • API文档
      • 更新日志
    • 更多

      • 技术原理
      • 用户服务协议

    快速入门

    vuePress-theme-reco    2018 - 2021

    快速入门


    # CDNBye跨平台流媒体加速引擎

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

    p2p

    # 面向未来的P2P流媒体技术

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

    # 工作原理

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

    p2p

    # 集成简单

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

    import Hls from 'cdnbye';
    
    var hlsjsConfig = {
        p2pConfig: {
            live: true,
        }
    };
    var hls = new Hls(hlsjsConfig);
    hls.loadSource('https://your_stream.m3u8');
    hls.attachMedia(video);
    
    import com.cdnbye.sdk.P2pEngine;
    
    P2pEngine.init(this, YOUR_TOKEN, null);
    String parsedUrl = P2pEngine.getInstance().parseStreamUrl("https://your_stream");
    mediaPlayer.play(parsedUrl);
    
    CBP2pEngine.sharedInstance().start(token: YOUR_TOKEN, p2pConfig: nil)
    let orginalUrl = URL.init(string: "https://your_stream.m3u8")
    let parsedUrl = CBP2pEngine.sharedInstance().parse(streamURL: orginalUrl!)
    _player = AVPlayer.init(url: parsedUrl)
    
    import 'package:cdnbye/cdnbye.dart';
    
    await Cdnbye.init(
      YOUR_TOKEN,
      config: P2pConfig.byDefault()
    );
    url = await Cdnbye.parseStreamURL(YOUR_STREAM_URL);
    player = VideoPlayerController.network(url);
    

    # 先进的P2P+CDN架构

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

    p2p

    # 消除P2P安全隐患

    基于主流浏览器默认支持的WebRTC技术,用户使用完全无感知,不需要安装额外的插件,解决了传统P2P安装插件或者客户端软件带来的繁琐和安全隐患。对于视频提供商来说,WebRTC原生的安全传输特性加上P2P技术原生切片化及分布式传输的特性,使得原有的DRM方案完全不受影响,让数据更加安全,难以被攻击或者窃取。

    # 用户服务协议

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

    # 准备开启新的旅程

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

    # 接下来

    • 访问控制台https://www.cdnbye.com/oms 并注册
    • 如果您要在Web端使用P2P:
      • 在控制台点击 网站管理,按照提示绑定域名
      • 如果用于流媒体加速,根据流媒体类型和播放引擎,按照文档说明集成SDK
        • Hls.js
        • MP4
        • Dash.js
        • Shaka-Player (支持HLS和MPEG-DASH)
        • 文件下载器
      • 如果用于网站静态资源加速,请使用网站加速SDK
      • 如果P2P不起作用,请参照问题排查步骤进行排查
    • 如果您要使用移动端原生SDK(或者Electron):
      • 在控制台点击 APP管理,点击左上角按钮获取token,并按照提示绑定APPId
      • 根据要集成SDK的平台,按照文档说明集成SDK
        • 安卓SDK
        • iOS SDK
        • Flutter SDK
      • 调试完成后,即可上线
      • 如果P2P不起作用,请参照问题排查步骤进行排查
    • 回到控制台,即可查看P2P效果
    • 如果用户量较大建议采用灰度发布的方式,在控制台 P2P配置 -> 激活比率 进行配置即可