This article in order to remember for the audio and video communications to make outstanding contributions to the young talent-Lei Hua, really jealous talent!!!
A bit sad at the beginning, as a work on the front-line it technical personnel, heard the news is always a bit bad, if you are fortunate to read this article please remember: Pay attention to rest, work is not finished, the body is the capital of the revolution. The last blog interaction with Comrade Ray is as follows:
650) this.width=650; "Src=" Http://upload-images.jianshu.io/upload_images/2599136-23c896d765b6e369.png?imageMogr2 /auto-orient/strip%7cimageview2/2/w/1240 "class=" Imagebubble-image "alt=" 1240 "/>
The following cut into the focus of this article, as a sound and video industry in the small gangsters, if not heard webrtc that really do not know the elder brother like no insight, said may be a little exaggerated, but indeed WEBRTC in recent years on the audio and video real-time communications this industry brought subversion is obvious, Google has conquered a lot of developers with his own charm + strength, and the small part is one of them. But following this technology for so long, he brought us really can say is the industry's top technology, not to say much, an audio echo elimination you say you can handle it? Then you do cow B, small series admire you such a cow b people, have time to add a what ...
WEBRTC provides video conferencing core technology, including audio and video capture, codec, network transmission, display and other functions, and also support cross-platform: windows,linux,mac,android, iOS and so on. Any of the technical points in the WEBRTC can be taken out to make a column for discussion, and here we can simply and rudely list.
650) this.width=650; "Src=" Http://upload-images.jianshu.io/upload_images/2599136-a49fb7af10b0b402.jpg?imageMogr2 /auto-orient/strip%7cimageview2/2/w/1240 "class=" Imagebubble-image "alt=" 1240 "/>
Video-related Video Capture---Video_capture
Source code in the Webrtc\modules\video_capture\main directory, contains the interface and the source code of each platform.
On the Windows platform, WEBRTC uses DShow technology to capture device information and video data from enumerated videos, which means that most video capture devices can be supported, and for video capture cards (such as Hoi Hong HD cards) that require a separate driver.
Video capture supports a variety of media types, such as I420, YUY2, RGB, Uyuy, etc., and can be frame size and frame rate control.
Video Codec---video_coding
The source code is in the Webrtc\modules\video_coding directory.
WEBRTC uses I420/VP8 codec technology. VP8 is an open source implementation of Google's acquisition of ON2 and is also used in WEBM projects. VP8 can provide higher quality video with less data, especially for video conferencing needs.
Video Encryption--video_engine_encryption
Video encryption is a part of the video_engine of WEBRTC, which is equivalent to the function of video application level, which provides the security of data on both sides of the point-to-point video to prevent the leakage of video data on the web.
Video encryption on the sending side and the receiving side to decrypt video data, the key is negotiated between the two sides, the price will affect the performance of video data processing, or do not use video encryption, which will be better performance.
The video-encrypted data source may be the original data stream, or it may be the encoded data stream. It is estimated that the encoded data stream will be less expensive and requires further research.
Video Media files--media_file
The source code is in the Webrtc\modules\media_file directory.
This feature can be used as a video source with local files, a bit like the function of a virtual camera, and the supported formats are AVI.
In addition, WEBRTC can also record audio and video to local files, more useful functions.
Video image Processing--video_processing
The source code is in the Webrtc\modules\video_processing directory.
Video image processing for each frame of the image processing, including shading detection, color enhancement, noise reduction processing and other functions to improve video quality.
Video Display--video_render
The source code is in the Webrtc\modules\video_render directory.
On the Windows platform, WEBRTC uses Direct3D9 and DirectDraw to display video, only this way, it must.
Network Transmission and flow control
For network video, the transmission and control of data is the core value. WEBRTC uses a mature rtp/rtcp technology.
Audio-related
The audio portion of the WEBRTC contains features such as devices, codecs (ILIBC/ISAC/G722/PCM16/RED/AVT, Neteq), encryption, sound files, sound processing, sound output, volume control, audio and video synchronization, network transmission and flow control (RTP/RTCP).
Audio Equipment---Audio_device
Source code in the Webrtc\modules\audio_device\main directory, contains the interface and the source code of each platform.
On the Windows platform, WEBRTC uses Windows Core Audio and Windows Wave technology to manage audio devices and also provides a mix manager.
Audio output, volume control, and other functions can be achieved with the use of sound devices.
Audio Codec---audio_coding
The source code is in the Webrtc\modules\audio_coding directory.
WEBRTC uses ILIBC/ISAC/G722/PCM16/RED/AVT codec technology.
The WEBRTC also offers a NETEQ function---jitter buffers and packet loss compensation modules to improve sound quality and minimize latency.
Another core feature is the voice conferencing-based mixing process.
Sound Encryption--voice_engine_encryption
As with video, WEBRTC also provides sound encryption capabilities.
Sound files
This feature is available with local files as an audio source, supported in the format of PCM and WAV.
Similarly, WEBRTC can record audio to a local file.
Sound processing--audio_processing
The source code is in the Webrtc\modules\audio_processing directory.
Sound processing is processed for audio data, including functions such as echo cancellation (AEC), AECM (AEC Mobile), Automatic gain (AGC), noise Reduction (NS), mute detection (VAD) processing, to improve sound quality.
Network Transmission and flow control
Like video, WEBRTC uses mature rtp/rtcp technology.
The above enumerated mainly originates from the network, WEBRTC to this year already 5 years old, the code update speed has been very fast, follows WEBRTC also has two years of time, from unfamiliar to familiar, just like falls in love has the sweet has the bitterness, if finally can eventually become the family the perfect. If you are a small partner in the field of audio and video, please embrace WEBRTC bravely, this technology is worth your time to study.
QQ Group: 580477436
This article is from the "12072981" blog, please be sure to keep this source http://12082981.blog.51cto.com/12072981/1853643
Why always recommend WEBRTC