I’ve noticed that iPhones, especially older ones w...
# ask-ai
s
I’ve noticed that iPhones, especially older ones with battery health below 90%, get significantly hot and the thermal status often reaches ‘serious’. Enforcing H.264 seems to improve the situation slightly by reducing CPU load — likely because it avoids converting from an I420 buffer before rendering (which happens when the other side uses VP8). Have you encountered this issue, and does using H.264 actually help reduce overheating?
t
Thanks for reaching out, Denis. I'm an AI assistant and I'm here to help. Give me a moment while I research this topic.
Using H.264 can really help keep your iPhone from overheating, especially if it’s an older model with battery health below 90%. That’s because H.264 usually uses hardware acceleration for encoding and decoding, which means the CPU doesn’t have to work as hard compared to codecs like VP8 or VP9. When the CPU works less, your device stays cooler—something that’s super helpful for phones that don’t manage heat as well. Here are a few tips to help you get the best performance and keep things running smoothly: • Make sure H.264 is set as your go-to video codec. • Turn on hardware acceleration if your device supports it. • Think about lowering the video resolution or bitrate, especially on older devices. • Keep an eye on video quality settings and tweak them based on how your device is handling things. If you want, I’m here to help you set these up or answer any questions you have—just let me know! Sources: Configuring the Client SDK for Optimal Video Quality | Swift & iOS SDK | livekit/livekit_composite | DeepWiki | Video codecs | LiveKit Docs | src/room/participant/publishUtils.ts | WebRTC Video Bitrate Guide - LiveKit
s
Are you aware of any LiveKit issues or previously asked and answered questions related to this topic?
t
Hey there! LiveKit has tackled some of these issues and offers handy tools to help manage performance on devices like iPhones: • The LiveKit JS SDK (versions ≥2.14.0) now includes a
ParticipantEvent.LocalTrackCpuConstrained
event that helps detect when the CPU is under strain. This can automatically reduce video quality to keep things running smoothly and prevent overheating. • They’ve added support for H.265 codecs starting from version 2.15.0, which means better compression and potentially less CPU usage and heat. • If you’re working specifically with iOS, the LiveKit Swift SDK docs have some great tips on managing CPU and memory usage more efficiently. If you want a hand setting any of this up or optimizing your current setup, just give me a shout—I’m here to help! Sources: Optimizing Video Calls for Low-Powered Devices in LiveKit (JS SDK ≥ v2.14... | .github/ISSUE_TEMPLATE/config.yml | .github/ISSUE_TEMPLATE/bug_report.md