[Issue]: HDR lost when audio track needs transcoding #3988

Closed
opened 2026-02-07 00:14:26 +03:00 by OVERLORD · 11 comments
Owner

Originally created by @stoically on GitHub (Jul 1, 2022).

Originally assigned to: @anthonylavado on GitHub.

Please describe your bug

My media files with HVEC 4K HDR video tracks and DTS audio tracks aren't switching my device into HDR mode any longer. All of those files need to go through audio track transcoding, as my device isn't capable of playing DTS tracks.

This used to work thanks to https://github.com/jellyfin/jellyfin/pull/7325 until 10.8.0-beta2. It stopped working since 10.8.0-beta3 and still doesn't work with 10.8.0 and 10.8.1.

It still works if the media file is fully capable of direct play. So, using the same media files with HVEC 4K HDR video tracks but switching to an AC3 Dolby Digital audio track will switch the device into HDR mode as expected.

Please let me know if you need further information.

Related issues: https://github.com/jellyfin/jellyfin/issues/6450, https://github.com/jellyfin/jellyfin/issues/7295

Maybe related issues: https://github.com/jellyfin/jellyfin/issues/8040, https://github.com/jellyfin/jellyfin/issues/7835

Environment

- OS: Ubuntu 
- Virtualization: Docker
- Clients: LG 49UN71006LB. Tested with Jellyfin WebOS App and Stock Browser
- Browser:
- FFmpeg Version:
- Playback Method:
- Hardware Acceleration:
- Plugins:
- Reverse Proxy:
- Base URL:
- Networking:
- Storage:

Jellyfin Version

10.8.1

Jellyfin logs

jellyfin.log

Code of Conduct

  • I agree to follow this project's Code of Conduct
Originally created by @stoically on GitHub (Jul 1, 2022). Originally assigned to: @anthonylavado on GitHub. ### Please describe your bug My media files with HVEC 4K HDR video tracks and DTS audio tracks aren't switching my device into HDR mode any longer. All of those files need to go through audio track transcoding, as my device isn't capable of playing DTS tracks. This used to work thanks to https://github.com/jellyfin/jellyfin/pull/7325 until 10.8.0-beta2. It stopped working since 10.8.0-beta3 and still doesn't work with 10.8.0 and 10.8.1. It still works if the media file is fully capable of direct play. So, using the same media files with HVEC 4K HDR video tracks but switching to an AC3 Dolby Digital audio track will switch the device into HDR mode as expected. Please let me know if you need further information. Related issues: https://github.com/jellyfin/jellyfin/issues/6450, https://github.com/jellyfin/jellyfin/issues/7295 Maybe related issues: https://github.com/jellyfin/jellyfin/issues/8040, https://github.com/jellyfin/jellyfin/issues/7835 ### Environment ```markdown - OS: Ubuntu - Virtualization: Docker - Clients: LG 49UN71006LB. Tested with Jellyfin WebOS App and Stock Browser - Browser: - FFmpeg Version: - Playback Method: - Hardware Acceleration: - Plugins: - Reverse Proxy: - Base URL: - Networking: - Storage: ``` ### Jellyfin Version 10.8.1 ### Jellyfin logs [jellyfin.log](https://github.com/jellyfin/jellyfin/files/9026712/jellyfin.log) ### Code of Conduct - [X] I agree to follow this project's Code of Conduct
OVERLORD added the bugconfirmed labels 2026-02-07 00:14:26 +03:00
Author
Owner

@cvium commented on GitHub (Jul 1, 2022):

Always include logs

@cvium commented on GitHub (Jul 1, 2022): Always include logs
Author
Owner

@stoically commented on GitHub (Jul 1, 2022):

Right, my bad. Attached the log to the initial description. The problematic line seems to be

[06:39:39] [DBG] [52] Jellyfin.Api.Controllers.DynamicHlsController: Starting transcoding because currentTranscodingIndex=null

@stoically commented on GitHub (Jul 1, 2022): Right, my bad. Attached the log to the initial description. The problematic line seems to be > [06:39:39] [DBG] [52] Jellyfin.Api.Controllers.DynamicHlsController: Starting transcoding because currentTranscodingIndex=null
Author
Owner

