ICY metadata support with ffmpeg

2019-01-25 23:15发布

问题:

Is there any way to get ICY metadata from shoutcast stream using FFMpeg ? One way would be to deal with the connection/stream by myself and send Custom IOStream to ffmpeg.

Is there any other simple way? or demuxer available ?

Thanks

回答1:

There was discussion of a patch for supporting it here: http://web.archiveorange.com/archive/v/yR2T400567mWEyyZHg3k

But, it doesn't look like it made it in yet. I suggest you simply parse this out yourself. See my answer here for how to do this:

https://stackoverflow.com/a/4914538/362536

Alternatively, you can just access /7.html on SHOUTcast servers, and you will get a line like this:

1,1,15,625,1,128,Oh Mercy - Stay, Please Stay

The fields are:

  1. Number of listeners
  2. Stream status (1 means you're on the air, 0 means the source isn't there)
  3. Peak number of listeners for this server run
  4. Max number of simultaneous listeners the server is configured to allow
  5. The unique number of listeners, based on IP
  6. Current bitrate in kilobits
  7. The title. (Note, even if you have a comma in your title, it isn't escaped or anything.)

Beware though that /7.html isn't always available on non-SHOUTcast servers, and may not be available in the beta of the new version. While this is a quick and easy method, you would be better off parsing the metadata sent to clients.