Captions: Use 'fmt=vtt' instead of 'format=vtt' (#4152)

This commit is contained in:
Samantaz Fox 2023-10-21 18:32:28 +02:00
commit cf7c49deb0
No known key found for this signature in database
GPG key ID: F42821059186176E

View file

@ -136,17 +136,17 @@ module Invidious::Routes::API::V1::Videos
end end
end end
else else
# Some captions have "align:[start/end]" and "position:[num]%" webvtt = YT_POOL.client &.get("#{url}&fmt=vtt").body
# attributes. Those are causing issues with VideoJS, which is unable
# to properly align the captions on the video, so we remove them.
#
# See: https://github.com/iv-org/invidious/issues/2391
webvtt = YT_POOL.client &.get("#{url}&format=vtt").body
if webvtt.starts_with?("<?xml") if webvtt.starts_with?("<?xml")
webvtt = caption.timedtext_to_vtt(webvtt) webvtt = caption.timedtext_to_vtt(webvtt)
else else
webvtt = YT_POOL.client &.get("#{url}&format=vtt").body # Some captions have "align:[start/end]" and "position:[num]%"
.gsub(/([0-9:.]{12} --> [0-9:.]{12}).+/, "\\1") # attributes. Those are causing issues with VideoJS, which is unable
# to properly align the captions on the video, so we remove them.
#
# See: https://github.com/iv-org/invidious/issues/2391
webvtt = webvtt.gsub(/([0-9:.]{12} --> [0-9:.]{12}).+/, "\\1")
end end
end end
end end