Stream Metadata Checker

Live stream diagnostics for broadcast radio, retail audio networks, tactical scanners, and webcasters. Inspect ICY headers, demux HLS ID3 tags, and test cover art resolution.

Supported Formats: ICY (In-Band) HLS (.m3u8 / ID3) AAC / MP3 / Ogg HTTP / HTTPS Live Mounts

Audio Stream Metadata Architecture: ICY, HLS, & In-Band Protocols

An engineering guide to stream demuxing, byte interleaving, ID3 timed metadata, and catalog matching across digital audio networks.

Who Uses Live Audio Stream Metadata?

While digital radio is the primary driver of live audio streaming standards, identical continuous and segmented stream architectures power multiple industries requiring low-latency, real-time audio distribution:

Broadcast Radio Networks

Terrestrial AM/FM stations and digital webcasters use ICY headers and HLS feeds to transmit live "Now Playing" song titles, artist credits, and station branding to connected car dashboards and web players.

In-Store & Hospitality Systems

Commercial background music providers pipe scheduled music and localized promotional announcements into retail stores, hotels, and gyms. Metadata feeds provide playout auditing for royalty reporting.

Aviation & Specialized Monitoring

Live air traffic control feeds (LiveATC.net), continuous NOAA weather radio rebroadcasts, and amateur radio repeaters use Icecast mounts to relay active frequency names, airport identifiers, and callsigns.

Virtual Communities & Game Worlds

Custom multiplayer gaming servers (such as FiveM / GTA RP) and virtual worlds embed raw Icecast/MP3 mounts into 3D environments, reading metadata to render active track titles on in-game car radios.

1. In-Band Byte Interleaving (The ICY Protocol)

Originating with Nullsoft's SHOUTcast server and standardized across Icecast, the ICY protocol multiplexes metadata directly into the audio bitstream over a single TCP socket, removing the overhead of running a separate API or WebSocket server:

  • Connection Handshake: The client initiates a request with the header Icy-MetaData: 1.
  • The Interval Header: If the streaming server supports dynamic metadata, it replies with an icy-metaint integer (commonly 8,192, 16,000, or 32,000).
  • Reading the Buffer: The client reads that exact number of raw audio bytes (MP3, AAC, or Ogg). The next single byte is a length multiplier: multiplying this byte value by 16 reveals the exact byte length of the incoming text block.
  • Payload Structure: If a track change occurs, the server sends an ASCII or UTF-8 payload:
    StreamTitle='Artist Name - Song Title';StreamUrl='https://station.com';
    If no track change occurred during that interval, the length byte is 0x00, signaling the decoder to immediately continue audio playback without interruption.

2. Segmented Audio: HTTP Live Streaming (HLS / .m3u8)

Mobile operating systems and high-capacity content delivery networks often deliver audio through HLS playlists to enable smooth adaptive bitrate streaming over cellular networks:

  • Manifest Resolution: HLS audio is broken into playlist files (.m3u8) that link to micro-segments of audio (.aac or .ts), typically 2 to 6 seconds in length.
  • Timed ID3 Metadata: Rather than using in-band byte counts, audio encoders wrap ID3v2 binary frames at the head of individual transport segments. Common broadcast frames include TIT2 (Title), TPE1 (Artist), and TALB (Album).

3. Commercial Ad Insertion & Marker Suppression

Many live streams route through ad monetizing gateways (Server-Side Ad Insertion, or SSAI). When a commercial flight airs or a listener encounters a pre-roll ad break, automation systems deliberately modify the metadata stream:

  • Ad Placeholders: Streams transmit tags such as TIT2='Advertisement' or empty hyphens (StreamTitle=' - ';) to signal players to suppress song titles.
  • Tracking Cues: Platforms inject ad tracking tokens (such as TXXX='cue_id...') into ID3 frames to signal mobile SDKs to fire verification beacons to billing servers.
  • Artwork Suppression: Robust stream players detect these commercial identifiers to avoid issuing unnecessary catalog artwork lookups for ads.

4. Why Stream Feeds Don't Contain Cover Images

Audio streams never embed high-resolution JPEG or PNG files. Carrying megabytes of image binaries inside continuous audio frames would trigger buffer underruns on hardware media players and cause massive bandwidth inflation for streaming servers.

Instead, modern media apps perform asynchronous client-side catalog matching. Once a verified StreamTitle is demuxed from the audio, the player sanitizes the string and queries external databases (such as Deezer or Apple Music) to retrieve album art independently.

5. Common Stream Diagnostic Scenarios

  • "icy-metaint header missing": The target URL is either a standard static HTTP file transfer, an unredirected progressive stream, or an HLS playlist provided without an explicit mount extension.
  • Browser CORS Connection Blocks: Direct browser JavaScript cannot inspect live audio streams because streaming servers rarely emit Access-Control-Allow-Origin: * headers. Server-side or edge worker proxies are necessary to inspect stream headers and read binary buffers.