question-mark
Stuck on an issue?

Lightrun Answers was designed to reduce the constant googling that comes with debugging 3rd party libraries. It collects links to all the places you might be looking at while hunting down a tough bug.

And, if you’re still stuck at the end, we’re happy to hop on a call to see how we can help out.

[feature request] Show metadata on target player

See original GitHub issue

Thank you for this wonderful integration.

I’m the maintainer of the linkplay media player component.

One thing I notice is that the target media player (the one really playing out the media) doesn’t show any metadata (from Spotify). So for example:

  • go to lovelace, where you have a (physical) media player entity (eg. media_player.hang_up2stream)
  • go to media browser selection
  • choose Music Assistant
  • choose Playlists: you can see all metadata appears at this level, tracks info and coverart etc
  • select a playlist, press play
  • playback starts on the media player, but no metadata is being shown
  • also metadata is missing on the auxiliary media_player.mass_hang_up2stream

Usually linkplay devices provide some metadata via UPnP so when such information is available I parse it and import it. From Media Browser local files I just parse for “Artist - Title.ext” and if that matches I also grab cover from Last.FM. For Icecast radio streams, I look for ICY-Meta in the headers of the stream.

Is there a way I could fetch rich metadata from music assistant? Or should I provide a service for you to push metadata in (would be more accurate and less stressful)?

Issue Analytics

  • State:closed
  • Created a year ago
  • Comments:10 (9 by maintainers)

github_iconTop GitHub Comments

1reaction
marcelveldtcommented, May 10, 2022

I’m going to have a look at embedding ICY metadata into the stream if the player requests that in the header as a first step. Besides that I’ll provide some sort of hook and event to send the now playing info too.

1reaction
nagyrobicommented, May 9, 2022

On that media player the full metadata should be available. If you’re missing something, let me know.

It’s not visible here at all: image Top: the real media player entity Bottom: spit-out media player prefixed with mass

I’ve looked at ICY-Meta but that is normally used for radio streams. Not sure if it will also work for a flac/pcm stream.

Webradios are actually nothing more than audio streams. Icecast is a reputable server type which standardized the way audio streams can be optimally transported over http, and ICY-Meta is a good way implemented by Icecast to show real time metadata within the data flow. Webradios use this historically and the good part of it that it requires no extra service, textual metadata is embedded in the data flow and hardware players can easily display it too.

Actually TuneIn service is nothing more than just a directory, a collection of Icecast/Shoutcast streams, which in reality are all operated by the radio station owners themselves. So any player supporting TuneIn is in reality able to play Icecast.

Icecast supports FLAC by design and I don’t think there’s any reason why you couldn’t feed it with uncompressed PCM. I don’t mean by creating a full-blown icecast server just for this, but I think ICY-Meta can be embedded by various other means regardless of the stream compression algorythm. https://icecast.org/faq/

Another approach could be that I fire an event on the HA eventbus with the media details, for you to pick up ?

I’d be happy to test this, and add it as extra functionality to my component. For example if the stream URL itself would follow a uniquely recognizable pattern (currently it’s http://ha.ip:8096/media_player.hang_up2stream.flac as I’ve noticed, say, if we agree that the 8096/media_player + something unique to this component substring will allways be there) I could know that the source of metadata information is on the event bus.

But I have zero experience with any sort of event bus programming so I’m all ears… What I’d like to get is:

  • media_image_url
  • media_title
  • media_artist
  • media_album_name
  • media_position
  • media_duration

And it would be super great if I could push back to you a “Next”, “Prev” and “Seek” commands from the real player towards the “Spit out” player (or event bus?), as that’s the one exposed to the user.

Read more comments on GitHub >

github_iconTop Results From Across the Web

Provide a property that reports the mastering display metadata ...
Provide a new property video-params/mastering-display-metadata that reports the mastering display metadata used by current video track, or null ...
Read more >
Excellant suggestion. Feature Request will be file... - Adobe Support ...
I'd like to see video length in Bridge metadata. Windows Explorer shows this. Why can't Bridge? All those metadata fields, and not one...
Read more >
Features On Demand | Microsoft Learn
DISM requires additional metadata in the repository. See Available Features on demand for more information about which FODs have satellites.
Read more >
Feature Requests - Audacity Wiki
This is our Feature Requests page where suggestions from users to enhance or ... Real time plot when playing audio: (13 votes 07Mar17)...
Read more >
MediaMetadata - Android Developers
Returns a simple description of this metadata for display purposes. ... It does not compare Bitmaps and Ratings as the media player can...
Read more >

github_iconTop Related Medium Post

No results found

github_iconTop Related StackOverflow Question

No results found

github_iconTroubleshoot Live Code

Lightrun enables developers to add logs, metrics and snapshots to live code - no restarts or redeploys required.
Start Free

github_iconTop Related Reddit Thread

No results found

github_iconTop Related Hackernoon Post

No results found

github_iconTop Related Tweet

No results found

github_iconTop Related Dev.to Post

No results found

github_iconTop Related Hashnode Post

No results found