Quantcast
Channel: Recent Discussions — Plex Forums
Viewing all 151235 articles
Browse latest View live

Writing profiles for DLNA devices...

$
0
0
Introduction
This post describes the semantics of writing a DLNA client profile for Plex Media Server version 0.9.7.24 and above. It assumes you understand the basics of editing an XML file.

What's a client profile?
DLNA is a broad and flexible standard, on that's interpreted by different devices in different ways: some by design, some due to device bugs or accident. This makes it impossible for a media server that supports DLNA to provide a one-size-fits-all implementation of the standard. Instead, the server must adapt to different clients by recognizing them and changing its behavior accordingly.

The client profile is the basic unit of information that Plex Media Server uses to customize its behavior for different client devices.

Do I have to write my own profile?
If your device isn't supported in a profile out of the box, then you might need to. Devices without profiles may work using generic settings, but they might not work very well. The primary purpose of a profile is to define the media formats that the device can play natively, as well as which media format Plex Media Server will use to transcode video, music and photos when media is not natively supported by the device. Some devices also have hard requirements for particular aspects of DLNA or HTTP behavior, which can be altered through client profile settings.

The initial release of Plex Media Server's DLNA support comes with profiles that support a few devices, including Xbox 360 and PlayStation 3. Over time new profiles will be added as we test new devices and as our friends in these forums post working profiles for us to use.

Where are profiles located?
Plex Media Server uses two different kinds of profile files:

System profiles
System profiles are provided and supported by Plex Inc. and are updated automatically when a new version of the server is installed. System profile files are stored in the Plex Media Server installation, under the Resources/Profiles directory. They should be assumed to be read-only from a user's perspective, because any changes made will be lost when the server installation is updated.

User profiles
User profiles are authored by individual users and are never changed by the server. User profile files are located in the Plex Media Server user directory, in a directory called Profiles. If you have never authored a user profile before, this directory will not exist.

User profiles may provide support for devices not supported by system profiles, as well as override devices supported by system profiles. A system profile can be overridden by creating a client profile file with the same file name as the system profile file that is intended to be overridden.

How do I know if my user profiles are being used?
If you look at the contents of Plex DLNA Server.log after PMS starts up, you will see entries along the lines of the following:

Jul 08, 2013 13:16:18:024 [47244] DEBUG - Overriding system profile Xbox 360 with user profile
Jul 08, 2013 13:16:18:037 [47244] DEBUG - Reading user profile Xbox 720
The first line indicates an override, the second that a new user profile has been found. If the server has a problem parsing your file, it will report an error and continue execution. So it's important to double-check the log after you've made edits to your user profile files.

Elements of a client profile

A client profile consists of the following elements:
  • Name: how Plex Media Server refers to the profile. Must be identical to the profile's file name.
  • Identification: how Plex Media Server recognizes a device, given an incoming HTTP request.
  • Protocol Info: how Plex Media Server reports its own DLNA protocol support to devices.
  • Device Description: how Plex Media Server identifies itself to other devices during DLNA network discovery.
  • Settings: configuration options that change the DLNA server's behavior when talking to a particular device.
  • Transcode Targets: the video, music and photo media formats to which PMS will transcode content devices can't play natively.
  • DirectPlay Profiles: the set of video, music and photo formats the device can play natively.
  • Codec Profiles: settings and limitations on the video, music and photo formats that the device can play natively.
  • Container Profiles: settings and limitations on the container formats that the device can play natively.
  • Transcode Target Profiles: settings for transcode targets.
  • DLNA Media Profiles: customization of media format representations for very picky DLNA devices.
Creating a client profile is essentially the process of filling out a form with all this information. Once that's complete, Plex Media Server will know how to recognize your device and how to serve up content to it in a way it can play natively.

Where would I find the information needed to create a profile?

Usually from your device manufacturer. E.g., Microsoft publishes information for Xbox 360, Western Digital for the WD Live TV, Sony for the PS3, and so forth.

Failing that, you may be able to find information using a search engine, via the device's GetProtocolInfo method, or via ad-hoc experimentation. Other DLNA server products have put together similar profiles, and sometimes we reuse information from those, since we're all in this together. Such is the nature of DLNA. :)

How do I know whether my device is supported or not?

If the device works, then there's nothing you really need to do. If the device isn't working right with Plex Media Server, it may be unsupported. To determine this, you can search for an entry in the system profile file, or you can scan your Plex DLNA Server.log file. A recognized device will look like this in the log when the server sees it making a request:
Mar 30, 2012 14:15:59:760 [13304] DEBUG - Mapped client to profile Xbox 360
An unrecognized device will look like this:
Mar 30, 2012 14:12:53:688 [11524] DEBUG - Mapped client to generic profile: Cache-Control: no-cache; Connection: Close; Pragma: no-cache; Content-Type: text/xml; charset="utf-8";
User-Agent: Microsoft-Windows/6.1 UPnP/1.0 Windows-Media-Player/12.0.7601.17514 DLNADOC/1.50 (MS-DeviceCaps/1024); SOAPAction: "urn:schemas-upnp-org:service:ContentDirectory:1#Browse";
Content-Length: 886; Host: 192.168.11.10:32469
Note the mapping to a generic profile, as well as the presence of the headers from the HTTP request. The server provides these to make it easier for profile authors to see what the device is actually sending the server when making a request.

What's the generic profile?

The generic profile is the profile that defines Plex Media Server's behavior when a device is unrecognized. The generic profile can be overridden by a user profile file, just like any other profile. The default behavior of the generic profile is to offer up all content as Direct Play, with no transcoding or limitations. This will work reasonably well with more capable devices, but will fail with pickier ones.

How do I know the right names to use for containers and codecs?

Here's a list of containers and codecs we've observed in the wild. This is not intended to be comprehensive or exhaustive, but most media you'll ever use will be on this list:
container = { asf, avi, mov, mp4, mkv, mpegts, wtv, mpeg, m4v }
video = { h264, mpeg1video, mpeg2video, mpeg4, msmpeg4, mjpeg, wmv2, wmv3, vc1, cinepak, h263 }
audio = { aac, ac3, truehd, eac3, dca, mp3, mp2, pcm, wmapro, wmav2, wmavoice, wmalossless }
That said, the best way to find the container and codec names for your specific media is to look at your Plex Media Server's XML. In the Plex Media Server web client, click on the media's Info button, then on "View XML". Here's an example:
<Video addedAt="1343078395" grandparentRatingKey="66" grandparentTitle="Neverwhere" guid="com.plexapp.agents.thetvdb://70490/1/3?lang=en" index="3" key="/library/metadata/70" lastViewedAt="1435091413" originallyAvailableAt="1996-09-26" parentIndex="1" rating="8.5" ratingKey="70" title="Earl's Court to Islington" type="episode" updatedAt="1343078422" viewOffset="680798" year="1996" duration="1711012">
<Media id="66" aspectRatio="1.33" audioChannels="2" audioCodec="aac" bitrate="1353" container="mp4" duration="1711012" height="480" optimizedForStreaming="1" videoCodec="h264" videoFrameRate="NTSC" videoResolution="480" width="640">
<Part id="68" container="mp4" duration="1711012" has64bitOffsets="0" optimizedForStreaming="1" size="289319079" transcodeState="transcoded" key="/library/parts/68/file.mp4">
<Stream bitDepth="8" bitrate="1088" cabac="1" chromaSubsampling="4:2:0" codec="h264" codecID="avc1" colorSpace="yuv" duration="1711012" frameRate="29.970" frameRateMode="cfr" hasScalingMatrix="0" height="480" index="0" level="30" profile="high" refFrames="4" scanType="progressive" streamIdentifier="1" streamType="1" width="640" id="1"/>
<Stream audioChannelLayout="stereo" bitrate="256" bitrateMode="cbr" channels="2" codec="aac" codecID="40" duration="1711006" index="1" profile="lc" samplingRate="48000" streamIdentifier="2" streamType="2" id="2" selected="1"/>
</Part>
</Media>
</Video>
From the full XML metadata, you can use the names from the Part's container attribute and the codec names on the streams. Video streams are of type 1 and audio streams of type 2.
(NB - if you see very little metadata on the streams, you may need to reanalyze your media. To do this, simply refresh the section.)

