PDA

View Full Version : Play Fi Support



twochannel
01-27-2019, 08:38 AM
Has any one been able to browse a Mezzmo library from PlayFi and play to a PlayFi enabled device?

I upgraded my AVR to an Anthem MRX 720 that has DTS Play-Fi support. Play Fi appears to be an open standard media player. Based on what I could find with a quick search it appears to be a DLNA implemetation.
(https://play-fi.com/faq/entry/supported-media-servers).

When controlling the AVR through the PlayFi app on my phone I can select from a myriad of music sources including 'media server' which presents a list of locally detected DLNA servers. Mezzmo shows up as does plex, foobar2000, and even a windows 10 dlna server. However, when selecting Mezzmo, PlayFi reports 'no audio content found'. The other DLNA servers are browseable and can stream music to the PlayFi DMR.

Mezzmo sees the AVR/PlayFi endpoint in media devices as a Generic Device (NTSC). When using Mezzmo to play to the PlayFi DMP the streaming never starts. Additionally, neither when using the foobar200 dlna browser/controller or bubbleupnp on my phone to stream from Mezzmo does the streaming work to the AVR. I tried a few other device profiles but I didn't do an exhaustive search of the listed profiles to see which have playfi support.

I can browse and stream with mezzmo to everything else on my network. The device in mezzmo is set to allow.



Thank you

Peter
01-29-2019, 09:15 AM
Try setting the device profile to Microsoft Windows Media Player.

twochannel
01-31-2019, 07:13 AM
Thanks for the reply.

When using mezzmo as the DMC:

No dice. The AVR does switch inputs when I try to play to it, but the progress bar/time indicator in the mezzmo gui never progresses and no sound is heard.

Most of my collection is ripped to .flac but I tried an mp3 and it worked with WMP as the device type. I switched to kodi since I know it supports .flac and neither file type would stream. (mp4a didnt work either but i didnt test this much)

When using the playfi android app as the dmc, I can stream .flac and .mp3 from mezzmo.


When using another DMC (bubbleupnp)

I can also have mezzmo stream .mp3 to playfi, but not .flac.


It seems like there are two issues


the playfi android app cannot browse mezzmo
Non-playfi DMCs cannot stream .flac to playfi. I tested mezzmo and bubbleupnp.

Peter
01-31-2019, 09:23 AM
How do you use the playfi android app as a dmc if it cannot browse mezzmo? Does it use the previously set media URL and play it?
Are you changing the device profile for the Android device when you use different apps or are you using the same profile for all apps? The Mezzmo android app will use the profile set for the playfi device whereas the other apps will get media URLs for the android device's profile so you could try changing the playfi device's profile to the android device's profile in 'Media Devices' in Mezzmo then try using the Mezzmo Android app.

twochannel
01-31-2019, 01:02 PM
How do you use the playfi android app as a dmc if it cannot browse mezzmo? Does it use the previously set media URL and play it?
By browsing other DLNA servers such as plex or foobar2000


Are you changing the device profile for the Android device when you use different apps or are you using the same profile for all apps? The Mezzmo android app will use the profile set for the playfi device whereas the other apps will get media URLs for the android device's profile so you could try changing the playfi device's profile to the android device's profile in 'Media Devices' in Mezzmo then try using the Mezzmo Android app.

The android device running the playfi app is just acting as a DMC, I was not changing its profile in Mezzmo. The only profile I was tweaking in Mezzmo was the one for the playfi endpoint that is part of the AVR. I have not used the Mezzmo android app in this testing.

I may have caused some confusion with the playfi components. There is a playfi mobile app that acts as a DMC to control the playfi DMR feature that is part of the AVR. I hope that helps, sorry for any confusion.

Peter
01-31-2019, 03:48 PM
Try changing the device profile for the Android device in 'Media Devices' to 'BubbleUpnP BubbleUPnP' then try browsing the server using the playfi app to see if it can browse the Mezzmo server. When using the Conceiva Mezzmo (Android) profile a lot of extra metadata is sent which may be causing problems for the playfi app. This profile may also help to play flac files. You can also try setting the device profile for the playfi device to Onkyo TX/HT as this profile contains mp3 and flac support.

twochannel
02-01-2019, 01:57 AM
It was already set to bubbleupnp for the android device. I'm assuming 'BubbleUpnP BubbleUPnP' was a typo? I only see 'BubbleUpnP' and the VLC, etc variations.

No luck with the Onkyo TX/HT media device profile for the AVR.

Thanks for the suggestions, I'm happy to keep trying things.

Peter
02-01-2019, 09:05 AM
The name of the profile in the .prf file is 'BubbleUpnP BubbleUPnP' but in the list in Mezzmo it is shortened. Please try using the 'Yamaha RX' profile or the 'Yamaha RX (Mp3)' profile for both the android and playfi devices to see if the flac files play and if you can browse the server.

twochannel
02-01-2019, 12:03 PM
No luck with either of the yamaha profiles for both the android device running playfi/bubble and the playfi media device.

Peter
02-01-2019, 02:30 PM
The yamaha profiles use audio/mpeg for mp3 files as the mimetype so possibly playfi requires audio/mp3 as the mimetype. Try changing to the Generic Device (NTSC) profile and turn transcoding on in Device Settings (it is off by default with this profile).

twochannel
02-02-2019, 01:13 AM
Configuring the avr playfi device as a Generic NTSC with transcoding enabled did not work when paying a flac or mp3.

I changed the device back to Microsoft Windows Media Server and found that mp3s play and transcoding of flac works.

PlayFi clearly advertises their support of flac and documents features for hi-res streaming, this is surprising. Perhaps there is something in the way they are advertising their supported mime types and a new device profile is needed?

Likewise for browsing mezzmo from the playfi application was odd when other DMS's worked. I've never encountered this before.

twochannel
02-02-2019, 03:08 AM
For what its worth, the renderer properties of the playfi endpoint indicates its a Phorus implementation.

http://phorus.com/

Peter
02-04-2019, 09:29 AM
There are two mimetypes used for flac in Mezzmo, the Yamaha profile uses audio/flac and the BubbleUPnP profile uses audio/x-flac. The playfi device may require a different mimetype for flac. If you have another media server on your PC that is able to stream flac to the device then you can install Wireshark and capture the network traffic while streaming the file then send the capture to support [at] conceiva [dot] com so that we can investigate which mimetype is used.

twochannel
02-10-2019, 01:33 AM
I'm working on gathering what you need. So far I can share one thing I've noticed.

For the first issue: When the PlayFi android app (controller) browses for media servers and I tell it to use mezzmo it says no audio found. Looking at the desc file from mezzmo the url service definitions do not include a leading /


<serviceList>
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<SCPDURL>ConnectionManager/scpd.xml</SCPDURL>
<controlURL>ConnectionManager/control</controlURL>
<eventSubURL>ConnectionManager/event</eventSubURL>
</service>
<service>
<serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
<SCPDURL>ContentDirectory/scpd.xml</SCPDURL>
<controlURL>ContentDirectory/control</controlURL>
<eventSubURL>ContentDirectory/event</eventSubURL>
</service>
<service>
<serviceType>
urn:microsoft.com:service:X_MS_MediaReceiverRegist rar:1
</serviceType>
<serviceId>
urn:microsoft.com:serviceId:X_MS_MediaReceiverRegi strar
</serviceId>
<SCPDURL>X_MS_MediaReceiverRegistrar/scpd.xml</SCPDURL>
<controlURL>X_MS_MediaReceiverRegistrar/control</controlURL>
<eventSubURL>X_MS_MediaReceiverRegistrar/event</eventSubURL>
</service>
</serviceList>

this results in the playfi android app doing a get for mezzmo:53168ContentDirectory/control which mezzmo returns a 500 error. Other DMCs seem to detect this and add a leading slash.


Still working on getting meaningful packet captures for the flac issue. Using upnp spy to retreive ProtocolInfo from the PlayFi AVR DMR I get this back

http-get:*:audio/x-flac:*,http-get:*:audio/flac:*,http-get:*:audio/aac:*,http-get:*:audio/mpeg:*,http-get:*:audio/vnd.dlna.adts:*,http-get:*:audio/mp4:*,http-get:*:audio/3gpp:*,http-get:*:audio/x-hx-aac-adts:*


I should be able to email you the capture this weekend.

Peter
02-11-2019, 09:52 AM
The leading slash for the control URLs in the description document is omitted intentionally because these URLs are relative and not absolute so the playfi app should load them from the relative path of the document in which they are contained. The app should add the leading slash or append the URLs to mezzmo:53168/ as this is the parent URL of the desc document. The URLs are in the GenericDeviceDescription.xml document in the DeviceProfiles folder, you can try editing this file to see if it resolves the issue.

You will need to:
1. Open Mezzmo and stop your Mezzmo media server, then exit Mezzmo
2. Go to your device profiles folder (see this thread for its location: http://forum.conceiva.com/showthread.php/467-FAQ-Where-are-device-profiles-located) and edit GenericDeviceDescription.xml and add the leading slashes to the URLs and save the file.
3. Open Mezzmo and start your Mezzmo media server

It looks like audio/x-flac is the correct mimetype for the device for flac files so the BubbleUPnP profile is correctly set. It also appears that the Onkyo TX/HT profile has the correct audio/x-flac mimetype for the device and also the audio/mpeg mimetype for mp3 files.

twochannel
02-12-2019, 01:02 PM
So that was interesting...

I've followed the instructions to update the xml file but it was not taking effect after stop/restart/start. I even adding some obvious characters in addition to the / to test and the desc.xml being offered is no different. I moved it out of the folder and mezzmo would not start so I know it's at least looking for the file. I then replaced the file and removed the <serviceList> to </serviceList>, Mezzmo started this time but still the original URLs were offered in desc which resulted in a 500 error for the ConnectManager url.

I then noticed the GenericDeviceDescription.xml had 3 services listed, Connection, Content, and an XMS one, I was only seeing two in the Desc file delivered. I saw another xml filed named GenericDeviceDescriptionNoXMS.xml and went ah-ha. I edited this one and was in business. The android PlayFi app can now browse and stream music from mezzmo through the PlayFi app to the AVR. One problem down!

Oddly enough Bubbleupnp on my phone does use the GenericDeviceDescription.xml and works fine w/ the slash prepended.


I tried the onkyo tx/ht profile again for both the playfi android app and the avr itself and still no dice. For whatever reason the avr never makes a request for the .flac file. I opened a ticket up with Anthem, we'll see what they say. If you have any other thoughts or would like more data I'd be happy to gather it for you.

Thanks for all the help so far!

Peter
02-13-2019, 10:21 AM
The information you have provided indicates that the playfi device should support both audio/flac and audio/x-flac, the device not issuing a GET on the URL indicates that it may require a specific extension on the URL like .flac or something else to trigger a GET. Please let us know what Anthem says.

hsbrown2
01-15-2020, 02:50 PM
So that was interesting...

I've followed the instructions to update the xml file but it was not taking effect after stop/restart/start. I even adding some obvious characters in addition to the / to test and the desc.xml being offered is no different. I moved it out of the folder and mezzmo would not start so I know it's at least looking for the file. I then replaced the file and removed the <serviceList> to </serviceList>, Mezzmo started this time but still the original URLs were offered in desc which resulted in a 500 error for the ConnectManager url.

I then noticed the GenericDeviceDescription.xml had 3 services listed, Connection, Content, and an XMS one, I was only seeing two in the Desc file delivered. I saw another xml filed named GenericDeviceDescriptionNoXMS.xml and went ah-ha. I edited this one and was in business. The android PlayFi app can now browse and stream music from mezzmo through the PlayFi app to the AVR. One problem down!

Oddly enough Bubbleupnp on my phone does use the GenericDeviceDescription.xml and works fine w/ the slash prepended.


I tried the onkyo tx/ht profile again for both the playfi android app and the avr itself and still no dice. For whatever reason the avr never makes a request for the .flac file. I opened a ticket up with Anthem, we'll see what they say. If you have any other thoughts or would like more data I'd be happy to gather it for you.

Thanks for all the help so far!

Any shareable device profile that works for DTS Play-Fi? I'd REALLY like to get this working on several devices!

Peter
01-15-2020, 04:20 PM
Which device profile are you using for the android device running BubbleUPnP? Try setting this for the Play Fi device as the Mezzmo android app will request the metadata for the device using it's device profile whereas BubbleUPnP just sends the metadata it received using the device profile for the device it is running on.

hsbrown2
01-20-2020, 07:46 AM
I tried a number of them, including BubbleUPnP (after reading this thread), i get various things taking place dependent upon the device, regardless of the profile I select. I either see "Lost Connection" inside the DTS Play Fi App (Android and iOS), or it just says there is no content. I even tried configuring the specific libraries to send to the devices, but no joy. It looks as though the OP tweaked something inside the GenericDeviceDescriptionNoXMS.xml device profile to get it to work, but I am unclear as to what was tweaked.

Peter
01-20-2020, 09:11 AM
The Generic Device Description xml contains:

<service>
<serviceType>urn:microsoft.com:service:X_MS_MediaReceiverRegist rar:1</serviceType>
<serviceId>urn:microsoft.com:serviceId:X_MS_MediaReceiverRegi strar</serviceId>
<SCPDURL>X_MS_MediaReceiverRegistrar/scpd.xml</SCPDURL>
<controlURL>X_MS_MediaReceiverRegistrar/control</controlURL>
<eventSubURL>X_MS_MediaReceiverRegistrar/event</eventSubURL>
</service>

the Generic Device Description No XMS has this removed. Only a small subset of profiles use this variant so possibly the OP removed the above section from Generic Device Description xml file. The Yamaha RX profile uses Generic Device Description No XMS so possibly try using this profile.

hsbrown2
01-20-2020, 04:02 PM
No joy. It seems to connect, but it displays "No Audio Content Found on Server". I've tried various sub-playlists in music, even using one album, that contains just .mp3 files. I still can't seem to browse the content on Mezzmo.

Ideas?

hsbrown2
01-20-2020, 04:30 PM
OK, joy!

I re-read through this thread, and modified the GenericDeviceDescriptionNoXMS.xml, adding in the forward slashes as the OP wrote in his ultimate solution. I selected the Yamaha RX profile. I configured a Shared Playlist named "Music" that pointed to the default Album Artist playlist. Both .mp3 and FLAC stream to my Play Fi devices without issue using either iOS or Android. Interestingly, Mezzmo appears to have added the original back in, but without overwriting the other, so it appears harmless thus far (I connect to Mezzmo with a lot of different devices).

The edit was fairly straightforward:

FROM:
<service>
<serviceType>urn:schemas-upnp-org:service:ConnectionManager:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ConnectionManager</serviceId>
<SCPDURL>ConnectionManager/scpd.xml</SCPDURL>
<controlURL>ConnectionManager/control</controlURL>
<eventSubURL>ConnectionManager/event</eventSubURL>
</service>

TO:
<service>
<serviceType>urn:schemas-upnp-org:service:ContentDirectory:1</serviceType>
<serviceId>urn:upnp-org:serviceId:ContentDirectory</serviceId>
<SCPDURL>/ContentDirectory/scpd.xml</SCPDURL>
<controlURL>/ContentDirectory/control</controlURL>
<eventSubURL>/ContentDirectory/event</eventSubURL>
</service>

I wouldn't be opposed to creating a profile culled from Yamaha RX (only music support), but for now things are looking splendid!

Cheers!
Scott