@cvium commented on GitHub (Jul 1, 2022):

What exactly is the issue and what is the expected behaviour?

@cvium commented on GitHub (Jul 1, 2022): What exactly is the issue and what is the expected behaviour?
Author
Owner

@stoically commented on GitHub (Jul 1, 2022):

It's exactly the same issue as described in https://github.com/jellyfin/jellyfin/issues/7295, hence why I mentioned a regression and linked the issue. Sorry for not being clear about it. Please let me know if any further information is missing.

@stoically commented on GitHub (Jul 1, 2022): It's exactly the same issue as described in https://github.com/jellyfin/jellyfin/issues/7295, hence why I mentioned a regression and linked the issue. Sorry for not being clear about it. Please let me know if any further information is missing.
Author
Owner

@whiteowl3 commented on GitHub (Jul 2, 2022):

@stoically are you trying to say that you lost HDR? your audio track has nothing to do with this transcode according to your logs. if the issue is "HDR data lost for no reason when transcoding" then it should just be called something like that. as is this issue is very confusing to interpret.

@whiteowl3 commented on GitHub (Jul 2, 2022): @stoically are you trying to say that you lost HDR? your audio track has nothing to do with this transcode according to your logs. if the issue is "HDR data lost for no reason when transcoding" then it should just be called something like that. as is this issue is very confusing to interpret.
Author
Owner

@stoically commented on GitHub (Jul 2, 2022):

@whiteowl3 Updated the initial description and title. Hope that clears things up. Sorry for the confusion.

@stoically commented on GitHub (Jul 2, 2022): @whiteowl3 Updated the initial description and title. Hope that clears things up. Sorry for the confusion.
Author
Owner

@stoically commented on GitHub (Jul 2, 2022):

Had to update title and description again. Tried to make it as precise as possible.

@stoically commented on GitHub (Jul 2, 2022): Had to update title and description again. Tried to make it as precise as possible.
Author
Owner

@stoically commented on GitHub (Jul 2, 2022):

Like, all I can say is that the symptoms are the same as in #7295, but obviously I shouldn't try to open an issue with a diagnosis of the issue source if I'm not familiar with the code base. It is related to the audio track tho, since DTS tracks cause the issue while it works fine with AC3. Also, with Jellyfin Server version 10.8.0-beta2, the media file from the log (DTS audio track) does switch the device into HDR still, so it is a regression somehow.

For completeness sake I'm also attaching the log for the same media file but playing with Jellyfin Server version 10.8.0-beta2. It also has the "Starting transcoding because currentTranscodingIndex=null" entry, so that seems unrelated. However, we can see that ffmpeg is only transcoding audio, not video - compared to the log showing the issue in the initial description.

jellyfin-10.8.0-beta2.log

@stoically commented on GitHub (Jul 2, 2022): Like, all I can say is that the symptoms are the same as in #7295, but obviously I shouldn't try to open an issue with a diagnosis of the issue source if I'm not familiar with the code base. It is related to the audio track tho, since DTS tracks cause the issue while it works fine with AC3. Also, with Jellyfin Server version 10.8.0-beta2, the media file from the log (DTS audio track) does switch the device into HDR still, so it is a regression _somehow_. For completeness sake I'm also attaching the log for the same media file but playing with Jellyfin Server version 10.8.0-beta2. It also has the "Starting transcoding because currentTranscodingIndex=null" entry, so that seems unrelated. However, we can see that ffmpeg is only transcoding audio, not video - compared to the log showing the issue in the initial description. [jellyfin-10.8.0-beta2.log](https://github.com/jellyfin/jellyfin/files/9032571/jellyfin-10.8.0-beta2.log)
Author
Owner

@stoically commented on GitHub (Sep 12, 2022):

Still an issue with 10.8.4. Please let me know if I can provide more information regarding the issue or ways to reproduce it.

