Philips 55POS9002/12 can't reach UMS

For help and support with Universal Media Server
Forum rules
Please make sure you follow the Problem Reporting Guidelines before posting if you want a reply
Nadahar
Posts: 1990
Joined: Tue Jun 09, 2015 5:57 pm

Re: Philips 55POS9002/12 can't reach UMS

Post by Nadahar »

Samples are the way to go, but the hunt for samples can be quite a task. A good place to start is here: https://samples.mplayerhq.hu/
User avatar
Sami32
Posts: 851
Joined: Mon Apr 11, 2016 5:09 am

Re: Philips 55POS9002/12 can't reach UMS

Post by Sami32 »

@galmok You will also need your log informations given into by line

Code: Select all

USER-AGENT: Linux...
That you will later use into that line:

Code: Select all

UserAgentSearch = 
And the informations provided by the "Sink:" lines.

After that, you should be ready to go ;)
I will suggest you to use something like that:

Code: Select all

UpnpDetailsSearch = Philips TV DMR.*2k15
galmok
Posts: 18
Joined: Wed Mar 26, 2014 10:31 pm

Re: Philips 55POS9002/12 can't reach UMS

Post by galmok »

Thanks for the hints so far.

I am trying to work out how the media formats are matched.

In "DefaultRenderer.conf", it says:
If a file is supported and its mediainfo indicates that it falls within the
capabilities of this renderer, UMS will stream the file to the renderer. All
other files will be transcoded to the format specified in "TranscodeVideo"
or "TranscodeAudio" before being sent to the renderer.
This almost looks like no configuration is necessary. Yet, a little further down, this is what I read:
Each format that the renderer supports should result in a "Supported" line
that defines the capabilities of the renderer. When MediaInfo = true, media
files are parsed and their properties are matched against all "Supported"
lines.
Here is how I guess it works:

1) A file is requested to play. UMS checks the file with Mediainfo.
2) Mediainfo is compared with any "Supported = " lines in the config.
3) If matched, file is streamed directly to renderer.
4) If no Supported lines match, mediainfo is compared with the capabilities of the renderer (TV).
5) If matched, file is streamed to renderer.
6) If not matched, file is transcoded and then streamed to renderer.

Is this generally speaking correct?
Nadahar
Posts: 1990
Joined: Tue Jun 09, 2015 5:57 pm

Re: Philips 55POS9002/12 can't reach UMS

Post by Nadahar »

UMS/PMS has a long history, so there's a lot of cooks involved. I can't speak to why the desciption is like it is, but how it works is like this:

There's two different parsing implementations, the "old" and the "new". UMS still default to the "old" way, even though it's pretty bad (inaccurate). If "MediaInfo = true", MediaInfo (the "new" parser) will be used for that renderer, if it's false or missing the "old" parser will be used.

The "old" parser doesn't look at the "supported" lines at all. It simply decides what to do based on file extension, so you have settings for deciding if specific extensions should be "streamed" or transcoded. In UMS/PMSish, "streamed" means "not transcoded". It's actually wrong and confusing, because the media is streamed either way. Still, that's the term used everywhere.

The "new" parser aka MediaInfo use the "supported" lines to decide what the renderer can handle and not.

So, this is kind of how it works:
  • A folder is browsed with a renderer. All the files in that folder is parsed or the parsed information is retrieved from the cache/database/media library, using either the "old" or the "new" parser (which is a bug in itself as the parser depends on the renderer but the results are stored in the database and might be used by a renderer with a different parser configured). UMS decides if the file should be transcoded or not, and to what format based on the configured setting if transcoding. This has to be determined at the time of browsing because UPnP/DLNA requires UMS to supply quite a lot of information about the file in the browse response.
  • A file is requested to play. UMS use the decision from the previous step to determine how to deliver the file, and either sends the file directly or starts one of the transcoding engines.
There's a lot of details and hacks involved here, both for historical reasons, because people have implemented stuff without fully understanding it and because not all renderers behave as they should. UMS generally won't check if the renderer can play the transcoded format - you can only specify one format for video and one for audio for any given renderer. Everything that is transcoded is then transcoded to that format.
galmok
Posts: 18
Joined: Wed Mar 26, 2014 10:31 pm

Re: Philips 55POS9002/12 can't reach UMS

Post by galmok »

So, if I were to configure to use MediaInfo = true, I would have to generate as many Supported lines that the renderer reports to support (or as many as I can be bothered to enter)?

