Video conference Top ten open source project ranking

Source: Internet
Author: User
Keywords Transmission open source video conferencing can

In the http://www.aliyun.com/zixun/aggregation/18237.html "> Video conferencing field, there are many open source projects that can be referenced, such as protocol stacks, encoders or transport protocols, Because the video conferencing system is a comprehensive application system, which contains more functions, such as the choice of these open source projects to join our video conferencing development, we will certainly be more efficient development efficiency, the following list of video conferencing related to the top ten open source projects, and its importance and advantages and disadvantages to make a comprehensive evaluation and ranking.

1, OpenH323 project (★★★★★)

Reasons for listing: The most famous H.323 open source protocol stack, video conferencing development of the prerequisite stack, strongly recommended

The most famous H.323 open source protocol stack, including all the H.323 protocol features, and a large number of video conferencing implementation of reference examples, such as terminals, MCU server, GK, such as the core components of H.323 protocol, Openh323 is the H.323 protocol preferred protocol stack, but also our video conferencing development is the most worthwhile as a reference to open source projects.

2, FFmpeg project (★★★★★)

Reasons to List: The most comprehensive open source encoder, including H.264, MPEG4, g.72x and other audio and video coding, highly efficient, highly recommended

Currently the most comprehensive open source encoder, including the common audio and Video coding protocol H.264, MPEG4, H.263, g.721, g.726, g.729, etc., FFmpeg, although it is based on Linux open source projects, but can be compiled in a way to run under Windows, Its projects add a lot of optimization efficiency code, such as using assembler instead of C, greatly improve the efficiency of coding, recommend ffmpeg for video conferencing real-time coding.

3, WEBRTC project (★★★★☆)

Reason for listing: Google's acquisition of Open source browser-based Real-time communications Open-source project after gips, highly recommended

Google acquired Gips Open source browser-based Real-time communications open source project, Gips is currently the world's best audio transfer library, but its licensing fee is very high, WEBRTC is Google's acquisition of Gips, a public communication project, The core voiceengine is built by gips, so the audio part of video conferencing can be realized by reference to WEBRTC.

4, Openmeetings project (★★★★☆)

Reasons to List: Java-based browser video conferencing open source project, Java Development Video Conferencing preferred

Openmeetings is mainly based on OpenLaszlo streaming media format and Red5 server open source Video conferencing project, which includes audio and video, electronic whiteboard, the project is developed in Java. The disadvantage of the project is that many bugs, inefficient, but can be used as a reference for Flash video conferencing.

5, live555 project (★★★★☆)

Reasons: The heavyweight C + + streaming media open source project, which some modules can be used as a video conferencing development reference

LIVE555 is the most heavyweight of a C + + streaming media open source project, which includes not only the transport protocol (SIP, RTP), audio and video encoder (H.264, MPEG4), including streaming media server examples, is the first choice for streaming media projects, The transmission module inside is very worthy of video conferencing development as a reference.

6, Opal project (★★★★☆)

Reason for listing: The next version of OpenH323, which includes the SIP protocol stack, is the first choice to implement the SIP protocol.

Opal is the next version of OpenH323, inherited the Openh323 protocol, which contains the SIP protocol stack, is the first choice to implement the SIP protocol, the disadvantage is that less reference examples.

7, x264 project (★★★★☆)

Reason for listing: the most widely used H.264 encoder for real-time video transmission

X264 is the most widely used H.264 encoder, which eliminates the H.264 efficiency of the lower part, and its optimization, efficiency is significantly higher than other H.264 open source projects, is the most suitable for real-time video conferencing transmission H.264 codec library.

8, Speex project (★★★★☆)

Reasons to list: The most famous open source projects in the Audio field, narrowband and broadband have good voice quality

Speex is the most famous open source project in the Audio field, narrowband and broadband have good voice quality, only 8kb can transmit satisfactory language, the disadvantage is that the quality of the transmission of music will decline.

9, Jrtplib project (★★★☆☆)

Reasons for Listing: C + + cross-platform RTP transmission project, RTP transfer prerequisite

Jrtplib is a C + + Cross-platform RTP transmission Open Source project to achieve RTP protocol can use this library, Jrtplib is the RTP transport prerequisite

10, XVid project (★★★☆☆)

Reasons to list: The most famous MPEG4 encoder open source project, but less efficient x264

Before the H.264 encoding protocol, XviD's MPEG4 encoding has been the preferred video encoder for video conferencing, but with x264, COREAVC and other more efficient H.264 encoder appearance, its application effect is greatly impacted, but its combination of DirectShow video capture module is worthy of video conferencing developers reference.

Development and selection of video conference transmission module

Video conferencing is mainly the development of audio and video, data transmission software, in these development process, the most core module is the transmission module, transmission module performance directly affect the final quality of video conferencing, so the choice of transmission modules in the development of video conferencing is particularly important. Transmission module in the development process, due to consideration of the impact of QoS, the general use of data retransmission technology, so the transmission module and become a video conferencing at the bottom of the development of a key, we developed the transmission module, you can choose to use TCP, UDP direct development or use of open source of the transfer library, Because some open source transfer library and more mature, directly use it, if you develop the transmission module, it is also a huge project. Now let's introduce the development options for the transmission module.

1. Using TCP to develop

The use of TCP direct Transmission module development, in the transmission process data will not be lost, we can use OICP completion port to communicate, the advantage is that the QoS is guaranteed, supporting large capacity of data is not, the disadvantage is that the development cycle is long, data to establish a connection than the general UDP much longer, and resource consumption is larger than the general UDP transmission.

2. Develop with UDP

UPD is a kind of data transmission mode, its data in the transmission process can not guarantee the reliability of the data, so the development of transmission module with UPD to add their own QoS packet loss processing and automatic retransmission function. The advantage is that the data transmission is faster than TCP, the disadvantage is that the development cycle is long.

3. Development using a UDT library

The UDT is built on top of UDP, and a new congestion control and data reliability control mechanism is introduced. A UDT is a two-way, bidirectional application-layer protocol for connections. It also supports reliable data stream transmission and partial reliable datagram transmission. The characteristic of the UDT is that it can realize reliable data transmission by using the library's sending function without the development, and the disadvantage is that the model is simpler and there is no OICP completion port to support large capacity data.

4. Using the Ranknet Library for development

Raknet is also a C + + network library based on UDP network transmission protocol, which realizes efficient network transport service through library function. Its specific application in some game areas, Radnet can be implemented between two programs per second transmission of 25,000 information, the advantage is that no development, direct call function can be, the disadvantage is that large data in the public network transmission will be due to network congestion caused by traffic control failure.

To sum up, video conferencing transmission module development, transmission efficiency is the highest with UDP development, but the development cycle is longer. The transmission module developed with Raknet can not adapt to the transmission of large data, the UDT has better advantages in the transmission of large data, the disadvantage is that the concurrency of the support is not many. However, if the UDT can be combined with large capacity after modification, it is the best choice for the video conference transmission module to consider the UDT.

Original link: http://blog.csdn.net/chenbang110/article/details/13681419

Related Article

Contact Us

The content source of this page is from Internet, which doesn't represent Alibaba Cloud's opinion; products and services mentioned on that page don't have any relationship with Alibaba Cloud. If the content of the page makes you feel confusing, please write us an email, we will handle the problem within 5 days after receiving your email.

If you find any instances of plagiarism from the community, please send an email to: info-contact@alibabacloud.com and provide relevant evidence. A staff member will contact you within 5 working days.

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.