# Tencent RTC RTC Engine — iOS > RTC Engine documentation for iOS platform. ## Core SDK ### Get Started - [Activate Service](https://pre.trtc.io/document/73281.md): Tencent RTC-Engine is a real-time communication SDK offering audio and video call capabilities, cloud recording, mixed-stream transcoding, and live streaming relay. This guide helps users activate the trial service, create applications, run demos, purchase official subscriptions, renew or upgrade editions, and enable automatic renewal. Follow step-by-step instructions to quickly start using Tencent RTC-Engine for your audio and video communication needs. - [Run the Demo](https://pre.trtc.io/document/35086.md): The TRTC iOS SDK Quick Start Guide helps developers quickly run the demo on iOS platforms using Xcode 11.0 or later. It provides step-by-step instructions including downloading the demo code, configuring SDKAppID and SDKSecretKey from the TRTC Console, and running the demo in Objective-C or Swift. This guide is intended for developers looking to experience TRTC's real-time communication features on iOS devices. - [Integration](https://pre.trtc.io/document/62044.md): The iOS TRTC SDK Quickstart guide provides step-by-step instructions for developers to implement basic audio and video call functionality using Objective-C. It covers prerequisites, SDK integration via CocoaPods or Swift Package Manager, project configuration, creating TRTC instances, and managing audio/video streams on iPhone and iPad devices running iOS 9.0 or later. ### Basic Features - [UserSig Authentication](https://pre.trtc.io/document/35166.md): This guide explains how to calculate UserSig, a security signature for Tencent-RTC services, during the debugging phase. It covers obtaining SDKAppID and SDKSecretKey from the Tencent-RTC console and generating UserSig using client sample code on multiple platforms including Android, iOS, Web, Windows, Flutter, and Mac. The steps ensure secure authentication for developers testing Tencent-RTC SDKs before official deployment. - [Network Quality Probing](https://pre.trtc.io/document/48272.md): Tencent RTC SDKs for Android, iOS, Windows, and macOS enable developers to detect network quality before and during video calls. This guide explains how to perform speed testing using the startSpeedTest API, interpret key parameters such as packet loss, latency, and bandwidth, and use the results to optimize server selection and enhance call experience. Step-by-step instructions and sample code snippets are provided to help you integrate network quality detection into your applications. - [Video Quality & Encoding Profiles](https://pre.trtc.io/document/35153.md): TRTCCloud SDK provides video quality configuration options for multiple platforms including iOS, Android, macOS, Windows, Web, Electron, and Flutter. It supports scenario-based settings through TRTCAppScene, encoding parameters via TRTCVideoEncParam, and network policies using TRTCNetworkQosParam to optimize video call and live streaming experiences. This overview details recommended configurations for resolution, frame rate, and bitrate tailored to scenarios such as video calls, conferencing, and online education to meet diverse project needs. - [Video Rotation](https://pre.trtc.io/document/35154.md): Tencent RTC TRTC SDK quickstart guide for Android, iOS, Windows, and macOS explains how to implement portrait and landscape video modes. It covers setting app orientation, configuring video encoder parameters, and customizing local and remote image rotation and rendering. This guide helps developers deliver video call and live streaming experiences with correct page orientation and image adaptation. - [Live Streaming Mode](https://pre.trtc.io/document/64695.md): Tencent Real-Time Communication (TRTC) provides a live streaming SDK supporting iOS, Android, Mac OS, Windows, Web, Electron, and Flutter platforms. This guide explains how to implement live streaming in the TRTC_APP_SCENE_LIVE scenario by managing user roles as Host or Audience. Key steps include entering the room with appropriate roles, publishing streams as a Host, and subscribing as an Audience, enabling scalable live broadcasting with up to 100,000 audience members. - [Device Management](https://pre.trtc.io/document/64696.md): Tencent Real-Time Communication (TRTC) Live Streaming SDK provides developers with comprehensive media device control capabilities. This guide explains how to turn on/off the microphone and camera, control the camera preview, toggle the flash, enable or disable face focus, and detect speaking status after mute, enabling flexible media management during live streaming on Android, iOS, Mac, and Windows platforms. - [Volume Control](https://pre.trtc.io/document/64697.md): The TRTC SDK quickstart guide demonstrates how to detect and adjust the volume levels of local and remote microphones across Android, iOS, Mac, and Windows platforms. It provides step-by-step instructions to enable audio volume evaluation, receive real-time volume feedback through callbacks, and configure volume parameters to manage audio input effectively for interactive audio and video communication scenarios. - [Screen Sharing](https://pre.trtc.io/document/37338.md): The TRTC SDK for iOS provides two screen sharing methods: in-app sharing for content within the current app, and cross-app sharing using Apple's ReplayKit for system-wide content sharing. This guide helps iOS developers implement screen sharing by detailing setup steps including encoding parameter recommendations for in-app sharing and configuring Broadcast Upload Extensions with App Groups for cross-app sharing. ### Advanced Features - [Custom Capturing and Rendering](https://pre.trtc.io/document/35158.md): The TRTC SDK provides custom video capturing and rendering capabilities for Android, iOS, Windows, and macOS platforms. This guide explains how to enable custom video capturing, send custom video frames, and set up local and remote video rendering callbacks. It includes platform-specific API examples and details on video data formats to help developers implement customized video processing and rendering workflows. - [Custom Audio Processing](https://pre.trtc.io/document/47635.md): The TRTC SDK guide for Android, iOS, Windows, and macOS demonstrates how to enable custom audio capturing, send custom audio frames, and set audio callbacks. This quickstart helps developers integrate custom audio capturing features across multiple platforms, providing step-by-step API usage examples to capture and render audio data effectively. - [Basic Beauty Effects](https://pre.trtc.io/document/64698.md): This tutorial explains how to enable and configure beauty effects in TRTC live broadcast SDK. It guides users through setting up skin smoothing, whitening, ruddy, and facial special effects such as enlarging eyes and slimming face. The guide covers applying beauty algorithms, adjusting whitening and ruddy levels, adding color filters, and using animated effects across Android, iOS, Mac, and Windows platforms. Prerequisites include having an SDKAppID and ensuring RTC service availability. - [Background Music & Audio Mixing](https://pre.trtc.io/document/64699.md): Tencent RTC Engine provides a background music SDK that enables developers to play, pause, resume, and stop background music during live streaming sessions. This guide covers the essential steps to integrate background music playback on Android, iOS, Mac, and Windows platforms, including setting playback parameters, handling playback events, adjusting volume and pitch, and controlling playback speed. - [AI Noise Suppression](https://pre.trtc.io/document/66039.md): AI Noise Suppression is a feature within the Tencent RTC Engine that leverages AI algorithms from Tencent Tianlai Laboratory to intelligently detect and remove noise interference from transmitted audio signals. Designed for use in diverse environments such as offices, internet cafes, malls, and outdoors, it significantly improves voice clarity and user listening experience. This technology is enabled by default when using TRTCAudioQualitySpeech, allowing users to enjoy high-quality noise suppression without additional configuration. - [Custom Messages / SEI Messages](https://pre.trtc.io/document/47866.md): The TRTC SDK is a real-time communication SDK that enables anchors in a video room to send custom messages to other participants. This guide covers the steps to send custom messages on supported platforms including iOS, Android, Web, macOS, Windows, Electron, and Flutter. It explains how to use the sendCustomCmdMsg API with required parameters such as message ID, data content, and reliability options to ensure ordered and reliable message delivery. - [Media Stream Encryption](https://pre.trtc.io/document/61828.md): Tencent Real-Time Communication (TRTC) SDK offers media stream private encryption to secure user data transmission in sensitive industries like finance. This guide explains how developers on iOS, Android, Windows, and macOS can enable private encryption by generating keys and salts on the server, configuring the SDK, and ensuring all users in a room use consistent encryption settings. It covers prerequisites, implementation steps, and example code to integrate this enhanced security feature. - [Video Snapshot Upload](https://pre.trtc.io/document/64802.md): The TRTC Video Screenshot Upload SDK feature enables automatic capture and upload of video screenshots for use cases such as third-party content review and cover image setting. Available on Android, iOS/Mac, and Windows with the Pro Edition package, it requires enabling the feature in the TRTC Console and configuring storage on Tencent Cloud COS or AWS S3. Developers can control screenshot intervals and stream types via an experimental SDK API and receive server-side event callbacks through configurable HTTP/HTTPS endpoints with retry mechanisms to ensure reliable notification delivery. ### Client APIs - [Overview](https://pre.trtc.io/document/35119.md): The TRTCCloud API overview provides a comprehensive reference for real-time audio and video communication SDK functionalities. It includes detailed descriptions of instance creation, event callbacks, room management, CDN streaming, video and audio controls, device management, screen sharing, and other advanced features. This API documentation is designed for developers integrating Tencent RTC capabilities on iOS and macOS platforms to build interactive communication applications. - [TRTCCloud](https://pre.trtc.io/document/50754.md): TRTCCloud is the core API of Tencent Real-Time Communication SDK, designed for developers to implement real-time audio and video communication features across multiple platforms such as iOS and macOS. It offers extensive capabilities including room management, stream publishing, local and remote media control, network quality adjustment, and custom audio/video processing. This reference details the methods available for managing user roles, video previews, audio routing, screen sharing, and more to enable seamless interactive communication experiences. - [TRTCCloudDelegate](https://pre.trtc.io/document/50755.md): TRTCCloudDelegate is an interface within the TRTC Video Call SDK that provides comprehensive event callback APIs for managing video call features. It enables developers on iOS and macOS platforms to handle room entry and exit, user media stream availability, network quality, device status changes, and publishing events. This delegate facilitates real-time monitoring and control of video and audio streams, ensuring seamless interactive communication experiences. - [TRTCStatistics](https://pre.trtc.io/document/50756.md): TRTCStatistics is a read-only API module in the TRTC SDK that provides developers with real-time audio and video metrics such as frame rate, bitrate, lag, and network performance. It supports detailed local and remote statistics reporting to help monitor media quality on platforms including iOS and macOS. This API enables precise tracking of audio/video stream quality and network conditions every two seconds. - [TXAudioEffectManager](https://pre.trtc.io/document/50757.md): TXAudioEffectManager is an API class for managing background music, short audio effects, and voice effects within Tencent RTC. It enables developers to control voice reverb, voice changing, in-ear monitoring, and background music playback with detailed parameters such as volume, pitch, speed, and track selection. This API supports platforms including iOS and macOS, providing comprehensive audio effect management for real-time communication applications. - [TXBeautyManager](https://pre.trtc.io/document/50758.md): TXBeautyManager is a beauty filter and image processing SDK module that provides APIs to adjust beautification effects, color filters, and green screen settings on iOS and macOS platforms. It enables developers to configure skin smoothing styles, filter strengths, facial feature modifications, and animated effects with precise parameter controls to enhance video and image quality in real time. - [TXDeviceManager](https://pre.trtc.io/document/50759.md): TXDeviceManager is an audio/video device management SDK module that provides APIs to control and monitor cameras, microphones, and speakers on desktop and mobile platforms. It supports device switching, zoom control, autofocus, torch mode, audio routing, volume adjustment, mute control, and device testing. This reference details the key methods, callbacks, and data structures for managing media devices effectively. - [Type Definition](https://pre.trtc.io/document/50760.md): The TRTC Type Definitions document provides detailed enumerated types and constant values essential for configuring video resolution, encoding parameters, network quality, audio settings, and transcoding in the TRTC SDK. It is designed for developers working on iOS and macOS platforms to accurately implement and control real-time communication features with precise parameter settings. - [Deprecated Interface](https://pre.trtc.io/document/50761.md): The TRTCCloud Deprecated Interface List provides a comprehensive reference of legacy APIs for the Tencent RTC TRTCCloud SDK. It details deprecated methods related to video beauty effects, camera and microphone controls, audio playback, screen sharing, and event callbacks. This documentation is intended for developers maintaining or migrating applications using older versions of the TRTCCloud SDK on iOS and macOS platforms. - [Error Codes](https://pre.trtc.io/document/54573.md): The TRTC SDK error code reference documents warning and error codes encountered during the use of Tencent RTC's TRTC SDK across platforms such as Windows, macOS, iOS, and Android. It helps developers identify causes of issues like camera or microphone access failures, permission denials, encoding errors, and API call rejections, providing detailed descriptions to facilitate troubleshooting and resolution. ### Solution - [Quick Integration](https://pre.trtc.io/document/41940.md): TUIKaraoke is an open-source audio/video UI component SDK designed for iOS that enables developers to add online karaoke, seat management, gift giving, and text chat features to their applications. This quickstart guide walks through the essential steps including downloading and importing the component, configuring necessary permissions, initializing and logging in, and implementing the online karaoke scenario with optional chat and gift features. - [Implementation Steps](https://pre.trtc.io/document/57023.md): This guide explains the implementation steps for building a complete online Karaoke scenario using Tencent RTC. It covers essential modules including room management, seat management, song selection management, and Karaoke management. The document details how to create and manage Karaoke rooms, control seat interactions, and handle song selection and queue management, providing a comprehensive approach for developers to build interactive Karaoke experiences. - [Song Synchronization](https://pre.trtc.io/document/57025.md): This guide explains the real-time song synchronization process for chorus scenarios on iOS using Tencent RTC. It covers key steps including NTP time calibration, sending and receiving chorus signals, and playback progress correction to ensure low latency and accurate synchronization among participants. The instructions include code examples for integrating these features with the TRTC SDK. - [Lyric Synchronization](https://pre.trtc.io/document/57028.md): This guide details the lyrics synchronization implementation process on iOS using Tencent RTC SDK. It explains how main singers, chorus, and audience roles synchronize lyrics through NTP time calibration, black frame insertion, and SEI message transmission. Key steps include enabling black frame insertion after entering the room, sending song progress via SEI messages at intervals of around 200ms, and updating local and remote lyrics accordingly. The instructions include essential code snippets for developers to integrate lyrics synchronization effectively. - [Vocal Synchronization](https://pre.trtc.io/document/57032.md): The iOS TRTC SDK guide demonstrates how to synchronize vocals and songs by enabling chorus mode and low-latency mode. It targets developers integrating real-time audio features to reduce delays between vocal and background music playback. Key steps include enabling chorus mode for vocal and accompaniment instances and activating high-performance audio AAudio to achieve low latency and improved audio synchronization. - [Mixing Stream Solution](https://pre.trtc.io/document/57035.md): This iOS quickstart guide for TRTCCloud SDK demonstrates how to create main and sub-instances for vocal and accompaniment streaming, enter rooms, push audio streams, and initiate mixed stream transcoding. It targets developers implementing real-time chorus scenarios, providing step-by-step instructions to manage audio uplink, mute remote streams, preload and play accompaniment music, and configure transcoding parameters for seamless audio mixing. - [TRTCKaraoke APIs](https://pre.trtc.io/document/41942.md): TRTCKaraokeRoom is an iOS SDK built on Tencent Real-Time Communication (TRTC) and Tencent Cloud Chat that enables developers to create and manage karaoke rooms with speaker and listener roles. It provides APIs for room creation, music playback control, seat management, local and remote audio handling, messaging, and invitation signaling. This reference details the available methods and callbacks to integrate real-time karaoke features with low-latency audio chat and interactive messaging. - [FAQs](https://pre.trtc.io/document/57038.md): The iOS FAQ for TRTC SDK covers common ear monitoring issues in karaoke scenarios, including how to enable ear monitoring, address latency problems especially with Bluetooth headsets, and improve performance using hardware ear monitoring. It also explains NTP time synchronization warnings, network speed test recommendations, and error handling to ensure a stable karaoke experience. ### FAQ - [FAQs for Beginners](https://pre.trtc.io/document/38104.md): Tencent Real-Time Communication (TRTC) FAQs provide essential information for beginners about the TRTC SDK, including UserSig security, supported platforms, room capacity, live streaming roles, screen sharing, and troubleshooting common issues. This guide helps developers understand how to use TRTC features effectively and resolve typical problems encountered during integration and usage. - [Billing](https://pre.trtc.io/document/42298.md): Tencent Real-Time Communication (TRTC) Billing FAQ provides detailed answers on billing methods, discounts for high-demand customers, usage tracking, and cost estimation. It explains how TRTC services are billed, how to view bills and usage details, and clarifies billing for audio and video durations. The FAQ also covers how free minutes and Monthly Active Users (MAU) are calculated across multiple subscription packages with the same SDKAppID, helping users manage and estimate their TRTC service expenses effectively. - [Features](https://pre.trtc.io/document/36057.md): Tencent Real-Time Communication (TRTC) SDK offers a comprehensive platform for developing interactive audio and video communication applications. Designed for developers needing group audio/video calls and low-latency live streaming, TRTC supports diverse scenarios such as video calls, live streaming, and voice chat rooms. Key features include flexible role management, manual stream subscription, support for large concurrent audiences, and multi-platform demos for rapid deployment. - [Firewall Restrictions](https://pre.trtc.io/document/35164.md): Tencent TRTC SDK firewall restriction FAQ provides detailed guidance on the ports and domain names to add to firewall allowlists for native SDK and WebRTC clients. It also explains how to configure proxies using Nginx and Coturn to enable client access to the TRTC SDK from private networks, ensuring smooth connectivity and compliance with network security requirements. - [How to Downsize Installation Package](https://pre.trtc.io/document/35165.md): This FAQ document addresses how to reduce the installation package size after integrating the TRTC SDK for iOS and Android platforms. It explains the file size increments caused by the SDK and provides detailed methods such as packaging only specific architectures for iOS, enabling Bitcode, and selectively packaging or downloading .so files for Android. These solutions help developers optimize app size while maintaining TRTC SDK functionalities. - [TRTCCalling for Web](https://pre.trtc.io/document/43096.md): TRTCCalling for Web is a real-time communication SDK based on TRTC and TIM that enables one-to-one and group audio/video calls. This FAQ page helps developers and users resolve common issues such as browser compatibility, network quality testing, device permission errors, and integration challenges. It provides detailed explanations and solutions for errors encountered during audio/video calls and SDK operations to ensure smooth communication experiences. - [Audio and Video Quality](https://pre.trtc.io/document/43094.md): Tencent Real-Time Communication (TRTC) SDK offers comprehensive troubleshooting guidance for audio and video quality issues. This FAQ helps developers and users resolve common problems such as black bars in video images, video stutter, low-quality or blurry videos, audio volume and echo issues, and device status errors. It also explains how to monitor network status and adjust video orientation and mirroring settings to optimize call and streaming experiences. - [Others](https://pre.trtc.io/document/36058.md): Tencent Real-Time Communication (TRTC) FAQ provides solutions to common issues and questions related to live streaming, interactive live streaming, relayed live streaming, and TRTC usage. It covers topics such as differences between streaming types, user ID conflicts, playback stuttering, room entry errors, log viewing, error codes, and cross-room calls. This guide helps developers and users troubleshoot and optimize their TRTC and live streaming experience across multiple platforms including iOS, Android, Windows, and Web. - [iOS FAQs](https://pre.trtc.io/document/37341.md): Tencent Real-Time Communication (TRTC) SDK FAQ for Android and iOS addresses common questions about system volume types, screen sharing, cross-platform communication, architecture support, Swift integration, background running, event listening, co-anchoring, multi-room login, and SDK version management. This guide helps developers understand how to configure and use TRTC features effectively on mobile devices.