webtorrent: {
enabled: CONFIG.TRANSCODING.WEBTORRENT.ENABLED
},
- enabledResolutions: getEnabledResolutions()
+ enabledResolutions: getEnabledResolutions('vod')
+ },
+ live: {
+ enabled: CONFIG.LIVE.ENABLED,
+
+ allowReplay: CONFIG.LIVE.ALLOW_REPLAY,
+ maxDuration: CONFIG.LIVE.MAX_DURATION,
+ maxInstanceLives: CONFIG.LIVE.MAX_INSTANCE_LIVES,
+ maxUserLives: CONFIG.LIVE.MAX_USER_LIVES,
+
+ transcoding: {
+ enabled: CONFIG.LIVE.TRANSCODING.ENABLED,
+ enabledResolutions: getEnabledResolutions('live')
+ },
+
+ rtmp: {
+ port: CONFIG.LIVE.RTMP.PORT
+ }
},
import: {
videos: {
const data = customConfig()
- return res.json(data).end()
+ return res.json(data)
}
async function updateCustomConfig (req: express.Request, res: express.Response) {
oldCustomConfigAuditKeys
)
- return res.json(data).end()
+ return res.json(data)
}
function getRegisteredThemes () {
}))
}
-function getEnabledResolutions () {
- return Object.keys(CONFIG.TRANSCODING.RESOLUTIONS)
- .filter(key => CONFIG.TRANSCODING.ENABLED && CONFIG.TRANSCODING.RESOLUTIONS[key] === true)
+function getEnabledResolutions (type: 'vod' | 'live') {
+ const transcoding = type === 'vod'
+ ? CONFIG.TRANSCODING
+ : CONFIG.LIVE.TRANSCODING
+
+ return Object.keys(transcoding.RESOLUTIONS)
+ .filter(key => transcoding.ENABLED && transcoding.RESOLUTIONS[key] === true)
.map(r => parseInt(r, 10))
}
enabled: CONFIG.TRANSCODING.HLS.ENABLED
}
},
+ live: {
+ enabled: CONFIG.LIVE.ENABLED,
+ allowReplay: CONFIG.LIVE.ALLOW_REPLAY,
+ maxDuration: CONFIG.LIVE.MAX_DURATION,
+ maxInstanceLives: CONFIG.LIVE.MAX_INSTANCE_LIVES,
+ maxUserLives: CONFIG.LIVE.MAX_USER_LIVES,
+ transcoding: {
+ enabled: CONFIG.LIVE.TRANSCODING.ENABLED,
+ threads: CONFIG.LIVE.TRANSCODING.THREADS,
+ resolutions: {
+ '240p': CONFIG.LIVE.TRANSCODING.RESOLUTIONS['240p'],
+ '360p': CONFIG.LIVE.TRANSCODING.RESOLUTIONS['360p'],
+ '480p': CONFIG.LIVE.TRANSCODING.RESOLUTIONS['480p'],
+ '720p': CONFIG.LIVE.TRANSCODING.RESOLUTIONS['720p'],
+ '1080p': CONFIG.LIVE.TRANSCODING.RESOLUTIONS['1080p'],
+ '2160p': CONFIG.LIVE.TRANSCODING.RESOLUTIONS['2160p']
+ }
+ }
+ },
import: {
videos: {
http: {
disableLocalSearch: CONFIG.SEARCH.SEARCH_INDEX.DISABLE_LOCAL_SEARCH,
isDefaultSearch: CONFIG.SEARCH.SEARCH_INDEX.IS_DEFAULT_SEARCH
}
- },
+ }
}
}