mirror of
https://github.com/iv-org/invidious.git
synced 2024-11-26 15:37:23 +00:00
Add 'local=true' to hlsUrl
This commit is contained in:
parent
f15b7cebac
commit
8c2958b86d
@ -4602,13 +4602,21 @@ get "/api/manifest/hls_variant/*" do |env|
|
|||||||
next
|
next
|
||||||
end
|
end
|
||||||
|
|
||||||
|
local = env.params.query["local"]?.try &.== "true"
|
||||||
|
|
||||||
env.response.content_type = "application/x-mpegURL"
|
env.response.content_type = "application/x-mpegURL"
|
||||||
env.response.headers.add("Access-Control-Allow-Origin", "*")
|
env.response.headers.add("Access-Control-Allow-Origin", "*")
|
||||||
|
|
||||||
host_url = make_host_url(config, Kemal.config)
|
host_url = make_host_url(config, Kemal.config)
|
||||||
|
|
||||||
manifest = manifest.body
|
manifest = manifest.body
|
||||||
manifest.gsub("https://www.youtube.com", host_url)
|
|
||||||
|
if local
|
||||||
|
manifest = manifest.gsub("https://www.youtube.com", host_url)
|
||||||
|
manifest = manifest.gsub("index.m3u8", "index.m3u8?local=true")
|
||||||
|
end
|
||||||
|
|
||||||
|
manifest
|
||||||
end
|
end
|
||||||
|
|
||||||
get "/api/manifest/hls_playlist/*" do |env|
|
get "/api/manifest/hls_playlist/*" do |env|
|
||||||
@ -4620,15 +4628,24 @@ get "/api/manifest/hls_playlist/*" do |env|
|
|||||||
next
|
next
|
||||||
end
|
end
|
||||||
|
|
||||||
host_url = make_host_url(config, Kemal.config)
|
local = env.params.query["local"]?.try &.== "true"
|
||||||
|
|
||||||
manifest = manifest.body.gsub("https://www.youtube.com", host_url)
|
|
||||||
manifest = manifest.gsub(/https:\/\/r\d---.{11}\.c\.youtube\.com/, host_url)
|
|
||||||
fvip = manifest.match(/hls_chunk_host\/r(?<fvip>\d)---/).not_nil!["fvip"]
|
|
||||||
manifest = manifest.gsub("seg.ts", "seg.ts/fvip/#{fvip}")
|
|
||||||
|
|
||||||
env.response.content_type = "application/x-mpegURL"
|
env.response.content_type = "application/x-mpegURL"
|
||||||
env.response.headers.add("Access-Control-Allow-Origin", "*")
|
env.response.headers.add("Access-Control-Allow-Origin", "*")
|
||||||
|
|
||||||
|
host_url = make_host_url(config, Kemal.config)
|
||||||
|
|
||||||
|
manifest = manifest.body
|
||||||
|
|
||||||
|
if local
|
||||||
|
manifest = manifest.gsub("https://www.youtube.com", host_url)
|
||||||
|
manifest = manifest.gsub(/https:\/\/r\d---.{11}\.c\.youtube\.com/, host_url)
|
||||||
|
manifest = manifest.gsub("seg.ts", "seg.ts?local=true")
|
||||||
|
end
|
||||||
|
|
||||||
|
fvip = manifest.match(/hls_chunk_host\/r(?<fvip>\d+)---/).not_nil!["fvip"]
|
||||||
|
manifest = manifest.gsub("seg.ts", "seg.ts/fvip/#{fvip}")
|
||||||
|
|
||||||
manifest
|
manifest
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -7,7 +7,7 @@
|
|||||||
<% if params[:video_loop] %>loop<% end %>
|
<% if params[:video_loop] %>loop<% end %>
|
||||||
<% if params[:controls] %>controls<% end %>>
|
<% if params[:controls] %>controls<% end %>>
|
||||||
<% if hlsvp %>
|
<% if hlsvp %>
|
||||||
<source src="<%= hlsvp %>" type="application/x-mpegURL" label="livestream">
|
<source src="<%= hlsvp %>?local=true" type="application/x-mpegURL" label="livestream">
|
||||||
<% else %>
|
<% else %>
|
||||||
<% if params[:listen] %>
|
<% if params[:listen] %>
|
||||||
<% audio_streams.each_with_index do |fmt, i| %>
|
<% audio_streams.each_with_index do |fmt, i| %>
|
||||||
|
Loading…
Reference in New Issue
Block a user