postlund / pyatv

A client library for Apple TV and AirPlay devices
https://pyatv.dev
MIT License
881 stars 96 forks source link

No artwork for airplay media - Apple TV 3 #687

Closed felixSchober closed 4 years ago

felixSchober commented 4 years ago

Describe the bug I get no artwork in home assistant when I play media over airplay on an AppleTV V3. I know that it works because for about 1% of songs I get artwork. For media that is played directly on the apple tv (e.g. Netflix) everything works fine.

From my investigations it seems as if this is not caused by pyatv (99% certain). The issue here seems to be that the nowplayingartwork endpoint returns an empty response (HTTP 204, content lenght=0)

Is this due to limitations of the airplay protocol compared to MRP, a setting in my apple tv that I missed or something else?

I'm happy to run out and get a current gen Apple TV if this fixes the issue.

To Reproduce

Play Apple Music song over air play to an Apple TV Version 3 and try to get artwork.

Expected behavior Calling artwork_save should return an artwork for airplayed music.

System Setup (please complete the following information):

Additional context

Those are the logs that I collected. I doubt they'll be useful since they do not contain any information why the response was empty.

withArtwork.txt noArtwork.txt

postlund commented 4 years ago

I have worked very little with airplay in general, so don't trust every word I say, but... From my understanding, it's the sender that is responsible to populate the receiver with metadata (title, artistic etc.) and artwork. So if artwork is not available, it's probably because the sender has not done that OR some other general issue. It's very hard to debug from a black box perspective. But one thing that you can do is to check if artwork is available in the Remote in iOS. If it is, then something is fishy and we should investigate that.

postlund commented 4 years ago

Anything else I can assist with here or can the issue be closed?