Reporting a playback difference between the tvOS and macOS Channels clients, in
case it's something the tvOS player can mitigate.
Symptom: Content from a source that captures with variable/irregular frame
timing (PrismCast → YouTube TV, HEVC 1080p) plays with continuous stop-motion
judder on my Apple TV 4K (tvOS 26.5, current), on both live and recordings. The
exact same recordings play perfectly smoothly in Channels on macOS. Local,
non-PrismCast files also play smoothly on the same Apple TV.
What I've ruled out (all tested):
- Network — fully wired; same files smooth on macOS
- Codec — stutters with both HEVC and H.264
- Frame rate — stutters at both 30fps and 60fps capture settings
- HLS segment duration — 2s and 6s both stutter
- Device/OS/app — Apple TV restart, Channels app reinstall, and Match Frame Rate
on/off all made no difference; other apps (Netflix, Apple TV+) are smooth;
local files through Channels are smooth
Root cause: ffprobe confirms the source is variable frame rate with irregular
PTS intervals (avg_frame_rate=0/0; ~14–18 ms spacing with sporadic 31 ms/2 ms
pairs; non-monotonic DTS on remux). Converting to constant frame rate with ffmpeg
(-fps_mode cfr) fully resolves the stutter on the Apple TV. So macOS tolerates VFR
that the tvOS client renders as judder.
Question: Is there anything the tvOS Channels player can do to handle VFR /
irregular-PTS HLS more gracefully (as the macOS client apparently does)? I'm also
filing this upstream with the capture tool, but the macOS-vs-tvOS difference
suggested it was worth raising here too. Happy to provide sample files or ffprobe
output.
link to Prismcast post: GitHub.com/hjdhjd/prismcast/