1
0
mirror of https://git.sr.ht/~cadence/cloudtube synced 2024-11-22 15:47:30 +00:00

Implement video captions

Proxy requests to NewLeaf/Invidious backend so captions are served on the
same domain
This commit is contained in:
Lomanic 2021-03-29 00:11:49 +02:00 committed by Cadence Ember
parent dbbe950832
commit 500aa820bc
No known key found for this signature in database
GPG Key ID: BC1C2C61CF521B17
2 changed files with 15 additions and 0 deletions

13
api/captions.js Normal file
View File

@ -0,0 +1,13 @@
const {getUser} = require("../utils/getuser")
const constants = require("../utils/constants.js")
const {proxy} = require("pinski/plugins")
module.exports = [
{
route: `/api/v1/captions/(${constants.regex.video_id})`, methods: ["GET"], code: async ({req, fill, url}) => {
const instanceOrigin = getUser(req).getSettingsOrDefaults().instance
const fetchURL = new URL(`${url.pathname}${url.search}`, instanceOrigin)
return proxy(fetchURL.toString())
}
}
]

View File

@ -20,6 +20,8 @@ block content
if format if format
video(controls preload="auto" width=format.second__width height=format.second__height data-itag=format.itag)#video.video video(controls preload="auto" width=format.second__width height=format.second__height data-itag=format.itag)#video.video
source(src=format.url+mediaFragment type=format.type) source(src=format.url+mediaFragment type=format.type)
each t in video.captions
track(label=t.label kind="subtitles" srclang=t.languageCode src=t.url)
else else
video(src="")#video.video video(src="")#video.video
.stream-notice The server provided no playback streams. .stream-notice The server provided no playback streams.