Profile XML details

Name
The name of a profile allows Plex Media Server to uniquely identify it. Usually this is the commercial name of the device. It is expressed as the name attribute on the Client element:
<Client name="Xbox 360">
Identification

The Identification section defines how Plex Media Server recognizes a device in order to apply a profile to a request. Two different identification mechanisms are used by the server: incoming HTTP header recognition, and IP address matching based on a-priori network discovery.

An Identification section consists of one or more Header or DeviceDescription elements. Multiple such elements represent alternative means of identification, and not multiple requirements.

A Header element allows the profile to detect clients using headers in an incoming HTTP request. A Header element must have a name attribute, containing the name of the relevant HTTP header in a case-insensitive manner. It also must have either a substring attribute or a regex attribute, but not both. The value of a substring attribute is any matching case-insensitive substring (no wildcards) inside the header's value, while the value of regex is a case-insensitive regular expression that applies to the value of the HTTP header.

If any of the elements under a Header element matches, the device is considered to match. I.e. multiple elements under a Header element are ORed together.

For example, a device that occasionally uses two different User-Agent headers could be identified as follows:

<Identification>
  <Header name="User-Agent" substring="Xbox"/>
  <Header name="User-Agent" substring="Xenon"/>
</Identification>
When authoring a new profile, it helps to know which headers are being sent by the device. As noted above, these can be found in the Plex DLNA Server.log file when the device is being mapped to the generic profile. A more complete way to monitor device activity is to use Wireshark or Microsoft Network Monitor.

One thing that's VERY IMPORTANT: when creating profiles for other people to use, you have to think about the device ecosystem in which your profile will be used. Most people using Plex Media Server won't have your device, but they may have a different device that sends vaguely similar headers. So when authoring this section, PLEASE make sure you're being as restrictive as possible when writing substrings or regular expressions for Header elements. Overly broad header elements can cause erroneous profiles matching, which people will find immensely confusing.

A DeviceDescription element allows the profile to detect clients using the properties they advertise in their device XML when responding to a search request. This is useful when a device does not provide a distinctive HTTP header on each request. For performance reasons, the HTTP header mechanism is preferable, when possible.

A DeviceDescription element may have a type element, indicating the type of device that exposes the relevant property. This is useful for DLNA clients that expose themselves as multiple devices in this XML, e.g. the Samsung LE32C650. In general, when using a DeviceDescription element, it is recommended to use this attribute with a specific device type. Otherwise, Plex Media Server will attempt to match these properties against any device type it sees, which may lead to unexpected results if the matching data is not unique.

The following sub-elements are supported inside a DeviceDescription element:
  • FriendlyName
  • ModelName
  • ModelNumber
  • ModelUrl
  • ModelDescription
  • Manufacturer
  • ManufacturerUrl
  • SerialNumber
Each element must have either a substring attribute or a regex attribute. These attributes follow the same rules as with the Header element. Multiple elements under a DeviceDescription must all match in order for the DeviceDescription to be considered a match. I.e. all sub-elements under a DeviceDescription element are ANDed together.

The following is a (fictional) example of a DeviceDescription element:
<Identification>
  <DeviceDescription type="urn:samsung.com:device:RemoteControlReceiver:1">
  <FriendlyName substring="LE32C650" />
  <ModelName substring="UE" />
  <ModelNumber substring="700" />
  <ModelUrl substring="samsung.com" />
  <ModelDescription substring="An nyoung ha seh yo" />
  <Manufacturer substring="Samsung" />
  <ManufacturerUrl substring="samsung.com" />
  <SerialNumber substring="1234" />
  </DeviceDescription>
</Identification>
A device's friendly name, device type and other properties can be discovered using the Device Spy tool from http://opentools.homeip.net/dev-tools-for-upnp. The following is an real example of device XML provided by a DLNA client, in this case a version of Windows Media Player:
<?xml version="1.0"?>
<root xmlns="urn:schemas-upnp-org:device-1-0">
...
  <device>
    <friendlyName>SERVER: mfeingol:</friendlyName>
    <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
    <manufacturer>Microsoft Corporation</manufacturer>
    <manufacturerURL>http://www.microsoft.com</manufacturerURL&gt;
    <modelName>Windows Media Player Sharing</modelName>
    <modelNumber>12.0</modelNumber>
    <modelURL>http://go.microsoft.com/fwlink/?LinkId=105926</modelURL&gt;
    <serialNumber>{06C328CF-8EC5-4F1E-BAA4-D67CDAD172FB}</serialNumber>
  </device>
</root>
Protocol Info

When a DLNA client discovers a DLNA server on the network, it may inquire as to its capabilities. One important capability is the set of media formats supported by the server. Some DLNA clients (e.g. televisions) often have fairly strong opinions about which formats it wants to see. This section allows the response Plex Media Server provides to that question to be customized.

A ProtocolInfo element must have a single Source element. The inner value of that source element is the value that Plex Media Server will use when responding to GetProtocolInfo requests from the device.

For example:

<ProtocolInfo>
  <Source>http-get:*:audio/mpeg:DLNA.ORG_PN=MP3;DLNA.ORG_OP=01;DLNA.ORG_FLAGS=81500000000000000000000000000000</Source>
</ProtocolInfo>
If no ProtocolInfo is specified, Plex Media Server will reply with a default value. That value is customizable by the user, and may change in different versions of Plex Media Server. The default is currently the following:
http-get:*:video/mpeg:*,http-get:*:video/mp4:*,http-get:*:video/vnd.dlna.mpeg-tts:*,http-get:*:video/avi:*,http-get:*:video/x-matroska:*,http-get:*:video/x-ms-wmv:*,http-get:*:video/wtv:*,http-get:*:audio/mpeg:*,http-get:*:audio/mp3:*,http-get:*:audio/mp4:*,http-get:*:audio/x-ms-wma*,http-get:*:audio/wav:*,http-get:*:audio/L16:*,http-get:*image/jpeg:*,http-get:*image/png:*,http-get:*image/gif:*,http-get:*image/tiff:*
Settings

The Settings section contains configuration options that change the DLNA server's behavior when a device is recognized. The following settings are currently supported:
  • OnlyPlainVideoItems - true/false, default is false - all videos are represented in DIDL as "object.item.videoItem" instead of a more specific type, such as "object.item.videoItem.movie".
  • OnlyStorageFolders - true/false, default is false - all folders are represented in DIDL as "object.container.storageFolder" instead of a more specific type, such as "object.container.person.musicArtist".
  • IgnoreTranscodeByteRangeRequests - true/false, default is false - byte range requests issued for transcode video streams are handled as if no range request had been made
  • EmitAlbumArtResources - true/false, default is false - emit res items inside video DIDL representing album art for the video in question. Some devices prefer this mechanism to others for obtaining album art. Other devices can't handle this and are unable to play video when this option is enabled.
  • TimelineBufferOffset - integer representing seconds, default is zero - how far ahead the device generally buffers when playing video. Used to improve accuracy when recording playback progress on the server for a given video when the video is played by a DLNA device.
  • IconResolution - string - resolution of icons exposed via upnp:icon, derived from Plex Media Server thumbnails. Default is 256x256.
  • AlbumArtResolution - string - resolution of album art exposed via upnp:albumArtURI, derived from Plex Media Server album art or thumbnails. Default is 512x512.
  • AlbumArtPN - string - the DLNA.ORG_PN value used for album art, aka the dlna:profileID attribute on upnp:albumArtURI. Default is JPEG_SM. (Some devices are very picky about wanting a specific value, regardless of the actual size of the image.)
