Plex is always transcoding x265

Hi all,

I’m trying to help a friend setup Plex their HiSense 55R6 TV. However I cannot get it to play x265 (HEVC) Movies as I just get a spinning circle like it’s buffering. x264 is fine.

TV is connected via Wifi 5G, yes not ideal, but should work as it is in the same room as the Router.

I’ve updated the TV Firmware to the latest and downloaded the latest Plex App for the Vidaa OS. 5.xx, just cannot remember the exact number as I’m not with the TV at the moment.

I’m used to seeing a Setting under Video saying something like Allow HEVC(h265) but it does not exist. Also missing is Allow 4K. Local and Remote Quality is set to Original.

If I watch the Dashboard on the Plex Server and try and play x265 you can see it is transcoding to x264. Server has plenty of grunt to transcode this video and many more at the same time so the Server is not the issue.

Here is a video that will not play:

General
Complete name                            : X:\media\Movies\The.Fabelmans.2022.1080p.x265\The.Fabelmans.2022.1080p.x265.mp4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom (isom/iso2/mp41)
File size                                : 2.35 GiB
Duration                                 : 2 h 30 min
Overall bit rate                         : 2 228 kb/s
Movie name                               : The.Fabelmans.2022.1080p.x265
Encoded date                             : UTC 2022-12-13 18:11:42
Tagged date                              : UTC 2022-12-13 18:11:42
Writing application                      : Lavf58.20.100
Comment                                  : The.Fabelmans.2022.1080p.x265

Video
ID                                       : 1
Format                                   : HEVC
Format/Info                              : High Efficiency Video Coding
Format profile                           : Main 10@L4@Main
Codec ID                                 : hev1
Codec ID/Info                            : High Efficiency Video Coding
Duration                                 : 2 h 30 min
Bit rate                                 : 1 999 kb/s
Width                                    : 1 920 pixels
Height                                   : 1 036 pixels
Display aspect ratio                     : 1.85:1
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 10 bits
Bits/(Pixel*Frame)                       : 0.042
Stream size                              : 2.11 GiB (90%)
Writing library                          : x265 3.3+4-rarbg-30eb4de83092:[Linux][GCC 8.3.1][64 bit] 10bit
Encoding settings                        : cpuid=1111039 / frame-threads=4 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=1920x1036 / interlace=0 / total-frames=0 / level-idc=0 / high-tier=1 / uhd-bd=0 / ref=4 / no-allow-non-conformance / no-repeat-headers / annexb / no-aud / no-hrd / info / hash=0 / no-temporal-layers / open-gop / min-keyint=23 / keyint=250 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=25 / lookahead-slices=4 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / rect / no-amp / max-tu-size=32 / tu-inter-depth=1 / tu-intra-depth=1 / limit-tu=0 / rdoq-level=2 / dynamic-rd=0.00 / no-ssim-rd / signhide / no-tskip / nr-intra=0 / nr-inter=0 / no-constrained-intra / strong-intra-smoothing / max-merge=3 / limit-refs=3 / limit-modes / me=3 / subme=3 / merange=57 / temporal-mvp / no-frame-dup / no-hme / weightp / no-weightb / no-analyze-src-pics / deblock=0:0 / no-sao / no-sao-non-deblock / rd=4 / selective-sao=0 / no-early-skip / rskip / no-fast-intra / no-tskip-fast / no-cu-lossless / no-b-intra / no-splitrd-skip / rdpenalty=0 / psy-rd=2.00 / psy-rdoq=1.00 / no-rd-refine / no-lossless / cbqpoffs=0 / crqpoffs=0 / rc=abr / bitrate=2000 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=2 / cplxblur=20.0 / qblur=0.5 / ipratio=1.40 / pbratio=1.30 / aq-mode=3 / aq-strength=1.00 / cutree / zone-count=0 / no-strict-cbr / qg-size=32 / no-rc-grain / qpmax=69 / qpmin=0 / no-const-vbv / sar=1 / overscan=0 / videoformat=5 / range=0 / colorprim=2 / transfer=2 / colormatrix=2 / chromaloc=0 / display-window=0 / cll=0,0 / min-luma=0 / max-luma=1023 / log2-max-poc-lsb=8 / vui-timing-info / vui-hrd-info / slices=1 / no-opt-qp-pps / no-opt-ref-list-length-pps / no-multi-pass-opt-rps / scenecut-bias=0.05 / hist-threshold=0.01 / no-opt-cu-delta-qp / no-aq-motion / no-hdr10 / no-hdr10-opt / no-dhdr10-opt / no-idr-recovery-sei / analysis-reuse-level=0 / analysis-save-reuse-level=0 / analysis-load-reuse-level=0 / scale-factor=0 / refine-intra=0 / refine-inter=0 / refine-mv=1 / refine-ctu-distortion=0 / no-limit-sao / ctu-info=0 / no-lowpass-dct / refine-analysis-type=0 / copy-pic=1 / max-ausize-factor=1.0 / no-dynamic-refine / no-single-sei / no-hevc-aq / no-svt / no-field / qp-adaptation-range=1.00 / no-scenecut-aware-qpconformance-window-offsets / right=0 / bottom=0
Encoded date                             : UTC 2022-12-13 18:11:42
Tagged date                              : UTC 2022-12-13 18:11:42
Codec configuration box                  : hvcC

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2
Duration                                 : 2 h 30 min
Duration_LastFrame                       : -1 ms
Bit rate mode                            : Constant
Bit rate                                 : 224 kb/s
Channel(s)                               : 6 channels
Channel layout                           : C L R Ls Rs LFE
Sampling rate                            : 48.0 kHz
Frame rate                               : 46.875 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 242 MiB (10%)
Language                                 : English
Default                                  : Yes
Alternate group                          : 1
Encoded date                             : UTC 2022-12-13 18:11:42
Tagged date                              : UTC 2022-12-13 18:11:42