@stoically commented on GitHub (Sep 12, 2022): Still an issue with 10.8.4. Please let me know if I can provide more information regarding the issue or ways to reproduce it.
Author
Owner

@dabohda commented on GitHub (Jan 14, 2023):

Same problem with 10.8.8. When I play a movie with Direct Play (video and audio is supported) HDR works. If I switch to an unsupported audio stream during video playback and the video stream is also encoded due to the current bug, HDR is gone and the TV switches to SDR. I am using the Webos client on my LG C2. Let me know if I can give you more information.

@dabohda commented on GitHub (Jan 14, 2023): Same problem with 10.8.8. When I play a movie with Direct Play (video and audio is supported) HDR works. If I switch to an unsupported audio stream during video playback and the video stream is also encoded due to the current bug, HDR is gone and the TV switches to SDR. I am using the Webos client on my LG C2. Let me know if I can give you more information.
Author
Owner

@bennir commented on GitHub (Feb 1, 2023):

I can reproduce this issue.

  • Version: 10.8.9
  • Operating System: Linux
  • Docker via TrueNAS Scale
  • LG C1

File Info (Dolby Vision):

Input #0, matroska,webm, from 'file:/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv':
  Metadata:
    encoder         : libebml v1.4.2 + libmatroska v1.6.4
    creation_time   : 2022-08-15T18:48:16.000000Z
  Duration: 02:03:15.26, start: 0.000000, bitrate: 76701 kb/s
  Chapters: ...
  Stream #0:0(eng): Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn
    Metadata:
      BPS             : 67254229
      DURATION        : 02:02:59.581000000
      NUMBER_OF_FRAMES: 176933
      NUMBER_OF_BYTES : 62038503925
      SOURCE_ID       : 001011
      _STATISTICS_WRITING_APP: mkvmerge v69.0.0 ('Day And Age') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2022-08-15 18:48:16
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID
    Side data:
      DOVI configuration record: version: 1.0, profile: 7, level: 6, rpu flag: 1, el flag: 1, bl flag: 1, compatibility id: 6
  Stream #0:1(ger): Audio: truehd, 48000 Hz, 7.1, s32 (24 bit)
    Metadata:
      title           : Deutsch Dolby TrueHD Atmos 7.1 (UHD Blu-ray)
      BPS             : 4298109
      DURATION        : 02:02:51.140000000
      NUMBER_OF_FRAMES: 8845368
      NUMBER_OF_BYTES : 3960246176
      _STATISTICS_WRITING_APP: mkvmerge v69.0.0 ('Day And Age') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2022-08-15 18:48:16
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES
  Stream #0:2(ger): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s
    Metadata:
      title           : Deutsch Dolby Digital 5.1 (UHD Blu-ray)
      BPS             : 640000
      DURATION        : 02:02:51.168000000
      NUMBER_OF_FRAMES: 230349
      NUMBER_OF_BYTES : 589693440
      _STATISTICS_WRITING_APP: mkvmerge v69.0.0 ('Day And Age') 64-bit
      _STATISTICS_WRITING_DATE_UTC: 2022-08-15 18:48:16
      _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES

Switching Audio Source while playing back also doesn't turn HDR back on for me. Restart of the WebOS App is required
First successful playback (DD 5.1 Audio via ARC), Notice Selection of Audio Stream 2:

[2023-02-01 14:16:54.678 +00:00] [INF] [11] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "benni". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-02-01 14:16:54.724 +00:00] [INF] [11] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv", AudioStreamIndex=2, SubtitleStreamIndex=-1 ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/a46733e3-ee6e-3a68-b43e-9108bc2bdba7/stream.mkv?MediaSourceId=a46733e3ee6e3a68b43e9108bc2bdba7&Static=true&VideoCodec=hevc&AudioCodec=ac3&AudioStreamIndex=2&api_key=<token>&SubtitleMethod=Encode&Tag=f55a0b4c81be2efe47604132976ff415"

Choosing Audio Stream 1 will transcode the HEVC Stream aswell:

