Cannot direct play/stream .ts files anymore

Server Version#: 1.18.5.2309 (unraid or ubuntu via plex docker)
Player Version#: 7.28.0.15196

Well I can´t seem to direct play/stream my .ts files, which I tape with my cable set-top box anymore. This is the xml info of the file:

<MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="9" librarySectionTitle="Serien - ungeschnitten" librarySectionUUID="615e54a6-2d0d-4c0e-b4bf-2cc8fc3ca799" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1579823211">
<Video ratingKey="31405" key="/library/metadata/31405" parentRatingKey="9075" grandparentRatingKey="6024" guid="com.plexapp.agents.thetvdb://265925/10/4?lang=de" parentGuid="com.plexapp.agents.thetvdb://265925/10?lang=de" grandparentGuid="com.plexapp.agents.thetvdb://265925?lang=de" type="episode" title="Folge 4" grandparentKey="/library/metadata/6024" parentKey="/library/metadata/9075" librarySectionTitle="Serien - ungeschnitten" librarySectionID="9" librarySectionKey="/library/sections/9" grandparentTitle="Der Bachelor" parentTitle="Staffel 10" summary="" index="4" parentIndex="10" viewOffset="63000" lastViewedAt="1580673516" year="2020" thumb="/library/metadata/31405/thumb/1580347003" art="/library/metadata/6024/art/1580346733" grandparentThumb="/library/metadata/6024/thumb/1580346733" grandparentArt="/library/metadata/6024/art/1580346733" duration="8100529" originallyAvailableAt="2020-01-29" addedAt="1580346625" updatedAt="1580347003">
<Media id="39365" duration="8100529" bitrate="9188" width="1920" height="1080" aspectRatio="1.78" audioChannels="2" audioCodec="ac3" videoCodec="h264" videoResolution="1080" container="mpegts" videoFrameRate="PAL" videoProfile="high">
<Part accessible="1" exists="1" id="39400" key="/library/parts/39400/1580333099/file.ts" duration="8100529" file="/google/aufnahmen/serien/Der Bachelor (DE) (2003)/Season 10/Der Bachelor - S10E04 - Folge 4.ts" size="9930153984" container="mpegts" deepAnalysisVersion="4" packetLength="188" requiredBandwidths="9186,9183,9183,9183,9183,9183,9183,9183" videoProfile="high">
<Stream id="47341" streamType="1" codec="h264" index="2" bitrate="8518" bitDepth="8" chromaLocation="left" chromaSubsampling="4:2:0" codedHeight="1088" codedWidth="1920" colorPrimaries="bt709" colorRange="tv" colorSpace="bt709" colorTrc="bt709" frameRate="25.000" hasScalingMatrix="0" height="1080" level="40" profile="high" refFrames="4" requiredBandwidths="8516,8515,8515,8515,8515,8515,8515,8515" scanType="interlaced" separateFields="1" streamIdentifier="6641" width="1920" displayTitle="1080i (H.264)"/>
<Stream id="47342" streamType="2" selected="1" codec="ac3" index="3" channels="2" bitrate="384" language="Deutsch" languageCode="ger" audioChannelLayout="stereo" requiredBandwidths="384,384,384,384,384,384,384,384" samplingRate="48000" streamIdentifier="6642" displayTitle="Deutsch (AC3 Stereo)"/>
<Stream id="47340" streamType="3" codec="dvb_subtitle" index="1" bitrate="0" language="Deutsch" languageCode="ger" hearingImpaired="1" requiredBandwidths="10,10,10,10,10,10,10,10" streamIdentifier="6640" displayTitle="Deutsch GL (DVB_SUBTITLE)"/>
<Stream id="47339" streamType="3" codec="dvb_teletext" index="0" bitrate="285" language="Deutsch" languageCode="ger" requiredBandwidths="286,286,286,286,286,286,286,286" streamIdentifier="6644" displayTitle="Deutsch (DVB_TELETEXT)"/>
</Part>
</Media>
<Extras size="0"> </Extras>
</Video>
</MediaContainer>

This also applies to files that I taped long time ago that used to work, all of the same type.

Here is a file that I recently taped with PlexDVR, that surprisingly works:

