add upcloud captions

This commit is contained in:
mrjvs 2023-11-18 23:00:50 +01:00
parent 4ce41e828d
commit fe4882b43e
2 changed files with 17 additions and 7 deletions

View File

@ -2,6 +2,7 @@ import crypto from 'crypto-js';
import { flags } from '@/main/targets';
import { makeEmbed } from '@/providers/base';
import { Caption, getCaptionTypeFromUrl } from '@/providers/captions';
const { AES, enc } = crypto;
@ -96,12 +97,25 @@ export const upcloudScraper = makeEmbed({
if (!sources) throw new Error('upcloud source not found');
const captions: Caption[] = [];
streamRes.tracks.forEach((track) => {
if (track.kind !== 'captions') return;
const type = getCaptionTypeFromUrl(track.file);
if (!type) return;
captions.push({
language: track.label, // TODO Turn language name into ISO code
hasCorsRestrictions: false,
type,
url: track.file,
});
});
return {
stream: {
type: 'hls',
playlist: sources.file,
flags: [flags.NO_CORS],
captions: [],
captions,
},
};
},

View File

@ -17,9 +17,7 @@ export const goMoviesScraper = makeSourcerer({
async scrapeShow(ctx) {
const search = await ctx.proxiedFetcher<string>(`/ajax/search`, {
method: 'POST',
body: JSON.stringify({
keyword: ctx.media.title,
}),
body: new URLSearchParams({ keyword: ctx.media.title }),
headers: {
'X-Requested-With': 'XMLHttpRequest',
},
@ -104,9 +102,7 @@ export const goMoviesScraper = makeSourcerer({
async scrapeMovie(ctx) {
const search = await ctx.proxiedFetcher<string>(`ajax/search`, {
method: 'POST',
body: JSON.stringify({
keyword: ctx.media.title,
}),
body: new URLSearchParams({ keyword: ctx.media.title }),
headers: {
'X-Requested-With': 'XMLHttpRequest',
},