[2023-02-01 14:17:33.435 +00:00] [INF] [17] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "benni". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-02-01 14:17:33.435 +00:00] [INF] [17] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv", AudioStreamIndex=1, SubtitleStreamIndex=-1 ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/a46733e3-ee6e-3a68-b43e-9108bc2bdba7/stream.mkv?MediaSourceId=a46733e3ee6e3a68b43e9108bc2bdba7&Static=true&VideoCodec=hevc&AudioCodec=truehd&AudioStreamIndex=1&api_key=<token>&SubtitleMethod=Encode&Tag=f55a0b4c81be2efe47604132976ff415"
[2023-02-01 14:17:39.089 +00:00] [INF] [29] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "benni". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-02-01 14:17:39.142 +00:00] [INF] [29] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv", AudioStreamIndex=1, SubtitleStreamIndex=-1 ) => ( PlayMethod=Transcode, TranscodeReason=DirectPlayError ) "media:/videos/a46733e3-ee6e-3a68-b43e-9108bc2bdba7/master.m3u8?MediaSourceId=a46733e3ee6e3a68b43e9108bc2bdba7&VideoCodec=hevc,h264,hevc&AudioCodec=aac,mp3,ac3,eac3,flac&AudioStreamIndex=1&VideoBitrate=119360000&AudioBitrate=640000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=6&RequireAvc=false&Tag=f55a0b4c81be2efe47604132976ff415&SegmentContainer=mp4&MinSegments=1&BreakOnNonKeyFrames=False&hevc-level=153&hevc-videobitdepth=10&hevc-profile=main10&h264-profile=high,main,baseline,constrainedbaseline&h264-rangetype=SDR&h264-level=52&hevc-rangetype=SDR,HDR10,HLG,DOVI&TranscodeReasons=DirectPlayError"
[2023-02-01 14:17:40.557 +00:00] [INF] [18] Jellyfin.Api.Helpers.TranscodingJobHelper: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -init_hw_device cuda=cu:0 -filter_hw_device cu -autorotate 0 -i file:\"/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_nvenc -preset p1 -b:v 119360000 -maxrate 119360000 -bufsize 238720000 -profile:v:0 high -g:v:0 72 -keyint_min:v:0 72 -vf \"setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale=trunc(min(max(iw\,ih*a)\,min(3840\,2160*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(3840/a\,2160))/2)*2,format=yuv420p10le,hwupload=derive_device=cuda,tonemap_cuda=format=yuv420p:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0\" -codec:a:0 libfdk_aac -ac 6 -ab 640000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename \"8027e52fd1a490ee284b989016675f01-1.mp4\" -start_number 0 -hls_segment_filename \"/config/transcodes/8027e52fd1a490ee284b989016675f01%d.mp4\" -hls_playlist_type vod -hls_list_size 0 -y \"/config/transcodes/8027e52fd1a490ee284b989016675f01.m3u8\""

Switching results in transcode again, despite Audio Channel 2:

