• Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below
  • Forum
  • Website
  • GitHub
  • Status
  • Translation
  • Features
  • Team
  • Rules
  • Help
  • Feeds
User Links
  • Login
  • Register
  • Login Register
    Login
    Username/Email:
    Password:
    Or login with a social network below

    Useful Links Forum Website GitHub Status Translation Features Team Rules Help Feeds
    Jellyfin Forum Support Troubleshooting HEVC Main10 will not transcode for Exoplayer

     
    • 0 Vote(s) - 0 Average

    HEVC Main10 will not transcode for Exoplayer

    evilfranky
    Offline

    Junior Member

    Posts: 3
    Threads: 1
    Joined: 2024 Jan
    Reputation: 0
    Country:United Kingdom
    #1
    2024-01-25, 10:08 PM (This post was last modified: 2024-01-26, 10:43 AM by evilfranky. Edited 2 times in total.)
    Evening all,

    Hoping joining the forum will finally resolve a long standing issue with transcoding HEVC Main10 video while using the official Jellyfin Android client Exoplayer on my Honor Tab X9.

    I'd been using an LG GPAD 8.3 for years, an older tablet that supported HEVC Main but not HEVC Main10 and could never get Jellyfin to transcode using Exoplayer on there either.  It finally died so bought this Honor last week stupidly assuming that an 'upper' low range modern tablet that is 10 years younger than my old LG would support all the video formats I need.  I should have done more research, but still I should be able to use Jellyfin to help me out  Upside-down-face

    General Info:

    Jellyfin 10.8.13.
    Ubuntu 22.04 running Jellyfin in a Docker container from the official repo.
    Intel GeminiLake with UHD 605 Graphics.  Codec support can be found here https://en.wikipedia.org/wiki/Intel_Grap...eleration) . HEVC Main10 is supported for decode.

    HEVC Main10 videos do NOT playback when using either software decoding or hardware acceleration when using the option from within the Exoplayer itself.
    HEVC Main videos playback without issue with either hardware acceleration on or off.  This is expected behaviour as this codec is supported by the Snapdragon 685 SOC.
    When using an external player either MX Player Pro or VLC, videos will play natively with HEVC Main10 software decoding (there's enough grunt in the new tablet to do that).
    When using the built in webplayer rather than Exoplayer, videos transcode without issue to H264 and play fine.  But this will incur a battery penalty as I believe the webplayer will use software decode?
    Videos also transcode correctly when using Brave Browser on my PC and played from the Jellyfin web portal.
    Tried both Intel QSV and VAAPI both show the same issue.  QSV is my default.

    Now curiously, if I manually configure the desired resolution and bit rate within Exoplayer itself once the video has failed to start, I can get some form of playback.  As an example, on one video which is 1080p HEVC Main10 YUV4:2:0 I have options from 1080p 60Mbps all the way down to 360p 420kbps.  If I select 480p 3Mbps through to 360p 420kbps the video transcodes and works fine although at a much reduced resolution and quality.  Anything higher and the video fails to play again.

    Anyway, Jellyfin should be transcoding to Exoplayer like it does when using the webplayer.  I can't understand why it doesn't.

    Could it be that Exoplayer cannot differentiate between HEVC profile device abilities?  So if a device can play back HEVC Main but not HEVC Main10 Exoplayer just looks at the top level and says, yep HEVC is supported and attempts direct play?

    Code:
    [2024-01-25 22:03:26.194 +00:00] [INF] [65] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "Frankie". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
    [2024-01-25 22:03:26.194 +00:00] [INF] [65] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Jellyfin Android", Path="/media/Movies/W/Wonka.2023/Wonka.2023.1080p.WEBRip.DDP5.1.x265.10bit-GalaxyRG265.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/39923cc8-f0cd-f357-7e81-5e7914a9d3f4/stream.mkv?MediaSourceId=39923cc8f0cdf3577e815e7914a9d3f4&Static=true&VideoCodec=hevc&AudioCodec=eac3&AudioStreamIndex=1&api_key=<token>&Tag=0ff675331345cebf731a719c4ea585f7"

    I'd love to get to the bottom of this as I'm sure other people must be having the same or very similar issues.

    Also is there a guide for grabbing the logs correctly, I'm not sure I'm providing enough info.

    Cheers!
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #2
    2024-01-25, 10:24 PM
    The log snippet you provided says it is direct playing, so the device compatibility is the only factor in that case.

    Can you share the full media info of this video from the Jellyfin UI?

    Logs are located in container path /config/data/logs.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    evilfranky
    Offline

    Junior Member

    Posts: 3
    Threads: 1
    Joined: 2024 Jan
    Reputation: 0
    Country:United Kingdom
    #3
    2024-01-26, 10:24 AM (This post was last modified: 2024-01-26, 05:59 PM by TheDreadPirate. Edited 1 time in total.)
    Good morning,

    Thanks for the quick reply, much appreciated.

    So what I have done is stopped the Jellyfin container, updated the 'logging.default.json' config file to provide DEBUG logging, deleted all the old log files and restarted the Jellyfin container.

    I then tried to play the same file and there is more info in the log now.

    I've zipped the log file and attached to this post.  There are no transcode logs as transcoding is not being attempted.

    From the Exoplayer UI, pressing the information button doesn't really provide a lot of file info.  So I loaded it into MPC-HC and pulled the media info from there:-

    [code]
    Video
    ID                            : 1
    Format                        : HEVC
    Format/Info                    : High Efficiency Video Coding
    Format profile                : Main 10@L4@Main
    Codec ID                      : V_MPEGH/ISO/HEVC
    Duration                      : 1 h 56 min
    Bit rate                      : 6 647 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 (Type 0)
    Bit depth                      : 10 bits
    Bits/(Pixel*Frame)            : 0.180
    Stream size                    : 5.40 GiB
    Title                          : ***- Wonka.2023.1080p.WEBRip.DDP5.1.x265.10bit-***
    Writing library                : x265 3.5:[Linux][GCC 10.2.1][64 bit] 10bit
    Encoding settings              : cpuid=1111039 / frame-threads=5 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=1920x802 / 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=8 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=48 / 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=5 / 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 / sao / no-sao-non-deblock / rd=4 / selective-sao=4 / 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=crf / crf=22.0 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=0 / vbv-maxrate=4500 / vbv-bufsize=9000 / vbv-init=0.8 / min-vbv-fullness=50.0 / max-vbv-fullness=80.0 / crf-max=0.0 / crf-min=0.0 / 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=1 / transfer=1 / colormatrix=1 / chromaloc=1 / chromaloc-top=0 / chromaloc-bottom=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 / scenecut-aware-qp=0conformance-window-offsets / right=0 / bottom=0 / decoder-max-rate=0 / no-vbv-live-multi-pass
    Language                      : English
    Default                        : Yes
    Forced                        : No
    Color range                    : Limited
    Color primaries                : BT.709
    Transfer characteristics      : BT.709
    Matrix coefficients            : BT.709

    Audio
    ID                            : 2
    Format                        : E-AC-3
    Format/Info                    : Enhanced AC-3
    Commercial name                : Dolby Digital Plus
    Codec ID                      : A_EAC3
    Duration                      : 1 h 56 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)
    Bit depth                      : 32 bits
    Compression mode              : Lossy
    Stream size                    : 638 MiB (28%)
    Title                          : ***- Wonka.2023.1080p.WEBRip.DDP5.1.x265.10bit-***
    Writing library                : Lavc60.14.101 eac3
    Language                      : English
    Service kind                  : Complete Main
    Default                        : Yes
    Forced                        : No

    Text #1
    ID                            : 3
    Format                        : UTF-8
    Codec ID                      : S_TEXT/UTF8
    Codec ID/Info                  : UTF-8 Plain Text
    Duration                      : 1 h 55 min
    Bit rate                      : 81 b/s
    Frame rate                    : 0.338 FPS
    Count of elements              : 2348
    Stream size                    : 68.8 KiB (0%)
    Title                          : ***- Wonka.2023.1080p.WEBRip.DDP5.1.x265.10bit-***
    Language                      : English
    Default                        : Yes
    Forced                        : No
    [code]

    Are there any logs for Exoplayer on my device that I can grab as well?

    Cheers!


    Attached Files
    .zip   log_20240126.zip (Size: 10.38 KB / Downloads: 65)
    TheDreadPirate
    Offline

    Community Moderator

    Posts: 15,375
    Threads: 10
    Joined: 2023 Jun
    Reputation: 460
    Country:United States
    #4
    2024-01-26, 07:25 PM
    I see the device profile in the debug log. No mention of HEVC 10-bit, but I haven't see a lot of device profile examples so I don't know what is normal.

    When I get home I'll do some testing on my device that definitely supports HEVC 10-bit and report back.
    Jellyfin 10.10.7 (Docker)
    Ubuntu 24.04.2 LTS w/HWE
    Intel i3 12100
    Intel Arc A380
    OS drive - SK Hynix P41 1TB
    Storage
        4x WD Red Pro 6TB CMR in RAIDZ1
    [Image: GitHub%20Sponsors-grey?logo=github]
    evilfranky
    Offline

    Junior Member

    Posts: 3
    Threads: 1
    Joined: 2024 Jan
    Reputation: 0
    Country:United Kingdom
    #5
    2024-01-27, 12:13 AM
    Thanks mate, appreciate your time.
    Revv23
    Offline

    Member

    Posts: 87
    Threads: 7
    Joined: 2023 Jun
    Reputation: 0
    #6
    2024-03-12, 03:52 AM
    I just ran into this same issue on a Samsung a9+

    Instead of transcode x265.10 just nulls out.

    So I ended up getting findroid going and turning on MPV player and I think it's working as intended.

    Weird edge case for sure.
    « Next Oldest | Next Newest »

    Users browsing this thread: 1 Guest(s)


    • View a Printable Version
    • Subscribe to this thread
    Forum Jump:

    Home · Team · Help · Contact
    © Designed by D&D - Powered by MyBB
    L


    Jellyfin

    The Free Software Media System

    Linear Mode
    Threaded Mode