To determine which settings to use when authoring a profile, the general rule of thumb is to fix on failure via trial and error. E.g. the OnlyStorageFolders setting is worth trying if the device can't seem to browse into folders, or thinks folders are media, or folders can be browsed, but no videos show up. If folders work after changing the setting, then it's worth keeping in the profile. Similarly, the OnlyPlainVideoItems setting is worth trying if folders containing video appear empty.

For example:
<Settings>
  <Setting name="OnlyPlainVideoItems" value="true" />
  <Setting name="OnlyStorageFolders" value="true" />
  <Setting name="IgnoreTranscodeByteRangeRequests" value="true" />
  <Setting name="TimelineBufferOffset" value="40" />
  <Setting name="IconResolution" value="512x384" />
  <Setting name="AlbumArtResolution" value="512x384" />
  <Setting name="AlbumArtPN" value="JPEG_TN" />
</Settings>
Device Description

When a DLNA client discovers a DLNA server on the network, the client may use information provided by the server to deduce the server's characteristics. Which server is this? Who made it? Etc.

Some clients exhibit specific behaviors when these values are set to specific parameters. This DeviceDescription element allows Plex Media Server's device characteristics to be customized per client, influencing a set of fields in the device's XML description. These fields can also be left empty, specifying that no content is to be emitted, or elided entirely, in which case default values will be used. The default values used by Plex Media Server may vary from release to release, and can be observed in a program like Device Spy.

The following is an example of a default Plex Media Server device description:

<device>
  <deviceType>urn:schemas-upnp-org:device:MediaServer:1</deviceType>
  <friendlyName>Plex Media Server: Orpheus</friendlyName>
  <manufacturer>Plex, Inc.</manufacturer>
  <manufacturerURL>http://www.plexapp.com/</manufacturerURL&gt;
  <modelDescription>Plex Media Server</modelDescription>
  <modelName>Plex Media Server</modelName><modelURL>http://www.plexapp.com/</modelURL&gt;
  <modelNumber>0.9.7.28</modelNumber>
  <serialNumber/>
  <UDN>uuid:6911532c-85f2-2072-9776-656536c01ca4</UDN>
  <dlna:X_DLNADOC xmlns:dlna="urn:schemas-dlna-org:device-1-0">DMS-1.50</dlna:X_DLNADOC>
...
</device>
The following fields can be overridden:
  • FriendlyName: controls the content of the friendlyName element in the urn:schemas-upnp-org:device-1-0 namespace.
  • Manufacturer: controls the content of the manufacturer element in the urn:schemas-upnp-org:device-1-0 namespace.
  • ManufacturerUrl: controls the content of the manufacturer element in the urn:schemas-upnp-org:device-1-0 namespace.
  • ModelName: controls the content of the manufacturerURL element in the urn:schemas-upnp-org:device-1-0 namespace.
  • ModelNumber: controls the content of the modelNumber element in the urn:schemas-upnp-org:device-1-0 namespace.
  • ModelUrl: controls the content of the modelUrl element in the urn:schemas-upnp-org:device-1-0 namespace.
  • ModelDescription: controls the content of the modelDescription element in the urn:schemas-upnp-org:device-1-0 namespace.
  • X-DlnaDoc: controls the content of the X_DLNADOC element in the urn:schemas-dlna-org:device-1-0 namespace.
  • X-DlnaCap: controls the content of the X_DLNACAP element in the urn:schemas-dlna-org:device-1-0 namespace.
  • Sony-AggregationFlags: controls the content of the aggregationFlags element in the urn:schemas-sonycom:av.
For example:
<DeviceDescription>
  <FriendlyName>Hi, I'm a friendly device</FriendlyName>
  <Manufacturer>Microsoft Corporation</Manufacturer>
  <ManufacturerUrl>http://www.microsoft.com/</ManufacturerUrl&gt;
  <ModelName>Windows Media Player Sharing</ModelName>
  <ModelNumber>12.0</ModelNumber>
  <ModelUrl>http://www.microsoft.com/</ModelUrl&gt;
  <ModelDescription>Something or other</ModelDescription>
  <X-DlnaDoc>DMS-1.50</X-DlnaDoc>
  <X-DlnaCap />
  <Sony-AggregationFlags>10</Sony-AggregationFlags>
</DeviceDescription>
Transcode Targets

Transcode Targets define the video, music and photo formats to which PMS will transcode media when the media's format is not listed inside a DirectPlay Profile. A TranscodeTarget element contains a set of VideoProfile elements, a single MusicProfile element and a single PhotoProfile element. All elements are optional, in that the absence of a transcode target profile for a given media type simply means that no media of that type will be transcoded.

A VideoProfile element has the following attributes:
  • protocol: either http (a standard video stream), slss (a Silverlight Smooth Streaming manifest + stream) or hls (an HTTP Live Streaming manifest + stream). No protocol attribute means http.
  • container: the video container used to encapsulate the video. This should be mpegts or asf for the http protocol, mp4 for the slss protocol and mpegts for the hls protocol.
  • codec: the video codec used to encode the video. This should generally be h264, but it could be any codec compatible with the chosen container. Some protocols may impose certain restrictions on this value.
  • audioCodec: the audio codecs that may used to encode this video. This attribute can be a list of audio codecs representing Direct Streaming options. If the source codec matches none of these, generally the first codec in the list will be used.
  • context: the context in which the video profile will be used. For DLNA profiles, this value should be set to streaming or elided entirely.
A VideoProfile element may also have Settings sub-elements, with name and value attributes. The following settings are supported:
  • VideoEncodeFlags - string - provides additional command line arguments to the transcoder. Use this at your own peril.
  • SubtitleSize - integer - a value from 25 to 500 representing scaling of burned subtitle font sizes, where 100 represents no scaling and is the default.
  • AudioSyncFlags - integer - a value from 0 to 3, where 0 means no special audio sync handling, 1 means to sync audio on start, 2 means to sync audio on resume, and 3 means both.
  • MpegtsM2tsMode - true/false, default is false - use M2TS mode when emitting mpegts streams, aka 192-byte packets with a valid timestamp.
A MusicProfile element has the following attributes:
  • container: the audio container used to encapsulate the music. This should generally be mp3.
  • codec: the audio codec used to encode the music. This should generally be mp3.
A PhotoProfile element has the following attributes:
  • container: the image container used to encode the photo. This should generally be jpeg.
For example:
<TranscodeTargets>
  <VideoProfile protocol="http" container="mpegts" codec="h264" audioCodec="aac,ac3,eac3" context="streaming">
    <!-- Inspired by Handbrake's Universal profile -->
    <Setting name="VideoEncodeFlags" value="-x264opts cabac=0" />
    <Setting name="SubtitleSize" value="100" />
  </VideoProfile>
  <VideoProfile protocol="slss" container="mp4" codec="h264" audioCodec="aac" context="streaming">
    <!-- Inspired by Handbrake's Universal profile -->
    <Setting name="VideoEncodeFlags" value="-x264opts cabac=0:keyint=50:min_keyint=50:scenecut=0" />
    <Setting name="SubtitleSize" value="100" />
    <Setting name="AudioSyncFlags" value="3" />
  </VideoProfile>
  <VideoProfile protocol="hls" container="mpegts" codec="h264" audioCodec="aac" context="streaming">
    <!-- Inspired by Handbrake's Universal profile -->
    <Setting name="VideoEncodeFlags" value="-x264opts cabac=0" />
    <Setting name="SubtitleSize" value="100" />
  </VideoProfile>
  <MusicProfile container="mp3" codec="mp3" />
  <PhotoProfile container="jpeg" />
</TranscodeTargets>
The best combination for transcoded video is usually mpegts as container, h264 as video codec, and aac or ac3 as audio codecs. Older devices that cannot play h264 might prefer mpeg4 or mpeg2video as video codecs.

DirectPlay Profiles

