Add ability to provide rtmp listening hostname
This commit is contained in:
parent
42efd780a2
commit
cfbe6be516
5 changed files with 42 additions and 17 deletions
|
@ -411,17 +411,27 @@ live:
|
||||||
# Your firewall should accept traffic from this port in TCP if you enable live
|
# Your firewall should accept traffic from this port in TCP if you enable live
|
||||||
rtmp:
|
rtmp:
|
||||||
enabled: true
|
enabled: true
|
||||||
port: 1935
|
|
||||||
hostname: 'localhost'
|
hostname: 'localhost'
|
||||||
|
port: 1935
|
||||||
|
|
||||||
|
# Public endpoint of your RTMP server
|
||||||
|
# Use null to use the same value than `webserver.hostname`
|
||||||
|
public_hostname: null
|
||||||
|
|
||||||
rtmps:
|
rtmps:
|
||||||
enabled: false
|
enabled: false
|
||||||
port: 1936
|
|
||||||
# Absolute path
|
|
||||||
key_file: ''
|
|
||||||
# Absolute path
|
|
||||||
cert_file: ''
|
|
||||||
hostname: 'localhost'
|
hostname: 'localhost'
|
||||||
|
port: 1936
|
||||||
|
|
||||||
|
# Absolute paths
|
||||||
|
key_file: ''
|
||||||
|
cert_file: ''
|
||||||
|
|
||||||
|
# Public endpoint of your RTMPS server
|
||||||
|
# Use null to use the same value than `webserver.hostname`
|
||||||
|
public_hostname: null
|
||||||
|
|
||||||
# Allow to transcode the live streaming in multiple live resolutions
|
# Allow to transcode the live streaming in multiple live resolutions
|
||||||
transcoding:
|
transcoding:
|
||||||
|
|
|
@ -419,17 +419,27 @@ live:
|
||||||
# Your firewall should accept traffic from this port in TCP if you enable live
|
# Your firewall should accept traffic from this port in TCP if you enable live
|
||||||
rtmp:
|
rtmp:
|
||||||
enabled: true
|
enabled: true
|
||||||
port: 1935
|
|
||||||
hostname: 'localhost'
|
hostname: 'localhost'
|
||||||
|
port: 1935
|
||||||
|
|
||||||
|
# Public endpoint of your RTMP server
|
||||||
|
# Use null to use the same value than `webserver.hostname`
|
||||||
|
public_hostname: null
|
||||||
|
|
||||||
rtmps:
|
rtmps:
|
||||||
enabled: false
|
enabled: false
|
||||||
port: 1936
|
|
||||||
# Absolute path
|
|
||||||
key_file: ''
|
|
||||||
# Absolute path
|
|
||||||
cert_file: ''
|
|
||||||
hostname: 'localhost'
|
hostname: 'localhost'
|
||||||
|
port: 1936
|
||||||
|
|
||||||
|
# Absolute paths
|
||||||
|
key_file: ''
|
||||||
|
cert_file: ''
|
||||||
|
|
||||||
|
# Public endpoint of your RTMPS server
|
||||||
|
# Use null to use the same value than `webserver.hostname`
|
||||||
|
public_hostname: null
|
||||||
|
|
||||||
# Allow to transcode the live streaming in multiple live resolutions
|
# Allow to transcode the live streaming in multiple live resolutions
|
||||||
transcoding:
|
transcoding:
|
||||||
|
|
|
@ -313,13 +313,15 @@ const CONFIG = {
|
||||||
RTMP: {
|
RTMP: {
|
||||||
get ENABLED () { return config.get<boolean>('live.rtmp.enabled') },
|
get ENABLED () { return config.get<boolean>('live.rtmp.enabled') },
|
||||||
get PORT () { return config.get<number>('live.rtmp.port') },
|
get PORT () { return config.get<number>('live.rtmp.port') },
|
||||||
get HOSTNAME () { return config.get<number>('live.rtmp.hostname') }
|
get HOSTNAME () { return config.get<number>('live.rtmp.hostname') },
|
||||||
|
get PUBLIC_HOSTNAME () { return config.get<number>('live.rtmp.public_hostname') }
|
||||||
},
|
},
|
||||||
|
|
||||||
RTMPS: {
|
RTMPS: {
|
||||||
get ENABLED () { return config.get<boolean>('live.rtmps.enabled') },
|
get ENABLED () { return config.get<boolean>('live.rtmps.enabled') },
|
||||||
get PORT () { return config.get<number>('live.rtmps.port') },
|
get PORT () { return config.get<number>('live.rtmps.port') },
|
||||||
get HOSTNAME () { return config.get<number>('live.rtmps.hostname') },
|
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 KEY_FILE () { return config.get<string>('live.rtmps.key_file') },
|
||||||
get CERT_FILE () { return config.get<string>('live.rtmps.cert_file') }
|
get CERT_FILE () { return config.get<string>('live.rtmps.cert_file') }
|
||||||
},
|
},
|
||||||
|
|
|
@ -1074,8 +1074,11 @@ function updateWebserverUrls () {
|
||||||
WEBSERVER.HOSTNAME = CONFIG.WEBSERVER.HOSTNAME
|
WEBSERVER.HOSTNAME = CONFIG.WEBSERVER.HOSTNAME
|
||||||
WEBSERVER.PORT = CONFIG.WEBSERVER.PORT
|
WEBSERVER.PORT = CONFIG.WEBSERVER.PORT
|
||||||
|
|
||||||
WEBSERVER.RTMP_URL = 'rtmp://' + CONFIG.LIVE.RTMP.HOSTNAME + ':' + CONFIG.LIVE.RTMP.PORT + '/' + VIDEO_LIVE.RTMP.BASE_PATH
|
const rtmpHostname = CONFIG.LIVE.RTMP.PUBLIC_HOSTNAME || CONFIG.WEBSERVER.HOSTNAME
|
||||||
WEBSERVER.RTMPS_URL = 'rtmps://' + CONFIG.LIVE.RTMPS.HOSTNAME + ':' + CONFIG.LIVE.RTMPS.PORT + '/' + VIDEO_LIVE.RTMP.BASE_PATH
|
const rtmpsHostname = CONFIG.LIVE.RTMPS.PUBLIC_HOSTNAME || CONFIG.WEBSERVER.HOSTNAME
|
||||||
|
|
||||||
|
WEBSERVER.RTMP_URL = 'rtmp://' + rtmpHostname + ':' + CONFIG.LIVE.RTMP.PORT + '/' + VIDEO_LIVE.RTMP.BASE_PATH
|
||||||
|
WEBSERVER.RTMPS_URL = 'rtmps://' + rtmpsHostname + ':' + CONFIG.LIVE.RTMPS.PORT + '/' + VIDEO_LIVE.RTMP.BASE_PATH
|
||||||
}
|
}
|
||||||
|
|
||||||
function updateWebserverConfig () {
|
function updateWebserverConfig () {
|
||||||
|
|
|
@ -118,7 +118,7 @@ class LiveManager {
|
||||||
logger.error('Cannot run RTMP server.', { err, ...lTags() })
|
logger.error('Cannot run RTMP server.', { err, ...lTags() })
|
||||||
})
|
})
|
||||||
|
|
||||||
this.rtmpServer.listen(CONFIG.LIVE.RTMP.PORT)
|
this.rtmpServer.listen(CONFIG.LIVE.RTMP.PORT, CONFIG.LIVE.RTMP.HOSTNAME)
|
||||||
}
|
}
|
||||||
|
|
||||||
if (CONFIG.LIVE.RTMPS.ENABLED) {
|
if (CONFIG.LIVE.RTMPS.ENABLED) {
|
||||||
|
@ -141,7 +141,7 @@ class LiveManager {
|
||||||
logger.error('Cannot run RTMPS server.', { err, ...lTags() })
|
logger.error('Cannot run RTMPS server.', { err, ...lTags() })
|
||||||
})
|
})
|
||||||
|
|
||||||
this.rtmpsServer.listen(CONFIG.LIVE.RTMPS.PORT)
|
this.rtmpsServer.listen(CONFIG.LIVE.RTMPS.PORT, CONFIG.LIVE.RTMPS.HOSTNAME)
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
Loading…
Reference in a new issue