-
Notifications
You must be signed in to change notification settings - Fork 465
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
artUrl metadata missing #1111
Comments
Any idea ? |
this looks like it contains an artUrl:
|
Hello, Yes as I said previously it seems I can load a thumbnail from the mopidy instance. I'll ask the same question on Iris issues page. |
I don't know how Iris is working, but I assume that it acts as Snapcast control client and is connected via a websocket to the Snapserver and should receive notifications like this: {
"jsonrpc": "2.0",
"method": "Stream.OnProperties",
"params": {
"id": "Pipe",
"properties": {
"canControl": true,
"canGoNext": true,
"canGoPrevious": true,
"canPause": true,
"canPlay": true,
"canSeek": true,
"loopStatus": "none",
"metadata": {
"artUrl": "http://192.168.0.38:6680/local/c5e93946c6fca5207b1bf40a1f2f3dc5-500x500.jpeg",
"artist": [
"Billie Eilish"
],
"contentCreated": "2021-07-30",
"discNumber": 1,
"duration": 214.05799865722656,
"musicbrainzArtistId": "f4abc0b5-3f7a-4eff-8f78-ac078dbce533",
"musicbrainzTrackId": "c4b333df-1f31-4435-b256-8c497ec09eff",
"title": "OverHeated",
"trackId": "10",
"trackNumber": 10,
"url": "local:track:B/Billie%20Eilish/Billie%20Eilish%20-%20Happier%20Than%20Ever%20%282021%29/10%20-%20OverHeated.ogg"
},
"mute": false,
"playbackStatus": "playing",
"position": 0.33799999952316284,
"shuffle": false,
"volume": 100
}
}
} There was also a discussion with @jaedb, while I've developed the |
@badaix Thx for your answer. {
"server": {
"groups": [
{
"clients": [
{
"config": {
"instance": 1,
"latency": 0,
"name": "",
"volume": {
"muted": false,
"percent": 52
}
},
"connected": true,
"host": {
"arch": "aarch64",
"ip": "192.168.100.104",
"mac": "b8:27:eb:ff:ff:ff",
"name": "jack",
"os": "Debian GNU/Linux 11 (bullseye)"
},
"id": "b8:27:eb:ff:ff:ff",
"lastSeen": {
"sec": 1679210188,
"usec": 814459
},
"snapclient": {
"name": "Snapclient",
"protocolVersion": 2,
"version": "0.23.0"
}
}
],
"id": "5c142573-efb2-0fcd-9aa5-4f0c3ae4810a",
"muted": false,
"name": "jack-group",
"stream_id": "JACK"
},
{
"clients": [
{
"config": {
"instance": 1,
"latency": 0,
"name": "",
"volume": {
"muted": false,
"percent": 100
}
},
"connected": true,
"host": {
"arch": "armv7l",
"ip": "192.168.100.102",
"mac": "b8:27:eb:ff:ff:ff",
"name": "thane",
"os": "Raspbian GNU/Linux 11 (bullseye)"
},
"id": "b8:27:eb:ff:ff:ff",
"lastSeen": {
"sec": 1679210188,
"usec": 725941
},
"snapclient": {
"name": "Snapclient",
"protocolVersion": 2,
"version": "0.23.0"
}
}
],
"id": "d23ac777-9567-b080-4b74-d10cdb56ea97",
"muted": false,
"name": "thane-group",
"stream_id": "THANE"
}
],
"server": {
"host": {
"arch": "x86_64",
"ip": "",
"mac": "",
"name": "iris-snapserver",
"os": "Debian GNU/Linux 11 (bullseye)"
},
"snapserver": {
"controlProtocolVersion": 1,
"name": "Snapserver",
"protocolVersion": 1,
"version": "0.27.0"
}
},
"streams": [
{
"id": "JACK",
"properties": {
"canControl": true,
"canGoNext": true,
"canGoPrevious": true,
"canPause": true,
"canPlay": true,
"canSeek": true,
"loopStatus": "none",
"metadata": {
"artUrl": "http://iris-mopidy-jack:6680/local/3b83327e86637f6d0ad61b03529190cb-800x800.jpeg",
"artist": [
"Lukas Graham"
],
"comment": [
"Freak37"
],
"contentCreated": "2018",
"discNumber": 1,
"duration": 191.84300231933594,
"genre": [
"Pop"
],
"title": "Lullaby",
"trackId": "2",
"trackNumber": 2,
"url": "local:track:albums%20et%20various/Lukas%20Graham%20-%203%20%28The%20Purple%20Album%29%20%282018%29/02.%20Lullaby.mp3"
},
"mute": false,
"playbackStatus": "playing",
"position": 0.20800000429153442,
"shuffle": false,
"volume": 100
},
"status": "playing",
"uri": {
"fragment": "",
"host": "",
"path": "/tmp/jack_fifo",
"query": {
"chunk_ms": "20",
"codec": "flac",
"controlscript": "meta_mopidy.py",
"controlscriptparams": "--mopidy-host=iris-mopidy-jack",
"name": "JACK",
"sampleformat": "48000:16:2"
},
"raw": "pipe:////tmp/jack_fifo?chunk_ms=20&codec=flac&controlscript=meta_mopidy.py&controlscriptparams=--mopidy-host=iris-mopidy-jack&name=JACK&sampleformat=48000:16:2",
"scheme": "pipe"
}
},
{
"id": "THANE",
"properties": {
"canControl": true,
"canGoNext": true,
"canGoPrevious": true,
"canPause": true,
"canPlay": true,
"canSeek": false,
"loopStatus": "none",
"playbackStatus": "stopped",
"position": 0,
"shuffle": false,
"volume": 100
},
"status": "idle",
"uri": {
"fragment": "",
"host": "",
"path": "/tmp/thane_fifo",
"query": {
"chunk_ms": "20",
"codec": "flac",
"controlscript": "meta_mopidy.py",
"controlscriptparams": "--mopidy-host=iris-mopidy-thane",
"name": "THANE",
"sampleformat": "48000:16:2"
},
"raw": "pipe:////tmp/thane_fifo?chunk_ms=20&codec=flac&controlscript=meta_mopidy.py&controlscriptparams=--mopidy-host=iris-mopidy-thane&name=THANE&sampleformat=48000:16:2",
"scheme": "pipe"
}
}
]
}
} I read your discussion with jaedb, it's intereting, I feel like my setup should work. Basically I'm overriding the mopidy-host parameter from the
The JSON code above seems taking it into account correctly. Basically I just have to customize two parameters :
Rest can point to default values (mopidy-port, snapcast-host, snapcast-port) One last question, do my snapclients on my rpi have to be on the 0.27.0 version too ? I feel like it should not be needed, but maybe I'm wrong. |
Ok, so the artUrl should be available to Iris, I hope that it will also pick it up and that I didn't break any compatibility on the control interface. |
I concur with @badaix that all is looking as expected from the Snapcast perspective. The question remains as to why the Taking the example of:
is Based on your This way you can set the Mopidy host to match your Docker host's ip address and the Docker container's port. The net result of this should be that each individual Mopidy instance is accessible to the wider LAN. |
Hello, Thnaks for your input. You are effectively right @jaedb. I had not understood that the browser had a direct connection to the mopidy hostname which is in this case its docker dns name. As a quick check, I edited the hosts file of the mopidy's host server to match iris-mopidy-jack to the internal Docker IP (172.19....) and the thumbnail is displayed indeed.
Actually, I can display the jpeg via
Anyway, I would have prefered not to expose any port from the container (to make sure every access is done through the reverse proxy) but I'm happy to know why it did not work as I was expecting. |
I identified another little problem.
If I access Iris via HTTP, everything works well : With HTTPS, I ran into a feature called Mixed content prevention on modern browsers (I tried Edge, Firefox and Chrome), this prevents loading unsecured (http) data, mainly images and videos, on site running as secured (https) :
Same data through HTTPS : So I tried to customize the So naturally, using the reverse proxy host & port for WebUI could make the trick, but it fails for everything related to audio playback.
Making Iris available natively on a secured port could do the trick, but that does not belong to this repository. It seemd like it's more and more a feature request and not an issue reporting. |
Nevermind, I just set Chrome to allow mixed content and it works perfectly. |
Describe the bug
artUrl is not sent back to Iris when playing file through Snapcast.
Steps to Reproduce
I can control the stream and metadata is sent back to Iris, but no thumbnail.
(Attached) logs show that snapserver seems to fetch thumbnail from Mopidy-Local thumbnail database.
I tried to wget the same image from inside the container, and the download is functional.
Environment details
Attach logfile if applicable
The text was updated successfully, but these errors were encountered: