当前位置:网站首页>Anyrtc implements application scenarios based on webrtc
Anyrtc implements application scenarios based on webrtc
2022-06-30 15:11:00 【anyRTC】
Preface
WebRTC, The name comes from web instant messaging ( English :Web Real-Time Communication) Abbreviation , Is a web browser to support real-time voice or video dialogue API. It's on 2011 year 6 month 1 Japan open source and in Google、Mozilla、Opera With the support of W3C Recommended standards .anyRTC stay WebRTC On the basis of , With years of development experience and in combination with the actual situation , Developed be based on WebRTC Cloud platform for audio and video communication , Provide interactive teaching 、 Lianmai live 、 Videoconferencing 、 Command and dispatch and other audio and video cross platform solutions .

WebRTC history
2010 year 5 month ,Google With 6820 Million dollars for VoIP Software developers Global IP Solutions Of GIPS engine , And changed it to “WebRTC”.WebRTC Use GIPS engine , Realized video conference based on Web page , And support 722,PCM,ILBC,ISAC Equal coding , Also use Google's own VP8 Video decoding ; Support at the same time RTP/SRTP Transmission, etc .
2012 year 1 month , Google has integrated this software into Chrome Browser . meanwhile FreeSWITCH The project claims to support iSAC audio codec.
WebRTC The core API
WebRTC Native APIs The document is based on WebRTC It's written out of specifications , these API Can be divided into Network Stream API、 RTCPeerConnection、Peer-to-peer Data API Three types of :
Network Stream API
- MediaStream:MediaStream Used to represent a media stream .
- MediaStreamTrack Represent a media source in a browser .
RTCPeerConnection
- RTCPeerConnection: One RTCPeerConnection Object allows users to communicate directly between two browsers .
- RTCIceCandidate: It means a ICE Candidates for the agreement .
- RTCIceServer: It means a ICE Server.
Peer-to-peer Data API
- DataChannel: Data channel (DataChannel) Interface represents a bidirectional data channel between two nodes .
WebRTC Yes IT The benefits of infrastructure
TCO WebRTC It works with the help of a web browser , So you don't need a separate audio device , Or connected to the private exchange IP/ Analog telephone and software telephone . Traditionally , Used to use a physical phone , But maintaining them costs a lot . and , Money associated with maintaining physical phones has been added to more and more infrastructure budgets . When WebRTC After the invention , All the above expenses have been reduced . When you use WebRTC When , No installation at all , maintain , Or support work , The audio channel is just you UI Part of .WebRTC It also allows your salesperson to log in remotely .
ad-hoc Expand Usually , The infrastructure team needs a whole month of hard work and a lot of expenses to launch a contact center . But with WebRTC, It only takes less than a week for the same contact center to go online . This will also help organizations and start-ups deploy staff in various regions , And there is no need to invest time and money in audio equipment .
Network and bandwidth usage and security WebRTC Support multiple media formats and terminals , This can help provide the best audio and video communication between your staff and the server .WebRTC Use Opus Audio codec , Experts say this is based on Skype SILK Codec technology codec Is the best audio decoding .Opus The code supports all bandwidth , Narrowband , Broadband , Ultra wide band , And full band . It means WebRTC Better than the human ear to distinguish sound .
WebRTC The overall architecture of the audio engine

