Use http-streaming for livestreams
This commit is contained in:
parent
ce0e4babad
commit
7116421fa4
|
@ -2401,7 +2401,7 @@ get "/api/manifest/dash/id/:id" do |env|
|
||||||
mimetype = fmt["type"].split(";")[0]
|
mimetype = fmt["type"].split(";")[0]
|
||||||
codecs = fmt["type"].split("codecs=")[1].strip('"')
|
codecs = fmt["type"].split("codecs=")[1].strip('"')
|
||||||
fmt_type = mimetype.split("/")[0]
|
fmt_type = mimetype.split("/")[0]
|
||||||
bandwidth = fmt["clen"]
|
bandwidth = fmt["bitrate"]
|
||||||
itag = fmt["itag"]
|
itag = fmt["itag"]
|
||||||
url = fmt["url"]
|
url = fmt["url"]
|
||||||
|
|
||||||
|
@ -2421,7 +2421,7 @@ get "/api/manifest/dash/id/:id" do |env|
|
||||||
video_streams.each do |fmt|
|
video_streams.each do |fmt|
|
||||||
mimetype = fmt["type"].split(";")
|
mimetype = fmt["type"].split(";")
|
||||||
codecs = fmt["type"].split("codecs=")[1].strip('"')
|
codecs = fmt["type"].split("codecs=")[1].strip('"')
|
||||||
bandwidth = fmt["clen"]
|
bandwidth = fmt["bitrate"]
|
||||||
itag = fmt["itag"]
|
itag = fmt["itag"]
|
||||||
url = fmt["url"]
|
url = fmt["url"]
|
||||||
height, width = fmt["size"].split("x")
|
height, width = fmt["size"].split("x")
|
||||||
|
@ -2532,6 +2532,7 @@ get "/videoplayback/*" do |env|
|
||||||
|
|
||||||
query_params = HTTP::Params.new(raw_params)
|
query_params = HTTP::Params.new(raw_params)
|
||||||
|
|
||||||
|
env.response.headers["Access-Control-Allow-Origin"] = "*"
|
||||||
env.redirect "/videoplayback?#{query_params}"
|
env.redirect "/videoplayback?#{query_params}"
|
||||||
end
|
end
|
||||||
|
|
||||||
|
@ -2539,7 +2540,7 @@ get "/videoplayback" do |env|
|
||||||
query_params = env.params.query
|
query_params = env.params.query
|
||||||
|
|
||||||
fvip = query_params["fvip"]
|
fvip = query_params["fvip"]
|
||||||
mn = query_params["mn"].split(",")[0]
|
mn = query_params["mn"].split(",")[-1]
|
||||||
host = "https://r#{fvip}---#{mn}.googlevideo.com"
|
host = "https://r#{fvip}---#{mn}.googlevideo.com"
|
||||||
url = "/videoplayback?#{query_params.to_s}"
|
url = "/videoplayback?#{query_params.to_s}"
|
||||||
|
|
||||||
|
|
|
@ -18,7 +18,7 @@ class Config
|
||||||
end
|
end
|
||||||
|
|
||||||
class FilteredCompressHandler < Kemal::Handler
|
class FilteredCompressHandler < Kemal::Handler
|
||||||
exclude ["/videoplayback", "/api/*"]
|
exclude ["/videoplayback", "/videoplayback/*", "/api/*"]
|
||||||
|
|
||||||
def call(env)
|
def call(env)
|
||||||
return call_next env if exclude_match? env
|
return call_next env if exclude_match? env
|
||||||
|
|
|
@ -8,5 +8,5 @@
|
||||||
<script src="https://unpkg.com/videojs-markers@1.0.1/dist/videojs-markers.min.js"></script>
|
<script src="https://unpkg.com/videojs-markers@1.0.1/dist/videojs-markers.min.js"></script>
|
||||||
<script src="https://unpkg.com/videojs-share@1.1.0/dist/videojs-share.min.js"></script>
|
<script src="https://unpkg.com/videojs-share@1.1.0/dist/videojs-share.min.js"></script>
|
||||||
<% if hlsvp %>
|
<% if hlsvp %>
|
||||||
<script src="https://unpkg.com/videojs-contrib-hls@5.14.1/dist/videojs-contrib-hls.min.js"></script>
|
<script src="https://unpkg.com/@videojs/http-streaming@1.2.2/dist/videojs-http-streaming.min.js"></script>
|
||||||
<% end %>
|
<% end %>
|
||||||
|
|
Loading…
Reference in a new issue