feat: add direct play and 4K streaming guide sections#1
Conversation
|
No actionable comments were generated in the recent review. 🎉 ℹ️ Recent review info⚙️ Run configurationConfiguration used: defaults Review profile: CHILL Plan: Pro Run ID: 📒 Files selected for processing (1)
✅ Files skipped from review due to trivial changes (1)
📝 WalkthroughWalkthroughAdds two new optional feature flags ( Changes
Estimated code review effort🎯 3 (Moderate) | ⏱️ ~20 minutes Poem
🚥 Pre-merge checks | ✅ 3✅ Passed checks (3 passed)
✏️ Tip: You can configure your own custom pre-merge checks in the settings. ✨ Finishing Touches🧪 Generate unit tests (beta)
Comment |
There was a problem hiding this comment.
🧹 Nitpick comments (1)
plex-guide/docs/index.md (1)
537-538: Minor: Consider moving the separator inside the conditional block.When
has_4k_contentisfalse, this results in two consecutive---separators (one at the end of Smart TV Limitations and this one), creating extra whitespace. This is a cosmetic issue but could be cleaner.🔧 Suggested fix
| Watch 1080p if 4K transcodes | Force 4K on a device that can't handle it | +--- + {% endif %} ----🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plex-guide/docs/index.md` around lines 537 - 538, The trailing horizontal rule is rendered unconditionally after the `{% endif %}`, causing duplicate `---` separators when `has_4k_content` is false; move the `---` separator inside the conditional that depends on `has_4k_content` (i.e., include the `---` before the `{% endif %}` within the same block that renders Smart TV Limitations/4K content) so the separator is only emitted when `has_4k_content` is true.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@plex-guide/docs/index.md`:
- Around line 537-538: The trailing horizontal rule is rendered unconditionally
after the `{% endif %}`, causing duplicate `---` separators when
`has_4k_content` is false; move the `---` separator inside the conditional that
depends on `has_4k_content` (i.e., include the `---` before the `{% endif %}`
within the same block that renders Smart TV Limitations/4K content) so the
separator is only emitted when `has_4k_content` is true.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: a3459cab-6b9b-4ad0-bdbb-3a9b0e577533
📒 Files selected for processing (4)
README.mdplex-guide/docs/index.mdplex-guide/mkdocs.sample.ymlplex-guide/setup.sh
Adds two new sections to the plex guide template: - Direct Play: general guidance on getting the best quality - 4K Streaming: specific 4K considerations, device compatibility, bandwidth Controlled by has_4k_content variable (default: true).
Add has_direct_play variable to independently toggle the direct play optimization section from the 4K streaming section.
Add build/lint/preview badges, document each Material for MkDocs theme feature with descriptions. Add navigation.instant and content.code.annotate to the template.
8cfcff3 to
b5c81c2
Compare
There was a problem hiding this comment.
Actionable comments posted: 1
🧹 Nitpick comments (2)
plex-guide/docs/index.md (2)
532-539: Excellent summary table.The Quick Reference provides an at-a-glance guide that reinforces the key advice from both new sections. The do/don't format is user-friendly and actionable.
Optional: Add cross-reference to Direct Play section
To complete the "natural reference" relationship mentioned in the PR objectives, consider adding a note above the Quick Reference:
!!! tip "See Also" For general direct play guidance on any quality, see [Direct Play (Best Quality)](`#direct-play-best-quality`) above. ### Quick ReferenceThis would help users navigate between the related sections.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plex-guide/docs/index.md` around lines 532 - 539, Add the suggested "See Also" tip above the "Quick Reference" table: insert a short tip block referencing the existing "Direct Play (Best Quality)" anchor (use the link text [Direct Play (Best Quality)](`#direct-play-best-quality`)) immediately before the "Quick Reference" heading so users can easily navigate between the related sections; ensure the tip uses the same markdown admonition style shown (e.g., !!! tip "See Also") and is placed directly above the table.
440-492: Excellent addition! Clear, actionable guidance.The Direct Play section provides valuable user-facing documentation with practical steps and important warnings. The web browser transcoding caveat is particularly well-highlighted.
Minor enhancement: Add cross-reference to 4K section
Consider adding a cross-reference to help users with 4K content navigate between related sections:
After line 491, you could add:
!!! tip "Watching 4K Content?" See the [4K Streaming](`#4k-streaming`) section below for device requirements and bandwidth considerations.This would strengthen the "natural reference" relationship mentioned in the PR objectives.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@plex-guide/docs/index.md` around lines 440 - 492, Add a short cross-reference tip about 4K content immediately after the "Direct Play (Best Quality)" section (i.e., just before the closing "{% endif %}" for that block). Insert an admonition such as: '!!! tip "Watching 4K Content?" See the [4K Streaming](`#4k-streaming`) section below for device requirements and bandwidth considerations.' to point readers to the 4K Streaming section and improve discoverability.
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Inline comments:
In `@plex-guide/docs/index.md`:
- Around line 506-513: Update the device capability table so it doesn't present
absolute Yes/No answers: change the "4K Direct Play" and "Lossless Audio" cells
(and the "HDR" column where applicable) to indicate "Depends on media
codec/container" or similar, and add a short clarifying sentence immediately
above or below the table stating that Direct Play support depends on the media's
video codec, audio codec, container, and subtitle format (e.g., TrueHD may force
transcoding on some devices); alternatively expand the table to include common
codec examples per device. Reference the table header ("Device | 4K Direct Play
| HDR | Lossless Audio") and update those cell values and the prose note
accordingly.
---
Nitpick comments:
In `@plex-guide/docs/index.md`:
- Around line 532-539: Add the suggested "See Also" tip above the "Quick
Reference" table: insert a short tip block referencing the existing "Direct Play
(Best Quality)" anchor (use the link text [Direct Play (Best
Quality)](`#direct-play-best-quality`)) immediately before the "Quick Reference"
heading so users can easily navigate between the related sections; ensure the
tip uses the same markdown admonition style shown (e.g., !!! tip "See Also") and
is placed directly above the table.
- Around line 440-492: Add a short cross-reference tip about 4K content
immediately after the "Direct Play (Best Quality)" section (i.e., just before
the closing "{% endif %}" for that block). Insert an admonition such as: '!!!
tip "Watching 4K Content?" See the [4K Streaming](`#4k-streaming`) section below
for device requirements and bandwidth considerations.' to point readers to the
4K Streaming section and improve discoverability.
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: ff24439c-6262-4762-a11c-46934fcbdbe3
📒 Files selected for processing (4)
README.mdplex-guide/docs/index.mdplex-guide/mkdocs.sample.ymlplex-guide/setup.sh
🚧 Files skipped from review as they are similar to previous changes (2)
- plex-guide/mkdocs.sample.yml
- plex-guide/setup.sh
| | Device | 4K Direct Play | HDR | Lossless Audio | | ||
| |--------|:-:|:-:|:-:| | ||
| | **Nvidia Shield TV Pro** | Yes | Yes | Yes | | ||
| | **Apple TV 4K** | Yes | Yes | Partial | | ||
| | **Fire TV Stick 4K Max** | Yes | Yes | No | | ||
| | **Onn 4K Google TV** | Yes | Yes | No | | ||
| | **Most Smart TVs** | Varies | Varies | No | | ||
| | **Web Browser** | No | No | No | |
There was a problem hiding this comment.
🧩 Analysis chain
🏁 Script executed:
#!/bin/bash
# Description: Search for existing device capability references in the codebase
# and check if there's any version-specific documentation
rg -n "Shield TV Pro|Apple TV 4K|Fire TV Stick 4K Max|Onn 4K" --type md -C2Repository: baker-scripts/docs-templates
Length of output: 1643
🌐 Web query:
Plex 4K direct play device compatibility 2026
💡 Result:
Plex doesn’t publish a single “4K Direct Play compatible devices” list for 2026—Direct Play is determined at playback time based on whether your client device/app supports the container + video codec + audio codec + subtitles you’re trying to play; otherwise Plex will Direct Stream (remux) or Transcode. [1]
Devices that are commonly recommended for 4K Direct Play (local network)
From Plex community support guidance, these external streamers are repeatedly recommended over most built-in TV apps for reliable 4K playback:
- NVIDIA Shield TV / Shield TV Pro (Android TV)
- Apple TV 4K
- Amazon Fire TV Stick 4K Max (Gen 2)
- Roku (e.g., higher-end models like Ultra)
[2]
Common reasons your “4K” stops Direct Playing (even on good devices)
- Unsupported audio (often the real culprit): if the client can’t bitstream/play the selected track (e.g., TrueHD / DTS variants), Plex may transcode audio and sometimes triggers other compatibility fallbacks. (General rule: any unsupported stream can force transcode.) [1]
- Subtitles (burn-in): if the client can’t render the subtitle format, Plex may have to burn subtitles into the video, which forces transcoding. This is a frequent issue on some platforms (notably with image-based subs like PGS). [1][3]
- Container mismatch: some clients/apps may not Direct Play certain containers (and will remux/Direct Stream instead). Plex’s “supported formats” guidance notes container limitations exist per app/platform. [4]
Practical “most compatible” 4K Direct Play media profile (works on the widest range)
If you’re building/ripping/encoding for maximum odds of Direct Play across devices:
- Video: HEVC (H.265), Main10 for HDR where applicable
- Audio: AAC / EAC3 (Dolby Digital Plus) often travels better than TrueHD/DTS-HD across TVs/streamers
- Subtitles: SRT (text-based) whenever possible (avoid PGS when you want to prevent burn-in)
- Client setting: ensure “Original” quality / Direct Play enabled (per-client setting)
If you tell me (1) your target playback device(s), (2) whether you need Dolby Vision/HDR10(+), and (3) whether you need TrueHD/DTS-HD passthrough, I can give a tighter “will Direct Play / will transcode” matrix for your setup.
Sources: Plex Direct Play/Direct Stream/Transcoding overview [1], Plex forum device recommendations for 4K playback (Dec 2025 thread) [2], discussion of PGS subtitle incompatibility causing transcoding [3], Plex “What media formats are supported?” (platform/container limits vary) [4].
Clarify that device 4K capabilities depend on media codec, not just device hardware.
The table presents device capabilities as absolute (Yes/No), but Plex Direct Play depends on the specific media format being played—video codec, audio codec, container, and subtitle format all matter. A device marked "Yes" for 4K Direct Play may still transcode if the media uses unsupported codecs (e.g., TrueHD audio on some devices). The "Lossless Audio" column is particularly problematic since support varies by audio codec, not universally by device. Consider either adding codec-specific details or noting that Direct Play outcomes depend on media format compatibility, not device capability alone.
🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed.
In `@plex-guide/docs/index.md` around lines 506 - 513, Update the device
capability table so it doesn't present absolute Yes/No answers: change the "4K
Direct Play" and "Lossless Audio" cells (and the "HDR" column where applicable)
to indicate "Depends on media codec/container" or similar, and add a short
clarifying sentence immediately above or below the table stating that Direct
Play support depends on the media's video codec, audio codec, container, and
subtitle format (e.g., TrueHD may force transcoding on some devices);
alternatively expand the table to include common codec examples per device.
Reference the table header ("Device | 4K Direct Play | HDR | Lossless Audio")
and update those cell values and the prose note accordingly.
There was a problem hiding this comment.
🧹 Nitpick comments (1)
README.md (1)
142-142: Consider hyphenating the compound adjective.The phrase "full page reload" should be "full-page reload" when used as a compound adjective modifying the noun (reload).
📝 Suggested fix
-| `navigation.instant` | Loads pages via XHR without full page reload for faster navigation | +| `navigation.instant` | Loads pages via XHR without full-page reload for faster navigation |🤖 Prompt for AI Agents
Verify each finding against the current code and only fix it if needed. In `@README.md` at line 142, Update the README table cell for `navigation.instant` to hyphenate the compound adjective: change "Loads pages via XHR without full page reload for faster navigation" to "Loads pages via XHR without full-page reload for faster navigation" so the phrase "full-page" correctly modifies "reload".
🤖 Prompt for all review comments with AI agents
Verify each finding against the current code and only fix it if needed.
Nitpick comments:
In `@README.md`:
- Line 142: Update the README table cell for `navigation.instant` to hyphenate
the compound adjective: change "Loads pages via XHR without full page reload for
faster navigation" to "Loads pages via XHR without full-page reload for faster
navigation" so the phrase "full-page" correctly modifies "reload".
ℹ️ Review info
⚙️ Run configuration
Configuration used: defaults
Review profile: CHILL
Plan: Pro
Run ID: 2bb76ed3-aa43-48da-a64b-0da8e68c55a1
📒 Files selected for processing (4)
README.mdplex-guide/docs/index.mdplex-guide/mkdocs.sample.ymlplex-guide/setup.sh
🚧 Files skipped from review as they are similar to previous changes (3)
- plex-guide/mkdocs.sample.yml
- plex-guide/setup.sh
- plex-guide/docs/index.md
eeb66c9 to
b5c81c2
Compare
Summary
has_4k_contentvariable (default:true)Changes
plex-guide/docs/index.md— two new sections between Smart TV Limitations and More Helpplex-guide/mkdocs.sample.yml— newhas_4k_contentvariableplex-guide/setup.sh— prompt and config update forhas_4k_contentREADME.md— variable reference updatedChecklist
mkdocs build){{ }}in output)setup.shstill works (if modified)Summary by CodeRabbit
Documentation
Chores