edde746
1ee648f442
fix(plex): direct play a source the quality preset already covers
...
Any quality preset other than Original started a transcode even when the
file was already well under it: a 6.2 Mbps 1080p h264 source under the
"1080p 10 Mbps" preset came back from PMS as a 10.4 Mbps encode, so capping
quality on mobile data spent more data than leaving it uncapped, plus server
CPU nobody asked for (#2152 ).
A preset is a ceiling, so a version that fits under both its bitrate and its
resolution is now served by the file itself, on the same direct-play path
Original takes, and no transcode decision is sent at all. Height counts as
well as bitrate because the preset's label promises a resolution too, and a
device that asked for 1080p may not decode the 4K source a bitrate-only
comparison would hand it. An unreported bitrate or height leaves the
transcode standing.
The comparison has to happen in the client: PMS answers directPlay=1 with
"Direct play OK" whatever bitrate cap the request carries, measured on 1.43
with a 65 Mbps 4K source under a 10 Mbps cap, so its MDE cannot be asked to
enforce one. Plex Web reaches its own directPlay/directStream flags the same
way, folding the preset's bitrate into its client-side direct-play profile
first. Jellyfin already gets this right server-side.
close #2152
2026-08-27 20:37:56 +02:00
..
2026-08-21 19:23:42 +02:00
2026-08-24 02:10:35 +02:00
2026-08-25 03:07:14 +02:00
2026-08-21 19:23:44 +02:00
2026-07-24 03:46:46 +02:00
2026-08-17 19:02:25 +02:00
2026-07-30 11:55:13 +02:00
2026-08-24 13:41:44 +02:00
2026-07-26 04:24:55 +02:00
2026-08-10 20:28:41 +02:00
2026-08-14 13:36:29 +02:00
2026-08-06 03:45:09 +02:00
2026-08-20 13:31:03 +02:00
2026-08-24 00:08:10 +02:00
2026-07-11 17:38:22 +02:00
2026-07-05 14:16:04 +02:00
2026-08-24 02:13:28 +02:00
2026-06-14 13:40:16 +02:00
2026-07-30 14:57:26 +02:00
2026-08-21 19:23:40 +02:00
2026-07-24 03:56:40 +02:00
2026-07-24 03:46:46 +02:00
2026-08-27 16:58:52 +02:00
2026-08-27 16:58:52 +02:00
2026-08-24 19:27:20 +02:00
2026-08-06 03:45:09 +02:00
2026-08-17 19:02:19 +02:00
2026-08-17 19:02:25 +02:00
2026-05-01 01:20:36 +02:00
2026-07-29 05:19:27 +02:00
2026-08-17 19:02:25 +02:00
2026-08-05 07:14:11 +02:00
2026-07-26 03:41:19 +02:00
2026-08-21 19:23:40 +02:00
2026-08-09 17:50:58 +02:00
2026-08-27 09:21:48 +02:00
2026-07-28 05:07:00 +02:00
2026-08-17 19:02:18 +02:00
2026-08-21 19:23:39 +02:00
2026-08-24 12:32:05 +02:00
2026-08-10 20:28:41 +02:00
2026-08-26 16:53:14 +02:00
2026-08-02 07:08:14 +02:00
2026-08-05 06:09:26 +02:00
2026-08-05 06:09:26 +02:00
2026-08-02 06:40:04 +02:00
2026-07-24 03:46:46 +02:00
2026-08-09 17:50:58 +02:00
2026-08-24 00:08:11 +02:00
2026-07-24 03:46:46 +02:00
2026-08-24 00:08:11 +02:00
2026-08-21 19:23:39 +02:00
2026-08-17 19:02:23 +02:00
2026-08-10 20:28:41 +02:00
2026-08-25 08:42:48 +02:00
2026-08-17 13:46:33 +02:00
2026-07-24 03:46:46 +02:00
2026-08-17 17:13:26 +02:00
2026-08-17 13:47:00 +02:00
2026-08-23 17:51:27 +02:00
2026-08-18 06:09:11 +02:00
2026-08-04 04:35:06 +02:00
2026-07-18 20:04:09 +02:00
2026-07-26 06:09:47 +02:00
2026-08-24 00:08:11 +02:00
2026-08-17 20:20:20 +02:00
2026-08-10 20:28:41 +02:00
2026-08-25 08:42:48 +02:00
2026-08-05 06:09:26 +02:00
2026-07-26 06:09:48 +02:00
2026-08-18 04:06:11 +02:00
2026-08-03 02:34:37 +02:00
2026-07-17 23:09:07 +02:00
2026-08-17 19:02:25 +02:00
2026-08-18 19:38:30 +02:00
2026-08-17 19:02:18 +02:00
2026-08-27 16:59:08 +02:00
2026-08-24 19:27:20 +02:00
2026-08-17 19:02:25 +02:00
2026-08-02 16:16:19 +02:00
2026-07-13 02:15:03 +02:00
2026-07-26 06:09:49 +02:00
2026-08-10 21:23:55 +02:00
2026-08-25 08:42:48 +02:00
2026-08-17 19:02:25 +02:00
2026-08-17 19:02:25 +02:00
2026-08-27 16:59:08 +02:00
2026-08-21 19:23:45 +02:00
2026-08-27 10:16:05 +02:00
2026-08-02 06:40:04 +02:00
2026-08-04 16:56:54 +02:00
2026-07-29 05:19:27 +02:00
2026-08-17 21:46:12 +02:00
2026-08-18 19:47:52 +02:00
2026-08-26 20:28:19 +02:00
2026-08-21 07:44:27 +02:00
2026-07-16 14:36:48 +02:00
2026-08-20 05:44:08 +02:00
2026-07-12 17:31:12 +02:00
2026-08-27 20:37:56 +02:00
2026-07-29 05:19:27 +02:00
2026-08-17 19:02:22 +02:00
2026-08-02 09:29:59 +02:00
2026-05-16 22:54:53 +02:00
2026-07-12 17:31:16 +02:00
2026-07-12 17:31:12 +02:00
2026-08-01 06:59:20 +02:00
2026-08-01 06:59:20 +02:00
2026-08-01 06:59:20 +02:00
2026-08-02 04:37:29 +02:00
2026-07-31 21:45:32 +02:00
2026-08-18 06:09:11 +02:00
2026-08-17 19:02:25 +02:00
2026-07-12 08:42:25 +02:00
2026-08-25 08:42:48 +02:00
2026-08-27 14:14:01 +02:00
2026-07-26 19:41:23 +02:00
2026-07-24 03:46:50 +02:00
2026-08-10 20:28:41 +02:00
2026-08-02 04:37:29 +02:00
2026-08-10 20:28:41 +02:00
2026-07-30 14:57:26 +02:00
2026-07-26 19:41:23 +02:00
2026-08-24 05:23:05 +02:00
2026-08-24 12:32:05 +02:00
2026-07-26 06:09:47 +02:00
2026-08-21 19:23:39 +02:00
2026-07-24 03:56:40 +02:00
2026-07-24 03:46:46 +02:00
2026-08-26 16:53:14 +02:00
2026-08-10 14:17:40 +02:00
2026-07-24 03:46:46 +02:00
2026-08-17 19:02:25 +02:00