Also worth mentioning. Jellyfin runs on an M2 SSD (Samsung 990 Pro 1TB mirrored), while the media is on a separate volume.
laptop web client
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -i file:"/tv/The Day of the Jackal/S01/The Day of the Jackal S01E08.mkv" -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 -ac 2 -ab 256000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "4f22728d1495142e29d2ef66ca0dfeaf-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/4f22728d1495142e29d2ef66ca0dfeaf%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/cache/transcodes/4f22728d1495142e29d2ef66ca0dfeaf.m3u8"
phone (Samsung ultra s24)
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -ss 00:02:33.000 -noaccurate_seek -i file:"/tv/The Day of the Jackal/S01/The Day of the Jackal S01E08.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset veryfast -crf 23 -maxrate 8320620 -bufsize 16641240 -profile:v:0 high -level 41 -x264opts:0 subme=0:me_range=16:rc_lookahead=10:me=hexpen_gop=0 -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)\,min(1920\,1080*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(1920/a\,1080))/2)*2,format=yuv420p" -codec:a:0 libfdk_aac -ac 2 -ab 256000 -af "volume=2" -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 "b5ed9e17548680bd041213daff1819c5-1.mp4" -start_number 51 -hls_segment_filename "/cache/transcodes/b5ed9e17548680bd041213daff1819c5%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/cache/transcodes/b5ed9e17548680bd041213daff1819c5.m3u8"
phone streaming to tv
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -i file:"/tv/The Day of the Jackal/S01/The Day of the Jackal S01E08.mkv" -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -force_key_frames "expr:gte(t,n_forced*5)" -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(1920\,1080*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(1920/a\,1080))/2)*2,format=yuv420p" -preset veryfast -crf 23 -maxrate 8320620 -bufsize 16641240 -level 41 -x264opts:0 subme=0:me_range=16:rc_lookahead=10:me=hexpen_gop=0 -map_metadata -1 -map_chapters -1 -threads 0 -codec:a:0 copy -y "/cache/transcodes/c27668d50539ad63cb1eac51191dafcc.ts"
laptop web client
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -fflags +genpts -i file:"/tv/The Day of the Jackal/S01/The Day of the Jackal S01E08.mkv" -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 -ac 2 -ab 256000 -af "volume=2" -copyts -avoid_negative_ts disabled -max_muxing_queue_size 2048 -f hls -max_delay 5000000 -hls_time 6 -hls_segment_type fmp4 -hls_fmp4_init_filename "4f22728d1495142e29d2ef66ca0dfeaf-1.mp4" -start_number 0 -hls_segment_filename "/cache/transcodes/4f22728d1495142e29d2ef66ca0dfeaf%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/cache/transcodes/4f22728d1495142e29d2ef66ca0dfeaf.m3u8"
phone (Samsung ultra s24)
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -ss 00:02:33.000 -noaccurate_seek -i file:"/tv/The Day of the Jackal/S01/The Day of the Jackal S01E08.mkv" -map_metadata -1 -map_chapters -1 -threads 0 -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -preset veryfast -crf 23 -maxrate 8320620 -bufsize 16641240 -profile:v:0 high -level 41 -x264opts:0 subme=0:me_range=16:rc_lookahead=10:me=hexpen_gop=0 -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)\,min(1920\,1080*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(1920/a\,1080))/2)*2,format=yuv420p" -codec:a:0 libfdk_aac -ac 2 -ab 256000 -af "volume=2" -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 "b5ed9e17548680bd041213daff1819c5-1.mp4" -start_number 51 -hls_segment_filename "/cache/transcodes/b5ed9e17548680bd041213daff1819c5%d.mp4" -hls_playlist_type vod -hls_list_size 0 -y "/cache/transcodes/b5ed9e17548680bd041213daff1819c5.m3u8"
phone streaming to tv
/usr/lib/jellyfin-ffmpeg/ffmpeg -analyzeduration 200M -probesize 1G -i file:"/tv/The Day of the Jackal/S01/The Day of the Jackal S01E08.mkv" -map 0:0 -map 0:1 -map -0:s -codec:v:0 libx264 -force_key_frames "expr:gte(t,n_forced*5)" -vf "setparams=color_primaries=bt709:color_trc=bt709:colorspace=bt709,scale=trunc(min(max(iw\,ih*a)\,min(1920\,1080*a))/2)*2:trunc(min(max(iw/a\,ih)\,min(1920/a\,1080))/2)*2,format=yuv420p" -preset veryfast -crf 23 -maxrate 8320620 -bufsize 16641240 -level 41 -x264opts:0 subme=0:me_range=16:rc_lookahead=10:me=hexpen_gop=0 -map_metadata -1 -map_chapters -1 -threads 0 -codec:a:0 copy -y "/cache/transcodes/c27668d50539ad63cb1eac51191dafcc.ts"