From ce506d39285c432564412f03f41b2454ed645737 Mon Sep 17 00:00:00 2001 From: Omar Roth Date: Tue, 7 Aug 2018 12:36:55 -0500 Subject: [PATCH] Add 'hls' to video endpoint --- src/invidious.cr | 12 ++++++++++-- 1 file changed, 10 insertions(+), 2 deletions(-) diff --git a/src/invidious.cr b/src/invidious.cr index c1db9a6f..6a7561b4 100644 --- a/src/invidious.cr +++ b/src/invidious.cr @@ -1968,8 +1968,16 @@ get "/api/v1/videos/:id" do |env| json.field "isListed", video.info["is_listed"] == "1" end - fmt_list = video.info["fmt_list"].split(",").map { |fmt| fmt.split("/")[1] } - fmt_list = Hash.zip(fmt_list.map { |fmt| fmt[0] }, fmt_list.map { |fmt| fmt[1] }) + if video.info["hlsvp"]? + host_url = make_host_url(Kemal.config.ssl || CONFIG.https_only, env.request.headers["Host"]?) + host_params = env.request.query_params + host_params.delete_all("v") + + hlsvp = video.info["hlsvp"] + hlsvp = hlsvp.gsub("https://manifest.googlevideo.com", host_url) + + json.field "hls", hlsvp + end json.field "adaptiveFormats" do json.array do