VAAPI HW accel breaks with tone mapping - zeagle - 2024-02-16
Thanks for any assistance with this.
I am running jellyfin on a fresh debian 12 server with the 6.5.0-0 kernel on bare metal. The CPU is a ryzen 5600G with integrated iGPU. There is an unrelated VM but the GPU isn't passed through. I installed jellyfin following the instructions and AMD gpu guide and have tried both ffmpeg5 and now ffmpeg6.
Code: # from jellyfin repo:
jellyfin-ffmpeg5/unknown,now 5.1.4-3-bookworm amd64 [residual-config]
jellyfin-ffmpeg6/unknown,now 6.0.1-3-bookworm amd64 [installed]
jellyfin-server/unknown,now 10.8.13-1 amd64 [installed]
jellyfin-web/unknown,now 10.8.13-1 all [installed]
jellyfin/unknown 10.8.13-1 all
# from radeon repo:
comgr/focal,now 2.6.0.60000-91~20.04 amd64 [installed,automatic]
hsa-rocr/focal,now 1.12.0.60000-91~20.04 amd64 [installed,automatic]
openmp-extras-runtime/focal,now 17.60.0.60000-91~20.04 amd64 [installed,automatic]
rocm-core/focal,now 6.0.0.60000-91~20.04 amd64 [installed,automatic]
rocm-language-runtime/focal,now 6.0.0.60000-91~20.04 amd64 [installed,automatic]
rocm-ocl-icd/focal,now 2.0.0.60000-91~20.04 amd64 [installed,automatic]
rocm-opencl-runtime/focal,now 6.0.0.60000-91~20.04 amd64 [installed]
rocm-opencl/focal,now 2.0.0.60000-91~20.04 amd64 [installed,automatic]
libvulkan1/stable,now 1.3.239.0-1 amd64 [installed,automatic]
1. If I enable VAAPI transcoding it works great and I can see GPU usage with radeontop. I can watch greyed out HDR content with no issue.
2. If I 'Enable Tone Mapping' with default BT.2390 and all default options below I can watch regular content but HDR content does not load. I get this error with dmesg -w regardless of ffmpeg version and no playback. I've tried with a few different media files to confirm.
Code: [ 830.406752] BUG: kernel NULL pointer dereference, address: 0000000000000018
[ 830.407381] #PF: supervisor write access in kernel mode
[ 830.407835] #PF: error_code(0x0002) - not-present page
[ 830.408269] PGD 0 P4D 0
[ 830.408695] Oops: 0002 [#2] PREEMPT SMP NOPTI
[ 830.409121] CPU: 1 PID: 9653 Comm: av:hevc:df0 Tainted: P D OE 6.5.0-0.deb12.4-amd64 #1 Debian 6.5.10-1~bpo12+1
[ 830.409557] Hardware name: ASUS System Product Name/ROG STRIX B550-F GAMING WIFI II, BIOS 3405 12/13/2023
[ 830.409995] RIP: 0010:amdgpu_gmc_set_pte_pde+0x23/0x30 [amdgpu]
[ 830.410617] Code: 90 90 90 90 90 90 90 66 0f 1f 00 0f 1f 44 00 00 48 b8 00 f0 ff ff ff ff 00 00 48 21 c1 8d 04 d5 00 00 00 00 4c 09 c1 48 01 c6 <48> 89 0e 31 c0 e9 73 83 52 e1 0f 1f 00 90 90 90 90 90 90 90 90 90
[ 830.411079] RSP: 0018:ffffb4bf810bf900 EFLAGS: 00010206
[ 830.411544] RAX: 0000000000000000 RBX: 0000001029200000 RCX: 00400010290004f1
[ 830.412011] RDX: 0000000000000000 RSI: 0000000000000018 RDI: ffff89d455a80000
[ 830.412480] RBP: ffffb4bf810bfa88 R08: 00400000000004f1 R09: 0000000000200000
[ 830.412952] R10: 00400000000004f1 R11: 0000000000000009 R12: 0000000000200000
[ 830.413433] R13: 0000000000000001 R14: 0000000000000018 R15: 0000000000000001
[ 830.413916] FS: 00007fc33cdff6c0(0000) GS:ffff89e230c40000(0000) knlGS:0000000000000000
[ 830.414394] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 830.414878] CR2: 0000000000000018 CR3: 000000066b98e000 CR4: 0000000000750ee0
[ 830.415367] PKRU: 55555554
[ 830.415839] Call Trace:
[ 830.416312] <TASK>
[ 830.416783] ? __die+0x23/0x70
[ 830.417267] ? page_fault_oops+0x171/0x4e0
[ 830.417741] ? exc_page_fault+0x77/0x170
[ 830.418219] ? asm_exc_page_fault+0x26/0x30
[ 830.418694] ? amdgpu_gmc_set_pte_pde+0x23/0x30 [amdgpu]
[ 830.419287] amdgpu_vm_cpu_update+0x92/0x110 [amdgpu]
[ 830.419879] amdgpu_vm_ptes_update+0x33d/0x940 [amdgpu]
[ 830.420475] amdgpu_vm_update_range+0x27a/0x770 [amdgpu]
[ 830.421066] amdgpu_vm_bo_update+0x302/0x560 [amdgpu]
[ 830.421664] amdgpu_gem_va_ioctl+0x54f/0x590 [amdgpu]
[ 830.422248] ? srso_alias_return_thunk+0x5/0x7f
[ 830.422725] ? __pfx_amdgpu_gem_va_ioctl+0x10/0x10 [amdgpu]
[ 830.423310] drm_ioctl_kernel+0xcd/0x170 [drm]
[ 830.423806] drm_ioctl+0x267/0x4a0 [drm]
[ 830.424281] ? __pfx_amdgpu_gem_va_ioctl+0x10/0x10 [amdgpu]
[ 830.424844] amdgpu_drm_ioctl+0x4e/0x90 [amdgpu]
[ 830.425395] __x64_sys_ioctl+0x97/0xd0
[ 830.425838] do_syscall_64+0x5f/0xc0
[ 830.426279] ? srso_alias_return_thunk+0x5/0x7f
[ 830.426718] ? amdgpu_drm_ioctl+0x71/0x90 [amdgpu]
[ 830.427265] ? srso_alias_return_thunk+0x5/0x7f
[ 830.427702] ? exit_to_user_mode_prepare+0x40/0x1e0
[ 830.428142] ? srso_alias_return_thunk+0x5/0x7f
[ 830.428586] ? syscall_exit_to_user_mode+0x2b/0x40
[ 830.428999] ? srso_alias_return_thunk+0x5/0x7f
[ 830.429406] ? do_syscall_64+0x6b/0xc0
[ 830.429798] ? srso_alias_return_thunk+0x5/0x7f
[ 830.430178] ? exit_to_user_mode_prepare+0x14b/0x1e0
[ 830.430556] entry_SYSCALL_64_after_hwframe+0x6e/0xd8
[ 830.430916] RIP: 0033:0x7fc37fc8ec5b
[ 830.431263] Code: 00 48 89 44 24 18 31 c0 48 8d 44 24 60 c7 04 24 10 00 00 00 48 89 44 24 08 48 8d 44 24 20 48 89 44 24 10 b8 10 00 00 00 0f 05 <89> c2 3d 00 f0 ff ff 77 1c 48 8b 44 24 18 64 48 2b 04 25 28 00 00
[ 830.431627] RSP: 002b:00007fc33cdfd4e0 EFLAGS: 00000246 ORIG_RAX: 0000000000000010
[ 830.431996] RAX: ffffffffffffffda RBX: 00007fc224072ba0 RCX: 00007fc37fc8ec5b
[ 830.432364] RDX: 00007fc33cdfd580 RSI: 00000000c0286448 RDI: 0000000000000006
[ 830.432721] RBP: 00007fc33cdfd580 R08: ffff800100600000 R09: 000000000000000e
[ 830.433064] R10: 0000000000000000 R11: 0000000000000246 R12: 00000000c0286448
[ 830.433408] R13: 0000000000000006 R14: 0000558e677df460 R15: 0000000000000005
[ 830.433755] </TASK>
[ 830.434098] Modules linked in: xt_nat xt_tcpudp veth nf_conntrack_netlink xfrm_user xfrm_algo xt_addrtype nft_chain_nat xt_MASQUERADE nf_nat xt_recent xt_conntrack nf_conntrack nf_defrag_ipv6 nf_defrag_ipv4 nft_compat nf_tables nfnetlink wireguard libchacha20poly1305 chacha_x86_64 poly1305_x86_64 curve25519_x86_64 libcurve25519_generic libchacha ip6_udp_tunnel udp_tunnel overlay binfmt_misc nls_ascii nls_cp437 intel_rapl_msr intel_rapl_common vfat fat amdgpu edac_mce_amd btusb btrtl kvm_amd btbcm btintel btmtk kvm bluetooth snd_hda_codec_realtek snd_hda_codec_generic mt7921e mt7921_common snd_hda_codec_hdmi irqbypass mt76_connac_lib amdxcp drm_buddy snd_hda_intel mt76 gpu_sched snd_intel_dspcfg snd_intel_sdw_acpi drm_suballoc_helper ghash_clmulni_intel mac80211 sha3_generic snd_hda_codec drm_display_helper jitterentropy_rng aesni_intel cec snd_hda_core rc_core sha512_ssse3 libarc4 snd_hwdep zfs(POE) sha512_generic drm_ttm_helper crypto_simd cryptd ttm snd_pcm asus_nb_wmi ctr rapl cfg80211 asus_wmi drm_kms_helper
[ 830.434161] battery drbg snd_timer spl(OE) ledtrig_audio sparse_keymap pcspkr i2c_algo_bit ansi_cprng platform_profile snd wmi_bmof video sp5100_tco ccp ecdh_generic soundcore watchdog k10temp rfkill ecc evdev joydev button sg nfsd vhost_net auth_rpcgss tun vhost nfs_acl vhost_iotlb lockd tap br_netfilter grace bridge drm sunrpc stp llc fuse loop dm_mod efi_pstore configfs ip_tables x_tables autofs4 ext4 crc16 mbcache jbd2 btrfs blake2b_generic efivarfs raid10 raid456 async_raid6_recov async_memcpy async_pq async_xor async_tx xor raid6_pq libcrc32c crc32c_generic raid1 raid0 multipath linear md_mod hid_generic usbhid hid sd_mod ahci libahci xhci_pci xhci_hcd nvme libata nvme_core t10_pi usbcore scsi_mod crc32_pclmul igc crc32c_intel crc64_rocksoft crc64 crc_t10dif crct10dif_generic i2c_piix4 crct10dif_pclmul crct10dif_common usb_common scsi_common wmi gpio_amdpt gpio_generic
[ 830.437811] CR2: 0000000000000018
[ 830.438240] ---[ end trace 0000000000000000 ]---
[ 830.563664] RIP: 0010:amdgpu_gmc_set_pte_pde+0x23/0x30 [amdgpu]
[ 830.564443] Code: 90 90 90 90 90 90 90 66 0f 1f 00 0f 1f 44 00 00 48 b8 00 f0 ff ff ff ff 00 00 48 21 c1 8d 04 d5 00 00 00 00 4c 09 c1 48 01 c6 <48> 89 0e 31 c0 e9 73 83 52 e1 0f 1f 00 90 90 90 90 90 90 90 90 90
[ 830.564963] RSP: 0018:ffffb4bf916c7960 EFLAGS: 00010206
[ 830.565439] RAX: 0000000000000000 RBX: 000000102c200000 RCX: 004000102c0004f1
[ 830.565901] RDX: 0000000000000000 RSI: 0000000000000018 RDI: ffff89d455a80000
[ 830.566358] RBP: ffffb4bf916c7ae8 R08: 00400000000004f1 R09: 0000000000200000
[ 830.566784] R10: 00400000000004f1 R11: 0000000000000009 R12: 0000000000200000
[ 830.567209] R13: 0000000000000001 R14: 0000000000000018 R15: 0000000000000001
[ 830.567632] FS: 00007fc33cdff6c0(0000) GS:ffff89e230c40000(0000) knlGS:0000000000000000
[ 830.568055] CS: 0010 DS: 0000 ES: 0000 CR0: 0000000080050033
[ 830.568480] CR2: 0000000000000018 CR3: 000000066b98e000 CR4: 0000000000750ee0
[ 830.568906] PKRU: 55555554
[ 830.569331] note: av:hevc:df0[9653] exited with irqs disabled
Logs for reference:
Jellyfin.log tail -f:
Code: [2024-02-15 21:46:50.713 -06:00] [INF] Available hwaccel types: ["cuda", "vaapi", "qsv", "drm", "opencl", "vulkan"]
[2024-02-15 21:46:50.958 -06:00] [INF] VAAPI device "/dev/dri/renderD128" is AMD GPU
[2024-02-15 21:46:50.958 -06:00] [INF] FFmpeg: "/usr/lib/jellyfin-ffmpeg/ffmpeg"
Jellyfin.log during SDR content that works with this config:
Code: [2024-02-15 21:47:37.957 -06:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-02-15 21:47:37.985 -06:00] [INF] StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/data/multimedia/REMOVED/NAME.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=DirectPlay, TranscodeReason=0 ) "media:/videos/0c9fc361-4a8c-040e-46bd-8c4c6f63349c/stream.mkv?MediaSourceId=0c9fc3614a8c040e46bd8c4c6f63349c&Static=true&VideoCodec=h264&AudioCodec=eac3&AudioStreamIndex=1&api_key=<token>&Tag=5062bf92e3ac296b0607ce91d26f6493"
[2024-02-15 21:47:38.593 -06:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-02-15 21:47:38.612 -06:00] [INF] StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/data/multimedia/REMOVED/NAME.mkv", AudioStreamIndex=1, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=DirectPlayError ) "media:/videos/0c9fc361-4a8c-040e-46bd-8c4c6f63349c/master.m3u8?MediaSourceId=0c9fc3614a8c040e46bd8c4c6f63349c&VideoCodec=h264,h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=139616000&AudioBitrate=384000&MaxFramerate=23.976025&api_key=<token>&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=5062bf92e3ac296b0607ce91d26f6493&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-level=40&h264-videobitdepth=8&h264-profile=high&h264-rangetype=SDR&h264-deinterlace=true&TranscodeReasons=DirectPlayError"
[2024-02-15 21:47:38.789 -06:00] [INF] Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-02-15 21:47:38.808 -06:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -init_hw_device vaapi=va:/dev/dri/renderD128 -filter_hw_device va -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:\"/data/multimedia/REMOVED/NAME.mkv\" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -rc_mode VBR -b:v 10533030 -maxrate 10533030 -bufsize 21066060 -profile:v:0 high -force_key_frames:0 \"expr:gte(t,0+n_forced*3)\" -flags:v -global_header -vf \"setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale_vaapi=format=nv12:extra_hw_frames=24\" -codec:a:0 libfdk_aac -ac 2 -ab 256000 -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename \"/var/lib/jellyfin/transcodes/7e7e9d613b4456e92fb6e7f5613c621d%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"/var/lib/jellyfin/transcodes/7e7e9d613b4456e92fb6e7f5613c621d.m3u8\""
[2024-02-15 21:47:39.634 -06:00] [WRN] Slow HTTP Response from "http://10.0.0.20:8096/videos/0c9fc361-4a8c-040e-46bd-8c4c6f63349c/hls1/main/0.ts?DeviceId=TW96aWxsYS81LjAgKFdpbmRvd3MgTlQgMTAuMDsgV2luNjQ7IHg2NCkgQXBwbGVXZWJLaXQvNTM3LjM2IChLSFRNTCwgbGlrZSBHZWNrbykgQ2hyb21lLzEyMS4wLjAuMCBTYWZhcmkvNTM3LjM2IEVkZy8xMjEuMC4wLjB8MTcwNzk4MDk0MTgwMA11&MediaSourceId=0c9fc3614a8c040e46bd8c4c6f63349c&VideoCodec=h264,h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=139616000&AudioBitrate=384000&MaxFramerate=23.976025&PlaySessionId=763794ff2c5b4f2d99a5c2207dab768d&api_key=634e9249e25c42ad9263411603e2cc1c&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=5062bf92e3ac296b0607ce91d26f6493&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&h264-level=40&h264-videobitdepth=8&h264-profile=high&h264-rangetype=SDR&h264-deinterlace=true&TranscodeReasons=DirectPlayError&allowVideoStreamCopy=false&runtimeTicks=0&actualSegmentLengthTicks=30000000" to "10.0.0.31" in 0:00:00.8545337 with Status Code 200
[2024-02-15 21:47:42.986 -06:00] [INF] Stopping ffmpeg process with q command for "/var/lib/jellyfin/transcodes/7e7e9d613b4456e92fb6e7f5613c621d.m3u8"
[2024-02-15 21:47:43.116 -06:00] [INF] FFmpeg exited with code 0
[2024-02-15 21:47:43.117 -06:00] [INF] Deleting partial stream file(s) "/var/lib/jellyfin/transcodes/7e7e9d613b4456e92fb6e7f5613c621d.m3u8"
[2024-02-15 21:47:44.631 -06:00] [INF] Playback stopped reported by app "Jellyfin Web" "10.8.13" playing "XXXYYYZZZ". Stopped at "2764" ms
[2024-02-15 21:47:44.641 -06:00] [WRN] Slow HTTP Response from "http://10.0.0.20:8096/Sessions/Playing/Stopped" to "10.0.0.31" in 0:00:01.6643952 with Status Code 204
Jellyfin.log during content that doesn't work:
Code: [2024-02-15 21:47:58.070 -06:00] [INF] Sending ForceKeepAlive message to 1 inactive WebSockets.
[2024-02-15 21:48:10.071 -06:00] [INF] Lost 1 WebSockets.
[2024-02-15 21:49:24.128 -06:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-02-15 21:49:24.131 -06:00] [INF] StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/data/multimedia/REMOVED/NAME.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=VideoCodecNotSupported, AudioCodecNotSupported ) "media:/videos/498e9afb-9ad7-19f1-6913-32ecf3b2a26e/master.m3u8?MediaSourceId=498e9afb9ad719f1691332ecf3b2a26e&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=139616000&AudioBitrate=384000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=5fbcd2c8c8c07ca8ebf5f19aa8cf4aad&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&hevc-level=150&hevc-videobitdepth=10&hevc-profile=main10&TranscodeReasons=VideoCodecNotSupported,%20AudioCodecNotSupported"
[2024-02-15 21:49:24.698 -06:00] [INF] Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-02-15 21:49:24.699 -06:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -init_hw_device vaapi=va:/dev/dri/renderD128 -init_hw_device opencl=ocl:.0,device_vendor=\"Advanced Micro Devices\" -filter_hw_device ocl -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:\"/data/multimedia/REMOVED/NAME.mkv\" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -rc_mode VBR -b:v 30948093 -maxrate 30948093 -bufsize 61896186 -force_key_frames:0 \"expr:gte(t,0+n_forced*3)\" -flags:v -global_header -vf \"setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,hwdownload,format=p010le,hwupload=derive_device=opencl,tonemap_opencl=format=nv12:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=nv12,hwupload_vaapi\" -codec:a:0 libfdk_aac -ac 2 -ab 384000 -af \"volume=2\" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename \"/var/lib/jellyfin/transcodes/ce350add91585e21844184868afa45b7%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"/var/lib/jellyfin/transcodes/ce350add91585e21844184868afa45b7.m3u8\""
FFmpeg.Transcode-2024-02-15_21-49-24_498e9afb9ad719f1691332ecf3b2a26e_a411c452.log:
Code: /videos/498e9afb-9ad7-19f1-6913-32ecf3b2a26e/hls1/main/0.ts
(I removed a really long protocol block due to 30+ subtitles)
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:/dev/dri/renderD128 -init_hw_device opencl=ocl:.0,device_vendor="Advanced Micro Devices" -filter_hw_device ocl -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:"/data/multimedia/TV Shows/REMOVED/NAME.mkv" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -rc_mode VBR -b:v 30948093 -maxrate 30948093 -bufsize 61896186 -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -flags:v -global_header -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,hwdownload,format=p010le,hwupload=derive_device=opencl,tonemap_opencl=format=nv12:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=nv12,hwupload_vaapi" -codec:a:0 libfdk_aac -ac 2 -ab 384000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/var/lib/jellyfin/transcodes/ce350add91585e21844184868afa45b7%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/var/lib/jellyfin/transcodes/ce350add91585e21844184868afa45b7.m3u8"
ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
[AVHWDeviceContext @ 0x55fc5c167200] QSV to OpenCL mapping not usable.
Input #0, matroska,webm, from 'file:/data/multimedia/TV Shows/REMOVED/NAME.mkv':
Metadata:
encoder : libebml v1.4.0 + libmatroska v1.6.1
Duration: 01:20:47.33, start: 0.000000, bitrate: 18568 kb/s
Stream #0:0: Video: hevc (Main 10), yuv420p10le(tv, bt2020nc/bt2020/smpte2084), 3840x2160, SAR 1:1 DAR 16:9, 23.98 fps, 23.98 tbr, 1k tbn (default)
Stream #0:1(eng): Audio: eac3, 48000 Hz, 5.1(side), fltp, 768 kb/s (default)
Stream #0:2(eng): Subtitle: subrip
Metadata:
title : English
(I removed streams 3-30 as they are subtitles)
Stream mapping:
Stream #0:0 -> #0:0 (hevc (native) -> h264 (h264_vaapi))
Stream #0:1 -> #0:1 (eac3 (native) -> aac (libfdk_aac))
Press [q] to stop, [?] for help
/usr/lib/jellyfin-ffmpeg/vainfo --display drm --device /dev/dri/renderD128
Code: Trying display: drm
libva info: VA-API version 1.20.0
libva info: Trying to open /usr/lib/jellyfin-ffmpeg/lib/dri/radeonsi_drv_video.so
libva info: Found init function __vaDriverInit_1_20
libva info: va_openDriver() returns 0
vainfo: VA-API version: 1.20 (libva 2.20.0)
vainfo: Driver version: Mesa Gallium driver 23.2.1 for AMD Radeon Graphics (renoir, LLVM 15.0.6, DRM 3.54, 6.5.0-0.deb12.4-amd64)
vainfo: Supported profile and entrypoints
VAProfileMPEG2Simple : VAEntrypointVLD
VAProfileMPEG2Main : VAEntrypointVLD
VAProfileVC1Simple : VAEntrypointVLD
VAProfileVC1Main : VAEntrypointVLD
VAProfileVC1Advanced : VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointVLD
VAProfileH264ConstrainedBaseline: VAEntrypointEncSlice
VAProfileH264Main : VAEntrypointVLD
VAProfileH264Main : VAEntrypointEncSlice
VAProfileH264High : VAEntrypointVLD
VAProfileH264High : VAEntrypointEncSlice
VAProfileHEVCMain : VAEntrypointVLD
VAProfileHEVCMain : VAEntrypointEncSlice
VAProfileHEVCMain10 : VAEntrypointVLD
VAProfileHEVCMain10 : VAEntrypointEncSlice
VAProfileJPEGBaseline : VAEntrypointVLD
VAProfileVP9Profile0 : VAEntrypointVLD
VAProfileVP9Profile2 : VAEntrypointVLD
VAProfileNone : VAEntrypointVideoProc
/usr/lib/jellyfin-ffmpeg/ffmpeg -v debug -init_hw_device opencl=ocl:.0,device_vendor="Advanced Micro Devices":
Code: ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'opencl=ocl:.0,device_vendor=Advanced Micro Devices'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument debug.
Applying option init_hw_device (initialise hardware device) with argument opencl=ocl:.0,device_vendor=Advanced Micro Devices.
[AVHWDeviceContext @ 0x563a2b49d4c0] 1 OpenCL platforms found.
[AVHWDeviceContext @ 0x563a2b49d4c0] 1 OpenCL devices found on platform "AMD Accelerated Parallel Processing".
[AVHWDeviceContext @ 0x563a2b49d4c0] 0.0: AMD Accelerated Parallel Processing / gfx90c:xnack-
[AVHWDeviceContext @ 0x563a2b49d4c0] The cl_intel_va_api_media_sharing extension is required for QSV to OpenCL mapping.
[AVHWDeviceContext @ 0x563a2b49d4c0] QSV to OpenCL mapping not usable.
Successfully parsed a group of options.
/usr/lib/jellyfin-ffmpeg/ffmpeg -v debug -init_hw_device drm=drdev/dri/renderD128 -init_hw_device vulkan@dr
Code: ffmpeg version 6.0.1-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-opencl --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-vaapi --enable-amf --enable-libvpl --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 58. 2.100 / 58. 2.100
libavcodec 60. 3.100 / 60. 3.100
libavformat 60. 3.100 / 60. 3.100
libavdevice 60. 1.100 / 60. 1.100
libavfilter 9. 3.100 / 9. 3.100
libswscale 7. 1.100 / 7. 1.100
libswresample 4. 10.100 / 4. 10.100
libpostproc 57. 1.100 / 57. 1.100
Splitting the commandline.
Reading option '-v' ... matched as option 'v' (set logging level) with argument 'debug'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'drm=dr:/dev/dri/renderD128'.
Reading option '-init_hw_device' ... matched as option 'init_hw_device' (initialise hardware device) with argument 'vulkan@dr'.
Finished splitting the commandline.
Parsing a group of options: global .
Applying option v (set logging level) with argument debug.
Applying option init_hw_device (initialise hardware device) with argument drm=dr:/dev/dri/renderD128.
[AVHWDeviceContext @ 0x55b4b55022c0] Opened DRM device /dev/dri/renderD128: driver amdgpu version 3.54.0.
Applying option init_hw_device (initialise hardware device) with argument vulkan@dr.
[AVHWDeviceContext @ 0x55b4b5502780] Supported validation layers:
[AVHWDeviceContext @ 0x55b4b5502780] VK_LAYER_MESA_device_select
[AVHWDeviceContext @ 0x55b4b5502780] VK_LAYER_AMD_switchable_graphics_64
[AVHWDeviceContext @ 0x55b4b5502780] VK_LAYER_MESA_overlay
[AVHWDeviceContext @ 0x55b4b5502780] GPU listing:
[AVHWDeviceContext @ 0x55b4b5502780] 0: AMD Radeon Graphics (RADV RENOIR) (integrated) (0x1638)
[AVHWDeviceContext @ 0x55b4b5502780] Requested device: 0x1638
[AVHWDeviceContext @ 0x55b4b5502780] Device 0 selected: AMD Radeon Graphics (RADV RENOIR) (integrated) (0x1638)
[AVHWDeviceContext @ 0x55b4b5502780] Queue families:
[AVHWDeviceContext @ 0x55b4b5502780] 0: graphics compute transfer sparse (queues: 1)
[AVHWDeviceContext @ 0x55b4b5502780] 1: compute transfer sparse (queues: 4)
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_KHR_push_descriptor
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_KHR_sampler_ycbcr_conversion
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_KHR_synchronization2
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_KHR_external_memory_fd
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_EXT_external_memory_dma_buf
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_EXT_image_drm_format_modifier
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_KHR_external_semaphore_fd
[AVHWDeviceContext @ 0x55b4b5502780] Using device extension VK_EXT_external_memory_host
[AVHWDeviceContext @ 0x55b4b5502780] Using device: AMD Radeon Graphics (RADV RENOIR)
[AVHWDeviceContext @ 0x55b4b5502780] Alignments:
[AVHWDeviceContext @ 0x55b4b5502780] optimalBufferCopyRowPitchAlignment: 1
[AVHWDeviceContext @ 0x55b4b5502780] minMemoryMapAlignment: 4096
[AVHWDeviceContext @ 0x55b4b5502780] minImportedHostPointerAlignment: 4096
[AVHWDeviceContext @ 0x55b4b5502780] Using queue family 0 (queues: 1) for graphics
[AVHWDeviceContext @ 0x55b4b5502780] Using queue family 1 (queues: 4) for compute transfers
Successfully parsed a group of options.
The only thing that jumps out at me is OpenCL runtime status gives me this:
(...) [AVHWDeviceContext @ 0x563a2b49d4c0] QSV to OpenCL mapping not usable. (...)
The kernel taint is due to ZFS, journalctl -k | grep taint:
Code: Feb 15 21:10:35 roci kernel: spl: loading out-of-tree module taints kernel.
Feb 15 21:10:35 roci kernel: spl: module verification failed: signature and/or required key missing - tainting kernel
Feb 15 21:10:36 roci kernel: zfs: module license 'CDDL' taints kernel.
Feb 15 21:10:36 roci kernel: Disabling lock debugging due to kernel taint
Feb 15 21:10:36 roci kernel: zfs: module license taints kernel.
My google fu has failed me. Am I missing something straight forward?
RE: VAAPI HW accel breaks with tone mapping - TheDreadPirate - 2024-02-16
What BIOS version is installed on your motherboard?
RE: VAAPI HW accel breaks with tone mapping - zeagle - 2024-02-16
Thanks for reviewing. It is the latest. I built the system the other week and updated ( https://rog.asus.com/motherboards/rog-strix/rog-strix-b550-f-gaming-wifi-ii-model/helpdesk_bios/ ).
# dmidecode:
(...)
BIOS Information
Vendor: American Megatrends Inc.
Version: 3405
Release Date: 12/13/2023
(...)
Base Board Information
Manufacturer: ASUSTeK COMPUTER INC.
Product Name: ROG STRIX B550-F GAMING WIFI II
Version: Rev X.0x
Googling around there a few proposed reasons for that error:
-Kernel issues (mostly early 6.x that are marked solved)
-RAM (errors should be random then, I did rearrange it out of superstition as easy)
-Intel graphics driver (but I have an AMD)
-Certain Debian versions and XFS (but I use ZFS)
RE: VAAPI HW accel breaks with tone mapping - zeagle - 2024-02-16
I went back to 6.1.0-18-amd64 instead of backports. Same issue. Works without tone mapping confirmed by radeontop but with tone mapping breaks HDR content. The browser (Edge) gets further to "Playback Error, This client isn't compatible with the media and the server isn't sending a compatible media format."). I reran the install steps in AMD gpu just in case. I get some other error messages if it's helpful for diagnosing:
dmesg -w:
[ 683.502786] amdgpu: Failed to create process VM object
Code: [2024-02-16 09:02:13.659 -06:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-02-16 09:02:13.659 -06:00] [INF] StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/data/multimedia/REMOVED/NAME.mkv", AudioStreamIndex=null, SubtitleStreamIndex=null ) => ( PlayMethod=Transcode, TranscodeReason=VideoCodecNotSupported, AudioCodecNotSupported ) "media:/videos/498e9afb-9ad7-19f1-6913-32ecf3b2a26e/master.m3u8?MediaSourceId=498e9afb9ad719f1691332ecf3b2a26e&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=139616000&AudioBitrate=384000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=5fbcd2c8c8c07ca8ebf5f19aa8cf4aad&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&hevc-level=150&hevc-videobitdepth=10&hevc-profile=main10&TranscodeReasons=VideoCodecNotSupported,%20AudioCodecNotSupported"
[2024-02-16 09:02:14.186 -06:00] [INF] Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-02-16 09:02:14.187 -06:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -init_hw_device vaapi=va:/dev/dri/renderD128 -init_hw_device opencl=ocl:.0,device_vendor=\"Advanced Micro Devices\" -filter_hw_device ocl -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:\"/data/multimedia/REMOVED/NAME.mkv\" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -rc_mode VBR -b:v 30948093 -maxrate 30948093 -bufsize 61896186 -force_key_frames:0 \"expr:gte(t,0+n_forced*3)\" -flags:v -global_header -vf \"setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,hwdownload,format=p010le,hwupload=derive_device=opencl,tonemap_opencl=format=nv12:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=nv12,hwupload_vaapi\" -codec:a:0 libfdk_aac -ac 2 -ab 384000 -af \"volume=2\" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename \"/var/lib/jellyfin/transcodes/c281f19801a8f0418aed9726a60c7ad7%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"/var/lib/jellyfin/transcodes/c281f19801a8f0418aed9726a60c7ad7.m3u8\""
[2024-02-16 09:02:14.299 -06:00] [ERR] FFmpeg exited with code 1
[2024-02-16 09:02:14.302 -06:00] [ERR] Error processing request. URL "GET" "/videos/498e9afb-9ad7-19f1-6913-32ecf3b2a26e/hls1/main/0.ts".
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
at Jellyfin.Api.Helpers.TranscodingJobHelper.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, HttpRequest request, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource, String workingDirectory)
at Jellyfin.Api.Controllers.DynamicHlsController.GetDynamicSegment(StreamingRequestDto streamingRequest, Int32 segmentId)
at Jellyfin.Api.Controllers.DynamicHlsController.GetHlsVideoSegment(Guid itemId, String playlistId, Int32 segmentId, String container, Int64 runtimeTicks, Int64 actualSegmentLengthTicks, Nullable`1 static, String params, String tag, String deviceProfileId, String playSessionId, String segmentContainer, Nullable`1 segmentLength, Nullable`1 minSegments, String mediaSourceId, String deviceId, String audioCodec, Nullable`1 enableAutoStreamCopy, Nullable`1 allowVideoStreamCopy, Nullable`1 allowAudioStreamCopy, Nullable`1 breakOnNonKeyFrames, Nullable`1 audioSampleRate, Nullable`1 maxAudioBitDepth, Nullable`1 audioBitRate, Nullable`1 audioChannels, Nullable`1 maxAudioChannels, String profile, String level, Nullable`1 framerate, Nullable`1 maxFramerate, Nullable`1 copyTimestamps, Nullable`1 startTimeTicks, Nullable`1 width, Nullable`1 height, Nullable`1 maxWidth, Nullable`1 maxHeight, Nullable`1 videoBitRate, Nullable`1 subtitleStreamIndex, Nullable`1 subtitleMethod, Nullable`1 maxRefFrames, Nullable`1 maxVideoBitDepth, Nullable`1 requireAvc, Nullable`1 deInterlace, Nullable`1 requireNonAnamorphic, Nullable`1 transcodingMaxAudioChannels, Nullable`1 cpuCoreLimit, String liveStreamId, Nullable`1 enableMpegtsM2TsMode, String videoCodec, String subtitleCodec, String transcodeReasons, Nullable`1 audioStreamIndex, Nullable`1 videoStreamIndex, Nullable`1 context, Dictionary`2 streamOptions)
at lambda_method993(Closure , Object )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Jellyfin.Server.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
[2024-02-16 09:02:14.820 -06:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-02-16 09:02:14.820 -06:00] [INF] StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/data/multimedia/REMOVED/NAME.mkv", AudioStreamIndex=1, SubtitleStreamIndex=-1 ) => ( PlayMethod=Transcode, TranscodeReason=VideoCodecNotSupported, AudioCodecNotSupported ) "media:/videos/498e9afb-9ad7-19f1-6913-32ecf3b2a26e/master.m3u8?MediaSourceId=498e9afb9ad719f1691332ecf3b2a26e&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=139616000&AudioBitrate=384000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=5fbcd2c8c8c07ca8ebf5f19aa8cf4aad&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&hevc-level=150&hevc-videobitdepth=10&hevc-profile=main10&TranscodeReasons=VideoCodecNotSupported,%20AudioCodecNotSupported"
[2024-02-16 09:02:14.844 -06:00] [INF] Deleting partial stream file(s) "/var/lib/jellyfin/transcodes/c281f19801a8f0418aed9726a60c7ad7.m3u8"
[2024-02-16 09:02:15.065 -06:00] [INF] Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-02-16 09:02:15.066 -06:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -init_hw_device vaapi=va:/dev/dri/renderD128 -init_hw_device opencl=ocl:.0,device_vendor=\"Advanced Micro Devices\" -filter_hw_device ocl -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:\"/data/multimedia/REMOVED/NAME.mkv\" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -rc_mode VBR -b:v 30948093 -maxrate 30948093 -bufsize 61896186 -force_key_frames:0 \"expr:gte(t,0+n_forced*3)\" -flags:v -global_header -vf \"setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,hwdownload,format=p010le,hwupload=derive_device=opencl,tonemap_opencl=format=nv12:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=nv12,hwupload_vaapi\" -codec:a:0 libfdk_aac -ac 2 -ab 384000 -af \"volume=2\" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename \"/var/lib/jellyfin/transcodes/3eb4a6481df4ebd5b25b2b1c523043e2%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"/var/lib/jellyfin/transcodes/3eb4a6481df4ebd5b25b2b1c523043e2.m3u8\""
[2024-02-16 09:02:15.182 -06:00] [ERR] FFmpeg exited with code 1
[2024-02-16 09:02:15.192 -06:00] [ERR] Error processing request. URL "GET" "/videos/498e9afb-9ad7-19f1-6913-32ecf3b2a26e/hls1/main/0.ts".
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
at Jellyfin.Api.Helpers.TranscodingJobHelper.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, HttpRequest request, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource, String workingDirectory)
at Jellyfin.Api.Controllers.DynamicHlsController.GetDynamicSegment(StreamingRequestDto streamingRequest, Int32 segmentId)
at Jellyfin.Api.Controllers.DynamicHlsController.GetHlsVideoSegment(Guid itemId, String playlistId, Int32 segmentId, String container, Int64 runtimeTicks, Int64 actualSegmentLengthTicks, Nullable`1 static, String params, String tag, String deviceProfileId, String playSessionId, String segmentContainer, Nullable`1 segmentLength, Nullable`1 minSegments, String mediaSourceId, String deviceId, String audioCodec, Nullable`1 enableAutoStreamCopy, Nullable`1 allowVideoStreamCopy, Nullable`1 allowAudioStreamCopy, Nullable`1 breakOnNonKeyFrames, Nullable`1 audioSampleRate, Nullable`1 maxAudioBitDepth, Nullable`1 audioBitRate, Nullable`1 audioChannels, Nullable`1 maxAudioChannels, String profile, String level, Nullable`1 framerate, Nullable`1 maxFramerate, Nullable`1 copyTimestamps, Nullable`1 startTimeTicks, Nullable`1 width, Nullable`1 height, Nullable`1 maxWidth, Nullable`1 maxHeight, Nullable`1 videoBitRate, Nullable`1 subtitleStreamIndex, Nullable`1 subtitleMethod, Nullable`1 maxRefFrames, Nullable`1 maxVideoBitDepth, Nullable`1 requireAvc, Nullable`1 deInterlace, Nullable`1 requireNonAnamorphic, Nullable`1 transcodingMaxAudioChannels, Nullable`1 cpuCoreLimit, String liveStreamId, Nullable`1 enableMpegtsM2TsMode, String videoCodec, String subtitleCodec, String transcodeReasons, Nullable`1 audioStreamIndex, Nullable`1 videoStreamIndex, Nullable`1 context, Dictionary`2 streamOptions)
at lambda_method993(Closure , Object )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Jellyfin.Server.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
[2024-02-16 09:02:15.211 -06:00] [INF] User policy for "jellyfin". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-02-16 09:02:15.211 -06:00] [INF] StreamBuilder.BuildVideoItem( Profile="Anonymous Profile", Path="/data/multimedia/REMOVED/NAME.mkv", AudioStreamIndex=1, SubtitleStreamIndex=-1 ) => ( PlayMethod=Transcode, TranscodeReason=VideoCodecNotSupported, AudioCodecNotSupported ) "media:/videos/498e9afb-9ad7-19f1-6913-32ecf3b2a26e/master.m3u8?MediaSourceId=498e9afb9ad719f1691332ecf3b2a26e&VideoCodec=h264&AudioCodec=aac,mp3&AudioStreamIndex=1&VideoBitrate=139616000&AudioBitrate=384000&MaxFramerate=23.976025&api_key=<token>&SubtitleMethod=Encode&TranscodingMaxAudioChannels=2&RequireAvc=false&Tag=5fbcd2c8c8c07ca8ebf5f19aa8cf4aad&SegmentContainer=ts&MinSegments=1&BreakOnNonKeyFrames=True&hevc-level=150&hevc-videobitdepth=10&hevc-profile=main10&TranscodeReasons=VideoCodecNotSupported,%20AudioCodecNotSupported"
[2024-02-16 09:02:15.239 -06:00] [INF] Deleting partial stream file(s) "/var/lib/jellyfin/transcodes/3eb4a6481df4ebd5b25b2b1c523043e2.m3u8"
[2024-02-16 09:02:15.474 -06:00] [INF] Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-02-16 09:02:15.475 -06:00] [INF] "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -init_hw_device vaapi=va:/dev/dri/renderD128 -init_hw_device opencl=ocl:.0,device_vendor=\"Advanced Micro Devices\" -filter_hw_device ocl -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:\"/data/multimedia/REMOVED/NAME.mkv\" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -rc_mode VBR -b:v 30948093 -maxrate 30948093 -bufsize 61896186 -force_key_frames:0 \"expr:gte(t,0+n_forced*3)\" -flags:v -global_header -vf \"setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,hwdownload,format=p010le,hwupload=derive_device=opencl,tonemap_opencl=format=nv12:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=nv12,hwupload_vaapi\" -codec:a:0 libfdk_aac -ac 2 -ab 384000 -af \"volume=2\" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename \"/var/lib/jellyfin/transcodes/048cc61c66564ab25117e1a8b7e13178%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"/var/lib/jellyfin/transcodes/048cc61c66564ab25117e1a8b7e13178.m3u8\""
[2024-02-16 09:02:15.583 -06:00] [ERR] FFmpeg exited with code 1
[2024-02-16 09:02:15.593 -06:00] [ERR] Error processing request. URL "GET" "/videos/498e9afb-9ad7-19f1-6913-32ecf3b2a26e/hls1/main/0.ts".
MediaBrowser.Common.FfmpegException: FFmpeg exited with code 1
at Jellyfin.Api.Helpers.TranscodingJobHelper.StartFfMpeg(StreamState state, String outputPath, String commandLineArguments, HttpRequest request, TranscodingJobType transcodingJobType, CancellationTokenSource cancellationTokenSource, String workingDirectory)
at Jellyfin.Api.Controllers.DynamicHlsController.GetDynamicSegment(StreamingRequestDto streamingRequest, Int32 segmentId)
at Jellyfin.Api.Controllers.DynamicHlsController.GetHlsVideoSegment(Guid itemId, String playlistId, Int32 segmentId, String container, Int64 runtimeTicks, Int64 actualSegmentLengthTicks, Nullable`1 static, String params, String tag, String deviceProfileId, String playSessionId, String segmentContainer, Nullable`1 segmentLength, Nullable`1 minSegments, String mediaSourceId, String deviceId, String audioCodec, Nullable`1 enableAutoStreamCopy, Nullable`1 allowVideoStreamCopy, Nullable`1 allowAudioStreamCopy, Nullable`1 breakOnNonKeyFrames, Nullable`1 audioSampleRate, Nullable`1 maxAudioBitDepth, Nullable`1 audioBitRate, Nullable`1 audioChannels, Nullable`1 maxAudioChannels, String profile, String level, Nullable`1 framerate, Nullable`1 maxFramerate, Nullable`1 copyTimestamps, Nullable`1 startTimeTicks, Nullable`1 width, Nullable`1 height, Nullable`1 maxWidth, Nullable`1 maxHeight, Nullable`1 videoBitRate, Nullable`1 subtitleStreamIndex, Nullable`1 subtitleMethod, Nullable`1 maxRefFrames, Nullable`1 maxVideoBitDepth, Nullable`1 requireAvc, Nullable`1 deInterlace, Nullable`1 requireNonAnamorphic, Nullable`1 transcodingMaxAudioChannels, Nullable`1 cpuCoreLimit, String liveStreamId, Nullable`1 enableMpegtsM2TsMode, String videoCodec, String subtitleCodec, String transcodeReasons, Nullable`1 audioStreamIndex, Nullable`1 videoStreamIndex, Nullable`1 context, Dictionary`2 streamOptions)
at lambda_method993(Closure , Object )
at Microsoft.AspNetCore.Mvc.Infrastructure.ActionMethodExecutor.TaskOfActionResultExecutor.Execute(IActionResultTypeMapper mapper, ObjectMethodExecutor executor, Object controller, Object[] arguments)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeActionMethodAsync>g__Awaited|12_0(ControllerActionInvoker invoker, ValueTask`1 actionResultValueTask)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeNextActionFilterAsync>g__Awaited|10_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Rethrow(ActionExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ControllerActionInvoker.<InvokeInnerFilterAsync>g__Awaited|13_0(ControllerActionInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeNextResourceFilter>g__Awaited|25_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Rethrow(ResourceExecutedContextSealed context)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.Next(State& next, Scope& scope, Object& state, Boolean& isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeFilterPipelineAsync>g__Awaited|20_0(ResourceInvoker invoker, Task lastTask, State next, Scope scope, Object state, Boolean isCompleted)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Mvc.Infrastructure.ResourceInvoker.<InvokeAsync>g__Awaited|17_0(ResourceInvoker invoker, Task task, IDisposable scope)
at Microsoft.AspNetCore.Routing.EndpointMiddleware.<Invoke>g__AwaitRequestTask|6_0(Endpoint endpoint, Task requestTask, ILogger logger)
at Jellyfin.Server.Middleware.ServerStartupMessageMiddleware.Invoke(HttpContext httpContext, IServerApplicationHost serverApplicationHost, ILocalizationManager localizationManager)
at Jellyfin.Server.Middleware.WebSocketHandlerMiddleware.Invoke(HttpContext httpContext, IWebSocketManager webSocketManager)
at Jellyfin.Server.Middleware.IpBasedAccessValidationMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager)
at Jellyfin.Server.Middleware.LanFilteringMiddleware.Invoke(HttpContext httpContext, INetworkManager networkManager, IServerConfigurationManager serverConfigurationManager)
at Microsoft.AspNetCore.Authorization.Policy.AuthorizationMiddlewareResultHandler.HandleAsync(RequestDelegate next, HttpContext context, AuthorizationPolicy policy, PolicyAuthorizationResult authorizeResult)
at Microsoft.AspNetCore.Authorization.AuthorizationMiddleware.Invoke(HttpContext context)
at Jellyfin.Server.Middleware.QueryStringDecodingMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.ReDoc.ReDocMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.SwaggerUI.SwaggerUIMiddleware.Invoke(HttpContext httpContext)
at Swashbuckle.AspNetCore.Swagger.SwaggerMiddleware.Invoke(HttpContext httpContext, ISwaggerProvider swaggerProvider)
at Microsoft.AspNetCore.Authentication.AuthenticationMiddleware.Invoke(HttpContext context)
at Jellyfin.Server.Middleware.RobotsRedirectionMiddleware.Invoke(HttpContext httpContext)
at Jellyfin.Server.Middleware.LegacyEmbyRouteRewriteMiddleware.Invoke(HttpContext httpContext)
at Microsoft.AspNetCore.ResponseCompression.ResponseCompressionMiddleware.InvokeCore(HttpContext context)
at Jellyfin.Server.Middleware.ResponseTimeMiddleware.Invoke(HttpContext context, IServerConfigurationManager serverConfigurationManager)
at Jellyfin.Server.Middleware.ExceptionMiddleware.Invoke(HttpContext context)
[2024-02-16 09:02:15.604 -06:00] [INF] Deleting partial stream file(s) "/var/lib/jellyfin/transcodes/048cc61c66564ab25117e1a8b7e13178.m3u8"
[2024-02-16 09:02:17.107 -06:00] [INF] Playback stopped reported by app "Jellyfin Web" "10.8.13" playing "XXXYYYZZ". Stopped at "0" ms
[2024-02-16 09:02:17.118 -06:00] [WRN] Slow HTTP Response from "http://10.0.0.20:8096/Sessions/Playing/Stopped" to "10.0.0.31" in 0:00:01.5146434 with Status Code 204
Code: /videos/498e9afb-9ad7-19f1-6913-32ecf3b2a26e/hls1/main/0.ts
(...)
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -init_hw_device vaapi=va:/dev/dri/renderD128 -init_hw_device opencl=ocl:.0,device_vendor="Advanced Micro Devices" -filter_hw_device ocl -hwaccel vaapi -hwaccel_output_format vaapi -autorotate 0 -i file:"/data/multimedia/PATH/FILE.mkv" -autoscale 0 -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 h264_vaapi -rc_mode VBR -b:v 30948093 -maxrate 30948093 -bufsize 61896186 -force_key_frames:0 "expr:gte(t,0+n_forced*3)" -flags:v -global_header -vf "setparams=color_primaries=bt2020:color_trc=smpte2084:colorspace=bt2020nc,hwdownload,format=p010le,hwupload=derive_device=opencl,tonemap_opencl=format=nv12:p=bt709:t=bt709:m=bt709:tonemap=bt2390:peak=100:desat=0,hwdownload,format=nv12,hwupload_vaapi" -codec:a:0 libfdk_aac -ac 2 -ab 384000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 3 -hls_segment_type mpegts -start_number 0 -hls_segment_filename "/var/lib/jellyfin/transcodes/c281f19801a8f0418aed9726a60c7ad7%d.ts" -hls_playlist_type vod -hls_list_size 0 -y "/var/lib/jellyfin/transcodes/c281f19801a8f0418aed9726a60c7ad7.m3u8"
ffmpeg version 5.1.4-Jellyfin Copyright (c) 2000-2023 the FFmpeg developers
built with gcc 12 (Debian 12.2.0-14)
configuration: --prefix=/usr/lib/jellyfin-ffmpeg --target-os=linux --extra-libs=-lfftw3f --extra-version=Jellyfin --disable-doc --disable-ffplay --disable-ptx-compression --disable-static --disable-libxcb --disable-sdl2 --disable-xlib --enable-lto --enable-gpl --enable-version3 --enable-shared --enable-gmp --enable-gnutls --enable-chromaprint --enable-libdrm --enable-libass --enable-libfreetype --enable-libfribidi --enable-libfontconfig --enable-libbluray --enable-libmp3lame --enable-libopus --enable-libtheora --enable-libvorbis --enable-libopenmpt --enable-libdav1d --enable-libsvtav1 --enable-libwebp --enable-libvpx --enable-libx264 --enable-libx265 --enable-libzvbi --enable-libzimg --enable-libfdk-aac --arch=amd64 --enable-libshaderc --enable-libplacebo --enable-vulkan --enable-opencl --enable-vaapi --enable-amf --enable-libmfx --enable-ffnvcodec --enable-cuda --enable-cuda-llvm --enable-cuvid --enable-nvdec --enable-nvenc
libavutil 57. 28.100 / 57. 28.100
libavcodec 59. 37.100 / 59. 37.100
libavformat 59. 27.100 / 59. 27.100
libavdevice 59. 7.100 / 59. 7.100
libavfilter 8. 44.100 / 8. 44.100
libswscale 6. 7.100 / 6. 7.100
libswresample 4. 7.100 / 4. 7.100
libpostproc 56. 6.100 / 56. 6.100
[AVHWDeviceContext @ 0x55b49eaefa40] No matching devices found.
Device creation failed: -19.
Failed to set value 'opencl=ocl:.0,device_vendor=Advanced Micro Devices' for option 'init_hw_device': No such device
RE: VAAPI HW accel breaks with tone mapping - zeagle - 2024-02-23
I posted this on github as well.
A few issues:
1) The problem is with the 6.5 kernel. Going back to 6.1 had the behaviour I posted above.
2) Going to jellyfin 10.9 avoids AMD's terrible OpenCL implementation and uses Mesa RADV Vulkan (thanks @nyanmisaka). Doing this I was able to transcode regular content but tone mapped content didn't work as video was black + audio worked.
3) ffmpeg -v debug -init_hw_device opencl=ocl:.0,device_vendor="Advanced Micro Devices" suggests the issue is OpenCL:
[AVHWDeviceContext @ 0x558dfd642f80] The cl_intel_va_api_media_sharing extension is required for QSV to OpenCL mapping.
[AVHWDeviceContext @ 0x558dfd642f80] QSV to OpenCL mapping not usable.
4) I couldn't figure the above out, but at this point installed docker's 10.9 jellyfin unstable, passed through /dev/dri/renderD128 and /dev/kfd, and it works! I have spent enough time on it at this point to avoid tweaking further.
Hopefully this helps someone. https://github.com/jellyfin/jellyfin/issues/11022
|