1
0
Fork 0

Add ability to provide rtmp listening hostname

This commit is contained in:
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 # 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:

View file

@ -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:

View file

@ -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') }
}, },

View 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 () {

View file

@ -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)
} }
} }