Jellyfin Forum
SOLVED: Unnecessary transcoding - Printable Version

+- Jellyfin Forum (https://forum.jellyfin.org)
+-- Forum: Support (https://forum.jellyfin.org/f-support)
+--- Forum: Troubleshooting (https://forum.jellyfin.org/f-troubleshooting)
+--- Thread: SOLVED: Unnecessary transcoding (/t-solved-unnecessary-transcoding)



Unnecessary transcoding - hyunjuan - 2024-08-25

Version:10.9.9
Client:Windows / Chrome
Server:Linux/Docker
Video File Format: HEVC 3840x2160 24fps 13777 kbit/s [V: hevc main L5.0, yuv420p, 3840x2160, 13777 kb/s]



===

When I play a video with a bitrate of 13.8Mbps through the Jellyfin WebUI behind a VPS reverse proxy, it force triggers the conversion to 1080p-10Mbps.
It shows “Reason for transcoding: The video's bitrate exceeds the limit.” On the same client, when I play it over LAN, it plays it directly without transcoding.

I'm pretty sure that the Jellyfin server/VPS server's network is enough to handle the direct playback of the video. I've left the Internet streaming bitrate limit blank or set it to 500 and it doesn't work.

Is there any way to turn off the bitrate limit. Or at least make it higher.

Thanks


Log
Code:
[2024-08-25 16:00:19.642 +00:00] [INF] [86] Jellyfin.Api.Helpers.MediaInfoHelper: User policy for "hyunjuan". EnablePlaybackRemuxing: True EnableVideoPlaybackTranscoding: True EnableAudioPlaybackTranscoding: True
[2024-08-25 16:00:19.642 +00:00] [INF] [86] Jellyfin.Api.Helpers.MediaInfoHelper: RemoteClientBitrateLimit: 500000000, RemoteIP: "", IsInLocalNetwork: False
[2024-08-25 16:00:21.255 +00:00] [INF] [19] Jellyfin.Api.Controllers.DynamicHlsController: Current HLS implementation doesn't support non-keyframe breaks but one is requested, ignoring that request
[2024-08-25 16:00:21.255 +00:00] [INF] [19] MediaBrowser.MediaEncoding.Transcoding.TranscodeManager: "/usr/lib/jellyfin-ffmpeg/ffmpeg" "-analyzeduration 200M -probesize 1G -f mov,mp4,m4a,3gp,3g2,mj2 -noautorotate -i file:\"/media/OPUS/Ryuichi Sakamoto - Opus.mp4\" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset ultrafast -crf 23 -maxrate 9306789 -bufsize 18613578 -x264opts:0 subme=0:me_range=4:rc_lookahead=10:me=dia:no_chroma_me:8x8dct=0:partitions=none -force_key_frames:0 \"expr:gte(t,n_forced*3)\" -sc_threshold:v:0 0 -vf \"setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,1920)/2)*2:trunc(ow/a/2)*2,format=yuv420p\" -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 \"7379a6f6581064efdab692d0b2a9a9ff-1.mp4\" -start_number 0 -hls_segment_filename \"/cache/transcodes/7379a6f6581064efdab692d0b2a9a9ff%d.mp4\" -hls_playlist_type vod -hls_list_size 0 -y \"/cache/transcodes/7379a6f6581064efdab692d0b2a9a9ff.m3u8\""



RE: Unnecessary transcoding - TheDreadPirate - 2024-08-25

In the web UI, can you click on the gear in the bottom right and change the quality from auto to 60Mbps?


RE: Unnecessary transcoding - hyunjuan - 2024-08-25

You're right! Manually switching the quality to 4K-80Mbps does become direct playing.

But is there any way to solve this problem on the server side. For me it was no problem to find this situation and switch the quality manually. But it might be a bit hard to ask my family to do that. So it would be great if I could make it so that the client doesn't have to adjust the settings.

Thank you so much!

===
Edit:
I tried using Findroid (Android), and didn't encounter this issue. However, when using the WebUI (Android Chrome), it still transcodes by default.


RE: Unnecessary transcoding - TheDreadPirate - 2024-08-25

There are server side bit rate limits and client side bit rate. Both are taken into consideration. What may be happening is that the "auto" setting is incorrectly detecting how fast your network connection is. Most of our clients have a maximum bit rate setting that you can manually set to a very high bit rate so that this shouldn't be an issue.


RE: Unnecessary transcoding - hyunjuan - 2024-09-04

I solved the problem by setting Networking > LAN networks to 0.0.0.0/0.
Is there any disadvantage or security risk in this setting?


RE: Unnecessary transcoding - TheDreadPirate - 2024-09-04

There is.  Password resets are only allowed on local networks.  By setting all addresses as local, anyone can initiate a password reset if they happen to stumble upon your Jellyfin.  Though they still require SSH access to retrieve the temporary PIN.

The better solution is to change this setting.