mp3-stream-title
v1.0.1
Published
Получение названия текущей песни из MP3 радиопотока с ICY-метаданными
Readme
mp3-stream-title
A lightweight Node.js utility to extract the current song title from an MP3 audio stream using ICY metadata. Useful for internet radio players, dashboards, or stream monitoring tools.
Features
- Extracts
StreamTitlefrom ICY metadata - No dependencies
- Works with most MP3 shoutcast/icecast streams
- Simple async API
Installation
Usage
// index.js import { getMp3StreamTitle } from 'mp3-stream-title';
const streamUrl = 'http://icecast.radio-browser.info:80/stream/rock';
async function printCurrentTrack() {
try {
const title = await getMp3StreamTitle(streamUrl);
console.log('Now playing:', title);
} catch (err) {
console.error('Failed to fetch title:', err);
}
}
printCurrentTrack();
Make sure your Node.js environment supports ES modules (type: "module" in package.json), or adapt to CommonJS if needed.
API
getMp3StreamTitle(streamUrl: string): Promise<string>
Fetches the current StreamTitle from the given MP3 stream URL.
Parameters:
streamUrl — Full HTTP URL to the MP3 stream (must support ICY metadata)
Returns:
A Promise that resolves to the current song title (string), or "Unknown" if not available.
Notes
- The stream must support ICY metadata (e.g. icy-metaint header).
- Only works with HTTP streams (not HTTPS by default).
- The function reads the initial data block to extract metadata; it does not keep the stream open.
License
MIT License
Author
Created by Diaken(Kenan)
