# Extracting ID3 Tags out of an Audio stream

**URL:** <https://discourse.nodered.org/t/extracting-id3-tags-out-of-an-audio-stream/62570>\
**Category:** General\
**Created:** [12 May 2022 18:50 UTC](https://discourse.nodered.org/t/extracting-id3-tags-out-of-an-audio-stream/62570 "2022-05-12T18:50:44Z")\
**Posts on this page:** 10\
**Page:** 1

<div class="post-metadata">

**Author:** ![onkel\_joerg](https://avatars.discourse-cdn.com/v4/letter/o/d9b06d/32.png) [@onkel\_joerg](https://discourse.nodered.org/u/onkel_joerg)\
**Post date:** [12 May 2022 18:50 UTC](https://discourse.nodered.org/t/extracting-id3-tags-out-of-an-audio-stream/62570/1 "2022-05-12T18:50:44Z")

</div>

Hello all

Is there a way to extract the Artist and Album information out of an internet audiostream?

---

<div class="post-metadata">

**Author:** ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)\
**Post date:** [12 May 2022 19:11 UTC](https://discourse.nodered.org/t/extracting-id3-tags-out-of-an-audio-stream/62570/2 "2022-05-12T19:11:26Z")

</div>

What have you tried?

---

<div class="post-metadata">

**Author:** ![onkel\_joerg](https://avatars.discourse-cdn.com/v4/letter/o/d9b06d/32.png) [@onkel\_joerg](https://discourse.nodered.org/u/onkel_joerg)\
**Post date:** [12 May 2022 19:39 UTC](https://discourse.nodered.org/t/extracting-id3-tags-out-of-an-audio-stream/62570/3 "2022-05-12T19:39:34Z")

</div>

searched for ID3 Extractor 🙂

perhaps Im not using the right search term.  
I would like to have a node where I put in a URL an get the "Artist", "Album" and so on tags, that are in this stream.

you guess it, Im a complete noob 😉

---

<div class="post-metadata">

**Author:** ![zenofmud](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/zenofmud/32/316_2.png) [@zenofmud](https://discourse.nodered.org/u/zenofmud)\
**Post date:** [12 May 2022 20:30 UTC](https://discourse.nodered.org/t/extracting-id3-tags-out-of-an-audio-stream/62570/4 "2022-05-12T20:30:16Z")

</div>

Where do you get the 'internet audiostream' from?  
Do you know if the 'internet audiostream' actually contains the information?  
Do you have a flow that is playing the stream?

- if so please export the flow and attach it to a reply.

---

<div class="post-metadata">

**Author:** ![onkel\_joerg](https://avatars.discourse-cdn.com/v4/letter/o/d9b06d/32.png) [@onkel\_joerg](https://discourse.nodered.org/u/onkel_joerg)\
**Post date:** [14 May 2022 16:18 UTC](https://discourse.nodered.org/t/extracting-id3-tags-out-of-an-audio-stream/62570/6 "2022-05-14T16:18:44Z")

</div>

Its from a website and i have no node yet.  
Im looking for a way into this.

And when I play the stream in VLC it shows the information that I want.  
Stream adress is [http://cc6.beheerstream.com:8151/stream](http://cc6.beheerstream.com:8151/stream)

---

<div class="post-metadata">

**Author:** ![kevinGodell](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/kevingodell/32/27040_2.png) [@kevinGodell](https://discourse.nodered.org/u/kevinGodell)\
**Post date:** [14 May 2022 23:41 UTC](https://discourse.nodered.org/t/extracting-id3-tags-out-of-an-audio-stream/62570/7 "2022-05-14T23:41:41Z")

</div>

If you install ffmpeg on your system, then it will usually comes with **ffprobe**. It can be used to get data about various media sources.

run the following command:  
`ffprobe -loglevel quiet -print_format json -show_format -show_streams http://cc6.beheerstream.com:8151/stream`

output:

```auto
{
    "streams": [
        {
            "index": 0,
            "codec_name": "mp3",
            "codec_long_name": "MP3 (MPEG audio layer 3)",
            "codec_type": "audio",
            "codec_tag_string": "[0][0][0][0]",
            "codec_tag": "0x0000",
            "sample_fmt": "fltp",
            "sample_rate": "44100",
            "channels": 2,
            "channel_layout": "stereo",
            "bits_per_sample": 0,
            "r_frame_rate": "0/0",
            "avg_frame_rate": "0/0",
            "time_base": "1/14112000",
            "start_pts": 0,
            "start_time": "0.000000",
            "bit_rate": "320000",
            "disposition": {
                "default": 0,
                "dub": 0,
                "original": 0,
                "comment": 0,
                "lyrics": 0,
                "karaoke": 0,
                "forced": 0,
                "hearing_impaired": 0,
                "visual_impaired": 0,
                "clean_effects": 0,
                "attached_pic": 0,
                "timed_thumbnails": 0,
                "captions": 0,
                "descriptions": 0,
                "metadata": 0,
                "dependent": 0,
                "still_image": 0
            }
        }
    ],
    "format": {
        "filename": "http://cc6.beheerstream.com:8151/stream",
        "nb_streams": 1,
        "nb_programs": 0,
        "format_name": "mp3",
        "format_long_name": "MP2/3 (MPEG audio layer 2/3)",
        "start_time": "0.000000",
        "bit_rate": "320000",
        "probe_score": 51,
        "tags": {
            "icy-notice1": "<BR>This stream requires <a href=\"http://www.winamp.com\">Winamp</a><BR>",
            "icy-notice2": "SHOUTcast DNAS/posix(linux x64) v2.5.5.733<BR>",
            "icy-name": "Radio078Synth",
            "icy-genre": "Misc",
            "icy-br": "320",
            "icy-sr": "44100",
            "icy-url": "http://www.shoutcast.com",
            "icy-pub": "1",
            "StreamTitle": "Radio078Synth - The Best Electronic Music",
            "StreamUrl": "http://"
        }
    }
}

```

You could run the command in the exec node and handle the json output and extract whatever data is pertinent.

---

<div class="post-metadata">

**Author:** ![onkel\_joerg](https://avatars.discourse-cdn.com/v4/letter/o/d9b06d/32.png) [@onkel\_joerg](https://discourse.nodered.org/u/onkel_joerg)\
**Post date:** [14 May 2022 23:46 UTC](https://discourse.nodered.org/t/extracting-id3-tags-out-of-an-audio-stream/62570/8 "2022-05-14T23:46:27Z")

</div>

> [@kevinGodell](#):
>
> ffmpeg

thank you.  
I'll try my best

---

<div class="post-metadata">

**Author:** ![onkel\_joerg](https://avatars.discourse-cdn.com/v4/letter/o/d9b06d/32.png) [@onkel\_joerg](https://discourse.nodered.org/u/onkel_joerg)\
**Post date:** [15 May 2022 01:13 UTC](https://discourse.nodered.org/t/extracting-id3-tags-out-of-an-audio-stream/62570/9 "2022-05-15T01:13:35Z")

</div>

installed ffmpeg but got error:

```auto
"{"code":127,"message":"Command failed: ffprobe -loglevel quiet -print_format json -show_format -show_streams http://cc6.beheerstream.com:8151/stream\n/bin/bash: ffprobe: command not found\n"}"

```

Node Red runs in a Docker container on a Linux Mint installation  
and as I said in the first post - I'm a noob 😉

---

<div class="post-metadata">

**Author:** ![bakman2](https://sea2.discourse-cdn.com/flex026/user_avatar/discourse.nodered.org/bakman2/32/6207_2.png) [@bakman2](https://discourse.nodered.org/u/bakman2)\
**Post date:** [15 May 2022 07:36 UTC](https://discourse.nodered.org/t/extracting-id3-tags-out-of-an-audio-stream/62570/10 "2022-05-15T07:36:35Z")

</div>

The key is in "container", ie. it is isolated from the rest of the system. If you want to keep running in docker, you will need to create a custom docker container, include ffmpeg and build a new image.

Or just run node-red natively then you can access the installed ffmpeg binary from node-red directly.

---

<div class="post-metadata">

**Author:** ![system](https://us1.discourse-cdn.com/flex026/uploads/nodered/original/1X/d073cd938eafa2e558d7c2cd59003b3ef4963033.png) [@system](https://discourse.nodered.org/u/system)\
**Post date:** [14 July 2022 07:37 UTC](https://discourse.nodered.org/t/extracting-id3-tags-out-of-an-audio-stream/62570/11 "2022-07-14T07:37:24Z")

</div>

This topic was automatically closed 60 days after the last reply. New replies are no longer allowed.
