Sending Metadata through API

Modified on Tue, 25 Jul, 2023 at 6:16 PM

Revma supports updating the metadata via the Icecast Admin metadata update request.


The details are best explained in the Icecast documentation, but basically it is a GET request to a specific endpoint with the query parameter “song” which carries the metadata. The values of the query parameters should of course be URL encoded before making the request.


Handling


When Revma receives a metadata update it expects it to be in the following format:

Artist - Title


It will then try to split the string using “ - “ (whitespace, dash, whitespace) as the delimiter. Whatever is left of the delimiter is considered to be the artist and whatever is right is considered to be the title. These extracted fields will also show up on our track reports (in the Revma Portal, under a station's management page) in the corresponding columns.



Delivery


The metadata end up being delivered in-band to streaming clients that support it. This type of delivery is the Shoutcast protocol which, although has no official documentation, is explained here. If a player supports in-band metadata it will add that information on the first request towards the streaming server. The server will notice this and inform the player on how often it should expect metadata updates. The player then knows which data in the stream are the audio and which are the metadata.


Example request for metadata update via the Postman client: 






Add a new HTTP Header with Key=Authorization and Value=Basic <base64value>, where <base64value> is a string obtained with the use of a base64 encoder (such as https://www.base64encode.org) the encoded string should be the “source:<mountpointpassword>” (without quotes) 



  • The parameters then are need to be set:
    mode=updinfo
    mount=/<mountpoint>
    song=Artist - Title

  • Then the GET function needs to be updated with the following url:
    http://link.rcs.revma.com/admin/metadata?mode=updinfo&mount=/7gb5k0ca4zquv&song=Artist - Title

  • Finally, if everything is set as expected and there is a stream, you should send this information and get a 200 ok status 

Was this article helpful?

That’s Great!

Thank you for your feedback

Sorry! We couldn't be helpful

Thank you for your feedback

Let us know how can we improve this article!

Select at least one of the reasons
CAPTCHA verification is required.

Feedback sent

We appreciate your effort and will try to fix the article