jellyfin / jellyfin-web

Web Client for Jellyfin
https://jellyfin.org
GNU General Public License v2.0
2.17k stars 1.15k forks source link

Enforce "Maximum Allowed Audio Channels" Setting #5715

Open SaltySP opened 2 weeks ago

SaltySP commented 2 weeks ago

Jellyfin added new audio downmix algorithms in 10.9. The user setting for max channels is ignored as it only applies for transcoding, not direct play. I tried editing the device profile but was unable to get any working results.

Screenshot 2024-06-19 130430 Screenshot 2024-06-19 130314 Here is a log of whats happening, no ffmpeg being used:

[2024-06-19 13:18:43.329 +02:00] [INF] [29] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "Salty". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-06-19 13:18:53.716 +02:00] [INF] [29] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Web" "10.9.6" playing "Episode 2". Stopped at "407940" ms

This is what is supposed to happen, Jellyfin Media Player with forced transcode:

Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "Salty". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-06-19 13:28:37.494 +02:00] [INF] [63] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: "ffmpeg" "-analyzeduration 200M -probesize 1G -fflags +genpts  -i file:\"U:\Archive 3\Series\A Discovery of Witches (2018)\Season 02\A.Discovery.of.Witches.S02E02.mp4\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 libfdk_aac -ab 256000 -ar 48000 -af \"volume=0.8,pan=stereo|c0=0.5*c2+0.707*c0+0.707*c4+0.5*c3|c1=0.5*c2+0.707*c1+0.707*c5+0.5*c3\" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type mpegts -start_number 0 -hls_segment_filename \"C:\Users\Salty\AppData\Local\Jellyfin\cache\transcodes\b729e4fd245a439a5c831924cd9a6789%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"C:\Users\Salty\AppData\Local\Jellyfin\cache\transcodes\b729e4fd245a439a5c831924cd9a6789.m3u8\""
[2024-06-19 13:28:37.779 +02:00] [INF] [100] MediaBrowser.Controller.MediaEncoding.TranscodingJob: Stopping ffmpeg process with q command for "C:\Users\Salty\AppData\Local\Jellyfin\cache\transcodes\b729e4fd245a439a5c831924cd9a6789.m3u8"
[2024-06-19 13:28:37.837 +02:00] [INF] [100] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 0
[2024-06-19 13:28:37.838 +02:00] [INF] [100] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: "ffmpeg" "-analyzeduration 200M -probesize 1G -ss 00:06:48.500 -fflags +genpts  -i file:\"U:\Archive 3\Series\A Discovery of Witches (2018)\Season 02\A.Discovery.of.Witches.S02E02.mp4\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 copy -tag:v:0 hvc1 -bsf:v hevc_mp4toannexb -start_at_zero -codec:a:0 libfdk_aac -ab 256000 -ar 48000 -af \"volume=0.8,pan=stereo|c0=0.5*c2+0.707*c0+0.707*c4+0.5*c3|c1=0.5*c2+0.707*c1+0.707*c5+0.5*c3\" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type mpegts -start_number 68 -hls_segment_filename \"C:\Users\Salty\AppData\Local\Jellyfin\cache\transcodes\b729e4fd245a439a5c831924cd9a6789%d.ts\" -hls_playlist_type vod -hls_list_size 0 -y \"C:\Users\Salty\AppData\Local\Jellyfin\cache\transcodes\b729e4fd245a439a5c831924cd9a6789.m3u8\""
[2024-06-19 13:28:42.959 +02:00] [INF] [23] MediaBrowser.Controller.MediaEncoding.TranscodingJob: Stopping ffmpeg process with q command for "C:\Users\Salty\AppData\Local\Jellyfin\cache\transcodes\b729e4fd245a439a5c831924cd9a6789.m3u8"
[2024-06-19 13:28:42.979 +02:00] [INF] [23] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: Deleting partial stream file(s) "C:\Users\Salty\AppData\Local\Jellyfin\cache\transcodes\b729e4fd245a439a5c831924cd9a6789.m3u8"
[2024-06-19 13:28:42.979 +02:00] [INF] [7] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: FFmpeg exited with code 0
[2024-06-19 13:28:44.520 +02:00] [INF] [69] Emby.Server.Implementations.Session.SessionManager: Playback stopped reported by app "Jellyfin Media Player" "1.11.1" playing "Episode 2". Stopped at "418242" ms
dmitrylyzo commented 2 weeks ago

The app is just a wrapper. Everything that is implemented in Jellyfin Web is available in the app after rebuild.

SaltySP commented 2 weeks ago

Ok, I'll post this in the jellyfin web repo. Thanks

dmitrylyzo commented 2 weeks ago

Hmm. Tbf, I thought it worked for DirectPlay as well, but looking at the code, it doesn't. I just move this to web.