diff options
Diffstat (limited to 'api/video.php')
-rw-r--r-- | api/video.php | 34 |
1 files changed, 0 insertions, 34 deletions
diff --git a/api/video.php b/api/video.php deleted file mode 100644 index 21af642..0000000 --- a/api/video.php +++ /dev/null @@ -1,34 +0,0 @@ -<?php - -require_once $_SERVER['DOCUMENT_ROOT'] . "/includes/session.inc"; global $isLoggedIn; -if (!$isLoggedIn) header("Location: /-/login") and die(); - -if (isset($_GET['id'])) { - header("Content-Type: application/json"); - $data = json_decode(exec("yt-dlp -q -x --no-playlist --skip-download --dump-json \"https://www.youtube.com/watch?v=" . str_replace('"', '\'', $_GET['id']) . "\""), true); - $qualities = array_values(array_filter(array_map(function ($i) { - return [ - "quality" => $i["height"], - "id" => $i['format_id'] - ]; - }, $data["formats"]), function ($i) { - return !is_null($i["quality"]); - })); - $hd = array_values(array_filter($qualities, function ($i) { - return $i["quality"] >= 720; - })); - $selected = count($hd) > 0 ? $hd[0] : $qualities[count($qualities) - 1]; - $stream = array_values(array_filter($data["formats"], function ($i) use ($selected) { - return $i["height"] === $selected["quality"] && $i["acodec"] !== null && $i["acodec"] !== "none"; - }))[0]; - - echo(json_encode([ - "title" => $data["fulltitle"], - "author" => $data["channel"], - "duration" => $data["duration"], - "stream" => $selected, - "url" => $stream["url"], - "duration_pretty" => $data["duration_string"], - "poster" => $data["thumbnail"], - ], JSON_PRETTY_PRINT)); -}
\ No newline at end of file |