Name

glasscoder-ipc — IPC methods for the GlassCoder stream encoder

Synopsis

glasscoder [OPTIONS]

Description

glasscoder(1) is an audio encoder that is capable of generating live streams using a variety of formats and sending them to an Icecast or Shoutcast audio streaming server or posting them as HTTP Live Streams [HLS]. For more information regarding its overall capabilities, see the glasscoder(1) man page.

A running glasscoder(1) instance can be monitored and controlled by means of two different IPC methods: its standard input/output streams and HTTP calls.

Monitoring via Standard Output

glasscoder(1) can output realtime information about current operating state via its standard output and/or error streams. The location and format in which this information is generated is controlled by means of the --errors-to and --meter-data options.

When --errors-to=STDOUT is specified, glasscoder(1) will output error messages on standard output in the following machine-readable format:

      ER [priority]  [msg]
    

where [priority] is an integer the indicates the priority level of the error as defined by the syslog(3) interface and [msg] is a text string describing the error. Each message is terminated by a newline character.

When --meter-data is specified, glasscoder(1) will output realtime audio level information suitable for being rendered as an audio meter display in the following format:

      ME [left-lvlright-lvl]
    

where each argument is the current audio level of the corresponding channel in hexidecimal, referenced to 0 dBFS. Each message is terminated by a newline character.

Control via Standard Input

glasscoder(1) supports the following command, sent via standard input:

      MD [text]
    

Send the metadata [text] to the stream. The command should be terminated by newline.

Control via HTTP GET

If the --metadata-port=port option is given a non-zero value, metadata updates can be sent to the stream by means of one of the following HTTP GET calls

http://hostname:port/admin.cgi?pass=password&mode=updinfo&song=text

http://hostname:port/admin/metadata?mount=mountpt&mode=updinfo&song=text

Proxy Connections

It is possible to implement proxy connectors for glasscoder(1)'s IceStreamer server through use of the --server-pipe command switch. This switch will create a UNIX socket which can be used to pipe in open descriptors for player connections by means of ancilliary socket messages with the SCM_RIGHTS message type. See the unix(7) man page for more information. A fully worked-out example is also available in the GlassCoder source package in the 'src/tests/' subdirectory.

Author

Fred Gleason <fredg@paravelsystems.com>

See Also

glasscoder(1), cmsg(3), sendmsg(2), syslog(3), unix(7)