The TV reports to understand 115 mime types (mixture of audio, video, image, text, and application (subtitles)):
# <FLAGS> replaces DLNA.ORG_FLAGS=8d700000000000000000000000000000
#
# audio/mpeg:DLNA.ORG_PN=MP3;<FLAGS>
# audio/x-ms-wma:DLNA.ORG_PN=WMABASE;<FLAGS>
# audio/x-ms-wma:DLNA.ORG_PN=WMAFULL;<FLAGS>
# audio/x-ms-wma:DLNA.ORG_PN=WMAPRO;<FLAGS>
# audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS;<FLAGS>
# audio/mp4:DLNA.ORG_PN=AAC_ISO;<FLAGS>
# audio/mp4:DLNA.ORG_PN=AAC_ISO_320;<FLAGS>
# audio/vnd.dlna.adts:DLNA.ORG_PN=AAC_ADTS_320;<FLAGS>
# audio/mp4:DLNA.ORG_PN=AAC_MULT5_ISO;<FLAGS>
# audio/mp4:DLNA.ORG_PN=HEAACv2_L2;<FLAGS>
# audio/mp4:DLNA.ORG_PN=HEAACv2_L2_320;<FLAGS>
# audio/mp4:DLNA.ORG_PN=HEAACv2_L3;<FLAGS>
# audio/mp4:DLNA.ORG_PN=HEAACv2_MULT5;<FLAGS>
# audio/L16;rate=44100;channels=1:DLNA.ORG_PN=LPCM;<FLAGS>
# audio/L16;rate=44100;channels=2:DLNA.ORG_PN=LPCM;<FLAGS>
# audio/L16;rate=48000;channels=1:DLNA.ORG_PN=LPCM;<FLAGS>
# audio/L16;rate=48000;channels=2:DLNA.ORG_PN=LPCM;<FLAGS>
# image/jpeg:DLNA.ORG_PN=JPEG_SM
# image/jpeg:DLNA.ORG_PN=JPEG_MED
# image/jpeg:DLNA.ORG_PN=JPEG_LRG
# image/jpeg:DLNA.ORG_PN=JPEG_SM_ICO
# image/jpeg:DLNA.ORG_PN=JPEG_LRG_ICO
# video/mpeg:DLNA.ORG_PN=MPEG_PS_NTSC;<FLAGS>
# video/mpeg:DLNA.ORG_PN=MPEG_PS_PAL;<FLAGS>
# video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU;<FLAGS>
# video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_EU_T;<FLAGS>
# video/mpeg:DLNA.ORG_PN=MPEG_TS_SD_EU_ISO;<FLAGS>
# video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_60_L2_T;<FLAGS>
# video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_60_AC3_T;<FLAGS>
# video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_50_L2_T;<FLAGS>
# video/vnd.dlna.mpeg-tts:DLNA.ORG_PN=MPEG_TS_SD_50_AC3_T;<FLAGS>
# video/mp4:DLNA.ORG_PN=AVC_MP4_BL_CIF15_AAC;<FLAGS>
# video/mp4:DLNA.ORG_PN=AVC_MP4_BL_CIF15_AAC_520;<FLAGS>
# video/mp4:DLNA.ORG_PN=AVC_MP4_BL_L2_CIF30_AAC;<FLAGS>
# video/mp4:DLNA.ORG_PN=AVC_MP4_BL_L3_SD_AAC;<FLAGS>
# video/mp4:DLNA.ORG_PN=AVC_MP4_BL_L3L_SD_AAC;<FLAGS>
# video/mp4:DLNA.ORG_PN=AVC_MP4_MP_SD_MPEG1_L3;<FLAGS>
# video/mp4:DLNA.ORG_PN=AVC_MP4_HP_SD_HEAACv2_L4;<FLAGS>
# video/mp4:DLNA.ORG_PN=AVC_MP4_HP_HD_HEAACv2_L4;<FLAGS>
# video/mp4:DLNA.ORG_PN=MPEG4_P2_MP4_SP_L2_AAC;<FLAGS>
# video/mp4:DLNA.ORG_PN=MPEG4_P2_MP4_SP_AAC;<FLAGS>
# video/mp4:DLNA.ORG_PN=MPEG4_P2_MP4_SP_VGA_AAC;<FLAGS>
# video/mp4:DLNA.ORG_PN=MPEG4_P2_MP4_ASP_AAC;<FLAGS>
# video/mp4:DLNA.ORG_PN=MPEG4_P2_MP4_ASP_L5_SO_AAC;<FLAGS>
# video/mp4:DLNA.ORG_PN=MPEG4_P2_MP4_ASP_L4_SO_AAC;<FLAGS>
# video/x-ms-wmv:DLNA.ORG_PN=WMVSPLL_BASE;<FLAGS>
# video/x-ms-wmv:DLNA.ORG_PN=WMVSPML_BASE;<FLAGS>
# video/x-ms-wmv:DLNA.ORG_PN=WMVMED_BASE;<FLAGS>
# video/x-ms-wmv:DLNA.ORG_PN=WMVMED_FULL;<FLAGS>
# video/x-ms-wmv:DLNA.ORG_PN=WMVHM_BASE;<FLAGS>
# video/x-ms-wmv:DLNA.ORG_PN=WMVHIGH_FULL;<FLAGS>
# video/x-matroska:DLNA.ORG_PN=AVC_MKV_MP_HD_AAC_MULT5;<FLAGS>
# video/x-matroska:DLNA.ORG_PN=AVC_MKV_MP_HD_HEAAC_L4;<FLAGS>
# video/x-matroska:DLNA.ORG_PN=AVC_MKV_MP_HD_AC3;<FLAGS>
# video/x-matroska:DLNA.ORG_PN=AVC_MKV_MP_HD_MPEG1_L3;<FLAGS>
# video/x-matroska:DLNA.ORG_PN=AVC_MKV_HP_HD_AAC_MULT5;<FLAGS>
# video/x-matroska:DLNA.ORG_PN=AVC_MKV_HP_HD_HEAAC_L4;<FLAGS>
# video/x-matroska:DLNA.ORG_PN=AVC_MKV_HP_HD_AC3;<FLAGS>
# video/x-matroska:DLNA.ORG_PN=AVC_MKV_HP_HD_MPEG1_L3;<FLAGS>
# video/x-ms-asf:*
# video/x-ms-asf-plugin:*
# video/avi:*
# video/x-ms-avi:*
# video/msvideo:*
# video/x-msvideo:*
# video/h264:*
# video/x-xvid:*
# video/quicktime:*
# video/webm:*
# audio/amr:*
# video/mpeg4:*
# video/x-matroska:*
# video/mpeg:*
# video/MP2T:*
# video/vnd.dlna.mpeg-tts:*
# video/mp4v-es:*
# video/mp4:*
# video/x-ms-wmv:*
# video/x-m4v:*
# video/x-m4a:*
# video/x-mkv:*
# video/x-matroska-3d:*
# video/3gpp:*
# audio/mpeg:*
# audio/x-ms-wma:*
# audio/x-ms-asf:*
# audio/L16:*
# audio/lpcm:*
# audio/wav:*
# audio/x-wav:*
# audio/x-aiff:*
# audio/mp4:*
# audio/x-aac:*
# audio/aac:*
# audio/x-mpegurl:*
# audio/amr:*
# audio/3gpp:*
# audio/3gpp2:*
# audio/vnd.dolby.dd-raw:*
# audio/vnd-dts:*
# audio/x-m4a:*
# audio/x-flac:*
# audio/flac:*
# audio/ogg:*
# audio/vorbis:*
# audio/vorbis-config:*
# image/png:DLNA.ORG_PN=PNG_LRG
# image/png:DLNA.ORG_PN=PNG_TN
# image/png:DLNA.ORG_PN=PNG_SM_ICO
# image/png:DLNA.ORG_PN=PNG_LRG_ICO
# image/bmp:*
# text/plain:*
# text/x-microdvd:*
# application/x-subrip:*
# application/x-sami:*
It appears to quite capable. I feel it would be easier to write a list of formats not supported. :-/
Nadahar
Posts: 1990
Joined: Tue Jun 09, 2015 5:57 pm

Re: Philips 55POS9002/12 can't reach UMS

Post by Nadahar »

No, many of those lines are almost the same and only requires one "supported" line. DLNA profiles aren't specified, only the format and codec combinations. Matroska for example would be one line with something like:

Code: Select all

Supported = f:mkv             v:cvid|divx|h263|h264|h265|mjpeg|mp4|mpeg1|mpeg2|vc1|wmv   a:aac-lc|he-aac|ac3|dts|dtshd|lpcm|mp2|mp3|mpa|truehd|wma        m:video/x-matroska
The exact codecs would have to be adjusted to your renderer, this is just an example from the Kodi configuration file.
Post Reply