-
Notifications
You must be signed in to change notification settings - Fork 2
/
index.js
61 lines (56 loc) · 1.24 KB
/
index.js
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
"use strict";
const Clappr = require("clappr");
const HlsjsIpfsLoader = require("hlsjs-ipfs-loader");
const IPFS = require("ipfs");
module.exports = ({
selector,
source,
poster,
mimeType,
ipfsHash,
node,
...rest
}) => {
const ipfsNode =
node ||
new IPFS({
bitswap: {
maxMessageSize: 128 * 1024
},
repo: "paratii-" + String(Math.random() + Date.now()).replace(/\./g, ""),
config: {
Addresses: {
Swarm: ["/dns4/star.paratii.video/tcp/443/wss/p2p-webrtc-star"]
},
Bootstrap: [
"/dns4/bootstrap.paratii.video/tcp/443/wss/ipfs/QmeUmy6UtuEs91TH6bKnfuU1Yvp63CkZJWm624MjBEBazW"
]
}
});
const player = new Clappr.Player({
source,
poster,
mimeType,
parentId: selector,
width: "100%",
height: "100%",
chromeless: true,
position: "top-right",
watermarkLink: "http://paratii.video/",
playback: {
hlsjsConfig: {
fLoader: HlsjsIpfsLoader,
ipfs: ipfsNode,
ipfsHash,
enableWorker: true,
autoLevelEnabled: true,
autoStartLoad: true,
maxLoadingDelay: 2,
maxStarvationDelay: 2
}
},
...rest
});
player.clappr = Clappr;
return player;
};