As a module of ApsaraVideo MediaBox SDK, Push SDK provides a variety of stable and easy-to-use features with high performance in live streaming and video-on-demand (VOD) scenarios, such as live stream ingest, co-streaming, and streamer challenge. This topic describes the features supported by Push SDK.
Core features
Feature | Description | Scenario |
Live stream ingest | Supports stream ingest over Real-Time Messaging Protocol (RTMP) or Real-Time Streaming (RTS), and provides stable and fast stream ingest experience by using policies such as stream ingest optimization policies and hardware and software coding policies. | Live streaming initiated by streamers |
Co-streaming | Supports co-streaming with low latency based on Real-Time Communication (RTC). The latency of audio and video interaction between streamers and viewers is less than 400 ms. | Co-streaming and streamer challenge |
Screen recording | Collects the image of a mobile phone and system sounds as live streaming sources. | Video game live streaming |
Integration with user interfaces (UIs) | Provides scenario-based UI components for audio and video applications. The open source demo allows you to modify the configurations based on your business requirements. | E-commerce live streaming, enterprise live streaming, and live streaming of large classes |
Features
The following tables describe the features supported by Push SDK.
Table 1: Live stream ingest
Feature | Description |
Stream ingest over RTMP | Supports stream ingest over RTMP and resolutions from 180p to 720p. We recommend that you set the resolution to 540p. |
Stream ingest over RTS | Supports stream ingest over in-house RTS based on UDP to provide lower latency and higher performance in unstable network environments. |
Supplemental enhancement information (SEI) insertion | Packages text with audio and video content by using a streaming channel, pushes the package from the stream ingest client, and then receives the package from the stream pulling client. This ensures the precise synchronization of text and audio and video content. |
Audio and video encoding protocols | Supports the software and hardware encoding of H.264 video files, H.265 video files, and Advanced Audio Coding (AAC) audio files. |
Adaptive bitrate | Supports automatic bitrate adjustment during stream ingest based on network conditions. Multiple modes are supported to ensure smooth live streaming. |
Adaptive resolution | Supports automatic resolution adjustment during stream ingest based on network conditions. This adjustment is supported only by the quality-first mode and smoothness-first mode. |
Automatic reconnection during stream ingest | Supports automatic reconnection for failed connections during stream ingest. |
Stream ingest from cameras | Collects the images of cameras as streaming sources and supports the switchover between multiple cameras. |
Live stream recording | Push SDK for iOS: allows you to record live streams by using ReplayKit. Push SDK for Android: allows you to record mixed live streams from cameras. Supports Narrowband HD™, which provides better image quality at the same bitrate. |
Ingest of external streams | Allows you to ingest external audio and video streams for live streaming. |
Ingest of images | Allows you to ingest an image after you switch to the background or when the network connection is unstable. |
Audio-only stream ingest | Supports the collection and ingest of only audio streams to save bandwidth and traffic in audio-only scenarios. |
Background stream ingest | Ensures continuous stream ingest during the switch between the foreground and background. When you switch to the foreground, live streaming continues. |
Table 2: Co-streaming
Feature | Description |
Co-streaming | Supports up to 15 viewers to co-stream with a streamer. |
Streamer challenge | Supports the challenge between streamers. |
Table 3: Integration with UIs
Feature | Description |
AUI Kits | Provides scenario-based UI components for audio and video applications. The open source demo allows you to modify the configurations based on your business requirements. |
Table 4: Video collection
Feature | Description |
Stream collection parameters | Supports multiple stream collection parameters, such as the resolution, frame rate, audio sampling rate, group of pictures (GOP) size, and bitrate. You can configure these parameters to meet various stream collection requirements. |
Resolution | Supports multiple resolutions and allows you to shoot videos in various aspect ratios, such as 16:9, 4:3, and 1:1. |
Display mode | Supports stream ingest in portrait, landscape left, and landscape right modes. |
Mirroring mode | Allows you to mirror the video images that are collected from cameras and mirror ingested streams. To use this feature, you must enable the mirroring feature of the front camera. |
Autofocus and manual focus | Allows you to enable or disable the autofocus feature. You can also manually set the focus point. |
Image scaling | Supports the scaling of collected images based on the zoom ratio of the camera. |
Camera switching and flash | Allows you to switch between the front camera and rear camera, and turn on or turn off the flash when you use the rear camera. |
Photo capture | Supports the capture of photos. |
Watermarks | Supports the real-time insertion and removal of animated watermarks during live streaming. You can add up to three watermarks, and specify the position and size of each watermark. |
Video pause | Supports the pause of video or audio during live streaming. |
Table 5: Audio collection
Feature | Description |
Background music | Supports the operations on the background music, such as the start, stop, pause, resume, and loop operations. |
Pitch adjustment | Supports the adjustment of the pitch. |
Audio mixing | Allows you to mix music with vocals and adjust the volume of music and vocals. |
In-ear monitoring | Supports in-ear monitoring. For example, when streamers are singing with a headset, they can hear their voice from the headset in real time. This meets the live streaming requirements in karaoke scenarios. |
Mute mode | Allows you to mute the microphone and ingest only video images. |
Volume adjustment | Allows you to adjust the volume of vocals to adapt to the change of distances and ensure the stability of volume. |
Table 6: Audio effects
Feature | Description |
Noise reduction | Reduces noise that comes from the environment and mobile phones. |
Stereophonic sound | Supports the stream ingest of stereophonic sounds in mono or binaural mode. |
Voice change | Supports the change of the voice during live streaming, such as lively female voice or husky male voice. |
Reverberation | Supports multiple custom sound effects such as echo and robot by using the voice change and reverberation features. |
Table 7: Retouching
Feature | Description |
Basic retouching | Supports basic retouching effects such as skin smoothing, skin whitening, and rosy cheeks. If you want to use advanced retouching effects such as the makeup and stickers, purchase Queen SDK. |
References
For more information about the terms related to Push SDK, see the "Push SDK" section of the Terms topic.