DirectPlay Profiles define the set of video and photo formats that the device understands natively. If the device is highly capable, this may be a long list. A DirectPlayProfile element may contain multiple VideoProfile and PhotoProfile elements, each with its own set of attributes (as above). Each container, codec or audioCodec attribute may contain multiple entries, separated by commas. The cross-product of the combination of all attribute entries represent possible combinations of containers and codecs. For example, in the XML below, the asf container may contain various wmv codecs, but not h264.
<DirectPlayProfiles>
  <VideoProfile container="asf" codec="wmv2,wmv3,vc1" audioCodec="wmav2,wmapro" />
  <VideoProfile container="avi" codec="mpeg4" audioCodec="ac3,mp3" />
  <VideoProfile container="mp4,mov,mpegts" codec="h264,mpeg4" audioCodec="ac3,aac" />
  <PhotoProfile container="jpeg" />
</DirectPlayProfiles>
Codec Profiles

Codec Profiles provide a way to express the limitations of a device when playing specific video or music codecs. If the limitation applies to a given piece of media, then the media will be transcoded, even if the relevant codec is natively supported by the device.

A CodecProfiles element contains one or more VideoCodec, VideoAudioCodec or MusicCodec elements. Each element has a name attribute that identifies the relevant codec, as well as a set of limitations expressed under a Limitations element. The name attribute may also be "*", representing all codecs.

There are several types of limitation elements:
  • Match: the value of the metadata attribute must match the value of the limitation.
  • NotMatch: the value of the metadata attribute must not match the value of the limitation.
  • UpperBound: the value of the metadata attribute must be less than or equal to the value of the limitation.
  • LowerBound: the value of the metadata attribute must be greater than or equal to the value of the limitation.
Each limitation element must have a name attribute which identifies the name of the metadata to which the limitation applies, as well as a value, substring or regex attribute. The name of the limitation can be determined by viewing the metadata XML for a given video (see example above). The format of a name attribute is prefix.suffix. The suffix is the name of the relevant metadata attribute, while the prefix can be one of the following:
  • video: applies to the selected video stream element of a media item.
  • audio: applies to the selected audio stream of a media item.
  • part: applies to the relevant part element of a media item.
  • photo: applies to the media element of a photo media item.
A limitation may also have an isRequired attribute (set to true or false, and defaulting to true) indicating behavior if the metadata attribute is not present on the media. A required limitation whose name attribute that is absent in the media's metadata is considered to apply to the media, while the absence of a non-required attribute is not.

Some examples follow:
<CodecProfiles>
  <VideoCodec name="mpeg4">
    <Limitations>
      <UpperBound name="part.size" value="4294967295" />
      <UpperBound name="video.width" value="1280" />
      <UpperBound name="video.height" value="720" />
      <UpperBound name="video.videoFrameRate" value="30" />
      <UpperBound name="video.bitrate" value="5120" />
    </Limitations>
  </VideoCodec>
  <VideoCodec name="wmv2,wmv3,vc1">
    <Limitations>
      <UpperBound name="video.width" value="1920" />
      <UpperBound name="video.height" value="1080" />
      <UpperBound name="video.frameRate" value="30" />
      <UpperBound name="video.bitrate" value="15360" />
    </Limitations>
  </VideoCodec>
  <VideoAudioCodec name="ac3,wmav2,wmapro">
    <Limitations>
      <UpperBound name="audio.channels" value="6" />
    </Limitations>
  </VideoAudioCodec>
  <VideoAudioCodec name="aac">
    <Limitations>
      <NotMatch name="audio.profile" substring="he-aac" />
    </Limitations>
  </VideoAudioCodec>
  <MusicCodec name="mp3">
    <Limitations>
      <UpperBound name="audio.bitrate" value="320" />
      <UpperBound name="audio.channels" value="2" />
    </Limitations>
  </MusicCodec>
</CodecProfiles>
Container Profiles
Container Profiles provide a way to express the limitations of a device when playing specific video containers. If the limitation applies to a given piece of media, then the media will be transcoded, even if the relevant container is natively supported by the device.

A ContainerProfiles element contains one or more VideoContainer, MusicContainer or PhotoContainer elements. Each element has a name attribute that identifies the relevant container, as well as a set of limitations expressed under a Limitations element. The Limitation elements are the same as the ones described in the section above.

For example, the following container profiles expresses two limitations: the device cannot handle mp4 containers with 64-bit offsets (aka co64 atoms), nor mkv containers whose video stream has stripped headers, nor very large jpegs:

<ContainerProfiles>
  <VideoContainer name="mp4">
    <Limitations>
      <Match name="part.has64bitOffsets" value="0" />
    </Limitations>
  </VideoContainer>
  <VideoContainer name="mkv">
    <Limitations>
      <Match name="video.headerStripping" value="0" isRequired="false" />
    </Limitations>
  </VideoContainer>
  <PhotoContainer name="jpeg">
    <Limitations>
      <UpperBound name="photo.width" value="4096" />
      <UpperBound name="photo.height" value="4096" />
    </Limitations>
  </PhotoContainer>
</ContainerProfiles>
Transcode Target Profiles
Transcode Target Profiles provide a way to express the limitations of a device when consuming transcoded video. If the limitation applies to a given piece of media, then the media will be transcoded instead of Direct Streamed, even if the relevant codec is natively supported for Direct Streaming by the device over the specified protocol.

A TranscodeTargetProfiles element contains one or more VideoTranscodeTarget elements. Each element has protocol and context attributes, which are used in the same manner as described in the Transcode Targets section. Each element also contains at least one VideoCodec or VideoAudioCodec elements. These elements use the same format as described in the Codec Profiles section.

For example:

<TranscodeTargetProfiles>
  <!-- h264 with header stripping or compression doesn't Direct Stream correctly in hls streams-->
  <VideoTranscodeTarget protocol="hls" context="streaming">
    <VideoCodec name="*">
      <Limitations>
        <NotMatch name="video.headerStripping" value="1" isRequired="false" />
        <Match name="video.headerCompression" value="" isRequired="false" />
        <UpperBound name="video.bitDepth" value="8" isRequired="false" /> <!-- Nor does high-bitdepth video -->
      </Limitations>
    </VideoCodec>
  </VideoTranscodeTarget>
  <!-- h264 without cabac doesn't Direct Stream correctly in mpegts streams -->
  <VideoTranscodeTarget protocol="http" context="streaming">
    <VideoCodec name="h264">
      <Limitations>
        <NotMatch name="video.headerStripping" value="1" isRequired="false" />
        <Match name="video.headerCompression" value="" isRequired="false" />
        <UpperBound name="video.bitDepth" value="8" isRequired="false" />
        <Match name="video.cabac" value="1" />
      </Limitations>
    </VideoCodec>
  </VideoTranscodeTarget>
</TranscodeTargetProfiles>
DLNA Media Profiles

DLNA Media Profiles provide a way to customize the DLNA.ORG_PN values, mime types and file extensions reported by Plex Media Server for specific media types. This is often necessary when authoring profiles for the pickiest devices, such as various Sony products.

A DlnaMediaProfiles element contains one or more DlnaVideoProfile, DlnaMusicProfile or DlnaPhotoProfile elements. Each of these may have the following attributes:
  • container, codec, audioCodec: similar to the attributes described in the Direct Play Profiles section
  • pn: the overridden DLNA.ORG_PN value to be used for the specified media types. When multiple comma-separated values are provided, each value is used to generate a separate res element with the respective PN value. This is useful for devices with regional preferences, such as certain Sony televisions.
  • mimeType: the overridden mime type to be used in Content-Type headers and DIDL for the specified media types
  • extension: the file extension to be used in res elements for the specified media types
Each profile element may have a Limitations element, with the same syntax as the Codec Profiles section.

When DIDL is emitted for a media item, the client profile's DlnaMediaProfiles are evaluated in the order they appear in the profile. If the container and codecs match, and the limitations do not apply, then the overrides specified in the profile element's attributes are applied to the res element in DIDL. If no matching media profile exists, then the server's defaults are used.

