P2PHlsConfig class
Properties
-
announce
↔ String?
-
默认:https://tracker.cdnbye.com/v1' tracker服务器地址。
getter/setter pair
-
announceLocation
↔ String?
-
默认:cn' tracker服务器地址的国家代号,分为'cn'、'hk'、'us'。
getter/setter pair
-
channelId
↔ String? Function(int m3u8Url)?
-
某些流媒体提供商的m3u8是动态生成的
不同节点的m3u8地址不一样
例如example.com/clientId1/streamId.m3u8和example.com/clientId2/streamId.m3u8
而本插件默认使用m3u8地址(去掉查询参数)作为channelId。
这时候就要构造一个共同的chanelId,使实际观看同一直播/视频的节点处在相同频道中。
getter/setter pair
-
geoIpPreflight
↔ bool?
-
默认:true 向在线IP数据库请求ASN等信息,从而获得更准确的调度,会延迟P2P启动时间。
getter/setter pair
-
getPeerId
↔ void Function(int peerId)?
-
获取本节点的Id
getter/setter pair
-
getPeersInfo
↔ void Function(int peers)?
-
获取成功连接的节点的信息
getter/setter pair
-
getStats
↔ void Function(Map<String, dynamic> data)?
-
获取p2p下载信息
该回调函数可以获取p2p信息,包括:
totalHTTPDownloaded: 从HTTP(CDN)下载的数据量(单位KB)
totalP2PDownloaded: 从P2P下载的数据量(单位KB)
totalP2PUploaded: P2P上传的数据量(单位KB)
p2pDownloadSpeed: P2P下载速度(单位KB/s)
getter/setter pair
-
hashCode
→ int
-
The hash code for this object.
no setterinherited
-
httpLoadTime
↔ int?
-
默认:2.0 P2P下载超时后留给HTTP下载的时间。
getter/setter pair
-
live
↔ bool?
-
默认:true 设置直播或者点播模式,不同模式会自动设置不同的hls.js参数。
getter/setter pair
-
logLevel
↔ String?
-
默认:boolean 'error' log的等级,分为'warn'、'error'、'none',设为true等于'warn',设为false等于'none'。
getter/setter pair
-
memoryCacheLimit
↔ Object?
-
默认:{"pc": 800 * 1024 * 1024, "mobile": 500 * 1024 * 1024} p2p缓存的最大数据量,分为PC和mobile。
getter/setter pair
-
p2pEnabled
↔ bool?
-
默认:true 是否开启P2P。
getter/setter pair
-
runtimeType
→ Type
-
A representation of the runtime type of the object.
no setterinherited
-
segmentId
↔ String? Function(Map<String, dynamic> data)?
-
解决动态ts路径问题
类似动态m3u8路径问题,相同ts文件的路径也可能有差异
这时候需要忽略ts路径差异的部分
插件默认用ts的绝地路径(url)来标识每个ts文件
所以需要通过钩子函数重新构造标识符。
getter/setter pair
-
sharePlaylist
↔ bool?
-
默认:false 是否允许m3u8文件的P2P传输。
getter/setter pair
-
token
↔ String?
-
默认:undefined token用于控制台多域名数据汇总展示,另外如果自定义channelId也需要设置token。
getter/setter pair
-
useHttpRange
↔ bool?
-
默认:true 在可能的情况下使用Http Range请求来补足p2p下载超时的剩余部分数据。
getter/setter pair
-
waitForPeer
↔ bool?
-
默认:false 优先尝试从对等端下载前几片数据,可以提高P2P比例,但可能会增加起播延时。
getter/setter pair
-
waitForPeerTimeout
↔ int?
-
默认:4.5 waitForPeer的超时时间(单位秒),超时后恢复从http下载。
getter/setter pair
-
webRTCConfig
↔ Object?
-
默认:{} 用于配置stun和datachannel的字典 (opens new window)。
getter/setter pair
-
xhrSetup
→ Function
-
no setter
Methods
-
noSuchMethod(Invocation invocation)
→ dynamic
-
Invoked when a nonexistent method or property is accessed.
inherited
-
toString()
→ String
-
A string representation of this object.
inherited