1234567891011121314151617181920212223242526272829303132333435363738 |
- #!/usr/bin/env liquidsoap
- # A simple script that will both record to file and expose an http server.
- # The http server uses (aggressive) silence detection
- set('log.file', false)
- set('log.stdout', true)
- rec_up = interactive.bool("rec_up", false)
- icecast_up = interactive.bool("icecast_up", false)
- def var_ok(varname) =
- fun () -> ignore(server.execute("var.set #{varname} = true"))
- end
- def var_ko(varname) =
- fun () -> ignore(server.execute("var.set #{varname} = false"))
- end
- audioin = in()
- audioin = rewrite_metadata([("artist", "Direttoforo")], audioin)
- audioin = server.rms(id="rms", audioin)
- f = output.file(
- id="rec",
- %vorbis(quality=0.2, samplerate=44100, channels=2),
- on_start=var_ok("rec_up"),
- on_stop=var_ko("rec_up"),
- "rec/%Y/%m/rec-%Y-%m-%d_%H-%M-%S.ogg",
- audioin
- )
- http = output.harbor(
- id="http",
- mount="/stream.ogg",
- password="",
- fallible=true,
- %vorbis(quality=0.1, samplerate=44100, channels=2),
- strip_blank(id="strip", max_blank=3., min_noise=0.2, track_sensitive=false, audioin)
- )
|