Spaces:
Running
Running
export default async function(obj) { | |
let video = await fetch(`https://api.streamable.com/videos/${obj.id}`) | |
.then(r => r.status === 200 ? r.json() : false) | |
.catch(() => {}); | |
if (!video) return { error: "fetch.empty" }; | |
let best = video.files["mp4-mobile"]; | |
if (video.files.mp4 && (obj.isAudioOnly || obj.quality === "max" || obj.quality >= 720)) { | |
best = video.files.mp4; | |
} | |
if (best) return { | |
urls: best.url, | |
filename: `streamable_${obj.id}_${best.width}x${best.height}.mp4`, | |
audioFilename: `streamable_${obj.id}_audio`, | |
fileMetadata: { | |
title: video.title | |
} | |
} | |
return { error: "fetch.fail" } | |
} | |