All skills
callstackincubator avatar

/react-native-tv-best-practices

@fa0bad0 official

Reviews React Native TV apps for focus/D-pad navigation, 10-foot UI layout, TV playback/DRM integration, low-memory TV performance, and TV accessibility. Use when building, debugging, or reviewing react-native-tvos, Expo TV, Amazon Vega/Kepler, or React Native web TV targets where the issue depends on remote input, TV focus, TV packaging, TV hardware, or TV playback constraints.

Use this Skill: https://skilld.dev/gh/callstackincubator/agent-skills/react-native-tv-best-practices

This session only. Nothing lands on disk.

referencesvideo-streaming.md

≈536 tokens on demand. Your agent reads this file only when SKILL.md points to it.

Video Streaming on TV

Use this reference to choose the TV platform playback path and to classify playback failures by protocol, DRM, decoder, or memory pressure.

Quick Reference

  • Pick protocol/DRM per target platform; do not assume one stream package covers every TV device
  • Verify hardware DRM level and decoder capability before changing React player controls
  • Tear down unused preview/player instances before starting another stream
  • Keep video buffer sizing conservative on 1-2 GB TV devices

Pick DRM/Protocol by TV Platform

Platform Native player DRM Protocol
Apple TV (tvOS) AVPlayer FairPlay HLS
Android TV / Google TV ExoPlayer Widevine DASH (or HLS)
Fire TV ExoPlayer Widevine (PlayReady on some SKUs) DASH
webOS / Tizen platform web player Widevine / PlayReady DASH (HLS varies)

A cross-platform app typically ships an HLS+FairPlay path for Apple and a DASH-based path for other platforms, with Widevine or PlayReady chosen per device support; plan the encode/packaging for both.

TV Hardware Constraints That Bite

  • Security level is enforced in hardware. Widevine L1 / FairPlay require hardware-backed decryption for HD/4K; low-end SKUs may only offer L3 (SD-capped). Detect and degrade gracefully rather than failing playback.
  • Decoders are limited and shared. A TV may decode one 4K stream at a time; trailers + main content can contend. Tear down players you aren't using.
  • Memory is shared with the video buffer — see perf-memory.md. Oversized buffers on a 1–2 GB device cause OOM, not just jank.

DRM in any case requires a valid license server, app entitlements/permissions, and sometimes native player configuration (security level, hardware decryption).

Related Skills

Source: SKILL.md on GitHub

No alerts1mo3 checks · Risk SAFE
  • Gen Agent Trust Hub1mo

    This skill provides comprehensive documentation and best practices for developing React Native applications for TV platforms. It contains technical guidelines for focus management, performance, and video playback without any malicious patterns, obfuscation, or unsafe code execution.

  • Socket1mo

    No alerts

  • Snyk1mo

    Risk: LOW · No issues

Signed by skilld at fa0bad0. This ties the file your Agent reads to that commit on GitHub. It does not review the instructions.

Last checked against GitHub 2 weeks ago.

Activeupdated 2 months ago

README badge

README badge for callstackincubator/agent-skills/react-native-tv-best-practices