Any ideas what I might do to improve the playback of x265 as 99% of the library is x265?

TIA

Buy an external streaming device that supports h.265, the TV has minimal codecs.

Thanks for your reply, but I was trying to avoid that. Elderly people and trying to KISS.

So from what I understand this isn’t a Roku OS TV. Your version of the Hisense 55R6E has VIDAA TV OS, which doesn’t make this situation any better.

You’ll need to actually open up the Plex app client on the TV and locate the version number that you have.

What you can try to do on the client side is open the video settings and choose Direct Play —> FORCE.

Should result in the following:

image

Thanks for your reply, however there is no FORCE setting under the video settings.

Maybe this TV is not able to play x265 without transcoding, but I would have through a movie, like the one I previously have shown, should be able to transcode to x264 without too much effort.

TIA

Plex believes it has to transcode the video for some reason.

  1. Configure your server for debug, not verbose, level logging. (Settings → General → Show Advanced)

  1. Restart Plex Media Server.
    Wait two minutes for the server to completely start and log the startup sequence.
  2. Enable transcoding, so the video will play.
  3. Play a movie with subtitles disabled.
  4. Let it play for ~30 seconds. Then stop playback.
  5. Wait one minute for the server to log everything.
  6. Download the server logs (Settings → Troubleshooting) and upload the entire ZIP file to the thread.

Thank you again. Will follow your instructions and upload logs. Might take a day or two as the TV is at a friends place.

When the Plex server transcodes HEVC/x265 video to AVC/x264 the bitrate is increased significantly to keep the same quality. I’ve seen the server transcode an x265 1080p video to a x264 720p video, and the resulting bitrate is higher than the source rate. (I have Tautulli installed and it shows more information then the Plex dashboard does) Even the audio track is occasionally transcoded to a higher bitrate than the original if the player doesn’t support the original codec!

The problem may be that the TV doesn’t support x265, or it may be the network isn’t fast enough to handle the higher bitrates. I think I read somewhere the server multiplies by 3 in this type of conversion - so a 2000 kb/s x265 bitrate becomes 6000 kb/s when converted to x264.

