Guides

Update metadata and diagnose text encoding

Separate in-stream metadata from admin updates, send correctly encoded title parameters and locate charset problems without changing the audio.

On this page

A title visible on the status page and a title shown by a player can travel through different paths. The source may send metadata inside the media container, while a legacy stream may use ICY metadata. Icecast’s statistics expose the values it knows; a web page is not proof that every player has consumed the same update.

Prefer the source’s own metadata path

For Ogg, send metadata through the source application’s supported in-stream mechanism. For a legacy MP3 workflow that accepts admin metadata updates, the documented endpoint is /admin/metadata with mount, mode=updinfo and song. Do not generalise a successful MP3 update to every container or source plugin.

This request targets your local test server and prompts for the admin password. The text and mount are illustrative:

sh · Code example
curl --fail --show-error --user admin --get   --data-urlencode 'mount=/live.mp3'   --data-urlencode 'mode=updinfo'   --data-urlencode 'song=Example artist - Example title'   http://127.0.0.1:8000/admin/metadata

Use encrypted transport for a remote server. --data-urlencode prevents spaces, & or non-ASCII text from becoming unintended query syntax. A successful HTTP response still needs a check of the returned administration result and the active source’s title in statistics.

Diagnose the charset boundary

When umlauts or accents break, determine which source encoding was sent and what Icecast expected. Ogg metadata and older ICY sources do not necessarily follow the same conventions. A mount-level charset can define the source encoding for a legacy stream; it is not a command to reinterpret already-correct UTF-8 at random. Test one known title containing representative characters through source, statistics and the intended player.

If the title changes back immediately, another source-side update may be overwriting it. If the update reaches the wrong stream, check the exact mount path and request encoding. If it is rejected, inspect credentials and mount policy before changing unrelated XML. Treat metadata as untrusted text when displaying it in your own application.

Sources

  • Icecast 2.5.0 source archive (.tar.gz)

    2.5.0 · Retrieved

    Files used from this archive

    • Administrationdoc/admin_interface/index.html
    • Configuration referencedoc/config_file/index.html
    • Server statisticsdoc/server_stats/index.html
  • curl command reference

    Commands checked against current reference · Retrieved

  • Administration

    2.0.2 (historical) · Retrieved