@stremio/stremio-video 0.0.10 → 0.0.14
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@stremio/stremio-video",
|
|
3
|
-
"version": "0.0.
|
|
3
|
+
"version": "0.0.14",
|
|
4
4
|
"description": "Abstraction layer on top of different media players",
|
|
5
5
|
"author": "Smart Code OOD",
|
|
6
6
|
"main": "src/index.js",
|
|
@@ -16,7 +16,7 @@
|
|
|
16
16
|
"deep-freeze": "0.0.1",
|
|
17
17
|
"eventemitter3": "4.0.7",
|
|
18
18
|
"hat": "0.0.3",
|
|
19
|
-
"hls.js": "1.0.10",
|
|
19
|
+
"hls.js": "https://github.com/Stremio/hls.js/releases/download/v1.0.10-patch2/hls.js-1.0.10-patch2.tgz",
|
|
20
20
|
"lodash.clonedeep": "4.5.0",
|
|
21
21
|
"magnet-uri": "6.2.0",
|
|
22
22
|
"url": "0.11.0",
|
|
@@ -1,9 +1,14 @@
|
|
|
1
1
|
module.exports = {
|
|
2
|
+
debug: false,
|
|
3
|
+
enableWorker: true,
|
|
4
|
+
lowLatencyMode: false,
|
|
2
5
|
backBufferLength: 30,
|
|
3
6
|
maxBufferLength: 50,
|
|
4
7
|
maxMaxBufferLength: 80,
|
|
8
|
+
maxFragLookUpTolerance: 0,
|
|
9
|
+
maxBufferHole: 0,
|
|
5
10
|
appendErrorMaxRetry: 20,
|
|
6
|
-
nudgeMaxRetry:
|
|
11
|
+
nudgeMaxRetry: 20,
|
|
7
12
|
manifestLoadingTimeOut: 30000,
|
|
8
13
|
manifestLoadingMaxRetry: 10,
|
|
9
14
|
// liveDurationInfinity: false
|
|
@@ -96,34 +96,47 @@ function withStreamingServer(Video) {
|
|
|
96
96
|
onPropChanged('stream');
|
|
97
97
|
convertStream(commandArgs.streamingServerURL, commandArgs.stream, commandArgs.seriesInfo)
|
|
98
98
|
.then(function(mediaURL) {
|
|
99
|
-
|
|
100
|
-
|
|
101
|
-
|
|
102
|
-
|
|
103
|
-
|
|
104
|
-
|
|
105
|
-
|
|
106
|
-
|
|
99
|
+
return (commandArgs.forceTranscoding ? Promise.resolve(false) : Video.canPlayStream({ url: mediaURL }))
|
|
100
|
+
.catch(function(error) {
|
|
101
|
+
console.warn('Media probe error', error);
|
|
102
|
+
return false;
|
|
103
|
+
})
|
|
104
|
+
.then(function(canPlay) {
|
|
105
|
+
if (canPlay) {
|
|
106
|
+
return {
|
|
107
|
+
url: mediaURL
|
|
108
|
+
};
|
|
109
|
+
}
|
|
107
110
|
|
|
108
|
-
|
|
109
|
-
|
|
110
|
-
|
|
111
|
-
|
|
112
|
-
return Object.assign({}, track, {
|
|
113
|
-
url: typeof track.url === 'string' ?
|
|
114
|
-
url.resolve(commandArgs.streamingServerURL, '/subtitles.vtt?' + new URLSearchParams([['from', track.url]]).toString())
|
|
115
|
-
:
|
|
116
|
-
track.url
|
|
117
|
-
});
|
|
118
|
-
})
|
|
119
|
-
:
|
|
120
|
-
[],
|
|
121
|
-
behaviorHints: {
|
|
122
|
-
headers: {
|
|
123
|
-
'content-type': 'application/vnd.apple.mpegurl'
|
|
111
|
+
var id = hat();
|
|
112
|
+
var queryParams = new URLSearchParams([['mediaURL', mediaURL]]);
|
|
113
|
+
if (commandArgs.forceTranscoding) {
|
|
114
|
+
queryParams.set('forceTranscoding', '1');
|
|
124
115
|
}
|
|
125
|
-
|
|
126
|
-
|
|
116
|
+
if (commandArgs.audioChannels !== null && isFinite(commandArgs.audioChannels)) {
|
|
117
|
+
queryParams.set('audioChannels', commandArgs.audioChannels);
|
|
118
|
+
}
|
|
119
|
+
|
|
120
|
+
return {
|
|
121
|
+
url: url.resolve(commandArgs.streamingServerURL, '/hlsv2/' + id + '/master.m3u8?' + queryParams.toString()),
|
|
122
|
+
subtitles: Array.isArray(commandArgs.stream.subtitles) ?
|
|
123
|
+
commandArgs.stream.subtitles.map(function(track) {
|
|
124
|
+
return Object.assign({}, track, {
|
|
125
|
+
url: typeof track.url === 'string' ?
|
|
126
|
+
url.resolve(commandArgs.streamingServerURL, '/subtitles.vtt?' + new URLSearchParams([['from', track.url]]).toString())
|
|
127
|
+
:
|
|
128
|
+
track.url
|
|
129
|
+
});
|
|
130
|
+
})
|
|
131
|
+
:
|
|
132
|
+
[],
|
|
133
|
+
behaviorHints: {
|
|
134
|
+
headers: {
|
|
135
|
+
'content-type': 'application/vnd.apple.mpegurl'
|
|
136
|
+
}
|
|
137
|
+
}
|
|
138
|
+
};
|
|
139
|
+
});
|
|
127
140
|
})
|
|
128
141
|
.then(function(stream) {
|
|
129
142
|
if (commandArgs !== loadArgs) {
|