CC-2590: Make bitrate for liquidsoap adjustable, support multiple
stream - done
This commit is contained in:
parent
3dca3fd800
commit
4125f83ae7
|
@ -7,19 +7,16 @@
|
|||
###########################################
|
||||
output_sound_device = false
|
||||
output_s1 = "icecast"
|
||||
output_s2 = "icecast"
|
||||
output_s3 = "shoutcast"
|
||||
output_s2 = "disabled"
|
||||
output_s3 = "disabled"
|
||||
|
||||
s1_type = "mp3"
|
||||
s1_type = "ogg"
|
||||
s2_type = "ogg"
|
||||
s3_type = "mp3"
|
||||
|
||||
#output_bitrate = 128
|
||||
s1_bitrate = 64
|
||||
s1_bitrate = 128
|
||||
s2_bitrate = 128
|
||||
s3_bitrate = 128
|
||||
#output_samplerate = 44100
|
||||
#output_stereo = true
|
||||
s3_bitrate = 160
|
||||
|
||||
###########################################
|
||||
# Logging settings #
|
||||
|
@ -35,23 +32,23 @@ s2_host = "127.0.0.1"
|
|||
s3_host = "127.0.0.1"
|
||||
s1_port = 8000
|
||||
s2_port = 8000
|
||||
s3_port = 9000
|
||||
s3_port = 8000
|
||||
s1_pass = "hackme"
|
||||
s2_pass = "hackme"
|
||||
s3_pass = "testing"
|
||||
s3_pass = "hackme"
|
||||
|
||||
# Icecast mountpoint names
|
||||
s1_mount = "airtime_64.mp3"
|
||||
s1_mount = "airtime_128.ogg"
|
||||
s2_mount = "airtime_128.ogg"
|
||||
s3_mount = "airtime_128.ogg"
|
||||
s3_mount = "airtime_160.mp3"
|
||||
|
||||
# Webstream metadata settings
|
||||
s1_url = "http://airtime.sourcefabric.org"
|
||||
s2_url = "http://airtime.sourcefabric.org"
|
||||
s3_url = "http://airtime.sourcefabric.org"
|
||||
s1_description = "Airtime Radio!"
|
||||
s2_description = "Airtime Radio!"
|
||||
s3_description = "Airtime Radio!"
|
||||
s1_description = "Airtime Radio! stream1"
|
||||
s2_description = "Airtime Radio! stream2"
|
||||
s3_description = "Airtime Radio! stream3"
|
||||
s1_genre = "genre"
|
||||
s2_genre = "genre"
|
||||
s3_genre = "genre"
|
||||
|
@ -62,14 +59,3 @@ s3_genre = "genre"
|
|||
# mplayer and VLC have this problem. Enable this option at your
|
||||
# own risk!
|
||||
output_icecast_vorbis_metadata = false
|
||||
|
||||
###########################################
|
||||
# Shoutcast Stream settings #
|
||||
###########################################
|
||||
#shoutcast_host = "127.0.0.1"
|
||||
#shoutcast_port = 9000
|
||||
#shoutcast_pass = "testing"
|
||||
|
||||
# Webstream metadata settings
|
||||
#shoutcast_url = "http://airtime.sourcefabric.org"
|
||||
#shoutcast_genre = "genre"
|
||||
|
|
|
@ -38,127 +38,65 @@ end
|
|||
|
||||
|
||||
def output_to(output_type, type, bitrate, host, port, pass, mount_point, url, description, genre, s) =
|
||||
if output_type == "icecast" then
|
||||
if output_type == "icecast" then
|
||||
output.icecast = output.icecast(host = host,
|
||||
port = port,
|
||||
password = pass,
|
||||
mount = mount_point,
|
||||
fallible = true,
|
||||
restart = true,
|
||||
restart_delay = 5,
|
||||
url = url,
|
||||
description = description,
|
||||
genre = genre)
|
||||
if type == "mp3" then
|
||||
if bitrate == 64 then
|
||||
ignore(output.icecast(%mp3(bitrate = 64),
|
||||
host = host,
|
||||
port = port,
|
||||
password = pass,
|
||||
mount = mount_point,
|
||||
fallible = true,
|
||||
restart = true,
|
||||
restart_delay = 5,
|
||||
url = url,
|
||||
description = description,
|
||||
genre = genre,
|
||||
s)
|
||||
)
|
||||
if bitrate == 32 then
|
||||
ignore(output.icecast(%mp3(bitrate = 32),s))
|
||||
elsif bitrate == 64 then
|
||||
ignore(output.icecast(%mp3(bitrate = 64),s))
|
||||
elsif bitrate == 96 then
|
||||
ignore(output.icecast(%mp3(bitrate = 96),s))
|
||||
elsif bitrate == 128 then
|
||||
ignore(output.icecast(%mp3(bitrate = 128),
|
||||
host = host,
|
||||
port = port,
|
||||
password = pass,
|
||||
mount = mount_point,
|
||||
fallible = true,
|
||||
restart = true,
|
||||
restart_delay = 5,
|
||||
url = url,
|
||||
description = description,
|
||||
genre = genre,
|
||||
s)
|
||||
)
|
||||
ignore(output.icecast(%mp3(bitrate = 128),s))
|
||||
elsif bitrate == 160 then
|
||||
ignore(output.icecast(%mp3(bitrate = 160),s))
|
||||
end
|
||||
else
|
||||
if bitrate == 64 then
|
||||
if output_icecast_vorbis_metadata then
|
||||
ignore(output.icecast(%vorbis,
|
||||
host = host,
|
||||
port = port,
|
||||
password = pass,
|
||||
mount = mount_point,
|
||||
fallible = true,
|
||||
restart = true,
|
||||
restart_delay = 5,
|
||||
url = url,
|
||||
description = description,
|
||||
genre = genre,
|
||||
s)
|
||||
)
|
||||
else
|
||||
s = add(normalize=false, [amplify(0.00001, noise()),s])
|
||||
ignore(output.icecast(%vorbis,
|
||||
host = host,
|
||||
port = port,
|
||||
password = pass,
|
||||
mount = mount_point,
|
||||
fallible = true,
|
||||
restart = true,
|
||||
restart_delay = 5,
|
||||
url = url,
|
||||
description = description,
|
||||
genre = genre,
|
||||
s)
|
||||
)
|
||||
end
|
||||
source = ref s
|
||||
if not output_icecast_vorbis_metadata then
|
||||
source := add(normalize=false, [amplify(0.00001, noise()),s])
|
||||
end
|
||||
if bitrate == 32 then
|
||||
ignore(output.icecast(%vorbis.cbr(bitrate = 32),!source))
|
||||
elsif bitrate == 64 then
|
||||
ignore(output.icecast(%vorbis.cbr(bitrate = 64),!source))
|
||||
elsif bitrate == 96 then
|
||||
ignore(output.icecast(%vorbis.cbr(bitrate = 96),!source))
|
||||
elsif bitrate == 128 then
|
||||
if output_icecast_vorbis_metadata then
|
||||
ignore(output.icecast(%vorbis,
|
||||
host = host,
|
||||
port = port,
|
||||
password = pass,
|
||||
mount = mount_point,
|
||||
fallible = true,
|
||||
restart = true,
|
||||
restart_delay = 5,
|
||||
url = url,
|
||||
description = description,
|
||||
genre = genre,
|
||||
s)
|
||||
)
|
||||
else
|
||||
s = add(normalize=false, [amplify(0.00001, noise()),s])
|
||||
ignore(output.icecast(%vorbis,
|
||||
host = host,
|
||||
port = port,
|
||||
password = pass,
|
||||
mount = mount_point,
|
||||
fallible = true,
|
||||
restart = true,
|
||||
restart_delay = 5,
|
||||
url = url,
|
||||
description = description,
|
||||
genre = genre,
|
||||
s)
|
||||
)
|
||||
end
|
||||
ignore(output.icecast(%vorbis.cbr(bitrate = 128),!source))
|
||||
elsif bitrate == 160 then
|
||||
ignore(output.icecast(%vorbis.cbr(bitrate = 160),!source))
|
||||
end
|
||||
end
|
||||
else
|
||||
if bitrate == 64 then
|
||||
ignore(output.shoutcast(%mp3(bitrate = 64),
|
||||
host = host,
|
||||
port = port,
|
||||
password = pass,
|
||||
fallible = true,
|
||||
restart = true,
|
||||
restart_delay = 5,
|
||||
url = url,
|
||||
genre = genre,
|
||||
s)
|
||||
)
|
||||
output.shoutcast = output.shoutcast(host = host,
|
||||
port = port,
|
||||
password = pass,
|
||||
fallible = true,
|
||||
restart = true,
|
||||
restart_delay = 5,
|
||||
url = url,
|
||||
genre = genre)
|
||||
if bitrate == 32 then
|
||||
ignore(output.shoutcast(%mp3(bitrate = 32),s))
|
||||
elsif bitrate == 64 then
|
||||
ignore(output.shoutcast(%mp3(bitrate = 64),s))
|
||||
elsif bitrate == 96 then
|
||||
ignore(output.shoutcast(%mp3(bitrate = 96),s))
|
||||
elsif bitrate == 128 then
|
||||
ignore(output.shoutcast(%mp3(bitrate = 128),
|
||||
host = host,
|
||||
port = port,
|
||||
password = pass,
|
||||
fallible = true,
|
||||
restart = true,
|
||||
restart_delay = 5,
|
||||
url = url,
|
||||
genre = genre,
|
||||
s)
|
||||
)
|
||||
ignore(output.shoutcast(%mp3(bitrate = 128),s))
|
||||
elsif bitrate == 160 then
|
||||
ignore(output.shoutcast(%mp3(bitrate = 160),s))
|
||||
end
|
||||
end
|
||||
end
|
||||
|
|
|
@ -56,17 +56,17 @@ if output_sound_device then
|
|||
ignore(output.alsa(s))
|
||||
end
|
||||
|
||||
if output_s1 != "" then
|
||||
if output_s1 != "disabled" then
|
||||
#output_to(output_type, type, bitrate, host, port, pass, mount_point, url, description, genre, s)
|
||||
output_to(output_s1, s1_type, s1_bitrate, s1_host, s1_port, s1_pass, s1_mount, s1_url, s1_description, s1_genre, s)
|
||||
end
|
||||
|
||||
if output_s2 != "" then
|
||||
if output_s2 != "disabled" then
|
||||
#output_to(output_type, type, bitrate, host, port, pass, mount_point, url, description, genre, s)
|
||||
output_to(output_s2, s2_type, s2_bitrate, s2_host, s2_port, s2_pass, s2_mount, s2_url, s2_description, s2_genre, s)
|
||||
end
|
||||
|
||||
if output_s3 != "" then
|
||||
if output_s3 != "disabled" then
|
||||
#output_to(output_type, type, bitrate, host, port, pass, mount_point, url, description, genre, s)
|
||||
output_to(output_s3, s3_type, s3_bitrate, s3_host, s3_port, s3_pass, s3_mount, s3_url, s3_description, s3_genre, s)
|
||||
end
|
||||
|
|
Loading…
Reference in New Issue