This method handles subtitle requests.
args
- request object; parameters defined below
A promise resolving to an object containing { subtitles: [] }
with an array of Subtitle Objects.
The resolving object can also include the following cache related properties:
-
{ cacheMaxAge: int }
(in seconds) which sets theCache-Control
header tomax-age=$cacheMaxAge
and overwrites the global cache time set inserveHTTP
options -
{ staleRevalidate: int }
(in seconds) which sets theCache-Control
header tostale-while-revalidate=$staleRevalidate
-
{ staleError: int }
(in seconds) which sets theCache-Control
header tostale-if-error=$staleError
type
- type of the item that we're requesting subtitles for; e.g. movie
, series
, channel
, tv
(see Content Types)
id
- string id of the video that we're requesting subtitles for (videoId); see Meta Object
extra
- object that holds additional properties; parameters defined below
config
- object with user settings, see Manifest - User Data
videoHash
- string OpenSubtitles file hash for the video
videoSize
- size of the video file in bytes
filename
- filename of the video file
builder.defineSubtitlesHandler(function(args) {
if (args.id === 'tt1254207') {
// serve one subtitle for big buck bunny
const subtitle = {
url: 'https://mkvtoolnix.download/samples/vsshort-en.srt',
lang: 'eng'
}
return Promise.resolve({ subtitles: [subtitle] })
} else {
// otherwise return no subtitles
return Promise.resolve({ subtitles: [] })
}
})