remoteUri: {
users: CONFIG.SEARCH.REMOTE_URI.USERS,
anonymous: CONFIG.SEARCH.REMOTE_URI.ANONYMOUS
+ },
+ searchIndex: {
+ enabled: CONFIG.SEARCH.SEARCH_INDEX.ENABLED,
+ url: CONFIG.SEARCH.SEARCH_INDEX.URL,
+ disableLocalSearch: CONFIG.SEARCH.SEARCH_INDEX.DISABLE_LOCAL_SEARCH,
+ isDefaultSearch: CONFIG.SEARCH.SEARCH_INDEX.IS_DEFAULT_SEARCH
}
},
plugin: {
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: {
indexUrl: CONFIG.FOLLOWINGS.INSTANCE.AUTO_FOLLOW_INDEX.INDEX_URL
}
}
+ },
+
+ broadcastMessage: {
+ enabled: CONFIG.BROADCAST_MESSAGE.ENABLED,
+ message: CONFIG.BROADCAST_MESSAGE.MESSAGE,
+ level: CONFIG.BROADCAST_MESSAGE.LEVEL,
+ dismissable: CONFIG.BROADCAST_MESSAGE.DISMISSABLE
}
}
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: {
indexUrl: CONFIG.FOLLOWINGS.INSTANCE.AUTO_FOLLOW_INDEX.INDEX_URL
}
}
+ },
+ broadcastMessage: {
+ enabled: CONFIG.BROADCAST_MESSAGE.ENABLED,
+ message: CONFIG.BROADCAST_MESSAGE.MESSAGE,
+ level: CONFIG.BROADCAST_MESSAGE.LEVEL,
+ dismissable: CONFIG.BROADCAST_MESSAGE.DISMISSABLE
+ },
+ search: {
+ remoteUri: {
+ users: CONFIG.SEARCH.REMOTE_URI.USERS,
+ anonymous: CONFIG.SEARCH.REMOTE_URI.ANONYMOUS
+ },
+ searchIndex: {
+ enabled: CONFIG.SEARCH.SEARCH_INDEX.ENABLED,
+ url: CONFIG.SEARCH.SEARCH_INDEX.URL,
+ disableLocalSearch: CONFIG.SEARCH.SEARCH_INDEX.DISABLE_LOCAL_SEARCH,
+ isDefaultSearch: CONFIG.SEARCH.SEARCH_INDEX.IS_DEFAULT_SEARCH
+ }
}
}
}