DerJens2021 0 Posted August 7, 2021 Share Posted August 7, 2021 Hallo, bei mir funktionieren Internet-Radiostreams mit DLNA/Sonos-Geräten nicht. Ich habe in Emby (v4.6.4.0/Windows) eine Datei sunshinelive.strm angelegt, darin ist der folgende Link hinterlegt: http://192.168.1.12:3000/EXT/S19.2E-133-7-169 Das ist ein Link auf ein MP3-Stream, der ist gültig und funktioniert auch. Das habe ich mit ffprobe geprüft. .\ffprobe.exe http://192.168.1.12:3000/EXT/S19.2E-133-7-169 ffprobe version 4.3.0-emby_2021_02_27-g8f222573e9+634 Copyright (c) 2007-2021 the FFmpeg developers and softworkz for Emby LLC built with gcc 9.2.0 (Rev2, Built by MSYS2 project) Input #0, mp3, from 'http://192.168.1.12:3000/EXT/S19.2E-133-7-169': Metadata: encoder : Lavf58.29.100 icy-name : sunshine live Duration: N/A, start: 0.000000, bitrate: 256 kb/s Stream #0:0: Audio: mp3, 48000 Hz, stereo, fltp, 256 kb/s Ich kann den Radiostream über das Emby-Webinterface problemlos abspielen. Ich kann den Stream aber nicht an meine Sonos-Geräte schicken. Das geht weder über DLNA, noch über das Sonos-Plugin. 2021-08-07 09:37:25.505 Debug Dlna: 192.168.1.53 - Sonos Play:1 Wohnzimmer EG - Received PlayRequest: PlayNow 2021-08-07 09:37:25.506 Debug SqliteItemRepository: Public GetItemLinks 2021-08-07 09:37:25.507 Debug Dlna: 192.168.1.53 - Sonos Play:1 Wohnzimmer EG - Playlist created 2021-08-07 09:37:25.507 Debug Dlna: 192.168.1.53 - Sonos Play:1 Wohnzimmer EG - Playing 1 items 2021-08-07 09:37:25.507 Debug Dlna: 192.168.1.53 - Sonos Play:1 Wohnzimmer EG - SetAvTransport Uri: http://192.168.1.23:8096/audio/420/stream.mp3?DeviceId=uuid:RINCON_949F3XXXXXXXX1400_MR&MediaSourceId=8af74a5XXXXXXXX14b48aaca68b64bf0&Static=true&PlaySessionId=bcb0XXXXXXXX48748790d9e98cd10575 DlnaHeaders: DLNA.ORG_PN=MP3;DLNA.ORG_OP=00;DLNA.ORG_CI=0;DLNA.ORG_FLAGS=01D00000000000000000000000000000 2021-08-07 09:37:25.507 Debug HttpClient: POST http://192.168.1.53:1400/MediaRenderer/AVTransport/Control 2021-08-07 09:37:25.516 Error HttpClient: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><s:Fault><faultcode>s:Client</faultcode><faultstring>UPnPError</faultstring><detail><UPnPError xmlns="urn:schemas-upnp-org:control-1-0"><errorCode>1023</errorCode></UPnPError></detail></s:Fault></s:Body></s:Envelope> 2021-08-07 09:37:25.522 Error Server: Error processing request *** Error Report *** Version: 4.6.4.0 Command line: C:\Users\XXXXXXXX\Software\emby\EmbyServer.dll Operating system: Microsoft Windows 10.0.19042 Framework: .NET Core 3.1.13 OS/Process: x64/x64 Runtime: C:/Users/XXXX/Software/emby/System.Private.CoreLib.dll Processor count: 2 Data path: C:\Users\XXXX\Software\programdata Application path: C:\Users\Jens\Software\emby MediaBrowser.Model.Net.HttpException: MediaBrowser.Model.Net.HttpException: <s:Envelope xmlns:s="http://schemas.xmlsoap.org/soap/envelope/" s:encodingStyle="http://schemas.xmlsoap.org/soap/encoding/"><s:Body><s:Fault><faultcode>s:Client</faultcode><faultstring>UPnPError</faultstring><detail><UPnPError xmlns="urn:schemas-upnp-org:control-1-0"><errorCode>1023</errorCode></UPnPError></detail></s:Fault></s:Body></s:Envelope> at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsyncInternal(HttpRequestOptions options, String httpMethod) at Emby.Server.Implementations.HttpClientManager.CoreHttpClientManager.SendAsync(HttpRequestOptions options, String httpMethod) at Emby.Dlna.PlayTo.SsdpHttpClient.SendCommandAsync(String baseUrl, DeviceService service, String command, ReadOnlyMemory`1 postData, CancellationToken cancellationToken, Boolean logRequest, String header) at Emby.Dlna.PlayTo.Device.SetAvTransport(String url, String header, String metaData, CancellationToken cancellationToken) at Emby.Dlna.PlayTo.PlayToController.SetPlaylistIndex(Int32 index, CancellationToken cancellationToken) at Emby.Dlna.PlayTo.PlayToController.SendPlayCommand(PlayRequest command, CancellationToken cancellationToken) at Emby.Server.Implementations.Session.SessionManager.SendMessageToSession[T](SessionInfo session, Boolean requireUserInterface, ReadOnlyMemory`1 name, T data, CancellationToken cancellationToken) at Emby.Server.Implementations.Session.SessionManager.SendPlayCommand(String controllingSessionId, String sessionId, PlayRequest command, CancellationToken cancellationToken) at Emby.Server.Implementations.Services.ServiceController.GetTaskResult(Task task) at Emby.Server.Implementations.Services.ServiceHandler.ProcessRequestAsync(HttpListenerHost appHost, IRequest httpReq, IResponse httpRes, RestPath restPath, String responseContentType, CancellationToken cancellationToken) at Emby.Server.Implementations.HttpServer.HttpListenerHost.RequestHandler(IRequest httpReq, ReadOnlyMemory`1 urlString, ReadOnlyMemory`1 localPath, CancellationToken cancellationToken) Source: Emby.Server.Implementations TargetSite: Void MoveNext() Emby versucht den Stream zu transkodieren. Wenn ich folgende URL im Browser aufrufe, dauert es mehrere Sekunden, bis der Stream dann aber problemlos im Browser abgespielt wird. http://192.168.1.23:8096/audio/420/stream.mp3?DeviceId=uuid:RINCON_949XXXXXXXX401400_MR&MediaSourceId=8af7XXXXXXXX33014b48aaca68b64bf0&Static=true&PlaySessionId=bcb0de550eXXXXXXXX90d9e98cd10575 Im log steht dann: 2021-08-07 09:58:16.365 Info Server: http/1.1 GET http://192.168.1.23:8096/audio/420/stream.mp3?DeviceId=uuid:RINCON_949XXXXXXXX401400_MR&MediaSourceId=8af74a5XXXXXXXX14b48aaca68b64bf0&Static=true&PlaySessionId=bcb0de5XXXXXXXX48790d9e98cd10575. UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 2021-08-07 09:58:16.397 Info App: ProcessRun 'StreamTranscode 4f42c3' Execute: C:\Users\XXXXXXXX\Software\emby\ffmpeg.exe -loglevel +timing -y -print_graphs_file "C:\Users\XXXXXXXX\Software\programdata\logs\ffmpeg-transcode-4f42c33d-ffa0-4995-a69c-e19e9695e876_1graph.txt" -f mp3 -i "http://192.168.1.12:3000/EXT/S19.2E-133-7-169" -map 0:0 -vn -sn -c:a:0 copy -ar:a:0 48000 -ac:a:0 2 "C:\Users\XXXXXXXX\Software\programdata\transcoding-temp\XEF6E03.mp3" 2021-08-07 09:58:16.400 Debug App: ProcessRun 'StreamTranscode 4f42c3' Started. [...] 2021-08-07 09:58:28.506 Info Server: http/1.1 GET http://192.168.1.23:8096/audio/420/stream.mp3?DeviceId=uuid:RINCON_949XXXXXXXX401400_MR&MediaSourceId=8af74aXXXXXXXX014b48aaca68b64bf0&Static=true&PlaySessionId=bcb0deXXXXXXXX748790d9e98cd10575. UserAgent: Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/91.0.4472.77 Safari/537.36 2021-08-07 09:58:28.508 Info Server: http/1.1 Response 200 to 192.168.1.23. Time: 12143ms. http://192.168.1.23:8096/audio/420/stream.mp3?DeviceId=uuid:RINCON_949F3EXXXXXXXX400_MR&MediaSourceId=8af74aXXXXXXXX014b48aaca68b64bf0&Static=true&PlaySessionId=bcb0deXXXXXXXX748790d9e98cd10575 Hier kann man sehen, dass zwischen der Anforderung des Streams und dem Start mehr als 10 Sekunden vergehen. So lange ist die URL http://192.168.1.23:8096/audio/420/stream.mp3 auch noch nicht gültig, d.h. im Verzeichnis transcoding-temp ist noch keine Datei vorhanden. Das merkt wahrscheinlich auch der Sonos und daher schlägt auch der Playbefehl fehl. Wenn ich ffmpeg direkt aufrufe, funktioniert das auch problemlos: .\ffmpeg.exe -loglevel +timing -y -print_graphs_file "C:\Users\XXXXXXXX\Software\programdata\logs\ffmpeg-transcode-4f42c33d-ffa0-4995-a69c-e19e9695e876_1graph.txt" -f mp3 -i "http://192.168.1.12:3000/EXT/S19.2E-133-7-169" -map 0:0 -vn -sn -c:a:0 copy -ar:a:0 48000 -ac:a:0 2 "C:\Users\XXXXXXXX\Software\programdata\transcoding-temp\XEF6E03.mp3" 10:15:56.128 ffmpeg version 4.3.0-emby_2021_02_27-g8f222573e9+634 Copyright (c) 2000-2021 the FFmpeg developers and softworkz for Emby LLC 10:15:56.131 built with gcc 9.2.0 (Rev2, Built by MSYS2 project) 10:15:56.132 Execution Date: 2021-08-07 10:15:56 10:15:58.101 Input #0, mp3, from 'http://192.168.1.12:3000/EXT/S19.2E-133-7-169': 10:15:58.102 Metadata: 10:15:58.102 encoder : Lavf58.29.100 10:15:58.102 icy-name : sunshine live 10:15:58.105 Duration: N/A, start: 0.000000, bitrate: 256 kb/s 10:15:58.106 Stream #0:0: Audio: mp3, 48000 Hz, stereo, fltp, 256 kb/s 10:15:58.117 Output #0, mp3, to 'C:\Users\XXXXXXXX\Software\programdata\transcoding-temp\XEF6E03.mp3': 10:15:58.117 Metadata: 10:15:58.117 icy-name : sunshine live 10:15:58.117 TSSE : Lavf58.35.100 10:15:58.117 Stream #0:0: Audio: mp3, 48000 Hz, stereo, fltp, 256 kb/s 10:15:58.117 Stream mapping: 10:15:58.117 Stream #0:0 -> #0:0 (copy) 10:15:58.117 Press [q] to stop, [?] for help 10:16:01.905 10:16:01.906 size= 152kB time=00:00:04.82 bitrate= 396.9kbits/s throttle=off speed=0.83x 10:16:01.907 video:0kB audio:152kB subtitle:0kB other streams:0kB global headers:0kB muxing overhead: 0.545973% Last message repeated 1 times Ich vermute, dass die Verzögerung von Transcode/Analyzestream/FFprobe kommt - das kann ich aber leider nicht beeinflussen. Gibt es hier eine Möglichkeit, Internetradio auf Sonos/DLNA-Geräte zu bringen oder habe ich etwas übersehen? Liebe Grüße Link to comment Share on other sites More sharing options...
Carlo 4418 Posted August 7, 2021 Share Posted August 7, 2021 Hi, as a test, could you install the IPTV plugin and add this stream to it? Does this stream play in the web player? How about to the Sonos? Link to comment Share on other sites More sharing options...
DerJens2021 0 Posted August 7, 2021 Author Share Posted August 7, 2021 I installed the IPTV plugin and added the sunshinelive stream. I can play this mp3 audiostream in the web player, but i'm not able to stream this to my Sonos device in emby, neither via Sonos nor via DLNA. Link to comment Share on other sites More sharing options...
Carlo 4418 Posted August 7, 2021 Share Posted August 7, 2021 OK thank you for trying that. This is going to need a dev to chime in and help. Link to comment Share on other sites More sharing options...
Luke 38342 Posted August 9, 2021 Share Posted August 9, 2021 @DerJens2021 can you please attach the complete emby server and ffmpeg log files? thanks. Link to comment Share on other sites More sharing options...
DerJens2021 0 Posted August 19, 2021 Author Share Posted August 19, 2021 Dear Luke, sorry for the delay, I was very busy @work. Attached you will find some logfiles from my test: embyserver_playMP3andStrmWeb: Started emby and first play a mp3 file, then two streams via Webbrowser - works fine. embyserver_playMp3andStrmSonos: Started emby and first play a mp3 file (works fine), then tried to play the two streams - does not work. embyserver_playMp3andStrmSonos.txt embyserver_playMP3andStrmWeb.txt Link to comment Share on other sites More sharing options...
Luke 38342 Posted August 21, 2021 Share Posted August 21, 2021 Hi, I see an error in your log file there, and I've pushed an update to the Sonos plugin to address it. Please let us know if this helps. Thanks. Link to comment Share on other sites More sharing options...
DerJens2021 0 Posted August 21, 2021 Author Share Posted August 21, 2021 Dear Luke, I installed Sonos Version 1.0.10 and now I'm able to play my Internet Radio .strm Files on my Sonos devices. Great job, well done and thanks a lot! Please let me ask another question: In another post you mentioned that is is possible to rename or disable some Sonos or DLNA devices using profiles. Can you explain this in detail? In my emby setup I can see my Sonos devices and also this devices as DLNA entry. It would be nice if I can disable or rename some of the DLNA devices to avoid confusion because of the double entries. (I also have two Sonos Bridge devices which should be removed from the device list - because the cannot play anything.) Link to comment Share on other sites More sharing options...
Luke 38342 Posted August 21, 2021 Share Posted August 21, 2021 Quote In another post you mentioned that is is possible to rename or disable some Sonos or DLNA devices using profiles. Can you explain this in detail? I don't recall this. Can you point me to that? You could unisntall the Dlna plugin, but of course, you'd lose all Dlna devices. You could also uninstall the Sonos plugin because it can still work with Dlna, but then plain Dlna doesn't support Sonos groups. I think what we should probably do is either merge the two plugins or have the Dlna plugin detect the presence of the Sonos plugin and then ignore Sonos devices. Link to comment Share on other sites More sharing options...
DerJens2021 0 Posted August 21, 2021 Author Share Posted August 21, 2021 Yes, of course: Thread Device names, your comment: Here I remember that there was another thread. A user wants to assign only selected (dlna-) devices to a certain user in order to avoid, that the children can play music e.g. in parents bedroom. Unfortunately this thread was finished without a solution. In my opinion the option to rename a remote device would be a great feature. This is why I asked you if this could be done using profiles. For a long term solution I suggest an option to rename devices and an option to enable or disable certain devices for certain users. Feel free to drop me a line if I can assist you with tests or something else. Link to comment Share on other sites More sharing options...
Luke 38342 Posted August 22, 2021 Share Posted August 22, 2021 OK yes you could do that to rename but not disable, and it will only work with devices imported from Dlna and not from the Sonos plugin. It will also be a hard process. I would suggest using your Sonos apps to change the device names instead. Link to comment Share on other sites More sharing options...
DerJens2021 0 Posted August 24, 2021 Author Share Posted August 24, 2021 I wasn't able to rename a Dlna device using a custom profile. The logfile shows that my custom profile was assigned to the device but the device name doesn't change. Which setting is responsible for the device name? The profile name? I did another (ugly) hack to tweak the playto-devicelist. This is not applicable for everyone, feel free to remove this if it's undesirable. Spoiler return Promise.all(promises).then(function(responses) { for (var targets = [], i = 0; i < responses.length; i++) for (var subTargets = responses[i], j = 0; j < subTargets.length; j++) { // Blacklist some devices if (!(subTargets[j].deviceName.startsWith("192.168.")) && !(subTargets[j].deviceName.startsWith("BRIDGE"))) targets.push(subTargets[j]); } return targets = targets.sort(sortPlayerTargets) Since the Sonos-devices start with the ip address as Dlna name, they can filtered out. Also I removed the bridges, since they can't play anything. Link to comment Share on other sites More sharing options...
Luke 38342 Posted August 25, 2021 Share Posted August 25, 2021 You can't just rename the devices using the Sonos app? Link to comment Share on other sites More sharing options...
DerJens2021 0 Posted August 25, 2021 Author Share Posted August 25, 2021 I'm able to rename the Sonos devices but I'm not able to rename their Dlna device names in emby (the first 4 items in the screenshot) They always start with the IP address. Maybe it would be a good idea to remove the IP from the device name (and also the device type, e.g. Sonos Play:1). In my opinion this would make the device list more handy. Link to comment Share on other sites More sharing options...
Luke 38342 Posted September 1, 2021 Share Posted September 1, 2021 I checked and we are not adding the IP address to the device name ourselves. The Sonos plugin is actually getting the device name directly from the Sonos api, and it's actually using the room name field, in case that may help you at all. Link to comment Share on other sites More sharing options...
DerJens2021 0 Posted September 2, 2021 Author Share Posted September 2, 2021 Yes, true, the Sonos devices have their IP address included in the DLNA name. May I ask another question: When I select some files to play on a Sonos speaker (using the Sonos plugin), the playlist in emby remains empty. Using the Sonos app, I can see the files coming from emby in the playlist queue, but not in emby. In emby I can skip to the next and also previous track, but I'm not able to select a track using the playlist because the list is empty. Is this a technical limitation when using a Sonos device or can this be fixed? Link to comment Share on other sites More sharing options...
Luke 38342 Posted September 2, 2021 Share Posted September 2, 2021 It's a limitation in Emby. We haven't added support for manipulating the play queue to the Sonos plugin yet. It's on our to do list. Thanks. Link to comment Share on other sites More sharing options...
Recommended Posts
Create an account or sign in to comment
You need to be a member in order to leave a comment
Create an account
Sign up for a new account in our community. It's easy!
Register a new accountSign in
Already have an account? Sign in here.
Sign In Now