1 Star 0 Fork 91

方斌斌1990 / flutter-p2p-engine

forked from cdnbye / flutter-p2p-engine 
加入 Gitee
与超过 1200万 开发者一起发现、参与优秀开源项目,私有仓库也完全免费 :)
免费加入
克隆/下载
贡献代码
同步代码
取消
提示: 由于 Git 不支持空文件夾,创建文件夹后会生成空的 .keep 文件
Loading...
README

English | 简体中文

cdnbye logo

Flutter视频/直播APP省流量&加速神器.

pub

该插件的优势如下:

  • 支持iOS和安卓平台,可与Web端插件P2P互通
  • 支持基于HLS流媒体协议(m3u8)的直播和点播场景
  • 支持加密HLS传输
  • 支持ts文件缓存从而避免重复下载
  • 几行代码即可在现有Flutter项目中快速集成
  • 支持任何Flutter播放器
  • 通过预加载形式实现P2P加速,完全不影响用户的播放体验
  • 高可配置化,用户可以根据特定的使用环境调整各个参数
  • 通过有效的调度策略来保证用户的播放体验以及p2p分享率
  • Tracker服务器根据访问IP的ISP、地域等进行智能调度

引入插件

在项目的pubspec.yaml中添加 cdnbye 作为依赖。

iOS

系统要求:支持iOS 9.0以上系统。注意:本SDK暂时不支持bitcode,在发布前请在xcode关闭bitcode。
CDNBye通过本地代理服务器拦截数据请求的方式来进行P2P缓存和传输,所以需要在项目的info.plist中允许HTTP请求:

<key>NSAppTransportSecurity</key>
<dict>
    <key>NSAllowsArbitraryLoads</key>
    <true/>
</dict>

Android

系统要求:安卓4.4以上版本(API level >= 19)
app/src/main目录中的AndroidManifest.xml中增加如下权限声明:

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE"/>
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>

从Android P系统开始,如果应用使用的是非加密的明文流量的http网络请求,则会导致该应用无法进行网络请求,https则不会受影响。由于本地代理服务需要使用http协议访问,针对这个问题,有以下两种解决方法:
(1) targetSdkVersion 降到27以下
(2) 更改网络安全配置,在app/src/main目录中的AndroidManifest.xml的标签中直接插入:

<application
  ...
  android:usesCleartextTraffic="true"
  ...
    />

示例

import 'package:flutter/material.dart';
import 'package:video_player/video_player.dart';
import 'package:cdnbye/cdnbye.dart';

// Init p2p engine
_initEngine();

// Start playing video
_loadVideo();

_initEngine() async {
    await Cdnbye.init(
      YOUR_TOKEN,
      config: P2pConfig.byDefault()
    );
}

_loadVideo() async {
    var url = YOUR_STREAM_URL;
    url = await Cdnbye.parseStreamURL(url);           // Parse your stream url
    player = VideoPlayerController.network(url);
    player.play();
}

获取Token

参考如何获取token

反馈及意见

当你遇到任何问题时,可以通过在 GitHub 的 repo 提交 issues 来反馈问题,请尽可能的描述清楚遇到的问题,如果有错误信息也一同附带,并且在 Labels 中指明类型为 bug 或者其他。

相关项目

FAQ

我们收集了一些常见问题。在报告issue之前请先查看一下。

联系我们

邮箱:service@cdnbye.com

空文件

简介

Flutter视频/直播APP省流量&加速神器! 展开 收起
取消

发行版

暂无发行版

贡献者

全部

近期动态

加载更多
不能加载更多了
Dart
1
https://gitee.com/fangbinbin1990/flutter-p2p-engine.git
git@gitee.com:fangbinbin1990/flutter-p2p-engine.git
fangbinbin1990
flutter-p2p-engine
flutter-p2p-engine
master

搜索帮助