I have the people I share with set the quality to one of the lower settings to allow for that. For some of the older Rokus in the picture that can’t handle x265, I suggest 4Mb/s or 8Mb/s for remote quality, and NOT original, so the server doesn’t try to transcode to a ridiculous (in my opinion) bitrate. That might mean the transcoded video is converted to 720p, but it seems to always play without any glitches.

I understand where you coming from, I thought the same too but his Hisense Television is one that has Hisense’s very own proprietary operating system called VIDAA OS.

I looked up the RokuTV version of the same model and that Hisense model should direct play x265 hevc with no issues at all.

I too had the same thought about it converting because only x264 was supported, but unless it can be confirmed otherwise, I am certain that x265 can be/should be supported as well. It’s not that old of a TV.

Update Announcements can be found here: Plex for VIDAA (Hisense televisions) - #58 by markus101

I’m starting to think that might be the case and would explain why there is no Allow x265 Option under Settings | Video. I’ve been hard pressed to to find any detailed specifications on the R6 except for the attached.

It does not state the OS type so I’m not convinced. But there is a x265 decoder.
R6.zip (305.8 KB)

But if the TV does have to transcode x265 to x264 6Mb/s should not be an issue. WiFi 5G can easily handle that and the Internet speed to 50Mb/s.

Hopefully I can get some logs and it might tell us more.

Thanks everyone for your input.

OK, finally got around to getting the logs. Sorry about the wait.

Enabled Debug | Restart Plex | Play the x265 Movie The Fablemans. Local time close to 11AM so Midnight GMT Jan 6th.

First play of Movie:

Also tried changing Remote Setting to 4Mbps 1080p and then 3Mbps 720p and still a lot of buffering.

About shows:
Client Version - 5.52.3
Platform Version - Unknown
Renderer - webGL

Thanks,

Greg
Plex Media Server Logs_2023-01-06_00-29-15.zip (836.7 KB)

Looking at your file specs in first post it is 10Bit and frame rate is 23.976

from format support article for our Smart TV app https://support.plex.tv/articles/203810286-what-media-formats-are-supported/

4K (UHD) Direct Play Video Support

Some 4K (ultra high definition) devices are recognized by the Plex app. We’re working to bring 4K playback support to other devices, too. 4K/UHD content matching the following will Direct Play on supported devices:

  • Container: MP4
  • Resolution: 3840×2160 or smaller
  • Video Encoding: HEVC (H.265)
  • Video Frame Rate: 30fps
  • Video Bit Depth: 8

4K content not matching the above properties will be transcoded to 1080p. Transcoding 4K content is a very intensive process and will require a powerful computer running Plex Media Server.

Thanks for your reply. But the video in the first post is not 4K, it’s 1080p.

4k is just a marketing term for a resolution of 3840×2160 at full screen. HEVC content is usually 4k and what most folks who don’t know anything about codecs think of it as far as why it is separated like that.

As it mentions “Resolution: 3840×2160 or smaller” which includes 1080p (1920x1080)

@gregeeh

Plex Media Server considers the TV to be “Generic.” Therefore, it has limited playback capabilities.

It supports only H.264 8-bit video at 1080p or lower resolutions. Any other video, including HEVC, will transcode. Also, only AAC 2.0 audio is supported. Any audio with more channels or using a different codec will transcode.

I’m not sure why the HEVC video will not successfully transcode and play. The server is clearly powerful enough (AMD EPYC 7713P CPU).

However, it is expected that HEVC video will transcode.

FYI, the log files show the TV to be a Foxxum brand, not a Hisense R6 Roku TV or a Hisense running VIDAA OS.

Foxxum is partnered with Hisense. However, Plex thinks the TV is from Foxxum, not Hisense.


Additional detail:

