summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
-rw-r--r--src/invidious.cr19
-rw-r--r--src/invidious/views/embed.ecr4
2 files changed, 23 insertions, 0 deletions
diff --git a/src/invidious.cr b/src/invidious.cr
index ae3f463c..73a8eee3 100644
--- a/src/invidious.cr
+++ b/src/invidious.cr
@@ -422,6 +422,13 @@ get "/embed/:id" do |env|
end
listen ||= false
+ raw = env.params.query["raw"]? && env.params.query["raw"].to_i
+ raw ||= 0
+ raw = raw == 1
+
+ quality = env.params.query["quality"]? && env.params.query["quality"]
+ quality ||= "hd720"
+
autoplay = env.params.query["autoplay"]?.try &.to_i
autoplay ||= 0
@@ -472,6 +479,18 @@ get "/embed/:id" do |env|
stream["bitrate"] = (stream["bitrate"].to_f64/1000).to_i.to_s
end
+ if raw
+ url = fmt_stream[0]["url"]
+
+ fmt_stream.each do |fmt|
+ if fmt["label"].split(" - ")[0] == quality
+ url = fmt["url"]
+ end
+ end
+
+ next env.redirect url
+ end
+
thumbnail = "https://i.ytimg.com/vi/#{id}/mqdefault.jpg"
rendered "embed"
diff --git a/src/invidious/views/embed.ecr b/src/invidious/views/embed.ecr
index 3b3b1d5c..27c2d495 100644
--- a/src/invidious/views/embed.ecr
+++ b/src/invidious/views/embed.ecr
@@ -40,7 +40,11 @@ video, #my_video, .video-js, .vjs-default-skin
<% end %>
<% else %>
<% fmt_stream.each_with_index do |fmt, i| %>
+ <% if quality != "hd720" %>
+ <source src="<%= fmt["url"] %>" type='<%= fmt["type"] %>' label="<%= fmt["label"] %>" selected="<%= quality == fmt["label"].split(" - ")[0] %>">
+ <% else %>
<source src="<%= fmt["url"] %>" type='<%= fmt["type"] %>' label="<%= fmt["label"] %>" selected="<%= i == 0 ? true : false %>">
+ <% end %>
<% end %>
<% end %>
</video>