我要评分
获取效率
正确性
完整性
易理解

Software Architecture

This section describes the context logical structure and modules (including module functions) of the video stream cloud phone.

Figure 1 Video stream cloud phone architecture

The video stream engine consists of a server and a client. The server provides functions such as image acquisition and encoding, and the client decodes and plays video data. In some scenarios, functions such as obtaining and injecting user touch data, and obtaining and playing audio data are also supported.

Module

Function

Capture module

Obtains image data. The output format is the RGBA video RAM address or RGBA memory address.

Encoding module

Encodes YUV data into H.264/H.265 streams and sends the streams through external APIs of the video stream engine.

GPU acceleration module

Converts the RGBA data obtained by the capture module into YUV data or video streams by utilizing GPU capabilities.

Audio data collection

Obtains audio data, outputs audio data in OPUS or PCM format, and sends the data through external APIs of the video stream engine.

Microphone injection

Obtains OPUS or PCM data from external APIs of the video stream engine and injects the data to the Android system.

Touch data distribution

Injects touch data into the Android cloud phone on the server.

External APIs

External APIs of the video stream engine server.