mirror of
https://github.com/imputnet/cobalt.git
synced 2025-06-27 17:08:28 +00:00
api: return covers from soundcloud and youtube
& refactor createProxyTunnels() in stream/manage a little
This commit is contained in:
parent
4ff4766bda
commit
164ea8aeb9
@ -34,6 +34,8 @@ export default function({
|
||||
requestIP,
|
||||
originalRequest: r.originalRequest,
|
||||
subtitles: r.subtitles,
|
||||
cover: r.cover,
|
||||
cropCover: r.cropCover,
|
||||
},
|
||||
params = {};
|
||||
|
||||
|
@ -67,6 +67,8 @@ export function createResponse(responseType, responseData) {
|
||||
copy: responseData?.audioCopy,
|
||||
format: responseData?.audioFormat,
|
||||
bitrate: responseData?.audioBitrate,
|
||||
cover: !!responseData?.cover || undefined,
|
||||
cropCover: !!responseData?.cropCover || undefined,
|
||||
},
|
||||
|
||||
isHLS: responseData?.isHLS,
|
||||
|
@ -146,8 +146,14 @@ export default async function(obj) {
|
||||
copyright: json.license?.trim(),
|
||||
}
|
||||
|
||||
let cover;
|
||||
if (json.artwork_url) {
|
||||
cover = json.artwork_url.replace(/-large/, "-t1080x1080");
|
||||
}
|
||||
|
||||
return {
|
||||
urls: file.toString(),
|
||||
cover,
|
||||
filenameAttributes: {
|
||||
service: "soundcloud",
|
||||
id: json.id,
|
||||
|
@ -532,6 +532,15 @@ export default async function (o) {
|
||||
urls = audio.decipher(innertube.session.player);
|
||||
}
|
||||
|
||||
let cover = `https://i.ytimg.com/vi/${o.id}/maxresdefault.jpg`;
|
||||
const testMaxCover = await fetch(cover, { dispatcher: o.dispatcher })
|
||||
.then(r => r.status === 200)
|
||||
.catch(() => {});
|
||||
|
||||
if (!testMaxCover) {
|
||||
cover = basicInfo.thumbnail?.[0]?.url;
|
||||
}
|
||||
|
||||
return {
|
||||
type: "audio",
|
||||
isAudioOnly: true,
|
||||
@ -540,7 +549,10 @@ export default async function (o) {
|
||||
fileMetadata,
|
||||
bestAudio,
|
||||
isHLS: useHLS,
|
||||
originalRequest
|
||||
originalRequest,
|
||||
|
||||
cover,
|
||||
cropCover: basicInfo.author.endsWith("- Topic"),
|
||||
}
|
||||
}
|
||||
|
||||
|
@ -82,17 +82,19 @@ export function createProxyTunnels(info) {
|
||||
urls = [urls];
|
||||
}
|
||||
|
||||
const tunnelTemplate = {
|
||||
type: "proxy",
|
||||
headers: info?.headers,
|
||||
requestIP: info?.requestIP,
|
||||
}
|
||||
|
||||
for (const url of urls) {
|
||||
proxyTunnels.push(
|
||||
createStream({
|
||||
...tunnelTemplate,
|
||||
url,
|
||||
type: "proxy",
|
||||
|
||||
service: info?.service,
|
||||
headers: info?.headers,
|
||||
requestIP: info?.requestIP,
|
||||
|
||||
originalRequest: info?.originalRequest
|
||||
originalRequest: info?.originalRequest,
|
||||
})
|
||||
);
|
||||
}
|
||||
@ -100,11 +102,19 @@ export function createProxyTunnels(info) {
|
||||
if (info.subtitles) {
|
||||
proxyTunnels.push(
|
||||
createStream({
|
||||
...tunnelTemplate,
|
||||
url: info.subtitles,
|
||||
type: "proxy",
|
||||
service: `${info?.service}-subtitles`,
|
||||
headers: info?.headers,
|
||||
requestIP: info?.requestIP
|
||||
})
|
||||
);
|
||||
}
|
||||
|
||||
if (info.cover) {
|
||||
proxyTunnels.push(
|
||||
createStream({
|
||||
...tunnelTemplate,
|
||||
url: info.cover,
|
||||
service: `${info?.service}-cover`,
|
||||
})
|
||||
);
|
||||
}
|
||||
|
Loading…
Reference in New Issue
Block a user