feat(playout): use jinja to configure liquidsoap outputs
This commit is contained in:
parent
85aa0174c3
commit
00b5c08647
10 changed files with 285 additions and 894 deletions
|
@ -1,23 +0,0 @@
|
|||
if bitrate == 24 then
|
||||
ignore(output_stereo(%fdkaac(bitrate = 24, aot="mpeg4_he_aac_v2", afterburner=false, sbr_mode=true), !source))
|
||||
elsif bitrate == 32 then
|
||||
ignore(output_stereo(%fdkaac(bitrate = 32, aot="mpeg4_he_aac_v2", afterburner=false, sbr_mode=true), !source))
|
||||
elsif bitrate == 48 then
|
||||
ignore(output_stereo(%fdkaac(bitrate = 48, aot="mpeg4_he_aac_v2", afterburner=false, sbr_mode=true), !source))
|
||||
elsif bitrate == 64 then
|
||||
ignore(output_stereo(%fdkaac(bitrate = 64, aot="mpeg4_he_aac_v2", afterburner=false, sbr_mode=true), !source))
|
||||
elsif bitrate == 96 then
|
||||
ignore(output_stereo(%fdkaac(bitrate = 96, aot="mpeg4_aac_lc", afterburner=false, sbr_mode=true), !source))
|
||||
elsif bitrate == 128 then
|
||||
ignore(output_stereo(%fdkaac(bitrate = 128, aot="mpeg4_aac_lc", afterburner=false, sbr_mode=true), !source))
|
||||
elsif bitrate == 160 then
|
||||
ignore(output_stereo(%fdkaac(bitrate = 160, aot="mpeg4_aac_lc", afterburner=true, sbr_mode=true), !source))
|
||||
elsif bitrate == 192 then
|
||||
ignore(output_stereo(%fdkaac(bitrate = 192, aot="mpeg4_aac_lc", afterburner=true, sbr_mode=true), !source))
|
||||
elsif bitrate == 224 then
|
||||
ignore(output_stereo(%fdkaac(bitrate = 224, aot="mpeg4_aac_lc", afterburner=true, sbr_mode=true), !source))
|
||||
elsif bitrate == 256 then
|
||||
ignore(output_stereo(%fdkaac(bitrate = 256, aot="mpeg4_aac_lc", afterburner=true, sbr_mode=true), !source))
|
||||
elsif bitrate == 320 then
|
||||
ignore(output_stereo(%fdkaac(bitrate = 320, aot="mpeg4_aac_lc", afterburner=true, sbr_mode=true), !source))
|
||||
end
|
|
@ -95,112 +95,19 @@ def to_live(old,new) =
|
|||
end
|
||||
|
||||
|
||||
def output_to(output_type, type, bitrate, host, port, pass, mount_point, url, description, genre, user, s, stream, name, channels) =
|
||||
source = ref s
|
||||
def on_error(msg)
|
||||
gateway("stream '#{stream}' '#{boot_timestamp}' --error='#{msg}'")
|
||||
5.
|
||||
end
|
||||
def on_connect()
|
||||
gateway("stream '#{stream}' '#{boot_timestamp}'")
|
||||
end
|
||||
def make_ouput_on_connect_handler(stream)
|
||||
def on_connect()
|
||||
gateway("stream '#{stream}' '#{boot_timestamp}'")
|
||||
end
|
||||
on_connect
|
||||
end
|
||||
|
||||
stereo = (channels == "stereo")
|
||||
|
||||
if output_type == "icecast" then
|
||||
user_ref = ref user
|
||||
if user == "" then
|
||||
user_ref := "source"
|
||||
end
|
||||
output_mono = output.icecast(
|
||||
id = "icecast:stream_#{stream}",
|
||||
host = host,
|
||||
port = port,
|
||||
password = pass,
|
||||
mount = mount_point,
|
||||
fallible = true,
|
||||
url = url,
|
||||
description = description,
|
||||
name = name,
|
||||
genre = genre,
|
||||
user = !user_ref,
|
||||
on_error = on_error,
|
||||
on_connect = on_connect)
|
||||
|
||||
output_stereo = output.icecast(
|
||||
id = "icecast:stream_#{stream}",
|
||||
host = host,
|
||||
port = port,
|
||||
password = pass,
|
||||
mount = mount_point,
|
||||
fallible = true,
|
||||
url = url,
|
||||
description = description,
|
||||
name = name,
|
||||
genre = genre,
|
||||
user = !user_ref,
|
||||
on_error = on_error,
|
||||
on_connect = on_connect)
|
||||
if type == "mp3" then
|
||||
%include "mp3.liq"
|
||||
end
|
||||
if type == "ogg" then
|
||||
%include "ogg.liq"
|
||||
end
|
||||
|
||||
%ifencoder %opus
|
||||
if type == "opus" then
|
||||
%include "opus.liq"
|
||||
end
|
||||
%endif
|
||||
|
||||
%ifencoder %fdkaac
|
||||
if type == "aac" then
|
||||
%include "fdkaac.liq"
|
||||
end
|
||||
%endif
|
||||
else
|
||||
user_ref = ref user
|
||||
if user == "" then
|
||||
user_ref := "source"
|
||||
end
|
||||
|
||||
output_mono = output.shoutcast(
|
||||
id = "shoutcast:stream_#{stream}",
|
||||
host = host,
|
||||
port = port,
|
||||
password = pass,
|
||||
fallible = true,
|
||||
url = url,
|
||||
genre = genre,
|
||||
name = description,
|
||||
user = !user_ref,
|
||||
on_error = on_error,
|
||||
on_connect = on_connect)
|
||||
|
||||
output_stereo = output.shoutcast(
|
||||
id = "shoutcast:stream_#{stream}",
|
||||
host = host,
|
||||
port = port,
|
||||
password = pass,
|
||||
fallible = true,
|
||||
url = url,
|
||||
genre = genre,
|
||||
name = description,
|
||||
user = !user_ref,
|
||||
on_error = on_error,
|
||||
on_connect = on_connect)
|
||||
|
||||
if type == "mp3" then
|
||||
%include "mp3.liq"
|
||||
end
|
||||
|
||||
%ifencoder %fdkaac
|
||||
if type == "aac" then
|
||||
%include "fdkaac.liq"
|
||||
end
|
||||
%endif
|
||||
end
|
||||
def make_ouput_on_error_handler(stream)
|
||||
def on_error(msg)
|
||||
gateway("stream '#{stream}' '#{boot_timestamp}' --error='#{msg}'")
|
||||
5.
|
||||
end
|
||||
on_error
|
||||
end
|
||||
|
||||
def clear_queue(s)
|
||||
|
|
|
@ -224,78 +224,3 @@ server.register(namespace="sources",
|
|||
usage="start_schedule",
|
||||
"start_schedule",
|
||||
fun (s) -> begin log("sources.start_schedule") start_schedule() "Done." end)
|
||||
|
||||
if output_sound_device then
|
||||
success = ref false
|
||||
|
||||
log(output_sound_device_type)
|
||||
|
||||
%ifdef output.alsa
|
||||
if output_sound_device_type == "ALSA" then
|
||||
ignore(output.alsa(s))
|
||||
success := true
|
||||
end
|
||||
%endif
|
||||
|
||||
%ifdef output.ao
|
||||
if output_sound_device_type == "AO" then
|
||||
ignore(output.ao(s))
|
||||
success := true
|
||||
end
|
||||
%endif
|
||||
|
||||
%ifdef output.oss
|
||||
if output_sound_device_type == "OSS" then
|
||||
ignore(output.oss(s))
|
||||
success := true
|
||||
end
|
||||
%endif
|
||||
|
||||
%ifdef output.portaudio
|
||||
if output_sound_device_type == "Portaudio" then
|
||||
ignore(output.portaudio(s))
|
||||
success := true
|
||||
end
|
||||
%endif
|
||||
|
||||
%ifdef output.pulseaudio
|
||||
if output_sound_device_type == "Pulseaudio" then
|
||||
ignore(output.pulseaudio(s))
|
||||
success := true
|
||||
end
|
||||
%endif
|
||||
|
||||
if (!success == false) then
|
||||
ignore(output.prefered(s))
|
||||
end
|
||||
|
||||
end
|
||||
|
||||
if s1_enable == true then
|
||||
output_to(s1_output, s1_type, s1_bitrate, s1_host, s1_port, s1_pass,
|
||||
s1_mount, s1_url, s1_description, s1_genre, s1_user, s, "1",
|
||||
s1_name, s1_channels)
|
||||
end
|
||||
|
||||
if s2_enable == true then
|
||||
output_to(s2_output, s2_type, s2_bitrate, s2_host, s2_port, s2_pass,
|
||||
s2_mount, s2_url, s2_description, s2_genre, s2_user, s, "2",
|
||||
s2_name, s2_channels)
|
||||
|
||||
end
|
||||
|
||||
if s3_enable == true then
|
||||
output_to(s3_output, s3_type, s3_bitrate, s3_host, s3_port, s3_pass,
|
||||
s3_mount, s3_url, s3_description, s3_genre, s3_user, s, "3",
|
||||
s3_name, s3_channels)
|
||||
end
|
||||
|
||||
if s4_enable == true then
|
||||
log("Stream 4 Enabled")
|
||||
output_to(s4_output, s4_type, s4_bitrate, s4_host, s4_port, s4_pass,
|
||||
s4_mount, s4_url, s4_name, s4_genre, s4_user, s, "4",
|
||||
s4_description, s4_channels)
|
||||
end
|
||||
|
||||
|
||||
gateway("started")
|
||||
|
|
|
@ -1,67 +0,0 @@
|
|||
if bitrate == 24 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%mp3(bitrate = 24, stereo = true), !source))
|
||||
else
|
||||
ignore(output_mono(%mp3(bitrate = 24, stereo = false), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 32 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%mp3(bitrate = 32, stereo = true), !source))
|
||||
else
|
||||
ignore(output_mono(%mp3(bitrate = 32, stereo = false), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 48 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%mp3(bitrate = 48, stereo = true), !source))
|
||||
else
|
||||
ignore(output_mono(%mp3(bitrate = 48, stereo = false), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 64 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%mp3(bitrate = 64, stereo = true), !source))
|
||||
else
|
||||
ignore(output_mono(%mp3(bitrate = 64, stereo = false), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 96 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%mp3(bitrate = 96, stereo = true), !source))
|
||||
else
|
||||
ignore(output_mono(%mp3(bitrate = 96, stereo = false), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 128 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%mp3(bitrate = 128, stereo = true), !source))
|
||||
else
|
||||
ignore(output_mono(%mp3(bitrate = 128, stereo = false), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 160 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%mp3(bitrate = 160, stereo = true), !source))
|
||||
else
|
||||
ignore(output_mono(%mp3(bitrate = 160, stereo = false), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 192 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%mp3(bitrate = 192, stereo = true), !source))
|
||||
else
|
||||
ignore(output_mono(%mp3(bitrate = 192, stereo = false), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 224 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%mp3(bitrate = 224, stereo = true), !source))
|
||||
else
|
||||
ignore(output_mono(%mp3(bitrate = 224, stereo = false), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 256 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%mp3(bitrate = 256, stereo = true), !source))
|
||||
else
|
||||
ignore(output_mono(%mp3(bitrate = 256, stereo = false), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 320 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%mp3(bitrate = 320, stereo = true), !source))
|
||||
else
|
||||
ignore(output_mono(%mp3(bitrate = 320, stereo = false), mean(!source)))
|
||||
end
|
||||
end
|
|
@ -1,59 +0,0 @@
|
|||
if not icecast_vorbis_metadata then
|
||||
source := add(normalize=false, [amplify(0.00001, noise()), !source])
|
||||
end
|
||||
|
||||
if bitrate == 24 or bitrate == 32 or bitrate == 48 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%vorbis(quality=-0.1, channels = 2), !source))
|
||||
else
|
||||
ignore(output_mono(%vorbis(quality=-0.1, channels = 1), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 64 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%vorbis(quality=0, channels = 2), !source))
|
||||
else
|
||||
ignore(output_mono(%vorbis(quality=0, channels = 1), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 96 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%vorbis(quality=0.2, channels = 2), !source))
|
||||
else
|
||||
ignore(output_mono(%vorbis(quality=0.2, channels = 1), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 128 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%vorbis(quality=0.4, channels = 2), !source))
|
||||
else
|
||||
ignore(output_mono(%vorbis(quality=0.4, channels = 1), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 160 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%vorbis(quality=0.5, channels = 2), !source))
|
||||
else
|
||||
ignore(output_mono(%vorbis(quality=0.5, channels = 1), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 192 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%vorbis(quality=0.6, channels = 2), !source))
|
||||
else
|
||||
ignore(output_mono(%vorbis(quality=0.6, channels = 1), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 224 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%vorbis(quality=0.7, channels = 2), !source))
|
||||
else
|
||||
ignore(output_mono(%vorbis(quality=0.7, channels = 1), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 256 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%vorbis(quality=0.8, channels = 2), !source))
|
||||
else
|
||||
ignore(output_mono(%vorbis(quality=0.8, channels = 1), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 320 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%vorbis(quality=0.9, channels = 2), !source))
|
||||
else
|
||||
ignore(output_mono(%vorbis(quality=0.9, channels = 1), mean(!source)))
|
||||
end
|
||||
end
|
|
@ -1,67 +0,0 @@
|
|||
if bitrate == 24 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%opus(bitrate = 24, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
|
||||
else
|
||||
ignore(output_mono(%opus(bitrate = 24, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 32 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%opus(bitrate = 32, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
|
||||
else
|
||||
ignore(output_mono(%opus(bitrate = 32, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 48 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%opus(bitrate = 48, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
|
||||
else
|
||||
ignore(output_mono(%opus(bitrate = 48, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 64 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%opus(bitrate = 64, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
|
||||
else
|
||||
ignore(output_mono(%opus(bitrate = 64, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 96 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%opus(bitrate = 96, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
|
||||
else
|
||||
ignore(output_mono(%opus(bitrate = 96, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 128 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%opus(bitrate = 128, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
|
||||
else
|
||||
ignore(output_mono(%opus(bitrate = 128, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 160 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%opus(bitrate = 160, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
|
||||
else
|
||||
ignore(output_mono(%opus(bitrate = 160, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 192 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%opus(bitrate = 192, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
|
||||
else
|
||||
ignore(output_mono(%opus(bitrate = 192, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 224 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%opus(bitrate = 224, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
|
||||
else
|
||||
ignore(output_mono(%opus(bitrate = 224, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 256 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%opus(bitrate = 256, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
|
||||
else
|
||||
ignore(output_mono(%opus(bitrate = 256, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
|
||||
end
|
||||
elsif bitrate == 320 then
|
||||
if stereo then
|
||||
ignore(output_stereo(%opus(bitrate = 320, channels = 2, signal="music", application="audio", complexity=10, vbr="constrained"), !source))
|
||||
else
|
||||
ignore(output_mono(%opus(bitrate = 320, channels = 1, signal="music", application="audio", complexity=10, vbr="constrained"), mean(!source)))
|
||||
end
|
||||
end
|
Loading…
Add table
Add a link
Reference in a new issue