Writing profiles for DLNA devices

I have this on my G drive: G:\TempPlexCache\Plex Media Server\

But there's no Profiles folder. I did create one, but no Playstation3 XML showed up.

You only create a profiles directory if you're making a new profile or trying to override one of Plex's profiles.

You need to locate the profile that came with the server to modify that one.  It is normally installed in the directory you installed plex media server into/resources/profiles

So on a default windows install it would be similar to:

C:\Program Files(x86)\Plex Media Server\Resources\Profiles\Playstation 3.xml

Help Please.

I have been trying to adjust the DLNA profile for my OPPO BDP-105D player. I have over 700 albums on my iMac, in iTunes, recorded as Apple Lossless (ALAC) files. The OPPO can natively decode ALAC but when Plex sends to the OPPO, it transcodes the files into MP4 Video files which the OPPO says is an unsupported format.

I found this DLNA profile in the forums from Roendi:

Oppo 105 Profile
Her is my Oppo DLNA Profile

<Client name="Oppo Player">
    <Identification>
      <Header name="User-Agent" substring="Oppo Player" />
      <Header name="User-Agent" substring="Oppo Player DLNA CP UPnP/1.0 DLNADOC/1.50" />
      <Header name="modelName" substring="BDP-105EU" />
    </Identification>
     <Settings>
 <Setting name="IgnoreTranscodeByteRangeRequests" value="true" />
       <Setting name="TimelineBufferOffset" value="40" />
 <Setting name="OnlyStorageFolders" value="false" />
 <Setting name="RemapBlankObjectIds" value="0" />
 <Setting name="EmitAlbumArtResources" value="true" />
    </Settings>
     <TranscodeTargets>
       <VideoProfile container="mpegts" codec="h264" audioCodec="aac" />
       <PhotoProfile container="jpeg" />
    </TranscodeTargets>
    <DirectPlayProfiles>
      <VideoProfile container="avi" codec="mpeg4" audioCodec="mp2,mp3" />
      <VideoProfile container="mkv" codec="mpeg2video,mpeg4,h264,vc1" audioCodec="truehd,dca,ac3,mp2,pcm_u8,flac" />
      <VideoProfile container="mp4" codec="h264,mpeg2video,mpeg4" audioCodec="aac,ac3,mp2,mp3" />
      <VideoProfile container="mpeg" codec="mpeg1video,mpeg2video" audioCodec="mp2" />
      <VideoProfile container="mpegts" codec="mpeg1video,mpeg2video,h264" audioCodec="ac3,mp2,mp3,aac" />
      <VideoProfile container="mov,mp4" codec="h264,mpeg4" audioCodec="ac3,aac,mp2,mp3,pcm_u8" />
      <VideoProfile container="asf" codec="wmv3,vc1,mpeg2" audioCodec="ac3,wmav2,wmapro" />
      <PhotoProfile container="jpeg,png,gif,bmp,tiff" />
    </DirectPlayProfiles>
    <CodecProfiles>
      <VideoCodec name="h264">
        <Limitations>
          <UpperBound name="video.width" value="1920" />
          <UpperBound name="video.height" value="1080" />
          <UpperBound name="video.level" value="41" />
        </Limitations>
      </VideoCodec>
     </CodecProfiles>    
 </Client>

I went to ~Library/Application Support/Plex Media Server and created a subfolder for Profiles. In my new Profiles folder, I created a file labeled: and stored the above profile in that folder.

I then closed down Plex and restarted. Nothing happened. I still have ‘unsupported format’ displayed on my TV by the Oppo.

My systems log shows the following:

9/29/15 4:03:28.176 PM Plex DLNA Server[1768]: NEPTUNE_LOG_CONFIG not found in ‘Info.plist’
9/29/15 4:04:14.975 PM Plex DLNA Server[1777]: NEPTUNE_LOG_CONFIG not found in ‘Info.plist’
9/29/15 4:04:59.443 PM Plex DLNA Server[1785]: NEPTUNE_LOG_CONFIG not found in ‘Info.plist’
9/29/15 4:21:04.925 PM Plex DLNA Server[1944]: NEPTUNE_LOG_CONFIG not found in ‘Info.plist’

