-
-
Notifications
You must be signed in to change notification settings - Fork 109
Description
The Jellyfin Tizen client is forcing an audio transcode for standard AC-3 5.1 audio tracks contained for a particular movie. Android client plays the file correctly in Direct Play
General
Unique ID : 11560300965042185693711445650599467019 (0x8B26ED7BE18F3BEE30B8704B64E580B)
Complete name : movie1.mkv
Format : Matroska
Format version : Version 4
File size : 22.0 GiB
Duration : 2 h 40 min
Overall bit rate : 19.6 Mb/s
Frame rate : 24.000 FPS
Encoded date : 2026-01-19 02:02:04 UTC
Writing application : mkvmerge v97.0 ('You Don't Have A Clue') 64-bit
Writing library : libebml v1.4.5 + libmatroska v1.7.1
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : [email protected]@Main
Codec ID : V_MPEGH/ISO/HEVC
Duration : 2 h 40 min
Bit rate : 19.0 Mb/s
Width : 3 836 pixels
Height : 2 160 pixels
Display aspect ratio : 2.39:1
Frame rate mode : Constant
Frame rate : 24.000 FPS
Color space : YUV
Chroma subsampling : 4:2:0
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.095
Stream size : 21.3 GiB (97%)
Language : Portuguese
Default : Yes
Forced : Yes
Color range : Full
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 40 min
Bit rate mode : Constant
Bit rate : 640 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
Delay relative to video : -5 ms
Stream size : 735 MiB (3%)
Language : Portuguese
Service kind : Complete Main
Default : Yes
Forced : No
Dialog Normalization : -31 dB
cmixlev : -4.5 dB
surmixlev : -6 dB
dialnorm_Average : -31 dB
dialnorm_Minimum : -31 dB
dialnorm_Maximum : -31 dB
Text
ID : 3
Format : UTF-8
Codec ID : S_TEXT/UTF8
Codec ID/Info : UTF-8 Plain Text
Duration : 2 h 36 min
Bit rate : 45 b/s
Frame rate : 0.209 FPS
Count of elements : 1962
Stream size : 52.6 KiB (0%)
Language : English
Default : Yes
Forced : Yes
Another file with identical audio parameters direct plays correctly without any transcoding:
General
Complete name : Movie2.mp4
Format : MPEG-4
Format profile : Base Media
Codec ID : isom (isom)
File size : 12.2 GiB
Duration : 1 h 46 min
Overall bit rate mode : Variable
Overall bit rate : 16.4 Mb/s
Frame rate : 23.976 FPS
Encoded date : 2021-02-17 01:19:14 UTC
Tagged date : 2021-02-17 01:19:14 UTC
Video
ID : 1
Format : HEVC
Format/Info : High Efficiency Video Coding
Format profile : Main [email protected]@Main
HDR format : SMPTE ST 2086, HDR10 compatible
Codec ID : hvc1
Codec ID/Info : High Efficiency Video Coding
Duration : 1 h 46 min
Bit rate : 15.8 Mb/s
Maximum bit rate : 39.9 Mb/s
Width : 3 840 pixels
Height : 2 160 pixels
Display aspect ratio : 16:9
Frame rate mode : Constant
Frame rate : 23.976 (24000/1001) FPS
Color space : YUV
Chroma subsampling : 4:2:0 (Type 2)
Bit depth : 10 bits
Bits/(Pixel*Frame) : 0.079
Stream size : 11.7 GiB (96%)
Writing library : x265 3.4+70-90fa80a85:[DJATOM's Mod][Windows][GCC 10.2.1][64 bit] 10bit
Encoding settings : cpuid=1111039 / frame-threads=4 / numa-pools=16 / wpp / no-pmode / no-pme / no-psnr / no-ssim / log-level=2 / input-csp=1 / input-res=3840x2160 / interlace=0 / total-frames=153342 / level-idc=51 / high-tier=1 / uhd-bd=0 / ref=4 / no-allow-non-conformance / repeat-headers / annexb / aud / hrd / info / hash=0 / no-temporal-layers / no-open-gop / min-keyint=23 / keyint=240 / gop-lookahead=0 / bframes=4 / b-adapt=2 / b-pyramid / bframe-bias=0 / rc-lookahead=20 / lookahead-slices=4 / scenecut=40 / hist-scenecut=0 / radl=0 / no-splice / no-intra-refresh / ctu=64 / min-cu-size=8 / no-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 / no-strong-intra-smoothing / max-merge=3 / limit-refs=3 / no-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 / no-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=cbr / bitrate=16000 / qcomp=0.60 / qpstep=4 / stats-write=0 / stats-read=2 / cplxblur=20.0 / qblur=0.5 / vbv-maxrate=16000 / vbv-bufsize=32000 / vbv-init=0.9 / min-vbv-fullness=50.0 / max-vbv-fullness=80.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=0 / overscan=0 / videoformat=5 / range=0 / colorprim=9 / transfer=16 / colormatrix=9 / chromaloc=1 / chromaloc-top=2 / chromaloc-bottom=2 / display-window=0 / master-display=G(8500,39850)B(6550,2300)R(35400,14600)WP(15635,16450)L(10000000,50) / cll=777,370 / 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 / hdr10 / 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 / decoder-max-rate=0 / no-vbv-live-multi-pass
Encoded date : 2021-02-17 00:36:29 UTC
Tagged date : 2021-02-17 01:19:28 UTC
Color range : Limited
Color primaries : BT.2020
Transfer characteristics : PQ
Matrix coefficients : BT.2020 non-constant
Mastering display color primaries : BT.2020
Mastering display luminance : min: 0.0050 cd/m2, max: 1000 cd/m2
Maximum Content Light Level : 777 cd/m2
Maximum Frame-Average Light Level : 370 cd/m2
Codec configuration box : hvcC
Audio
ID : 2
Format : AC-3
Format/Info : Audio Coding 3
Commercial name : Dolby Digital
Codec ID : ac-3
Duration : 1 h 46 min
Bit rate mode : Constant
Bit rate : 640 kb/s
Maximum bit rate : 676 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 : 488 MiB (4%)
Title : AC-3 5.1
Language : Japanese
Service kind : Complete Main
Encoded date : 2021-02-17 01:19:25 UTC
Tagged date : 2021-02-17 01:19:28 UTC
Dialog Normalization : -31 dB
cmixlev : -3.0 dB
surmixlev : -3 dB
dialnorm_Average : -31 dB
dialnorm_Minimum : -31 dB
dialnorm_Maximum : -31 dB
Text
ID : 3
Format : Timed Text
Codec ID : tx3g
Duration : 1 h 46 min
Bit rate mode : Variable
Bit rate : 71 b/s
Frame rate : 0.385 FPS
Stream size : 55.7 KiB (0%)
Title : English
Language : English
Forced : No
Encoded date : 2021-02-17 01:19:28 UTC
Tagged date : 2021-02-17 01:19:28 UTC
Count of events : 1302
Jellyfin dashboard reports audio transcoding due to “incompatible audio”, even though the audio is AC-3 5.1 640 kbps, which works in many other files via Direct Play. If I forcefully disable audio transcoding for the user, playback fails completely.
But looks like the problem is not audio releated. Looking at the debugging logs I found:
Jan 19 16:20:29 DietPi jellyfin[62955]: [16:20:29] [DBG] Profile: VideoCodecProfile, DirectPlay=false. Reason=Unknown Profile.IsAnamorphic Condition: NotEquals. ConditionValue: true. IsRequired: False. Path: <redacted>movie1.mkv
Jan 19 16:20:29 DietPi jellyfin[62955]: [16:20:29] [DBG] DirectPlay Result for Profile: Anonymous Profile, Path: <redacted>movie1.mkv, PlayMethod: null, AudioStreamIndex: 2, SubtitleStreamIndex: -1, Reasons: AnamorphicVideoNotSupported
Jan 19 16:20:29 DietPi jellyfin[62955]: [16:20:29] [DBG] StreamBuilder.BuildVideoItem( Profile=Anonymous Profile, Path=<redacted>movie1.mkv, AudioStreamIndex=2, SubtitleStreamIndex=-1 ) => ( PlayMethod=Transcode, TranscodeReason=AnamorphicVideoNotSupported ) media:/videos/998e7d59-3a7f-e638-89fa-0677090b9df8/stream?&MediaSourceId=998e7d593a7fe63889fa0677090b9df8&AudioStreamIndex=2&ApiKey=<token>&RequireAvc=false&EnableAudioVbrEncoding=false&Tag=36fe2c0cdc3978c53c84b5a18e489d04&SubtitleMethod=Encode&TranscodeReasons=AnamorphicVideoNotSupported
Jan 19 16:20:31 DietPi jellyfin[62955]: [16:20:31] [DBG] Slow HTTP Response from http://redacted/jellyfin/videos/998e7d59-3a7f-e638-89fa-0677090b9df8/stream?&DeviceId=TW96aWxsYS81LjAgKFNNQVJULVRWOyBMSU5VWDsgVGl6ZW4gOS4wKSBBcHBsZVdlYktpdC81MzcuMzYgKEtIVE1MLCBsaWtlIEdlY2tvKSAxMjAuMC42MDk5LjUvOS4wIFRWIFNhZmFyaS81MzcuMzZ8MTc2MjQ3MDkzNTYyNA11&MediaSource
This indicates the real incompatibility is video-related (aspect ratio handling), but Jellyfin incorrectly attributes it to audio.
TranscodeReasons=AnamorphicVideoNotSupported. The affected file has a 16:9 physical resolution but a 2.39:1 Display Aspect Ratio, and the server is refusing to direct play.
The dashboard should not incorrectly report audio incompatibility when the audio stream is fully supported