<MediaContainer size="1" allowSync="1" identifier="com.plexapp.plugins.library" librarySectionID="9" librarySectionTitle="Serien - ungeschnitten" librarySectionUUID="615e54a6-2d0d-4c0e-b4bf-2cc8fc3ca799" mediaTagPrefix="/system/bundle/media/flags/" mediaTagVersion="1579823211">
<Video ratingKey="31251" key="/library/metadata/31251" parentRatingKey="31250" grandparentRatingKey="31249" guid="com.plexapp.agents.thetvdb://78874/1/5?lang=de" parentGuid="com.plexapp.agents.thetvdb://78874/1?lang=de" grandparentGuid="com.plexapp.agents.thetvdb://78874?lang=de" type="episode" title="Kampf ums Überleben" titleSort="Kampf ums Uberleben" grandparentKey="/library/metadata/31249" parentKey="/library/metadata/31250" librarySectionTitle="Serien - ungeschnitten" librarySectionID="9" librarySectionKey="/library/sections/9" grandparentTitle="Firefly" parentTitle="Staffel 1" contentRating="TV-14" summary="Die Serenity hat einen schweren Maschinenschaden erlitten. Das Schiff ist evakuiert und die Crew befindet sich in den Shuttles. Nur Malcolm ist noch an Bord. Er ist verletzt und versucht, sein Schiff zu reparieren. Die Lebenserhaltungssysteme versagen, es gibt keine Energie und die Luft wird langsam knapp. In Flashbacks erfährt man erstens wie es zu der Katastrophe an Bord kam, und dass Zoë schwer verletzt worden ist und zweitens wie Malcolm damals zusammen mit Zoë die Serenity gekauft und wie er Jayne, Kaylee, Inara und Wash kennen gelernt hat." index="5" parentIndex="1" rating="8.3" lastViewedAt="1580673975" year="2002" thumb="/library/metadata/31251/thumb/1580519725" art="/library/metadata/31249/art/1580519725" parentThumb="/library/metadata/31250/thumb/1580519725" grandparentThumb="/library/metadata/31249/thumb/1580519725" grandparentArt="/library/metadata/31249/art/1580519725" grandparentTheme="/library/metadata/31249/theme/1580519725" duration="3158449" originallyAvailableAt="2002-10-25" addedAt="1579655145" updatedAt="1580519725">
<Media id="39051" duration="3158449" bitrate="7126" width="1280" height="720" aspectRatio="1.78" audioChannels="2" audioCodec="aac" videoCodec="h264" videoResolution="720" container="mpegts" videoFrameRate="NTSC" audioProfile="lc" videoProfile="baseline">
<Part accessible="1" exists="1" id="39086" key="/library/parts/39086/1579634949/file.ts" duration="3158449" file="/google/aufnahmen/serien/Firefly - Der Aufbruch der Serenity (2002)/Season 01/Firefly - Der Aufbruch der Serenity (2002) - S01E05 - In letzter Sekunde.ts" size="3047642244" audioProfile="lc" container="mpegts" deepAnalysisVersion="4" packetLength="188" requiredBandwidths="7120,7118,7118,7118,7118,7118,7118,7118" videoProfile="baseline">
<Stream id="45823" streamType="1" codec="h264" index="0" bitrate="6996" bitDepth="8" chromaLocation="left" chromaSubsampling="4:2:0" codedHeight="720" codedWidth="1280" frameRate="30.000" hasScalingMatrix="0" height="720" level="31" profile="baseline" refFrames="2" requiredBandwidths="6989,6987,6987,6987,6987,6987,6987,6987" scanType="progressive" streamIdentifier="256" width="1280" displayTitle="720p (H.264)"/>
<Stream id="45824" streamType="2" selected="1" codec="aac" index="1" channels="2" bitrate="131" audioChannelLayout="stereo" profile="lc" requiredBandwidths="131,131,131,131,131,131,131,131" samplingRate="48000" streamIdentifier="257" displayTitle="Unbekannt (AAC Stereo)"/>
</Part>
</Media>
<Writer id="28215" filter="writer=28215" tag="Tim Minear"/>
<Extras size="0"> </Extras>
</Video>
</MediaContainer>

The source for both files is the same, since my set-top box is also used for PlexDVR (via xteve).

On the Android clients (tv and mobile) I get the error message that an error occured and I should restart cleint and/or server (which I did and nothing changed). The web player just keeps spinning and doesn´t start to play anything.
When I switch to transcoding, the file plays fine and it also Direct Streams fine on Emby (sorry for that :wink: ).

Server logs are attached, help is appreciated.Plex Media Server Logs_2020-02-02_20-59-02.zip (5.1 MB)

What about the cert? Are the players stricter?

The server is flagging a warning.

Feb 02, 2020 20:32:34.549 [0x150190bdd700] ERROR - Error issuing curl_easy_perform(handle): 7
Feb 02, 2020 20:32:34.549 [0x150190bdd700] WARN - HTTP error requesting GET https://172-18-0-3.7db1bf895fd44285917b9335a195caac.plex.direct:32400 (0, No error) (Failed to connect to 172-18-0-3.7db1bf895fd44285917b9335a195caac.plex.direct port 32400: Network is unreachable)
Feb 02, 2020 20:32:34.595 [0x1501527f3700] ERROR - Error issuing curl_easy_perform(handle): 60
Feb 02, 2020 20:32:34.595 [0x1501527f3700] WARN - HTTP error requesting GET https://188-68-40-173.7db1bf895fd44285917b9335a195caac.plex.direct:443 (0, No error) (SSL certificate problem: self signed certificate)
Feb 02, 2020 20:32:34.638 [0x1501525f2700] DEBUG - HTTP 200 response from GET https://plex.coxeroni.de:443
Feb 02, 2020 20:32:34.638 [0x150152df6700] DEBUG - Connection Tester: Successfully tested media server netcup to be at https://plex.coxeroni.de:443 in 97 ms.
Feb 02, 2020 20:32:34.638 [0x150152df6700] DEBUG - EventSource: Resolving plex.coxeroni.de port 443