[2023-02-01 14:17:58.097 +00:00] [INF] [31] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "benni". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-02-01 14:17:58.097 +00:00] [INF] [31] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv", AudioStreamIndex=2, SubtitleStreamIndex=-1 ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/a46733e3-ee6e-3a68-b43e-9108bc2bdba7/stream.mkv?MediaSourceId=a46733e3ee6e3a68b43e9108bc2bdba7&Static=true&VideoCodec=hevc&AudioCodec=ac3&AudioStreamIndex=2&api_key=<token>&SubtitleMethod=Encode&Tag=f55a0b4c81be2efe47604132976ff415"
[2023-02-01 14:17:58.143 +00:00] [INF] [23] Jellyfin.Api.Helpers.TranscodingJobHelper: Stopping ffmpeg process with q command for "/config/transcodes/8027e52fd1a490ee284b989016675f01.m3u8"
[2023-02-01 14:17:58.216 +00:00] [WRN] [8] Jellyfin.Api.Controllers.DynamicHlsController: cannot serve "/config/transcodes/8027e52fd1a490ee284b989016675f016.mp4" as it doesn't exist and no transcode is running
[2023-02-01 14:17:58.425 +00:00] [INF] [23] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0
[2023-02-01 14:17:58.427 +00:00] [INF] [23] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting partial stream file(s) "/config/transcodes/8027e52fd1a490ee284b989016675f01.m3u8"
[2023-02-01 14:18:03.941 +00:00] [INF] [22] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "benni". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-02-01 14:18:03.941 +00:00] [INF] [22] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv", AudioStreamIndex=2, SubtitleStreamIndex=-1 ) => ( PlayMethod=Transcode, TranscodeReason=DirectPlayError ) "media:/videos/a46733e3-ee6e-3a68-b43e-9108bc2bdba7/master.m3u8?MediaSourceId=a46733e3ee6e3a68b43e9108bc2bdba7&VideoCodec=hevc,h264,hevc&AudioCodec=ac3&AudioStreamIndex=2&VideoBitrate=119360000&AudioBitrate=640000&AudioSampleRate=48000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=6&RequireAvc=false&Tag=f55a0b4c81be2efe47604132976ff415&SegmentContainer=mp4&MinSegments=1&BreakOnNonKeyFrames=False&hevc-level=153&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&h264-profile=high,main,baseline,constrainedbaseline&h264-rangetype=SDR&h264-level=52&hevc-rangetype=SDR,HDR10,HLG,DOVI&TranscodeReasons=DirectPlayError"
[2023-02-01 14:18:05.019 +00:00] [INF] [17] Jellyfin.Api.Helpers.TranscodingJobHelper: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -init_hw_device cuda=cu:0 -filter_hw_device cu -autorotate 0 -i file:\"/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:2 -map -0:s -codec:v:0 h264_nvenc -preset p1 -b:v 119360000 -maxrate 119360000 -bufsize 238720000 -profile:v:0 high -g:v:0 72 -keyint_min:v:0 72 -vf \"setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale=trunc(min(max(iw\,ih*a)\,min(3840\,2160*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(3840/a\,2160))/2)*2,format=yuv420p10le,hwupload=derive_device=cuda,tonemap_cuda=format=yuv420p:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0\" -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename \"08a1d35c878368812d5835f49626b5db-1.mp4\" -start_number 0 -hls_segment_filename \"/config/transcodes/08a1d35c878368812d5835f49626b5db%d.mp4\" -hls_playlist_type vod -hls_list_size 0 -y \"/config/transcodes/08a1d35c878368812d5835f49626b5db.m3u8\""

Restart of the TV App restores functionality:

