+ },
+ WEBTORRENT: {
+ get ENABLED () { return config.get<boolean>('transcoding.webtorrent.enabled') }
+ }
+ },
+ LIVE: {
+ get ENABLED () { return config.get<boolean>('live.enabled') },
+
+ get MAX_DURATION () { return parseDurationToMs(config.get<string>('live.max_duration')) },
+ get MAX_INSTANCE_LIVES () { return config.get<number>('live.max_instance_lives') },
+ get MAX_USER_LIVES () { return config.get<number>('live.max_user_lives') },
+
+ get ALLOW_REPLAY () { return config.get<boolean>('live.allow_replay') },
+
+ LATENCY_SETTING: {
+ get ENABLED () { return config.get<boolean>('live.latency_setting.enabled') }
+ },
+
+ RTMP: {
+ get ENABLED () { return config.get<boolean>('live.rtmp.enabled') },
+ get PORT () { return config.get<number>('live.rtmp.port') },
+ get HOSTNAME () { return config.get<number>('live.rtmp.hostname') },
+ get PUBLIC_HOSTNAME () { return config.get<number>('live.rtmp.public_hostname') }
+ },
+
+ RTMPS: {
+ get ENABLED () { return config.get<boolean>('live.rtmps.enabled') },
+ get PORT () { return config.get<number>('live.rtmps.port') },
+ get HOSTNAME () { return config.get<number>('live.rtmps.hostname') },
+ get PUBLIC_HOSTNAME () { return config.get<number>('live.rtmps.public_hostname') },
+ get KEY_FILE () { return config.get<string>('live.rtmps.key_file') },
+ get CERT_FILE () { return config.get<string>('live.rtmps.cert_file') }
+ },
+
+ TRANSCODING: {
+ get ENABLED () { return config.get<boolean>('live.transcoding.enabled') },
+ get THREADS () { return config.get<number>('live.transcoding.threads') },
+ get PROFILE () { return config.get<string>('live.transcoding.profile') },
+
+ RESOLUTIONS: {
+ get '144p' () { return config.get<boolean>('live.transcoding.resolutions.144p') },
+ get '240p' () { return config.get<boolean>('live.transcoding.resolutions.240p') },
+ get '360p' () { return config.get<boolean>('live.transcoding.resolutions.360p') },
+ get '480p' () { return config.get<boolean>('live.transcoding.resolutions.480p') },
+ get '720p' () { return config.get<boolean>('live.transcoding.resolutions.720p') },
+ get '1080p' () { return config.get<boolean>('live.transcoding.resolutions.1080p') },
+ get '1440p' () { return config.get<boolean>('live.transcoding.resolutions.1440p') },
+ get '2160p' () { return config.get<boolean>('live.transcoding.resolutions.2160p') }
+ }