My TV is Samsung QN90B with the latest app version 5.47.1
The problem is when the subtitle did not enable everything is OK, but when enabled no matter what format subtitle it is, the video will keep playing for several seconds and then get interrupted.
Then after around 1min, a playback error popped up. I have another MiBox running Android version of Plex it works well, and Windows version works too. Only my Samsung TV has this type of problem.
It is a bug of the App or special configuration needed? I’ve tried to force not to use a secure connection still does not help.
edit on 09/29 today I updated the server to the latest and tried again still exists. I’ve captured the log. The error happens around 14:34
I have the same issue here with QN90A, if subtitle selected video stops within seconds and keeps buffering, second thinq AC3 5.1 is being transcoded while in my old k8500 (2016) i get direct play for both video and audio, i guess it is the new 2101 samsung firmware, or ne plex client update
Could be the Samsung TV app needs to burn in your subtitles. When this happens the video needs to be transcoded. Your server may not be able to handle this which is causing playback to pause often and then fail.
Suggest either only using external .srt subtitles, disabling subtitles, or using a different Plex client.
If it never used to do that like you say, then you can
enable smart tv logs on the Samsung Plex app.
Demonstrate the problem.
Download Logs
zip and attach them
screenshot the XML info for that file too.
Sep 29, 2022 14:33:42.522 [0x7f1e99996b00] DEBUG - [Req#224a/Transcode] TPU: hardware transcoding: enabled, but no hardware decode accelerator found
I’m not sure what is causing the playback to stop yet, but the new version and new logs will help. A lot depends on how the SRT subtitles are handled and the fact that the audio track is DTS, which is says is disabled.
Thanks for the log. In both server versions your logs show an error, “Player took too long buffering.” It looks like the QNAP Celeron J4125 is struggling to do a software transcode like Phoenix501 said.
You may be able to find a combination of HEVC + Audio + SRT that will not transcode, which is based on what your Samsung will play. If a company leaves out a codec, it’s often DTS or FLAC.
Each player has limitations due to licensing.
They all have different API they expose to Plex.
Some have bugs, like Samsung 2020 Smart TVs do with multiple audio track switching.
To work around this limitation, you may get perfect playback by adding a Shield Pro, but altering your files might be cheaper.
Sep 29, 2022 22:59:16.572 [0x7fcf8f759b38] INFO - [Req#33f] [Plex for Samsung] [Oliver Gao:oqlcr3i1fxsw72atb3isiofv] Cannot direct play with protocol: http, codec: hevc. Reason: Stream count exceeds 30 streams.
Remultiplex the file with MKVToolNix and remove any unneeded audio and subtitle tracks.
Plex will still direct stream the movie, since Samsung TVs do not support DTS audio.
However, removing the unnecessary audio and video tracks will reduce the amount of work Plex Media Server must perform when direct streaming the file. This might help with the buffering.
But this only happens when subtitle is enabled, if I don’t select a subtitle it plays well. Does this make any sense for “Samsung TVs do not support DTS audio”?
Another found is when subtitle enabled, my J4125 CPU doesn’t have a high load with the transcode process.
Anyway, I can choose to use my Mibox’s plex client to play it, just hoping I can directly use my Samsung plex to avoid switching controllers.
Otherwise I don’t quite get the ideas yet because I understand “direct stream the movie” to mean something else. As I read the logs this is a transcode. May I ask if we’re still going by these definitions? Stream Media Direct Play and Direct Stream
In this user’s case:
the audio stream is not supported by the TV.
So it can’t Direct Play. It can’t Direct Stream.
the file gets transcoded.
transcoding audio always happens in software on the CPU
because there is software transcoding, the subtitles get burnt in further loading the system
Sep 29, 2022 22:59:16.572 [0x7fcf8f759b38] INFO - [Req#33f] [Plex for Samsung] [Oliver Gao:oqlcr3i1fxsw72atb3isiofv] [MDE] Application decision, directPlay: false, directStreamVideo: true, directStreamAudio: false
Sep 29, 2022 22:59:16.572 [0x7fcf8f759b38] INFO - [Req#33f] [Plex for Samsung] [Oliver Gao:oqlcr3i1fxsw72atb3isiofv] Cannot direct play with protocol: http, codec: hevc. Reason: Stream count exceeds 30 streams.
Sep 29, 2022 22:59:16.572 [0x7fcf8f759b38] INFO - [Req#33f] [Plex for Samsung] [Oliver Gao:oqlcr3i1fxsw72atb3isiofv] Cannot direct play with protocol: http, codec: dca. Reason: Codec dca is excluded per setting DTS: false
Sep 29, 2022 22:59:16.572 [0x7fcf8f759b38] INFO - [Req#33f] [Plex for Samsung] [Oliver Gao:oqlcr3i1fxsw72atb3isiofv] Cannot direct stream with protocol: dash, codec: dca. Reason: Codec dca is excluded per setting DTS: false
I love the idea of removing extra sub tracks. I do that myself.
I think perhaps @FordGuy61 meant to say “Plex will still direct stream the video stream”?
I remember in an older Shield server version, any audio transcoding would force the video to transcode as well. But it doesn’t sound like that’s what’s happening here. @olivergao said this only happens when subtitles are enabled though.
yes sir, I assume this only happens when subs are enabled because software transcoding the DTS to AC3 can be done in real time if that’s the only thing happening, but software transcoding the audio when subs are requested causes burning subs into a re-encoded video.
Here’s the thought process…
(all log entries from Plex Media Server.log)
When Plex direct plays media, it sends the file unaltered. This includes all audio and subtitle tracks, even those not selected.
Samsung TVs have a 30 stream limit: video + audio + subtitles. If the media contains over 30 streams, Plex Media Server will direct stream (remux) the media. It streams only the selected tracks. Sep 29, 2022 22:59:16.572 [0x7fcf8f759b38] INFO - [Req#33f] [Plex for Samsung] [Oliver Gao:oqlcr3i1fxsw72atb3isiofv] Cannot direct play with protocol: http, codec: hevc. Reason: Stream count exceeds 30 streams.
Samsung TVs do not support DTS audio. If a DTS audio track is selected, Plex Media Server will transcode the audio to a supported format. It then direct streams the media, video (unaltered) + transcoded audio + subtitles (unaltered), to the Plex app.
Log entry: video = copy; audio = transcode to AAC; subtitle = copy Sep 29, 2022 22:59:16.522 [0x7fcf8f759b38] DEBUG - [Req#352/Transcode] Streaming Resource: Reached Decision id=700 codes=(General=1001,Direct play not available; Conversion OK. Direct Play=3000,App cannot direct play this item. Direct play is disabled. Transcode=1001,Direct play not available; Conversion OK.) media=(id=1402 part=(id=1403 decision=transcode container=mp4 protocol=dash streams=(Video=(id=6645 decision=copy width=3840 height=2160) Audio=(id=6646 decision=transcode bitrate=774 encoder=aac channels=6 rate=48000) Subtitle=(id=6667 decision=copy languageCode=zho location=sidecar))))
The movie OP is playing, Tenet, has a fairly high bitrate, over 100 Mbps at the beginning.
Here’s the bandwidth for the video track. Note initially over 100 Mbps. Adding audio & subtitles will increase bandwidth requirements for entire stream. "requiredBandwidths": "102619,69081,64786,62037,61075,60162,58555,58379",
By stripping out the unnecessary audio and subtitle tracks in advance, it is easier for Plex to remux the media, since it has fewer tracks to decide to discard. It still has to transcode the audio and remux the video + audio + subtitles.
The idea is to get the media to the minimal number of tracks, minimizing the the amount of data Plex has to handle.
It may not help. It won’t hurt. It is easier than running the movie through FFMPEG, XMediaRecode, etc to transcode the audio to a supported format. And it is less expensive than buying a streaming device just to handle DTS audio.
Plex for Windows (and Plex HTPC) support direct playing/streaming DTS audio.
Many Android clients also support DTS audio (not sure about MiBox, but FireTV and Shield both support direct playing/streaming DTS).
Also, neither have a 30 stream limit.
What is boils down to is that the Plex SmartTV apps are limited by the platform on which they run. TV manufacturers do their best to minimize the cost of components put into their TVs and any associated licensing costs. This means they are generally underpowered compared to most streaming devices and do not support as many video/audio/subtitle formats.
Yes, using the same definitions. See the part about Partially Transcoded Direct Stream.
You’re close. Samsung TVs are tricky. The rules change based on the Tizen version. I freely admit I don’t know the decision matrix. I go by what I see in the log files.
In this case…
Not all the media is transcoded, just the audio stream.
So, PMS takes the file from the drive, splits it apart, transcodes the audio, discards any unselected audio & video tracks, then recombines the video, transcoded audio, and subtitles, then streams it to the Samsung TV. This is a Partially Transcoded Direct Stream.
Audio transcoding and remuxing use the CPU. The processes also involve moving a lot of data back and forth between the CPU and memory, and eventually out the Ethernet port.
In this case, the subtitles are not burned into the video stream. See the “Reached Decision” log entry in my post above. Both the video and the subtitles are copied. If the subtitles were being burned into the video stream the video would be transcoded and the subtitles would be listed as burned, not copied.
The J4125 is a nice CPU, but it is still a Celeron. Anything that can be done to lighten the load is a good thing. That is why I suggested remuxing the file to remove the unnecessary audio and subtitle tracks.
Additional info re: Samsung Tizen TVs.
All: This is the best I can remember. If any of this is incorrect, please let me know.
This is the tricky part.
Plex uses two protocols to stream from PMS to Tizen: DASH and HLS.
DASH is preferred. However, some Tizen releases have buggy DASH implementations. Were Plex to use DASH on those releases, “bad things” happen. I’ve never seen a full explanation, but it is something like video and audio are horribly out of sync (or maybe dogs & cats start living together ).
I’ve never seen a list of Tizen releases where DASH works or is broken (which would be nice…).
If DASH cannot be used, Plex uses HLS. This is better than “bad DASH,” but not perfect. When HLS is used and the media is direct played, all is well. When HLS is used, the audio is transcoded, and there are no subtitles, all is well. The problem happens with direct streaming and subtitles. If the media is direct streamed and subtitles are enabled, it is possible for the streams to lose sync with each other. To avoid this, Plex burns the subtitles into the video stream, which necessitates transcoding the video.
You can see which streaming protocol is used in the Reached Decision log entry.
Note where it says protocol=dash: Sep 29, 2022 22:59:16.522 [0x7fcf8f759b38] DEBUG - [Req#352/Transcode] Streaming Resource: Reached Decision id=700 codes=(General=1001,Direct play not available; Conversion OK. Direct Play=3000,App cannot direct play this item. Direct play is disabled. Transcode=1001,Direct play not available; Conversion OK.) media=(id=1402 part=(id=1403 decision=transcode container=mp4 protocol=dash streams=(Video=(id=6645 decision=copy width=3840 height=2160) Audio=(id=6646 decision=transcode bitrate=774 encoder=aac channels=6 rate=48000) Subtitle=(id=6667 decision=copy languageCode=zho location=sidecar))))