For example:
<DlnaMediaProfiles>
  <DlnaVideoProfile container="mpegts" codec="h264" audioCodec="ac3,aac,mp3" pn="AVC_TS_HD_24_AC3_T,AVC_TS_HD_50_AC3_T,AVC_TS_HD_60_AC3_T,AVC_TS_HD_EU_T" mimeType="video/vnd.dlna.mpeg-tts">
    <Limitations>
      <Match name="video.packetLength" value="192" />
      <Match name="video.timeStamp" value="1" />
    </Limitations>
  </DlnaVideoProfile>
  <DlnaVideoProfile container="mpegts" codec="h264" audioCodec="ac3,aac,mp3" pn="AVC_TS_HD_24_AC3_ISO,AVC_TS_HD_50_AC3_ISO,AVC_TS_HD_60_AC3_ISO,AVC_TS_HD_EU_ISO" mimeType="video/mpeg">
    <Limitations>
      <Match name="video.packetLength" value="188" />
    </Limitations>
  </DlnaVideoProfile>
  <DlnaVideoProfile container="mpegts" codec="h264" audioCodec="ac3,aac" pn="AVC_TS_HD_24_AC3,AVC_TS_HD_50_AC3,AVC_TS_HD_60_AC3,AVC_TS_HD_EU" mimeType="video/vnd.dlna.mpeg-tts" />
  <DlnaVideoProfile container="mpegts" codec="mpeg2video" audioCodec="ac3" pn="MPEG_TS_SD_EU,MPEG_TS_SD_NA,MPEG_TS_SD_KO" mimeType="video/vnd.dlna.mpeg-tts" />
  <DlnaVideoProfile container="mpeg" codec="mpeg1video,mpeg2video" pn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg" />
  <DlnaVideoProfile container="mpeg" codec="mpeg1video,mpeg2video" pn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg" />
  <DlnaVideoProfile container="mpeg" codec="mpeg1video,mpeg2video" pn="MPEG_PS_NTSC,MPEG_PS_PAL" mimeType="video/mpeg" />
  <DlnaMusicProfile container="wav" mimeType="audio/wav" />

</DlnaMediaProfiles>

[REL] ExportTools

$
0
0

This is the official thread for

ExportTools

GitHub issues Download of latest releaseDownload total

About
What this little app/channel can do, is simply to export your library sections into csv or xlsx files, allowing you to open up the exported files in like Excel or siml. afterwards.
It also can export posters, in the size you decide

Note: If running PMS on Windows, and exporting into xlsx format, you must be running a version above PMS V1.3! And if not, use csv output format until upgraded

Currently exports Movie, TV-Show, Audio, Photo sections as well as playlists

Do note, that when doing so, to set the encoding to UTF-8 in excel, if exporting to csv.

This plug-in will always be considered "a work in progress", and will change rapidly, if devs get an idea, or you guy's suggest something, so fire away.

Manual
To see the manual, go here
And please read above, before posting a question!

Install

To install, you have two options:
1 Unsupported Appstore (Easy way)
2 Manual

SourceCode

To get the SourceCode, contribute, or raise an incident, go here

Note2:
This plugin is the replacement of Plex2CSV!
If Plex2CSV is currently installed, please remove it, since it's discontinued, and everything Plex2CSV could do, this tool can as well, and a lot more!

And do report back both good and bad

/Tommy

Playing music and photos simultaneously, music interrupted by videos in photos library

$
0
0

Ok get that showing videos and photos in the photo library has its benefits.

However how does one play music and photos at the same time without the music stopping when a video is happened upon in the photos library? Music won't even restart once video stops and it continues with photos!

.plexignore will exclude all videos from all libraries, otherwise would have been an option if could exclude per library.

Don't want to separate videos and photos into different directories on my NAS as I'd also like to view them together at other times.

Only option I'm seeing is to copy tens of thousands of photos to another directory, delete videos and create a photo only library out of this? Surely not!?!

Some seasons won't match

$
0
0

I love Plex, however it appears I have issues with multiple season of two different series namely "The 100" and "Smallville".
For "The 100" everything is matched fine except for Season 4. He doesn't seem to find a hit and leaves all metadata blank.
The folder structure is identical to seasons 1, 2 and 3
Z:\The 100\Season 3

  • The 100 - S03E01 - Wanheda (1)
  • The 100 - S03E02 - Wanheda (2)
  • ...
    Z:\The 100\Season 4

  • The 100 - S04E01 - Echoes

  • The 100 - S04E02 - Heavy Lies the Crown
  • ...

Smallville is worse. Season 1 and season 4 until 10 is found. Season 2 and 3 isn't even found by Plex.
Also here, the folder structure is identical
Z:\Smallville\Season 1

  • Smallville - S01E01 - Pilot
  • Smallville - S01E02 - Metamorphosis
  • ...

Z:\Smallville\Season 2

  • Smallville - S02S01 - Vortex
  • Smallville - S02S02 - Heat
  • ...

Does anybody have a suggestion to fix this?
Thanks in advanced

WD PR2100 transcoding doesn't work on some blu-ray rips.

$
0
0

I just purchased a WD PR2100 based on the representations by both WD and Plex that the PR2100 can transcode video for my various iOS devices. I've tried various of my Blu-ray rips (made with MakeMKV) and found that on two films (Samsara and Baraka) after a few minutes Plex buffered and said the hardware was incapable of transcoding the video. I tried with experimental hardware encoding both on and off. To say the least, this is disappointing. Does anyone have any suggestion I might try to get this to work?

XPlay (WebOS)

$
0
0

XPlay is a LG WebOS client (unofficial) for Plex.
UI based on web client with some tweaks for better SmartTV compatibility
The most comfortable way to use XPlay with magic remote but ordinary remote control is supported also.

Features:

* Multilingual user interface (Croatian, Czech, Dutch, English, Estonian, French, German, Greek, Hungarian, Italian, Polish, Portuguese, Brazilian Portuguese, Romanian, Russian, Spanish, Swedish)
* Uses Plex Account to find server IP address
* Accounts with PIN code
* Support movies, photos and music (no channels and other content type)
* Multi part movies
* Support remote servers playback
* Dashboard (On Deck, Recently Added)
* Sections sorting and filtering
* Media deletion
* Sequential and shuffle play of section, show, season  and etc
* Support media art and background theme (off or on in settings)
* Support transcoding
* Support switching between audio tracks (for webOS 1.x and webOS 2.x only in transcoding mode)
* Support subtitles (except graphical subs format eg VOBSUB, PGS)
* Support switching between servers (shared) at one account
* Support movie trailers
* Support seeking by clicking on the video progress bar
* Support seeking with regular remotes
* Support not exact words search (e.g. "Nemo Finding" would be OK as well as "Finding Nemo", case insensitive)
* Multi-user home
and etc

 Does not support (FOR THE MOMENT):
* By folder navigation
* UI theming

Notes:
How-to for external subtitles Adding-Local-Subtitles-to-Your-Media

Any comments are welcome 

This topic: http://bit.ly/lgxplay
On Twitter https://twitter.com/lgxplay
Email support: xplay@itkey.ru
WWW: http://xplay.itkey.ru

Plex Devs - please confirm that you know that Plex DVR on Shield is unusable in UK!

$
0
0

There's a bunch of bugs in Plex for Shield (uncorrected in the latest version) that mean that Plex DVR on the Shield is currently UNUSABLE in the UK.

Videos recorded in HD hang on ff/rew, and sometimes fail to start: https://forums.plex.tv/discussion/257232/bug-android-tv-player-unusable-for-plex-dvr-hd-recordings-in-uk

Videos recorded in SD fail randomly part way through: https://forums.plex.tv/discussion/258640/bug-1-4-1-fails-catastrophically-half-way-through-plex-dvr-sd-file-uk

They can't always be optimised as a work around: https://forums.plex.tv/discussion/258645/bug-1-4-1-optimising-plex-dvr-sd-video-fails-with-transcoder-error-uk

Can someone from Plex at least confirm that these problems have been noted and are being worked on?

Allow sync without transcoding

$
0
0

I have the new Android client and a synology NAS as server.