The log files indicate the TV is a Foxxum.
Jan 06, 2023 00:12:54.307 [0x7fdfffbc5b38] DEBUG - [Req#b8] [Now] Device is foxxum (Generic).

As you can see from the log entry, Plex considers this a “Generic” TV.

Also, look at the Plex Dashboard & Tautulli screenshots you provided. They show the TV as “Plex for Smart TVs.”

Now look at the Devices with Limited Playback Capabilities section of Which Smart TV models are supported?

Plex for Smart TVs: If the value is simply “Plex for Smart TVs” (and not a specific brand), then that means the app does have limited playback capabilities.

Specific Playback Capabilities

The “Plex for Smart TVs” app supports the following limited capabilities for video and audio playback.

Video:

  • Bit Rate: 4Mbps max
  • Resolution: 1080p max
  • Bit Depth: 8
  • Codec: H.264
  • Container: mp4, mpegts, mov
  • Audio: AAC, 2 channels
1 Like

@FordGuy61 - Thank you very much for looking at this issue for me and taking the time for your very detailed reply and explanation. It is much appreciated.

I understand completely what you are saying and guessed as much as experience has shown that most TV apps leave a lot to be desired. HiSense I have found to be one of the worst.

While we now know why it is transcoding x265 1080p, and we also know the Server is more then capable of doing the transcoding, is it safe to assume the HiSense just does not have enough power to transcode successfully?

The reason I ask the question is this Movie, The Fabelmans, is only 2 Mbps and with transcoding only has a bandwidth of 4 Mbps. I would have thought the task to transcode would not be that great. It would be different if it was a 4K Movie and 15 Mbps. Thoughts???

Thanks again,

Greg

The transcoding happens on the server, not the TV.

The Plex app on the TV tells the server, “I don’t support HEVC video. Please transcode to H.264 at 4 Mbps or lower.”

The server should then do so and stream the transcoded video & audio to the TV.

The server logs show the movie streaming, with some buffering, for ~90 seconds, then the client disconnects. So not sure if anything really showed up on screen, but the server did try to stream the movie (see log entries below).

Some things to check:

  1. Will the TV direct play H.264 video?
    Do you have any H.264 video under 4 Mbps?
    If so, will the TV direct play it OK?

  2. What happens with a H.264 video greater than 4 Mbps?
    The server should transcode it to 4 Mbps and the TV should play it OK.

  3. Did you try playing The Fablemans on a different remote client and forcing a transcode?
    Example: Play the movie on a mobile phone on the mobile network.
    If necessary, drop the video rate to force a transcode.
    This test that The Fablemans can be successfully transcoded and played to a Plex client.

  4. Did you try with any other movies besides The Fablemans?
    Try a couple of different HEVC videos. Play them on the TV and on another remote device, forcing a transcode if necessary. See if they play OK or exhibit the same problem.



From Plex Media Server.log:

Playback starts (progress = 0):
Jan 06, 2023 00:21:14.479 [0x7fdffe824b38] DEBUG - [Req#1096] Client [l8spdlekz2sayivkfngyfwiv] reporting timeline state playing, progress of 0/9046889ms for guid=, playbackTime=0ms ratingKey=26468 url=, key=/library/metadata/26468, containerKey=, metadataId=26468, source=

[several additional progress messages not copied here]

Buffering at ~92 seconds:
Jan 06, 2023 00:23:18.961 [0x7fdfff7bfb38] DEBUG - [Req#17ab] Client [l8spdlekz2sayivkfngyfwiv] reporting timeline state buffering, progress of 92500/9046889ms for guid=, playbackTime=94722ms ratingKey=26468 url=, key=/library/metadata/26468, containerKey=, metadataId=26468, source=

Client ended playback

Jan 06, 2023 00:23:18.961 [0x7fdfff7bfb38] DEBUG - [Req#17ab] Play progress on 26468 'The Fabelmans' - got played 92500 ms by account 171349681!

Jan 06, 2023 00:23:18.989 [0x7fe002cb2b38] DEBUG - WebSocket: client initiated close

@FordGuy61 - Thanks once again for your input.

To answer your questions.

Yes, we only played it for a couple of minutes. It took about 30 seconds to start playing, video and sound OK, then buffering on and off.

No I don’t, will get one and try it out and let you know.

Most of my x264 are around 10 Mbps, so I can test this out.

Just tried it on my phone. Started playing immediately and no buffering. Perfect!

Sounds like your not convinced the issue is with the TV?

Greg

Just trying to cover all the bases. Wondering if anything will play OK between the server & TV.

Since The Fabelmans transcodes OK to your phone, we know the movie transcodes OK (it is not corrupt) and the Plex transcoder is working OK.

The 800 lb. gorilla in the room is the Internet path between the server & the TV. I’ve had trouble streaming to friends 50 mi (80 km) distant, but no problem streaming to friends 1000 miles (1600km) distant. There is zero quality control on the Internet, and some ISPs have poor interconnects with mine.

FYI, for the direct play test, you can use Handbrake (or similar tools) and transcode ~5 minutes of an existing video. Set the video to 3 Mbps and the audio to 128 or 256 kbps - well under the 4 Mbps limit. Then place the video in an “Other Video” library so Plex won’t try to match it with anything.

@FordGuy61 -

I’ve been thinking about this right from the beginning. I previously jumped on a Laptop and run a speedtest and it was 50Mbps down. Does not mean the TV has the same between it and the Server.

About a dozen separate buffering times in the 5 mins I played it. Till in a 7Mbps Movie.

General

Unique ID                                : 276505271786062554622176589601029434447 (0xD004FA6FFE189FE263DCA184019B2C4F)
Complete name                            : X:\media\Movies\Till.2022.1080p.WEBRip.DD5.1.x264-NOGRP\Till.2022.1080p.WEBRip.DD5.1.x264-NOGRP.mkv
Format                                   : Matroska
Format version                           : Version 4
File size                                : 6.39 GiB
Duration                                 : 2 h 10 min
Overall bit rate                         : 7 005 kb/s
Encoded date                             : UTC 2022-11-22 07:48:11
Writing application                      : mkvmerge v71.1.0 ('Fortitude') 64-bit
Writing library                          : libebml v1.4.4 + libmatroska v1.7.1

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L4
Format settings                          : CABAC / 5 Ref Frames
Format settings, CABAC                   : Yes
Format settings, Reference frames        : 5 frames
Codec ID                                 : V_MPEG4/ISO/AVC
Duration                                 : 2 h 10 min
Bit rate                                 : 6 619 kb/s
Width                                    : 1 920 pixels
Height                                   : 802 pixels
Display aspect ratio                     : 2.40:1
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.179
Stream size                              : 6.04 GiB (94%)
Default                                  : Yes
Forced                                   : No
Color range                              : Limited
Color primaries                          : BT.709
Transfer characteristics                 : BT.709
Matrix coefficients                      : BT.709

Audio
ID                                       : 2
Format                                   : AC-3
Format/Info                              : Audio Coding 3
Commercial name                          : Dolby Digital
Codec ID                                 : A_AC3
Duration                                 : 2 h 10 min
Bit rate mode                            : Constant
Bit rate                                 : 384 kb/s
Channel(s)                               : 6 channels
Channel layout                           : L R C LFE Ls Rs
Sampling rate                            : 48.0 kHz
Frame rate                               : 31.250 FPS (1536 SPF)
Compression mode                         : Lossy
Stream size                              : 359 MiB (5%)
Language                                 : English
Service kind                             : Complete Main
Default                                  : Yes
Forced                                   : No

Text
ID                                       : 3
Format                                   : UTF-8
Codec ID                                 : S_TEXT/UTF8
Codec ID/Info                            : UTF-8 Plain Text
Duration                                 : 1 h 56 min
Bit rate                                 : 51 b/s
Frame rate                               : 0.211 FPS
Count of elements                        : 1483
Stream size                              : 44.4 KiB (0%)
Language                                 : English
Default                                  : Yes
Forced                                   : No

Plays just fine no buffering and starts immediately. Movie is 1.1Mbps.

General
Complete name                            : X:\media\Kids\Puss.in.Boots.The.Last.Wish.2022.WEBRip.x264-ION10\Puss.in.Boots.The.Last.Wish.2022.WEBRip.x264-ION10.mp4
Format                                   : MPEG-4
Format profile                           : Base Media
Codec ID                                 : isom (isom/iso2/avc1/mp41)
File size                                : 997 MiB
Duration                                 : 1 h 42 min
Overall bit rate                         : 1 361 kb/s
Movie name                               : RARBG - Puss.in.Boots.The.Last.Wish.2022.WEBRip.x264-ION10
Encoded date                             : UTC 2023-01-06 05:37:34
Tagged date                              : UTC 2023-01-06 05:37:34
Writing application                      : Lavf58.20.100
Comment                                  : RARBG - Puss.in.Boots.The.Last.Wish.2022.WEBRip.x264-ION10

Video
ID                                       : 1
Format                                   : AVC
Format/Info                              : Advanced Video Codec
Format profile                           : High@L3.1
Format settings                          : CABAC / 5 Ref Frames
Format settings, CABAC                   : Yes
Format settings, Reference frames        : 5 frames
Codec ID                                 : avc1
Codec ID/Info                            : Advanced Video Coding
Duration                                 : 1 h 42 min
Bit rate                                 : 1 100 kb/s
Width                                    : 720 pixels
Height                                   : 300 pixels
Display aspect ratio                     : 2.40:1
Frame rate mode                          : Constant
Frame rate                               : 23.976 (24000/1001) FPS
Color space                              : YUV
Chroma subsampling                       : 4:2:0
Bit depth                                : 8 bits
Scan type                                : Progressive
Bits/(Pixel*Frame)                       : 0.212
Stream size                              : 805 MiB (81%)
Title                                    : RARBG - Puss.in.Boots.The.Last.Wish.2022.WEBRip.x264-ION10
Writing library                          : x264 core 152 r2851M ba24899
Encoding settings                        : cabac=1 / ref=5 / deblock=1:-1:-1 / analyse=0x3:0x113 / me=umh / subme=9 / psy=1 / psy_rd=1.00:0.15 / mixed_ref=1 / me_range=16 / chroma_me=1 / trellis=2 / 8x8dct=1 / cqm=0 / deadzone=21,11 / fast_pskip=1 / chroma_qp_offset=-3 / threads=16 / lookahead_threads=1 / sliced_threads=0 / nr=0 / decimate=1 / interlaced=0 / bluray_compat=0 / constrained_intra=0 / bframes=3 / b_pyramid=2 / b_adapt=2 / b_bias=0 / direct=3 / weightb=1 / open_gop=0 / weightp=2 / keyint=250 / keyint_min=23 / scenecut=40 / intra_refresh=0 / rc_lookahead=50 / rc=2pass / mbtree=1 / bitrate=1100 / ratetol=1.0 / qcomp=0.60 / qpmin=0 / qpmax=69 / qpstep=4 / cplxblur=20.0 / qblur=0.5 / ip_ratio=1.40 / aq=1:1.00
Language                                 : English
Encoded date                             : UTC 2023-01-06 05:37:34
Tagged date                              : UTC 2023-01-06 05:37:34
Codec configuration box                  : avcC

Audio
ID                                       : 2
Format                                   : AAC LC
Format/Info                              : Advanced Audio Codec Low Complexity
Codec ID                                 : mp4a-40-2
Duration                                 : 1 h 42 min
Bit rate mode                            : Constant
Bit rate                                 : 256 kb/s
Channel(s)                               : 2 channels
Channel layout                           : L R
Sampling rate                            : 48.0 kHz
Frame rate                               : 46.875 FPS (1024 SPF)
Compression mode                         : Lossy
Stream size                              : 187 MiB (19%)
Title                                    : RARBG - Puss.in.Boots.The.Last.Wish.2022.WEBRip.x264-ION10
Language                                 : English
Default                                  : Yes
Alternate group                          : 1
Encoded date                             : UTC 2023-01-06 05:37:34
Tagged date                              : UTC 2023-01-06 05:37:34

Many thanks once again.

Greg