I’m obviously doing something wrong, but for the life off me, I can’t see my mistake. Any and all assistance would be greatly appreciated.

I see that clipping is not allowed on this site. Roendi’s profile was on the Working DLNA profiles - page 4 - Plex forums.

Could still really use some help.

@Rich154 said:
Help Please.

I have been trying to adjust the DLNA profile for my OPPO BDP-105D player. I have over 700 albums on my iMac, in iTunes, recorded as Apple Lossless (ALAC) files. The OPPO can natively decode ALAC but when Plex sends to the OPPO, it transcodes the files into MP4 Video files which the OPPO says is an unsupported format.

I found this DLNA profile in the forums from Roendi:

Oppo 105 Profile
Her is my Oppo DLNA Profile

<Client name="Oppo Player">
    <Identification>
      <Header name="User-Agent" substring="Oppo Player" />
      <Header name="User-Agent" substring="Oppo Player DLNA CP UPnP/1.0 DLNADOC/1.50" />
      <Header name="modelName" substring="BDP-105EU" />
    </Identification>
     <Settings>
 <Setting name="IgnoreTranscodeByteRangeRequests" value="true" />
       <Setting name="TimelineBufferOffset" value="40" />
 <Setting name="OnlyStorageFolders" value="false" />
 <Setting name="RemapBlankObjectIds" value="0" />
 <Setting name="EmitAlbumArtResources" value="true" />
    </Settings>
     <TranscodeTargets>
       <VideoProfile container="mpegts" codec="h264" audioCodec="aac" />
       <PhotoProfile container="jpeg" />
    </TranscodeTargets>
    <DirectPlayProfiles>
      <VideoProfile container="avi" codec="mpeg4" audioCodec="mp2,mp3" />
      <VideoProfile container="mkv" codec="mpeg2video,mpeg4,h264,vc1" audioCodec="truehd,dca,ac3,mp2,pcm_u8,flac" />
      <VideoProfile container="mp4" codec="h264,mpeg2video,mpeg4" audioCodec="aac,ac3,mp2,mp3" />
      <VideoProfile container="mpeg" codec="mpeg1video,mpeg2video" audioCodec="mp2" />
      <VideoProfile container="mpegts" codec="mpeg1video,mpeg2video,h264" audioCodec="ac3,mp2,mp3,aac" />
      <VideoProfile container="mov,mp4" codec="h264,mpeg4" audioCodec="ac3,aac,mp2,mp3,pcm_u8" />
      <VideoProfile container="asf" codec="wmv3,vc1,mpeg2" audioCodec="ac3,wmav2,wmapro" />
      <PhotoProfile container="jpeg,png,gif,bmp,tiff" />
    </DirectPlayProfiles>
    <CodecProfiles>
      <VideoCodec name="h264">
        <Limitations>
          <UpperBound name="video.width" value="1920" />
          <UpperBound name="video.height" value="1080" />
          <UpperBound name="video.level" value="41" />
        </Limitations>
      </VideoCodec>
     </CodecProfiles>    
 </Client>

I went to ~Library/Application Support/Plex Media Server and created a subfolder for Profiles. In my new Profiles folder, I created a file labeled: and stored the above profile in that folder.

I then closed down Plex and restarted. Nothing happened. I still have ‘unsupported format’ displayed on my TV by the Oppo.

My systems log shows the following:

9/29/15 4:03:28.176 PM Plex DLNA Server[1768]: NEPTUNE_LOG_CONFIG not found in ‘Info.plist’
9/29/15 4:04:14.975 PM Plex DLNA Server[1777]: NEPTUNE_LOG_CONFIG not found in ‘Info.plist’
9/29/15 4:04:59.443 PM Plex DLNA Server[1785]: NEPTUNE_LOG_CONFIG not found in ‘Info.plist’
9/29/15 4:21:04.925 PM Plex DLNA Server[1944]: NEPTUNE_LOG_CONFIG not found in ‘Info.plist’

I’m obviously doing something wrong, but for the life off me, I can’t see my mistake. Any and all assistance would be greatly appreciated.

Hi

I have the same issue, i have a big itunes library full of Apple Lossless (ALAC) files. I’m searching for a way to play it on my chromecast without transcoding to mp3.