I have no problems to direct stream all my videos, but I can't sync my videos without transcoding. Is there a way to disable transcoding and force syncing my videos. I think it is up to me to choose a video play (like vlc) that can play my content on my android devices.

If there is a way to sync without transcoding please tell me  <_<

 


Out of Memory Errors during nightly media scans..

$
0
0

I have a Readynas 214 running only Plex, and I started noticing that my Frontview (the GUI admin pages) would become inaccessible every few days.

I contacted Readynas tech support, and they looked at logs for quite a while before pinpointing something, They said there is something in the Plex logs that gives them concern and wanted me to reach out to Plex support. Before suggesting this, he asked me to remove two files from the server that appeared to be giving plex a problem . He references that in the email I'm going to paste the last message in its entirety:


Hi William,

Thanks for your messages.

I had a look at the NAS this morning, and the web interface was down again. I restarted the service manually and it should now be back online.

I checked the logs from Plex and found the information below. The out of memory issue seems to always happen around 2:05am.

Jul 10, 2017 02:04:22.594 [0xb446a400] INFO - Plex Media Scanner v1.7.3.3937-70f781325 - annapurnatrans PC arm7 - build: linux-annapurnatrans-arm7 - GMT -04:00 
Jul 10, 2017 02:04:22.595 [0xb446a400] INFO - Linux version: 4.4.68.alpine.1 (#1 SMP Wed May 31 17:35:22 PDT 2017), language: en-US 
Jul 10, 2017 02:04:22.596 [0xb446a400] INFO - Processor Arm 
Jul 10, 2017 02:04:22.596 [0xb446a400] INFO - /apps/plexmediaserver-annapurna/Binaries/Plex Media Scanner --analyze-deeply --item 26 --log-file-suffix Deep Analysis 
Jul 10, 2017 02:04:22.774 [0xb466b000] DEBUG - Opening 20 database sessions to library (com.plexapp.plugins.library), SQLite 3.13.0, threadsafe=1 
Jul 10, 2017 02:04:23.632 [0xb466b000] DEBUG - [MI] Opening input file: /data/Videos/Movies/A.Brilliant.Young.Mind.2014.720p.BluRay.x264-YIFY/A.Brilliant.Young.Mind.2014.720p.BluRay.x264.YIFY.mp4 
Jul 10, 2017 02:04:23.633 [0xb466b000] DEBUG - [FFMPEG] - Setting default whitelist 'file,crypto' 
Jul 10, 2017 02:04:23.648 [0xb466b000] ERROR - Exception analyzing media file '/data/Videos/Movies/A.Brilliant.Young.Mind.2014.720p.BluRay.x264-YIFY/A.Brilliant.Young.Mind.2014.720p.BluRay.x264.YIFY.mp4' (Could not parse /data/Videos/Movies/A.Brilliant.Young.Mind.2014.720p.BluRay.x264-YIFY/A.Brilliant.Young.Mind.2014.720p.BluRay.x264.YIFY.mp4 (error=-2): No such file or directory) 
Jul 10, 2017 02:05:00.317 [0xb44a8400] INFO - Plex Media Scanner v1.7.3.3937-70f781325 - annapurnatrans PC arm7 - build: linux-annapurnatrans-arm7 - GMT -04:00 
Jul 10, 2017 02:05:00.318 [0xb44a8400] INFO - Linux version: 4.4.68.alpine.1 (#1 SMP Wed May 31 17:35:22 PDT 2017), language: en-US 
Jul 10, 2017 02:05:00.318 [0xb44a8400] INFO - Processor Arm 
Jul 10, 2017 02:05:00.318 [0xb44a8400] INFO - /apps/plexmediaserver-annapurna/Binaries/Plex Media Scanner --analyze-deeply --item 400 --log-file-suffix Deep Analysis 
Jul 10, 2017 02:05:00.323 [0xb46a9000] DEBUG - Opening 20 database sessions to library (com.plexapp.plugins.library), SQLite 3.13.0, threadsafe=1 
Jul 10, 2017 02:05:00.753 [0xb46a9000] DEBUG - [MI] Opening input file: /data/Videos/Movies/Dinosaur.(2000)/Dinosaur.(2000).avi 
Jul 10, 2017 02:05:00.754 [0xb46a9000] DEBUG - [FFMPEG] - Setting default whitelist 'file,crypto' 
Jul 10, 2017 02:05:00.755 [0xb46a9000] ERROR - Exception analyzing media file '/data/Videos/Movies/Dinosaur.(2000)/Dinosaur.(2000).avi' (Could not parse /data/Videos/Movies/Dinosaur.(2000)/Dinosaur.(2000).avi (error=-2): No such file or directory) 

It appears that somehow, the database is still referencing the 2 files.

This seems to be an issue isolated to Plex Media Scan, I can see that it is taking all the available memory until services start to crash. I suggest that you get in touch with Plex support to get their analysis on the issue.

Regards,

Laurent Gormezano
Level 3 Technical Support

http://www.netgear.com
Connect with Innovation


What steps should I take to try to fix these error? Thanks!

DLNA: "Paused" performed, but not reported by the server

$
0
0

Hi!

I'm running a Plex server on Win 10, and watching via DLNA on the Archos (android) app on a Sony Bravia TV.

My issue is that when I hit pause, the action is performed (the video actually pauses on the screen), but on the server side this is not recognized: the XML / server shows "generic player PLAYING". (I need this because of the integration with another programs: Plex2SmartThings)

Any ideas if this can be fixed?

Thanks!

Delay starting song

$
0
0

Hi,

my Plex Server runs on a banana pi, player fire tv stick 2, control laptop web or android.

When I start playing a song or next song is started there is a delay of 3-4 seconds, longer then cd playback.

I have set transcoder startup delay to 2 seconds from 20, but don't think improved delay, what else can I do?

Plex Refund Email

$
0
0

If you would like to cancel your Plex Pass, here is the email address. State the reason why.

Speak with your wallet.

plexpass@plex.tv

FreeBSD Jail + Plex Looking for Servers

$
0
0

For a while now I have had Plex set up in a Linux container, but have just switched to FreeBSD 11.1 and have gone the jail route. I installed plexmediaserver from ports successfully and can visit plex via my server's ip address (172.16.0.12:32400/web) and I can successfully log in, but I am stuck at "Looking for servers". I saw one guy post a similar problem and saw it was a subnetting problem, but I tried that and found that wasn't the solution for me. So who can help me get back to using this lovely service and get my devices to find my local plex server? :smile:

Lack of PlexPass features for non-Plex server users

$
0
0

Something interesting came up. My friend ask if he should buy a PlexPass to get features.
I laughed and was like WTF!? You don't have a server. You get no features(well, you get 1...now 2).

So, there is no real benefit for non-server users.
Plex really has no PlexPass features for non-Plex server users. Nothing to entice them.
I find in REAL hard to encourage my friends to buy a subscription and discourage them when they ask about it.

Automatic Photo-tagging New
Server users only.

Live TV New
Server users only.

Plex Cloud New
Server users only.

Plex DVR New
Server users only.

Mobile Sync
Server users only.

Cloud Sync
Server users only.

Audio Fingerprinting
Server users only.

Lyrics
Server users only.

Mood Mix
Server users only.

Plex Mix
Server users only.

Premium Music
Server users only.

Multiple Users
Server users only.

Parental Controls
Server users only.

Trailers and Extras
Server users only.

Camera Upload
Server users only.

Plex Pass Perks New
Ha, this one is new and supports non-Plex server users

Early Access and Free Apps
The only one that supports non-Plex server users.

That's it. Nothing for the client users.

If I had to give any one feature to a non-server user it would be Multiple Users (Managed Users).
I believe all PlexPass users should benefit from this feature.

Trailers and Extras is another one.
I mean, I don't have all the specifics but trailers should be available to all people with a subscription since its not being played from the server(except for custom trailers) and the option should be for the user(client) not the owner(server).

What you all think?

Subtitles out of sync on Samsung TV

$
0
0

Hi,

This is a bug report.

I have been using Plex for about a year now on many different platforms, but within the last few weeks my Samsung TV (model UE50KU6075XXE - bought in January 2017) has displayed subtitles out of sync - sometimes up to 10-20 seconds off. This does not happen when watching the movie from the beginning; only when resuming a movie in a later session. Sometimes it fixes it (or at least gets better) if I toggle the subtitle language within the app or stop and the start the movie again. Note that when I do this on other platforms (e.g. Android or Chromecast) the subtitles work fine and are in perfect sync. Note also that I have only tried this with external .srt files - it may also occur of internal subtitles but I have not tried that.

It seems that the out-of-sync offset is related to the time it takes to start the movie. So if the server is slow to react the out-of-sync offset is bigger.

I am running latest server on my QNAP NAS (1.5.5.3634) and the TV auto updates to latest version of the client.

Please let me know if you need any other information or let me know if there is anything I can do.

Thank you.


[Ubuntu 16.06] Many of my MKV files are not playing in Plex - why?

$
0
0

I have problem with playback of some mkv files. Especially when playing with subtitles. Here is log - any ideas what is hapaning?

Aug 18, 2017 15:06:41.639 [0x7f9f847ff700] DEBUG - Request: [192.168.0.108:54506 (Subnet)] GET /:/timeline?hasMDE=1&ratingKey=7384&key=%2Flibrary%2Fmetadata%2F7384&state=buffering&playQueueItemID=3635&time=0&duration=2884887 (6 live) TLS GZIP Signed-in Token (qrczakk)
Aug 18, 2017 15:06:41.640 [0x7f9f847ff700] DEBUG - Client [3v28subyn76gubwl8f301lr2] reporting timeline state buffering, progress of 0/2884887ms for guid=, ratingKey=7384 url=, key=/library/metadata/7384, containerKey=, metadataId=7384
Aug 18, 2017 15:06:41.640 [0x7f9f847ff700] DEBUG - [Now] User is qrczakk (ID: 1)
Aug 18, 2017 15:06:41.640 [0x7f9f847ff700] DEBUG - [Now] Device is Safari (Plex Web (Safari)).
Aug 18, 2017 15:06:41.640 [0x7f9f847ff700] DEBUG - [Now] Profile is Web
Aug 18, 2017 15:06:41.640 [0x7f9f847ff700] DEBUG - [Now] Updated play state for /library/metadata/7384.
Aug 18, 2017 15:06:41.641 [0x7f9f847ff700] DEBUG - Statistics: (hzj9r5m8t86) Reporting active playback in state 2 of type 4 (scrobble: 0) for account 1
Aug 18, 2017 15:06:41.644 [0x7f9f847ff700] DEBUG - It took 0.0 sec to serialize a list with 0 elements.
Aug 18, 2017 15:06:41.645 [0x7f9faa7fe700] DEBUG - Completed: [192.168.0.108:54506] 200 GET /:/timeline?hasMDE=1&ratingKey=7384&key=%2Flibrary%2Fmetadata%2F7384&state=buffering&playQueueItemID=3635&time=0&duration=2884887 (6 live) TLS GZIP 6ms 494 bytes (pipelined: 1)
Aug 18, 2017 15:06:41.646 [0x7f9faa7fe700] DEBUG - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.
Aug 18, 2017 15:06:41.646 [0x7f9faa7fe700] DEBUG - Auth: authenticated user 1 as qrczakk
Aug 18, 2017 15:06:41.646 [0x7f9faa7fe700] DEBUG - Auth: Came in with a super-token, authorization succeeded.
Aug 18, 2017 15:06:41.646 [0x7f9f8b7fb700] DEBUG - Request: [127.0.0.1:59736 (Loopback)] GET /status/sessions (7 live) GZIP Signed-in Token (qrczakk)
Aug 18, 2017 15:06:41.647 [0x7f9f8b7fb700] DEBUG - [Now] Adding 1 sessions.
Aug 18, 2017 15:06:41.649 [0x7f9f8b7fb700] DEBUG - It took 0.0 sec to serialize a list with 1 elements.
Aug 18, 2017 15:06:41.650 [0x7f9faa7fe700] DEBUG - Completed: [127.0.0.1:59736] 200 GET /status/sessions (7 live) GZIP 3ms 1645 bytes (pipelined: 1)
Aug 18, 2017 15:06:42.767 [0x7f9f93bff700] DEBUG - Request: [192.168.0.108:54500 (Subnet)] GET /video/:/transcode/universal/session/9af8itg0l4ks7zrwimntvdmx/base/00000.ts (7 live) TLS Signed-in
Aug 18, 2017 15:06:42.767 [0x7f9f93bff700] DEBUG - Asked for segment 0 from session.
Aug 18, 2017 15:06:42.767 [0x7f9f93bff700] WARN - Transcode runner appears to have died.
Aug 18, 2017 15:06:42.867 [0x7f9f93bff700] WARN - Timed out waiting for segment.
Aug 18, 2017 15:06:42.868 [0x7f9faafff700] DEBUG - Completed: [192.168.0.108:54500] 404 GET /video/:/transcode/universal/session/9af8itg0l4ks7zrwimntvdmx/base/00000.ts (7 live) TLS 101ms 288 bytes (pipelined: 9)
Aug 18, 2017 15:06:42.896 [0x7f9faa7fe700] DEBUG - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.
Aug 18, 2017 15:06:42.896 [0x7f9faa7fe700] DEBUG - Auth: authenticated user 1 as qrczakk
Aug 18, 2017 15:06:42.897 [0x7f9faa7fe700] DEBUG - Auth: Came in with a super-token, authorization succeeded.
Aug 18, 2017 15:06:42.897 [0x7f9f847ff700] DEBUG - Request: [192.168.0.108:54506 (Subnet)] GET /:/timeline?hasMDE=1&ratingKey=7384&key=%2Flibrary%2Fmetadata%2F7384&state=error&playQueueItemID=3635&time=0&duration=2884887 (7 live) TLS GZIP Signed-in Token (qrczakk)
Aug 18, 2017 15:06:42.898 [0x7f9f847ff700] DEBUG - Client [3v28subyn76gubwl8f301lr2] reporting timeline state error, progress of 0/2884887ms for guid=, ratingKey=7384 url=, key=/library/metadata/7384, containerKey=, metadataId=7384
Aug 18, 2017 15:06:42.907 [0x7f9f847ff700] DEBUG - [Now] User is qrczakk (ID: 1)
Aug 18, 2017 15:06:42.907 [0x7f9f847ff700] DEBUG - [Now] Device is Safari (Plex Web (Safari)).
Aug 18, 2017 15:06:42.908 [0x7f9f847ff700] DEBUG - [Now] Profile is Web
Aug 18, 2017 15:06:42.908 [0x7f9f847ff700] DEBUG - [Now] Updated play state for /library/metadata/7384.
Aug 18, 2017 15:06:42.909 [0x7f9f847ff700] DEBUG - Statistics: (hzj9r5m8t86) Reporting active playback in state 0 of type 4 (scrobble: 0) for account 1
Aug 18, 2017 15:06:42.910 [0x7f9f847ff700] DEBUG - It took 0.0 sec to serialize a list with 0 elements.
Aug 18, 2017 15:06:42.912 [0x7f9faa7fe700] DEBUG - Completed: [192.168.0.108:54506] 200 GET /:/timeline?hasMDE=1&ratingKey=7384&key=%2Flibrary%2Fmetadata%2F7384&state=error&playQueueItemID=3635&time=0&duration=2884887 (7 live) TLS GZIP 15ms 494 bytes (pipelined: 2)
Aug 18, 2017 15:06:42.914 [0x7f9faa7fe700] DEBUG - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.
Aug 18, 2017 15:06:42.914 [0x7f9faa7fe700] DEBUG - Auth: authenticated user 1 as qrczakk
Aug 18, 2017 15:06:42.914 [0x7f9faa7fe700] DEBUG - Auth: Came in with a super-token, authorization succeeded.
Aug 18, 2017 15:06:42.914 [0x7f9f83ffe700] DEBUG - Request: [127.0.0.1:59738 (Loopback)] GET /status/sessions (8 live) GZIP Signed-in Token (qrczakk)
Aug 18, 2017 15:06:42.915 [0x7f9f83ffe700] DEBUG - [Now] Adding 1 sessions.
Aug 18, 2017 15:06:42.917 [0x7f9f83ffe700] DEBUG - It took 0.0 sec to serialize a list with 1 elements.
Aug 18, 2017 15:06:42.919 [0x7f9faa7fe700] DEBUG - Completed: [127.0.0.1:59738] 200 GET /status/sessions (7 live) GZIP 4ms 1641 bytes (pipelined: 1)
Aug 18, 2017 15:06:47.395 [0x7f9faafff700] DEBUG - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.
Aug 18, 2017 15:06:47.395 [0x7f9faafff700] DEBUG - Auth: authenticated user 1 as qrczakk
Aug 18, 2017 15:06:47.395 [0x7f9faafff700] DEBUG - Auth: Came in with a super-token, authorization succeeded.
Aug 18, 2017 15:06:47.395 [0x7f9f8b7fb700] DEBUG - Request: [192.168.0.108:54506 (Subnet)] GET /:/timeline?hasMDE=1&ratingKey=7384&key=%2Flibrary%2Fmetadata%2F7384&state=stopped&playQueueItemID=3635&time=0&duration=2884887 (7 live) TLS GZIP Signed-in Token (qrczakk)
Aug 18, 2017 15:06:47.396 [0x7f9f8b7fb700] DEBUG - Client [3v28subyn76gubwl8f301lr2] reporting timeline state stopped, progress of 0/2884887ms for guid=, ratingKey=7384 url=, key=/library/metadata/7384, containerKey=, metadataId=7384
Aug 18, 2017 15:06:47.404 [0x7f9f8b7fb700] DEBUG - [Now] User is qrczakk (ID: 1)
Aug 18, 2017 15:06:47.404 [0x7f9f8b7fb700] DEBUG - [Now] Device is Safari (Plex Web (Safari)).
Aug 18, 2017 15:06:47.404 [0x7f9f8b7fb700] DEBUG - [Now] Profile is Web
Aug 18, 2017 15:06:47.405 [0x7f9f8b7fb700] DEBUG - [Now] Updated play state for /library/metadata/7384.
Aug 18, 2017 15:06:47.405 [0x7f9f8b7fb700] DEBUG - Statistics: (hzj9r5m8t86) Reporting active playback in state 3 of type 4 (scrobble: 0) for account 1
Aug 18, 2017 15:06:47.406 [0x7f9f8b7fb700] DEBUG - Streaming Resource: Terminating session 0x7f9fab23fb60:3v28subyn76gubwl8f301lr2 which is using transcoder slot.  Used slots is now 0
Aug 18, 2017 15:06:47.406 [0x7f9f8b7fb700] DEBUG - Streaming Resource: Terminated session 0x7f9fab23fb60:3v28subyn76gubwl8f301lr2 with reason Client stopped playback.
Aug 18, 2017 15:06:47.406 [0x7f9f8b7fb700] DEBUG - Streaming Resource: Removing session 0x7f9fab23fb60:3v28subyn76gubwl8f301lr2
Aug 18, 2017 15:06:47.406 [0x7f9fa9ffd700] DEBUG - Killing job.
Aug 18, 2017 15:06:47.406 [0x7f9fa9ffd700] DEBUG - Signalling job ID 30560 with 9
Aug 18, 2017 15:06:47.407 [0x7f9fa9ffd700] DEBUG - Job was already killed, not killing again.
Aug 18, 2017 15:06:47.407 [0x7f9fa9ffd700] DEBUG - Stopping transcode session 9af8itg0l4ks7zrwimntvdmx
Aug 18, 2017 15:06:47.408 [0x7f9fa9ffd700] DEBUG - Cleaning old transcode directories.
Aug 18, 2017 15:06:47.408 [0x7f9f8b7fb700] DEBUG - It took 0.0 sec to serialize a list with 0 elements.
Aug 18, 2017 15:06:47.409 [0x7f9faafff700] DEBUG - Auth: We found auth token (xxxxxxxxxxxxxxxxxxxx), enabling token-based authentication.
Aug 18, 2017 15:06:47.409 [0x7f9faafff700] DEBUG - Auth: authenticated user 1 as qrczakk
Aug 18, 2017 15:06:47.409 [0x7f9fa9ffd700] DEBUG - Cleaning old transcode directory: /mnt/data/plex_cache/plex-transcode-9af8itg0l4ks7zrwimntvdmx-60768280-a3c6-4067-aeea-94c24d6e3030
Aug 18, 2017 15:06:47.409 [0x7f9faafff700] DEBUG - Auth: Came in with a super-token, authorization succeeded.
Aug 18, 2017 15:06:47.409 [0x7f9fa9ffd700] DEBUG - Whacked session 9af8itg0l4ks7zrwimntvdmx, 0 remaining.
Aug 18, 2017 15:06:47.410 [0x7f9f847ff700] DEBUG - Request: [192.168.0.108:54507 (Subnet)] GET /video/:/transcode/universal/stop?session=9af8itg0l4ks7zrwimntvdmx (9 live) TLS GZIP Signed-in Token (qrczakk)

Nvidia Shield not playing DTS Master Audio, TrueHD, Atmos, DTS:X etc formats in Plex

$
0
0

Why does the Plex player that is downloaded from the play store not play all codecs? it is heavily published it is supposed to work... what gives???It is installed with the latest 5.1 SW version... It is definitely the P2897, under the system info it shows it has version 5.6.1.505 updated on 6 March 2017... :neutral:
PLEASE HELP :( :( :(
i HAVE MADE SURE EVERYTHING IS UPDATED ON THE MACHINE...

Unable to cast...

$
0
0

In years I've been using Plex, this has never happened before. Whenever trying to cast now, it says:

Unable to cast
The media is currently unavailable.

Strange thing is, that casting from my Android doesn't work, but it does from my wife's Android.

My Plex app version: 6.4.0.1558
My wife's: 6.3.4.1485
Both has been set to never allow insecure connection.

How is this possible?
The Android app version is the only difference.

Plex server version: 1.8.1.41.39

Kodi to Plex, a couple of questions

$
0
0

Hi,

I have been using Kodi for a long time but are a bit tired of there problems and there comunity, so Now Im looking in to Plex.

I have installed Plex Server and the Windows client on my main computer(Windows 10). I have connected it with Trakt and opensubtitles so far.

Now I need to know more about fetures that I do not really find any answer to :

  1. In Kodi Im using the subtitle addon that makes it possible to search for the correct subtitle right there in the player. If its wrong Im able to sync it to some degree. In Plex this seems to be handled automatically but even when I have setup the opensubtitle account I do not get any subtitles loaded? I can also not find any way to manually choose subtitle from the Windows or web player? Can I even choose to download sub from any other subtitle provider? In my case I have set it to always download subtitles for Swedish first and then English.

  2. Its not that uncommon that sound is a bit out of sync, I can´t however find any control in any of the players where I can compensate? I have found a video on youtube where they gets a menu for this by hitting M but that does not work, it seems like its for a old version of a player that you do not support anymore?

  3. Trakt plugin is installed and I have syncted the plex library with the Trakt information by providing a temporary pin. will it keep up to date? Will it report to Trakt? Will I be able to set grades right in the player like with kodi after a movie/episode?

What does the unmatch command do

$
0
0

Hi,

What happens when you unmatch an item in your library? And what is it for?
Does unmatch constitute a manual change on that item?
Why does the option exist? I mean, why have unmatched items in your library?
What is the point of that? I think Fix Match would be a better option.
So.. What I am asking is, what does the command unmatch actually do? And how does it help the users of Plex?

Thanks

Viewing all 151235 articles
Browse latest View live




Latest Images