On the internal implementation , Audio engine VoiceEngineImpl Through a series of objects to achieve audio processing , Include VoEAudioProcessingImpl、VoECodecImpl、VoENetworkImpl wait , Each object is responsible for a specific function , for example VoEAudioProcessingImpl Responsible for calling the underlying AudioProcessing The module preprocesses the audio data . In these functional objects , More important are VoEBaseImpl、SharedData and Channel. among VoEBaseImpl It's connecting audio devices AudioDevice And the audio engine VoiceEngineImpl The link between , It's an important station in the audio data pipeline ;SharedData It's an aggregate class , Holding a range of important objects ;Channel Represents a channel of audio data , Responsible for most of the important operation of the data , Including audio data preprocessing 、 codec 、 Send and receive 、 post-processing 、 Mix, etc .
In terms of functional dependency ,VoiceEngineImpl It relies on five important underlying functional modules : Audio data acquisition and playback AudioDeviceModule 、 Audio data preprocessing AudioProcessing、 Audio data codec AudioCodingModule、 Receiver audio data buffer NetEq、 Receiver mix AudioConferenceMixer. In addition, audio data encoding and decoding also relies on a series of audio encoding and decoding, such as G711、G722、Opus wait . At the sending end , The audio data is generated by AudioDevice Collect and get , after AudioProcessing After pretreatment , arrive AudioCodingModule Encoding , Then from RTPRTCP The module is sent to the network . At the receiving end , The audio data goes through RTPRTCP The module receives and arrives at AudioCodingModule, Stored in NetEq Jitter control and error elimination are carried out in , Then decode . The decoded data goes through AudioConferenceMixer Mix , Finally sent to AudioDeviceModule Play it .
From the whole WebRTC In terms of frame structure , The audio engine and the video engine are both at the bottom , Responsible for the collection of audio and video data 、 codec 、 Rendering and playing . The upper layer of audio and video engine is multimedia engine WebRtcMediaEngine2, It's about the underlying audio and video engine VideoEngine A further high-level abstraction of , from WebRtcVoiceEngine Yes VoiceEngine encapsulate ,WebRtcVideoEngine2 Yes VideoEngine encapsulate .
anyRTC Audio and video communication cloud platform SDK Which use scenarios use WebRTC?
1、 Online education
ArRoomEngine SDK, Based on Google WebRTC Open standards build , Ultra low delay 、 Full terminal coverage , Can meet all kinds of needs , Support large class 、 A small class , Provide whiteboard function , Free trial .
2、 Videoconferencing
RTMeetEngine SDK, High definition smooth audio and video 、 High security 、 Full platform operation 、 Rich conference management functions , Support video 、 Voice multiplayer Conference , For meetings 、 train 、 Interactive multi person mobile Conference .
3、 Command and dispatch
RTMaxEngine SDK, High definition smooth audio and video 、 Ultra low delay 、 Strong command 、 Resource support and other comprehensive and coordinated video communication command platform , Realize real-time video communication between on-site emergency and rear emergency command center 、 Synchronous transmission 、 Precise scheduling 、 Efficient collaboration at all levels . For security monitoring 、 Smart home .
4、 Interactive Lianmai
RTMPCHybirdEngine SDK be based on RTMP and RTC Online video live broadcast of hybrid engine .iOS live broadcast ( Network adaptive rate RTMP publisher)、 On demand player ( The player has been professionally optimized , It can be switched on in seconds RTMP Player)、 be based on RTMP and RTC Hybrid engine's video link and MAC interaction ( Up to four ways of Lianmai interaction are supported ), For live games 、 Beauty show .
5、 voice call
RTCP2PEngine SDK, Support video 、 voice 、 Priority video and other call modes , For Internet telephony 、 Activities 、 Education and other call scenarios .
6、 Live in real time
RTCPEngine SDK, Realize fast real-time live broadcast , comparison RTMPC Faster , Ultra low delay 、 The minimalist API Interface 、 Ultra fast access . For online doll machines 、 Smart hardware 、 Online medicine 、 Video recruitment 、 Dating and other scenes .
边栏推荐
- Svn password forgetting solution
- Bucket sorting (C language)
- Add attributes to multimode
- 1130: find the first character that appears only once
- 高精度CNC加工中心为什么会出现误差?这4个原因你要注意!
- Machine learning feature selection
- 1018 public bike Management (30 points)
- O - ACM contest and blackout (minimum spanning tree, Kruskal)
- Using member variables and member functions of a class
- DR-TANet: Dynamic Receptive Temporal Attention Network for Street Scene Change Detection
猜你喜欢

CCF string matching (Full Score code + problem solving ideas + skill summary) March 3, 2014

val_ Loss decreases first and then increases or does not decrease but only increases

Matlab construction operation example

Developer practice - the future of Agora home AI audio and video

Sum of CCF digits (full mark code + problem solving idea) 201512-1

The sound network has fully opened the real-time transmission network sd-rtn, which has been free of network wide accidents for seven years - this is FPA!

CCF command line options (Full Score code + problem solving ideas + skill summary) March 3, 2014

Technology sharing | how to quickly realize audio and video online calls

J - Borg maze (minimum spanning tree +bfs)

Shift operator (detailed)
随机推荐
Text matching - [naacl 2022] GPL
Maximum area of islands searched
Basic learning notes of C language
机械工程师面试的几个问题,你能答上来几个?
[untitled]
O - ACM contest and blackout (minimum spanning tree, Kruskal)
B. Moamen and k-subarrays (codeforce+ binary search)
CCF date calculation (Full Score code + skill summary) February 2, 2015
Searching for single element in dichotomy
Tetris source code (color version)
Super comprehensive redis distributed high availability solution: sentry mechanism
Shangpinhui knowledge points of large e-commerce projects
1130: find the first character that appears only once
L - Jungle roads (minimum spanning tree)
NPM install --global --save --save dev differences
Web technology sharing | whiteboard toolbar encapsulation of Web
Help you accumulate audio and video knowledge, Agora developer's roaming guide officially set sail
1137: encrypted medical record
Programming of left-hand trapezoidal thread
CCF window (Full Score code + problem solving idea) March 2, 2014