Update ffm3u8_open.js

main
catvod 2 years ago committed by GitHub
parent e5e20a98ac
commit 0239319813
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
  1. 35
      open/ffm3u8_open.js

@ -94,38 +94,37 @@ async function proxy(segments, headers, reqHeaders) {
let what = segments[0];
let segs = decodeURIComponent(segments[1]);
if (what == 'hls') {
function hlsHeader(data, hls) {
let hlsHeaders = {};
if (data.headers['content-length']) {
Object.assign(hlsHeaders, data.headers, { 'content-length': hls.length.toString() });
} else {
Object.assign(hlsHeaders, data.headers);
}
delete hlsHeaders['transfer-encoding'];
if (hlsHeaders['content-encoding'] == 'gzip') {
delete hlsHeaders['content-encoding'];
}
return hlsHeaders;
}
const hlsData = await hlsCache(segs, headers);
if (hlsData.variants) {
// variants -> variants -> .... ignore
const hls = HLS.stringify(hlsData.plist);
let hlsHeaders = {};
if (hlsData.headers['content-length']) {
Object.assign(hlsHeaders, hlsData.headers, { 'content-length': hls.length.toString() });
} else {
Object.assign(hlsHeaders, hlsData.headers);
}
const result = {
return {
code: hlsData.code,
content: hls,
headers: hlsHeaders,
headers: hlsHeader(hlsData, hls),
};
return result;
} else {
const hls = HLS.stringify(hlsData.plist, (segment) => {
return js2Proxy(false, siteType, siteKey, 'ts/' + encodeURIComponent(hlsData.key + '/' + segment.mediaSequenceNumber.toString()), headers);
});
let hlsHeaders = {};
if (hlsData.headers['content-length']) {
Object.assign(hlsHeaders, hlsData.headers, { 'content-length': hls.length.toString() });
} else {
Object.assign(hlsHeaders, hlsData.headers);
}
const result = {
return {
code: hlsData.code,
content: hls,
headers: hlsHeaders,
headers: hlsHeader(hlsData, hls),
};
return result;
}
} else if (what == 'ts') {
const info = segs.split('/');

Loading…
Cancel
Save