[2023-02-01 14:18:59.599 +00:00] [INF] [8] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "192.168.178.106" request
[2023-02-01 14:19:15.594 +00:00] [INF] [34] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "benni". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2023-02-01 14:19:15.595 +00:00] [INF] [34] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv", AudioStreamIndex=2, SubtitleStreamIndex=-1 ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/a46733e3-ee6e-3a68-b43e-9108bc2bdba7/stream.mkv?MediaSourceId=a46733e3ee6e3a68b43e9108bc2bdba7&Static=true&VideoCodec=hevc&AudioCodec=ac3&AudioStreamIndex=2&api_key=<token>&SubtitleMethod=Encode&Tag=f55a0b4c81be2efe47604132976ff415"
[2023-02-01 14:20:00.247 +00:00] [INF] [37] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.8.9" playing "Die Tribute von Panem - Mockingjay Teil 1". Stopped at "1358314" ms
[2023-02-01 14:20:06.568 +00:00] [WRN] [37] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "http://truenas:9001/Items/a46733e3ee6e3a68b43e9108bc2bdba7/Images/Backdrop?fillHeight=503&fillWidth=894&quality=96&tag=b191b9a6c7c0ef9b05ff1d5bbb2d538a" to "192.168.178.106" in 0:00:01.295979 with Status Code 200
[2023-02-01 14:20:07.288 +00:00] [INF] [37] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "192.168.178.106" closed
@bennir commented on GitHub (Feb 1, 2023): I can reproduce this issue. - Version: 10.8.9 - Operating System: Linux - Docker via TrueNAS Scale - LG C1 File Info (Dolby Vision): ```text Input #0, matroska,webm, from 'file:/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv': Metadata: encoder : libebml v1.4.2 + libmatroska v1.6.4 creation_time : 2022-08-15T18:48:16.000000Z Duration: 02:03:15.26, start: 0.000000, bitrate: 76701 kb/s Chapters: ... Stream #0:0(eng): Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160 [SAR 1:1 DAR 16:9], 23.98 fps, 23.98 tbr, 1k tbn Metadata: BPS : 67254229 DURATION : 02:02:59.581000000 NUMBER_OF_FRAMES: 176933 NUMBER_OF_BYTES : 62038503925 SOURCE_ID : 001011 _STATISTICS_WRITING_APP: mkvmerge v69.0.0 ('Day And Age') 64-bit _STATISTICS_WRITING_DATE_UTC: 2022-08-15 18:48:16 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES SOURCE_ID Side data: DOVI configuration record: version: 1.0, profile: 7, level: 6, rpu flag: 1, el flag: 1, bl flag: 1, compatibility id: 6 Stream #0:1(ger): Audio: truehd, 48000 Hz, 7.1, s32 (24 bit) Metadata: title : Deutsch Dolby TrueHD Atmos 7.1 (UHD Blu-ray) BPS : 4298109 DURATION : 02:02:51.140000000 NUMBER_OF_FRAMES: 8845368 NUMBER_OF_BYTES : 3960246176 _STATISTICS_WRITING_APP: mkvmerge v69.0.0 ('Day And Age') 64-bit _STATISTICS_WRITING_DATE_UTC: 2022-08-15 18:48:16 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES Stream #0:2(ger): Audio: ac3, 48000 Hz, 5.1(side), fltp, 640 kb/s Metadata: title : Deutsch Dolby Digital 5.1 (UHD Blu-ray) BPS : 640000 DURATION : 02:02:51.168000000 NUMBER_OF_FRAMES: 230349 NUMBER_OF_BYTES : 589693440 _STATISTICS_WRITING_APP: mkvmerge v69.0.0 ('Day And Age') 64-bit _STATISTICS_WRITING_DATE_UTC: 2022-08-15 18:48:16 _STATISTICS_TAGS: BPS DURATION NUMBER_OF_FRAMES NUMBER_OF_BYTES ``` Switching Audio Source while playing back also doesn't turn HDR back on for me. Restart of the WebOS App is required First successful playback (DD 5.1 Audio via ARC), Notice Selection of Audio Stream 2: ```text [2023-02-01 14:16:54.678 +00:00] [INF] [11] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "benni". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-02-01 14:16:54.724 +00:00] [INF] [11] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv", AudioStreamIndex=2, SubtitleStreamIndex=-1 ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/a46733e3-ee6e-3a68-b43e-9108bc2bdba7/stream.mkv?MediaSourceId=a46733e3ee6e3a68b43e9108bc2bdba7&Static=true&VideoCodec=hevc&AudioCodec=ac3&AudioStreamIndex=2&api_key=<token>&SubtitleMethod=Encode&Tag=f55a0b4c81be2efe47604132976ff415" ``` Choosing Audio Stream 1 will transcode the HEVC Stream aswell: ```text [2023-02-01 14:17:33.435 +00:00] [INF] [17] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "benni". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-02-01 14:17:33.435 +00:00] [INF] [17] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv", AudioStreamIndex=1, SubtitleStreamIndex=-1 ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/a46733e3-ee6e-3a68-b43e-9108bc2bdba7/stream.mkv?MediaSourceId=a46733e3ee6e3a68b43e9108bc2bdba7&Static=true&VideoCodec=hevc&AudioCodec=truehd&AudioStreamIndex=1&api_key=<token>&SubtitleMethod=Encode&Tag=f55a0b4c81be2efe47604132976ff415" [2023-02-01 14:17:39.089 +00:00] [INF] [29] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "benni". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-02-01 14:17:39.142 +00:00] [INF] [29] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv", AudioStreamIndex=1, SubtitleStreamIndex=-1 ) => ( PlayMethod=Transcode, TranscodeReason=DirectPlayError ) "media:/videos/a46733e3-ee6e-3a68-b43e-9108bc2bdba7/master.m3u8?MediaSourceId=a46733e3ee6e3a68b43e9108bc2bdba7&VideoCodec=hevc,h264,hevc&AudioCodec=aac,mp3,ac3,eac3,flac&AudioStreamIndex=1&VideoBitrate=119360000&AudioBitrate=640000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=6&RequireAvc=false&Tag=f55a0b4c81be2efe47604132976ff415&SegmentContainer=mp4&MinSegments=1&BreakOnNonKeyFrames=False&hevc-level=153&hevc-videobitdepth=10&hevc-profile=main10&h264-profile=high,main,baseline,constrainedbaseline&h264-rangetype=SDR&h264-level=52&hevc-rangetype=SDR,HDR10,HLG,DOVI&TranscodeReasons=DirectPlayError" [2023-02-01 14:17:40.557 +00:00] [INF] [18] Jellyfin.Api.Helpers.TranscodingJobHelper: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -init_hw_device cuda=cu:0 -filter_hw_device cu -autorotate 0 -i file:\"/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_nvenc -preset p1 -b:v 119360000 -maxrate 119360000 -bufsize 238720000 -profile:v:0 high -g:v:0 72 -keyint_min:v:0 72 -vf \"setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale=trunc(min(max(iw\,ih*a)\,min(3840\,2160*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(3840/a\,2160))/2)*2,format=yuv420p10le,hwupload=derive_device=cuda,tonemap_cuda=format=yuv420p:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0\" -codec:a:0 libfdk_aac -ac 6 -ab 640000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename \"8027e52fd1a490ee284b989016675f01-1.mp4\" -start_number 0 -hls_segment_filename \"/config/transcodes/8027e52fd1a490ee284b989016675f01%d.mp4\" -hls_playlist_type vod -hls_list_size 0 -y \"/config/transcodes/8027e52fd1a490ee284b989016675f01.m3u8\"" ``` Switching results in transcode again, despite Audio Channel 2: ```text [2023-02-01 14:17:58.097 +00:00] [INF] [31] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "benni". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-02-01 14:17:58.097 +00:00] [INF] [31] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv", AudioStreamIndex=2, SubtitleStreamIndex=-1 ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/a46733e3-ee6e-3a68-b43e-9108bc2bdba7/stream.mkv?MediaSourceId=a46733e3ee6e3a68b43e9108bc2bdba7&Static=true&VideoCodec=hevc&AudioCodec=ac3&AudioStreamIndex=2&api_key=<token>&SubtitleMethod=Encode&Tag=f55a0b4c81be2efe47604132976ff415" [2023-02-01 14:17:58.143 +00:00] [INF] [23] Jellyfin.Api.Helpers.TranscodingJobHelper: Stopping ffmpeg process with q command for "/config/transcodes/8027e52fd1a490ee284b989016675f01.m3u8" [2023-02-01 14:17:58.216 +00:00] [WRN] [8] Jellyfin.Api.Controllers.DynamicHlsController: cannot serve "/config/transcodes/8027e52fd1a490ee284b989016675f016.mp4" as it doesn't exist and no transcode is running [2023-02-01 14:17:58.425 +00:00] [INF] [23] Jellyfin.Api.Helpers.TranscodingJobHelper: FFmpeg exited with code 0 [2023-02-01 14:17:58.427 +00:00] [INF] [23] Jellyfin.Api.Helpers.TranscodingJobHelper: Deleting partial stream file(s) "/config/transcodes/8027e52fd1a490ee284b989016675f01.m3u8" [2023-02-01 14:18:03.941 +00:00] [INF] [22] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "benni". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-02-01 14:18:03.941 +00:00] [INF] [22] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv", AudioStreamIndex=2, SubtitleStreamIndex=-1 ) => ( PlayMethod=Transcode, TranscodeReason=DirectPlayError ) "media:/videos/a46733e3-ee6e-3a68-b43e-9108bc2bdba7/master.m3u8?MediaSourceId=a46733e3ee6e3a68b43e9108bc2bdba7&VideoCodec=hevc,h264,hevc&AudioCodec=ac3&AudioStreamIndex=2&VideoBitrate=119360000&AudioBitrate=640000&AudioSampleRate=48000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=6&RequireAvc=false&Tag=f55a0b4c81be2efe47604132976ff415&SegmentContainer=mp4&MinSegments=1&BreakOnNonKeyFrames=False&hevc-level=153&hevc-videobitdepth=10&hevc-profile=main10&hevc-audiochannels=6&h264-profile=high,main,baseline,constrainedbaseline&h264-rangetype=SDR&h264-level=52&hevc-rangetype=SDR,HDR10,HLG,DOVI&TranscodeReasons=DirectPlayError" [2023-02-01 14:18:05.019 +00:00] [INF] [17] Jellyfin.Api.Helpers.TranscodingJobHelper: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -init_hw_device cuda=cu:0 -filter_hw_device cu -autorotate 0 -i file:\"/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:2 -map -0:s -codec:v:0 h264_nvenc -preset p1 -b:v 119360000 -maxrate 119360000 -bufsize 238720000 -profile:v:0 high -g:v:0 72 -keyint_min:v:0 72 -vf \"setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,scale=trunc(min(max(iw\,ih*a)\,min(3840\,2160*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(3840/a\,2160))/2)*2,format=yuv420p10le,hwupload=derive_device=cuda,tonemap_cuda=format=yuv420p:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0\" -codec:a:0 copy -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type fmp4 -hls_fmp4_init_filename \"08a1d35c878368812d5835f49626b5db-1.mp4\" -start_number 0 -hls_segment_filename \"/config/transcodes/08a1d35c878368812d5835f49626b5db%d.mp4\" -hls_playlist_type vod -hls_list_size 0 -y \"/config/transcodes/08a1d35c878368812d5835f49626b5db.m3u8\"" ``` Restart of the TV App restores functionality: ```text [2023-02-01 14:18:59.599 +00:00] [INF] [8] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "192.168.178.106" request [2023-02-01 14:19:15.594 +00:00] [INF] [34] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "benni". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True [2023-02-01 14:19:15.595 +00:00] [INF] [34] Jellyfin.Api.Helpers.MediaInfoHelper: StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/Filme/Die Tribute von Panem Mockingjay Teil 1 HDR/Die.Tribute.von.Panem.Mockingjay.Teil.1.2014.German.Atmos.Dubbed.DL.2160p.UHD.BluRay.DV.HDR.HEVC.Remux-QfG.mkv", AudioStreamIndex=2, SubtitleStreamIndex=-1 ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/a46733e3-ee6e-3a68-b43e-9108bc2bdba7/stream.mkv?MediaSourceId=a46733e3ee6e3a68b43e9108bc2bdba7&Static=true&VideoCodec=hevc&AudioCodec=ac3&AudioStreamIndex=2&api_key=<token>&SubtitleMethod=Encode&Tag=f55a0b4c81be2efe47604132976ff415" [2023-02-01 14:20:00.247 +00:00] [INF] [37] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.8.9" playing "Die Tribute von Panem - Mockingjay Teil 1". Stopped at "1358314" ms [2023-02-01 14:20:06.568 +00:00] [WRN] [37] Jellyfin.Server.Middleware.ResponseTimeMiddleware: Slow HTTP Response from "http://truenas:9001/Items/a46733e3ee6e3a68b43e9108bc2bdba7/Images/Backdrop?fillHeight=503&fillWidth=894&quality=96&tag=b191b9a6c7c0ef9b05ff1d5bbb2d538a" to "192.168.178.106" in 0:00:01.295979 with Status Code 200 [2023-02-01 14:20:07.288 +00:00] [INF] [37] Emby.Server.Implementations.HttpServer.WebSocketManager: WS "192.168.178.106" closed ```
Sign in to join this conversation.
1 Participants
Notifications
Due Date
No due date set.
Dependencies

No dependencies set.

Reference: starred/jellyfin#3988