Add ability to provide rtmp listening hostname

pull/4977/head
Chocobozzz 2022-05-02 14:32:12 +02:00
parent 42efd780a2
commit cfbe6be516
No known key found for this signature in database
GPG Key ID: 583A612D890159BE
5 changed files with 42 additions and 17 deletions

View File

@ -411,17 +411,27 @@ live:
# Your firewall should accept traffic from this port in TCP if you enable live
rtmp:
enabled: true
port: 1935
hostname: 'localhost'
port: 1935
# Public endpoint of your RTMP server
# Use null to use the same value than `webserver.hostname`
public_hostname: null
rtmps:
enabled: false
port: 1936
# Absolute path
key_file: ''
# Absolute path
cert_file: ''
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
transcoding:

View File

@ -419,17 +419,27 @@ live:
# Your firewall should accept traffic from this port in TCP if you enable live
rtmp:
enabled: true
port: 1935
hostname: 'localhost'
port: 1935
# Public endpoint of your RTMP server
# Use null to use the same value than `webserver.hostname`
public_hostname: null
rtmps:
enabled: false
port: 1936
# Absolute path
key_file: ''
# Absolute path
cert_file: ''
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
transcoding:

View File

@ -313,13 +313,15 @@ const CONFIG = {
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 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') }
},

View File

@ -1074,8 +1074,11 @@ function updateWebserverUrls () {
WEBSERVER.HOSTNAME = CONFIG.WEBSERVER.HOSTNAME
WEBSERVER.PORT = CONFIG.WEBSERVER.PORT
WEBSERVER.RTMP_URL = 'rtmp://' + CONFIG.LIVE.RTMP.HOSTNAME + ':' + CONFIG.LIVE.RTMP.PORT + '/' + VIDEO_LIVE.RTMP.BASE_PATH
WEBSERVER.RTMPS_URL = 'rtmps://' + CONFIG.LIVE.RTMPS.HOSTNAME + ':' + CONFIG.LIVE.RTMPS.PORT + '/' + VIDEO_LIVE.RTMP.BASE_PATH
const rtmpHostname = CONFIG.LIVE.RTMP.PUBLIC_HOSTNAME || CONFIG.WEBSERVER.HOSTNAME
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 () {

View File

@ -118,7 +118,7 @@ class LiveManager {
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) {
@ -141,7 +141,7 @@ class LiveManager {
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)
}
}