ALAC is not supported by chromecas but FLAC is. I am searching for a way to transcode my files from .m4A ALAC codec to FLAC to make playable in my chromecast.

I guess it is the same issue as you @Rich154 ! did you find any hints on how to edit the profile for your oppo ?

@Rich154 i finally found the solution to support alac files on android ! you just have to edit the profile to make sure that the music is transcoded to alac or flac only, depending on what your device supports ! i’ve tested it on my android and now i can listen to alac files on my phone via plex :slight_smile: !

In the transcodetarget tag make sure you have only this line, this :

<MusicProfile container="m4a" codec="alac" />

That means plex will transcode all music files to alac if your device supports it

In the directplay profile, make sure you have this :

<MusicProfile container="m4a" codec="alac" />

That means all your music will be direct played to alac format if your device supports it

Where can I find documentation about the meaning of these settings? Especially what can I use between “Settings” tags.

How should match something to the subtitle?
Should match name="part.codec" value="srt" work?

Is it possible to have 2 separate slightly different profiles for 2 different Chromecast devices?

My set up is a Chromecast v2 in the living room which plays through a 5.1 soundbar using AC3 (I had to make a user profile to get this to work by copying the Chromecast Plex profile and adding AC3 to the audio part) and a Chromecast v1 in the bedroom playing through a normal stereo TV.

My problem with this is now the bedroom Chromecast won’t play any audio if the original file audio is in 5.1 AC3 format.

I’m not sure if it’s possible for Plex to identify devices by their MAC address or similar and who to write that in to the profile.

@jmckee said:

Would you be able to assist please? I am trying to create a DLNA profile to get DTS transcoded on my Sony KD55X8509C. I’ve given up on the Plex App as that cannot play DTS and cannot make use of a profile. I plan to use the Sony Media Player app and PLEX as a DLNA server.

The plex log is showing (IP masked)
DEBUG - Mapped client to generic profile: User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; BRAVIA 4K 2015 Build/LMY48E.S95); Host: 192.168..:*; Connection: Keep-Alive; Accept-Encoding: gzip

What would I need in the Identification section of a custom xml profile?

thanks very much in advance

I know the system dlna profiles for my QNAP TS-453PRO are stored in share/CACHEDEV1_DATA/.qpkg/PlexMediaServer/Resources/Profiles/

Where would I store the user created profiles?

If I update or uninstall/reinstall plex, the profiles in the above location are removed so I don’t believe user profiles should be stored there.

TIA :slight_smile:

@jasmart said:
Would you be able to assist please? I am trying to create a DLNA profile to get DTS transcoded on my Sony KD55X8509C. I’ve given up on the Plex App as that cannot play DTS and cannot make use of a profile. I plan to use the Sony Media Player app and PLEX as a DLNA server.

The plex log is showing (IP masked)
DEBUG - Mapped client to generic profile: User-Agent: Dalvik/2.1.0 (Linux; U; Android 5.1.1; BRAVIA 4K 2015 Build/LMY48E.S95); Host: 192.168..:*; Connection: Keep-Alive; Accept-Encoding: gzip

What would I need in the Identification section of a custom xml profile?

thanks very much in advance

Sorry, I didn’t get a notification from this thread, so I hope this isn’t too late.

Basically you would use anything after the User-Agent: to make an identification by user-agent into something like:

<Identification>
<Header name="User-Agent" substring="BRAVIA 4K" />
</Identification>

However, I would first try modifying the identification from the Bravia 2013 profile as it will be more precise:

<Identification>
<Header name="X-AV-Client-Info" regex=".*[KDL]{2,3}-\d{2}[WRX][5689]\d{2,3}[AC].*" />
<DeviceDescription>
<Manufacturer substring="Sony" />
<FriendlyName regex="[KDL]{2,3}-\d{2}[WRX][5689]\d{2,3}[AC].*" />
</DeviceDescription>
</Identification>

The above regex will still let it match the original stuff and your newer TV as well

Hoping some dlna guru’s have advice. My TV supports different limitations depending on the codec’s resolution. For example:

