GLASSCODER-IPC(7)
π GLASSCODER-IPC π
okay bestie, welcome to the glasscoder-ipc manual page β this is the Linux Audio Manual babe, and it's all about the IPC methods for the GlassCoder stream encoder. yes. IPC. inter-process communication. we're talking to a running encoder and it's talking back. iconic behavior fr fr π
β¨ SYNOPSIS β¨
glasscoder [OPTIONS]
π¦ DESCRIPTION π¦
so glasscoder(1) is this audio encoder that can generate live streams using a whole bunch of formats, and then yeet them off to an Icecast or Shoutcast audio streaming server, or post them as HTTP Live Streams [HLS]. if you wanna know more about literally everything it can do, go read the glasscoder(1) man page, she's the main character and this one is her lil sidekick π
now here's the tea: a running glasscoder(1) instance can be monitored AND controlled with two different IPC methods:
- its standard input/output streams
- HTTP calls
that's it. two doors. pick your vibe. πͺβ¨
π MONITORING VIA STANDARD OUTPUT π
glasscoder(1) can spill realtime info about what it's currently doing through its standard output and/or error streams. where that info shows up and what format it's in? that's all decided by the --errors-to and --meter-data options. you're in control, periodt.
π¨ error messages
when you pass --errors-to=STDOUT, glasscoder(1) will output error messages on standard output in this machine-readable format, no cap:
ER [priority] [msg]
where [priority] is an integer that tells you the priority level of the error, as defined by the syslog(3) interface, and [msg] is a text string describing the error. every single message is terminated by a newline character. every one. π«Ά
ποΈ meter data
when --meter-data is specified, glasscoder(1) will output realtime audio level info β the kind you'd render into an audio meter display β in this format:
ME [left-lvlright-lvl]
where each argument is the current audio level of the corresponding channel, in hexidecimal, referenced to 0 dBFS. and yep, each message is terminated by a newline character too. consistency slay. β¨
π CONTROL VIA STANDARD INPUT π
glasscoder(1) supports this one command, sent via standard input:
MD [text]
send the metadata [text] to the stream. the command should be terminated by a newline. that's the whole thing bestie, short and sweet π
π CONTROL VIA HTTP π
if you give the --metadata-port=port option a non-zero value, you can send metadata updates to the stream with HTTP calls. for the deets, go peek at the METADATA section of the glasscoder(1) man page. iykyk π
π§ PROXY CONNECTIONS π§
not me telling you that you can implement proxy connectors for glasscoder(1)'s IceStreamer server using the --server-pipe command switch?? π₯
this switch will create a UNIX socket, and you can use it to pipe in open file descriptors for player connections by means of ancilliary socket messages with the SCM_RIGHTS message type. go read the unix(7) man page if you want the full lore. πΈ
there's also a fully worked-out example chillin' in the GlassCoder source package, in the 'src/tests/' subdirectory. go look, it's giving tutorial energy π
π« AUTHOR π«
Fred Gleason <fredg@paravelsystems.com>
β SEE ALSO β
π AUTHOR π
Fred Gleason <fredg@paravelsystems.com>
- Application Author
okay that's the whole page bestie, you ate it up π«Ά this was the GLASSCODER-IPC(7) page from the Linux Audio Manual, dated October 2019, and this particular copy is rockin' the 07/24/2026 date. go forth and talk to your encoder. mwah ππβ¨
π¦ where this page comes from
- ubuntu stonking: glasscoder 2.1.1-1build1 Β· GPL-2.0-only
- π girlified by deepseek-ai/DeepSeek-V4.1-Flash on : a language model's rewrite of the original, under its terms