Font Size: a A A

Design And Implementation Of Android Audio Video Communication System Based On WebRTC

Posted on:2019-04-19Degree:MasterType:Thesis
Country:ChinaCandidate:C WuFull Text:PDF
GTID:2428330575450879Subject:Integrated circuit engineering
Abstract/Summary:PDF Full Text Request
With the gradual improvement of network access bandwidth,applications in many fields are expected to be able to embed real-time communication functions.However,at present,communications applications of domestic and foreign all use their own private communications standards so they cannot implement cross-terminal communications,such as WeChat and Skype and so on.Google opened the source of WebRTC(Web Real-TimeCommunication)technology aims to unify the Internet communication standards and solve the problems of jitter,delay,and high CPU usage due to insufficient hardware resources in the mobile terminal.Therefore,this project uses WebRTC technology to design and implement an audio and video real-time communication system across the application terminal on the Android platform.The main research contents and work of this article are shown as follows:(1)Study the WebRTC technology principle and main structure.After analyzing and studying the principle and performance of the audio and video codec,iSAC and VP8 are selected as the audio and video codecs respectively;Analyzed the principles and structure of UDP and RTP/RTCP in depth,combined with the advantages of UDP in real-time communication applications,and the characteristics of RTP in dealing with packet loss,out-of-order and audio-video synchronization,and finally choosing both as the transport layer protocol of the system.(2)Complete the design and construction of the server.Build the server on Ubuntu platform as required.The first is the Room Server,which can maintain the call and manage the caller's joining and exit;followed by the signaling server,the client needs to perform signaling interaction before establishing communication,and the Signaling Server plays the role of signaling;Complex network conditions,analysis of different types of NAT and its penetration scheme,and build STUN/TURN/ICE Server that can implement NAT penetration function on this basis.(3)Design and implement various module functions of the client.Build a WebRTC Android-side download and compile environment on the Ubuntu platform,download and compile the WebRTC.Android-side low-level source code.The audio and video acquisition and transmission functions of the client are realized by encapsulating and invoking the underlying source code.In order to compensate for the packet loss problem of UDP communication,the NACK mechanism is introduced,and the bandwidth adaptation function is also embedded to adapt to the constantly changing network bandwidth.(4)Test the main functions and collect and analyze the main data.Test audio and video communication functions between the same application and different applications.The test results show that the system has the characteristics of cross-application terminals.The system can dynamically adjust the frame rate according to the different network conditions.The packet loss rate is basically maintained between 6%and 7%.The CPU usage rate is about 10%,and the delay time is about 80ms.The WebRTC-based audio and video communication system module designed in this paper has a clear division of labor,easy maintenance,and strong scalability.At the same time,the NACK packet loss retransmission function is introduced to effectively reduce the loss of data packets in real-time communication scenarios.The research results of this topic have practical application value for the design of audio and video real-time communication.
Keywords/Search Tags:WebRTC, Audio and Video Communication, NACK, RTP/RTCP, Real-time
PDF Full Text Request
Related items