<CodecProfiles>
  <VideoCodec name="h264">
    <Limitations>
      <UpperBound name="video.width" value="1920" />
      <UpperBound name="video.height" value="1080" />
      <UpperBound name="video.level" value="41" />
    </Limitations>
  </VideoCodec>
 </CodecProfiles> 

and

<CodecProfiles>
  <VideoCodec name="h264">
    <Limitations>
      <UpperBound name="video.width" value="3840" />
      <UpperBound name="video.height" value="2160" />
      <UpperBound name="video.level" value="51" />
    </Limitations>
  </VideoCodec>
 </CodecProfiles> 

Notice that the 4k resolution h264 codec can use level 5.1 but the 1080p resolution can only do level 4.1. Is it possible to add two limitations like this to a DLNA profile without resorting to the lowest common denominator?

Ok, what happened to the “pretty print” in the first few pages? I’m trying to decifer the information, but the formatting isn’t helping. Tried to copy and paste it as html.

Suggestions?

@madmaxed said:
Ok, what happened to the “pretty print” in the first few pages? I’m trying to decifer the information, but the formatting isn’t helping. Tried to copy and paste it as html.

Suggestions?

There was a small problem with the forum software that hit earlier this morning. It should be fixed now, so if you link a post that still has it the issue we can try and look into it. (You can link them by right clicking the date/timeztamp and selecting copy link address)

Hello,

I need help with my Samsung profile. I tried to add some identification tags but Plex still loading the generic “samsung smart tv” profile.

What should i change,write into it?

<Client name="UE32D5000">
        	<Identification>
			<Header name="User-Agent" substring="Samsung" />
			<Header name="User-Agent" substring="UE32D5000" />
			<Header name="User-Agent" substring="Samsung UE32D5000" />
                        <DeviceDescription>
                                <ModelUrl substring="samsung.com" />
				<FriendlyName substring="UE32D5000" />
                        </DeviceDescription>
             </Identification>

Read quite a bit of this forum and I have YET to see a definitive answer for Mac folks as to where the heck to profiles get saved.

So far as I can tell, it’s in a user created folder located at:

Library>Application Support>Plex Media Server>Profiles

With both those last directory folders being user created.

I have saved 2 XML profile files in there, but I have no way of knowing if they are being accessed at all.

How can I verify?

Thank you.

@webcaju said:
jmckee wrote on August 19 2014, 12:05 AM: »

You need to place it in the profiles directory where you application data is stored.  On windows it is located at:

C:\users<user name>\appdata\local\plex media server\profiles

*You will need to create the profiles folder in this location

Okay, do I have it installed on D’link 320l if I saved in that directory:

/mnt/HD/HD_a2/ffp/lib/plexmediaserver/Resources/Profiles

I do not know if this would be the correct directory.

@MarkyMarc43 said:
With both those last directory folders being user created.
As far as I know you should only need to create the last directory. The rest should already be there because other folders created by the install are located there. (IE the plug-ins folder)

How can I verify?
To verify you need to look at your Plex DLNA server log. You will have different entries during the DLNA server start up corresponding to what your profile does. If this is a new profile the log entry will look like this:
Dec 07, 2015 09:04:20 [0x7f4db5809840] DEBUG - Reading user client profile LG Blu-Ray LHB336

If this is a profile that is overriding a system profile it will look like this:
Dec 07, 2015 09:04:20 [0x7f4db5809840] DEBUG - Overriding PlayStation 3 profile with user client profile

All of these should be near the top under the heading:
Dec 07, 2015 09:04:20 [0x7f4db5809840] DEBUG - Reading system DLNA client profiles

Guys, I need your help.

Let’s review two examples:

  1. source audio is ac3 with 6 channels
  2. source audio is aac with 6 channels
    In example 1 I’d prefer to downmix 6 channels to 2 using aac encoder (why do I need to spend more cpu resources?).
    In example 2 I’d prefer don’t reencode aac because my browser can play aac out-of-the-box.
    All these examples relate to Web profile. How can I achieve that?

Already asked here, but answers don’t work as expected: http://forums.plex.tv/discussion/comment/1216192

I’d suggest developers to implement “reencoded” metadata attribute for CodecProfiles, so you’ll be able to check whether audio/video was reencoded and Match or NotMatch Limitations. Does it sound reasonable?