updates
This commit is contained in:
@@ -27,18 +27,25 @@ input = compress(input, attack = 2.0, gain = 0.0, knee = 13.0, ratio = 2.0, rele
|
||||
input = normalize(input, gain_max = 6.0, gain_min = -6.0, target = -16.0, threshold = -65.0)
|
||||
|
||||
# ==========================================================
|
||||
# OUTPUT: Referencing the new variables
|
||||
# OUTPUTS
|
||||
# ==========================================================
|
||||
|
||||
# Primary: PulseAudio null sink — used by edge-node for Discord streaming and call recording.
|
||||
# The edge-node reads from the drb_sink.monitor source (set as PulseAudio default source).
|
||||
output.pulseaudio(mean(input))
|
||||
|
||||
# Secondary: Icecast — for browser-based listening only (local node UI / server stream page).
|
||||
# Do NOT use Icecast for recording or Discord; it introduces 2-5s buffering lag.
|
||||
output.icecast(
|
||||
%mp3(bitrate=16, samplerate=22050, stereo=false),
|
||||
description=ICE_DESCRIPTION,
|
||||
genre=ICE_GENRE,
|
||||
url="",
|
||||
fallible=false,
|
||||
host=ICE_HOST,
|
||||
port=ICE_PORT,
|
||||
mount=ICE_MOUNT,
|
||||
password=ICE_PASSWORD,
|
||||
%mp3(bitrate=16, samplerate=22050, stereo=false),
|
||||
description=ICE_DESCRIPTION,
|
||||
genre=ICE_GENRE,
|
||||
url="",
|
||||
fallible=false,
|
||||
host=ICE_HOST,
|
||||
port=ICE_PORT,
|
||||
mount=ICE_MOUNT,
|
||||
password=ICE_PASSWORD,
|
||||
mean(input)
|
||||
)
|
||||
"""
|
||||
@@ -4,6 +4,8 @@
|
||||
# The -D flag starts it as a daemon.
|
||||
# The --exit-idle-time=-1 prevents it from automatically shutting down.
|
||||
echo "Starting PulseAudio daemon..."
|
||||
mkdir -p /run/pulse
|
||||
chmod 777 /run/pulse
|
||||
pulseaudio -D --exit-idle-time=-1 --system
|
||||
|
||||
# Wait a moment for PulseAudio to initialize
|
||||
|
||||
@@ -1,16 +1,22 @@
|
||||
# PulseAudio system daemon configuration for DRB containers.
|
||||
# Allows anonymous connections so the edge-node container can read the audio monitor.
|
||||
#
|
||||
# Audio architecture:
|
||||
# Liquidsoap (op25 container) → output.pulseaudio() → drb_sink (null sink)
|
||||
# FFmpeg (edge-node container) → -f pulse -i default → drb_sink.monitor
|
||||
#
|
||||
# Icecast is a secondary output for browser listening only.
|
||||
# PulseAudio is the primary path for Discord streaming and call recording.
|
||||
|
||||
.nofail
|
||||
|
||||
# Native protocol with anonymous auth — required for inter-container access
|
||||
load-module module-native-protocol-unix socket=/run/pulse/native auth-anonymous=1
|
||||
|
||||
# Always provide a default sink even without audio hardware
|
||||
load-module module-always-sink
|
||||
# Named null sink — Liquidsoap outputs here; edge-node records from its monitor
|
||||
load-module module-null-sink sink_name=drb_sink sink_properties=device.description=DRB-Sink
|
||||
|
||||
# Restore device/stream settings across restarts
|
||||
load-module module-device-restore
|
||||
load-module module-stream-restore
|
||||
# Make the sink and its monitor the system defaults
|
||||
set-default-sink drb_sink
|
||||
set-default-source drb_sink.monitor
|
||||
|
||||
.fail
|
||||
|
||||
Reference in New Issue
Block a user