Further. Client device closed the connection.

Feb 02, 2020 20:32:42.777 [0x150190bdd700] WARN - Webhook: Error delivering payload to https://plaxt.astandke.com/api?id=bd9502eb6c7b0cec74aef604b7665f57: 502
Feb 02, 2020 20:32:43.011 [0x150192a1d700] DEBUG - Failed to stream media, client probably disconnected after 589824 bytes: 104 - Connection reset by peer
Feb 02, 2020 20:32:43.011 [0x150192a1d700] DEBUG - Completed after connection close: [192.168.178.46:43068] 206 GET /library/parts/39400/1580333099/file.ts?autoAdjustQuality=0&hasMDE=1&location=lan&mediaBufferSize=137792 (13 live) TLS 736ms 589824 bytes (range: bytes=65536-) 
Feb 02, 2020 20:32:45.659 [0x150192c1e700] DEBUG - Auth: authenticated user 14151002 as Familie
Feb 02, 2020 20:32:45.660 [0x1501535fa700] DEBUG - Request: [192.168.178.46:43056 (Subnet)] GET /:/timeline

The cert error is because of the reverse proxy config I guess. (Edit: something was messed up there) I accidentally uploaded the logs from the remote server and not from the local. The local one obviously has no cert problems and shows the same behaviour.
Still, all playback works from both servers, except this new problem.
I saw the client error myself, still the error is what I described, the player shows the error quickly after I started playback.
Here is the client log.plex-log-Coxeroni.zip (276.7 KB)
And the local server log
Plex Media Server Logs_2020-02-03_18-56-24.zip (3.7 MB)

Thanks. that exposed it.

com.plexapp.android log file

02-02 20:49:13.572  i: [FFmpeg] [INFO] [hls @ 0x7224e7cc00] Opening 'https://192-168-178-54.fe05b244c5ce490db14f4032451b7e10.plex.direct:32400/video/:/transcode/universal/session/39f19d317427be87-com-plexapp-android/base/01282.ts' for reading

Tracking it back looks like:

  1. One session was playing
  2. Another was started
  3. 1st session was stopped.
  4. Cleanup after 1st session killed 2nd session.

Is this correct?

I don´t really get what you mean. I could have tried to play it several times after one another, but this cannot be the cause of the problem. Look at the part of today, 18:38. I played it once there, and the Exoplayer fails with an exception error.

If I use the “legacy player” on my Shield (i.e. not the new one), it tells me direct play is not possible and starts the transcoding session, but stutters and tells me my server is not fast enough. At least it doesn’t die immediately.

First, I could always Direct Play/Stream those files before. Second, the server uses QSV hw transcoding and is hard-wired with 1 GBit. So it is not too slow I would say.

Edit: From the android logs, this I find a bit disturbing:

02-03 18:38:44.510  i: [FF] Video decoder doesn't support h264 (video/avc).

that last line is very disturbing indeed

This is a Shield?

Which app version is this?

No this is from my mobile phone, version 7.28.0.15196.

I can try to get the log from the Shield.

Please do. I have apple here so cannot replicate what you see at all .

Looks pretty similar…
20200203-shield-log.txt (72.1 KB)

Let me grab that version and test myself (shield pro 2019)

I’m looking in the download area for the shield.
There is no 7.28.0.15196 for me to test against. Was this an experimental which was removed ?

02-03 19:29:13.168  i: ------------------------------
02-03 19:29:13.168  i: Hello, Plex for Android world (debug: false)!
02-03 19:29:13.168  i: App version: 7.28.0.15196 (734246337)
02-03 19:29:13.168  i: Nano server version: 1.18.3.2156-349e9837e

The closest I can get is 7.29.0.15197 - which is experimental.

Running with production stable 7.27.1.15203, I can play TS files DirectPlay just fine.
Screenshot from 2020-02-03 13-40-41

Well I am beta user and always pull what is offered through the Play Store. I might try installing a stable or beta release from here by hand.

Good ole “adb” to the rescue! :slight_smile:

I don’t even know what type of architecture the Shield has…

Shield Pro 2019 is ARMv8 - 64 bit

Did you consider that the mobile phone uses 7.28.0.15196 and still shows the same problem?
Did you see that I have ts that play without isses, just not these type of files that are recorded from my set-top box?

Ok, long story short:
With the stable it works with my mobile phone (no access to the Shield atm). Direct Stream as before.
So something was changed in the beta at some point that left my .ts files behind…

I was looking at the master library for all android.

I have linked this thread to the android team. They’re very proactive about reading from the threads.

Ok thanks for your help Chuck. This really seems to relate to the more recent Android betas.

And just for completion:
I downgraded the Shield to the latest stable 7.27.1.15203 and it direct streams the file just fine too.

Could you provide a sample of the file? Here’s the instructions on how to generate one: https://support.plex.tv/articles/201035968-generating-sample-files-from-media/

Please first confirm that the issue is also happening on the sample file before posting. Thanks!