CN112887294A - Multi-person voice chat system based on remote process call - Google Patents

Multi-person voice chat system based on remote process call Download PDF

Info

Publication number
CN112887294A
CN112887294A CN202110084559.7A CN202110084559A CN112887294A CN 112887294 A CN112887294 A CN 112887294A CN 202110084559 A CN202110084559 A CN 202110084559A CN 112887294 A CN112887294 A CN 112887294A
Authority
CN
China
Prior art keywords
client
audio data
server
group
remote procedure
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202110084559.7A
Other languages
Chinese (zh)
Other versions
CN112887294B (en
Inventor
刘宇博
赵景石
赵健军
施王兴
杜晓祥
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Beijing Yunshang Technology Co ltd
Original Assignee
Beijing Yunshang Technology Co ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Beijing Yunshang Technology Co ltd filed Critical Beijing Yunshang Technology Co ltd
Priority to CN202110084559.7A priority Critical patent/CN112887294B/en
Publication of CN112887294A publication Critical patent/CN112887294A/en
Application granted granted Critical
Publication of CN112887294B publication Critical patent/CN112887294B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/40Support for services or applications
    • H04L65/403Arrangements for multi-party communication, e.g. for conferences
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Signal Processing (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Telephonic Communication Services (AREA)

Abstract

The invention discloses a multi-person voice chat system based on remote procedure call, which comprises: the client collects voice audio data of a user by using a microphone and sends the collected audio data to the server in real time, the server sends the audio data to other single or multiple clients according to the selection of the client, the other clients analyze the audio data after receiving the audio data, and voice playing is carried out through playing equipment of the client. The invention solves the problem that the existing network communication can not realize multi-user bidirectional stability.

Description

Multi-person voice chat system based on remote process call
Technical Field
The invention relates to the field of network voice communication, in particular to a multi-user voice chat system based on remote procedure call.
Background
With the continuous iterative development of network technology, more and more scenes are provided, such as: online education, team games, etc., a low-delay, highly reliable real-time voice communication technology is required. The real-time voice communication comprises a plurality of different scenes such as single-to-single, single-to-multi, multi-to-multi and the like, different services are usually suitable for different scenes, different solutions are needed, and the realization technologies of real-time voice in the same scene are different. The prior art mainly comprises the following steps: 1. the method is finished in a point-to-point connection mode from a single person to a single person and from a plurality of persons with few persons to a plurality of persons in a scene; 2. the single person to many persons borrow the content distribution network to finish, and the audio and the video stream are transmitted through the content distribution network together.
The method is characterized in that a point-to-point connection mode is used for a single person to a single person and a plurality of persons with few persons to a plurality of persons, when the number of persons is large, a complex connection network appears, the problem that the establishment of some specific links fails possibly appears, and when a complex local area network environment appears, point-to-point communication cannot be used; the single person to many people borrow the content distribution network to finish, the audio and the video stream are transmitted together through the content distribution network, only the single person to many people unidirectional broadcast cannot realize bidirectional voice call, and the content distribution network can cause very high content delay which can generally reach several seconds or even tens of seconds.
Disclosure of Invention
Therefore, the invention provides a multi-user voice chat system based on remote process call, which aims to solve the problem that the existing network call cannot realize multi-user bidirectional stability.
In order to achieve the above purpose, the invention provides the following technical scheme:
the invention discloses a multi-person voice chat system based on remote procedure call, which comprises: the client collects voice audio data of a user by using a microphone and sends the collected audio data to the server in real time, the server sends the audio data to other single or multiple clients according to the selection of the client, the other clients analyze the audio data after receiving the audio data, and voice playing is carried out through playing equipment of the client.
Furthermore, each client has a unique identification code, the client establishes communication connection with the server through a network, and the server distinguishes different clients through the identification codes of the clients.
Furthermore, when the client performs multi-user voice chat, one group identifier is selected, a group interface is called to join, and a plurality of clients can all select the same group identifier to join the group.
Furthermore, the server assigns all clients with the same group identifier to the same group, and broadcasts and forwards the audio data in the same group.
Further, after the client joins the group, and a new member joins the group, the client receives broadcast information of the new member joining the group, including an identification code of the new member.
Further, when the client acquires audio by using the microphone, echo cancellation, volume enhancement and noise cancellation are performed to judge whether effective voice information exists.
Further, the client encodes the valid audio frame, and the encoded audio data is sent to other members in the group by calling a remote process of the server.
Further, the server broadcasts the received audio frame to all clients meeting the receiving condition in the group according to whether a shielding relation exists between the voice sending client and the voice receiving client.
Further, after receiving the encoded audio frames, the client places the encoded audio frames into a jitter buffer queue, creates an additional processing thread, decodes and mixes the audio frames of each other client in the jitter buffer queue, and stores the audio frames into a play buffer.
Furthermore, the play call-back of the playing device of the client is continuously called for transmitting the voice data to be played, the content put into the play buffer area is read in the call-back process, and is transmitted to the playing device through the play call-back, and is stored in the echo cancellation buffer area.
The invention has the following advantages:
the invention discloses a multi-user voice chat system based on remote process call, which establishes connection with a server through a plurality of clients, and through the remote process call, a communication protocol can be freely changed according to business requirements, namely, the system is safe and convenient to use, and can be conveniently expanded according to the scale of a user, thereby providing a stable transmission channel and lower delay; the data is selectively transmitted, so that the load of the server is reduced; jitter buffering can resist network fluctuations, thereby improving voice quality.
Drawings
In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the description of the embodiments or the prior art will be briefly described below. It should be apparent that the drawings in the following description are merely exemplary, and that other embodiments can be derived from the drawings provided by those of ordinary skill in the art without inventive effort.
The structures, ratios, sizes, and the like shown in the present specification are only used for matching with the contents disclosed in the specification, so as to be understood and read by those skilled in the art, and are not used to limit the conditions that the present invention can be implemented, so that the present invention has no technical significance, and any structural modifications, changes in the ratio relationship, or adjustments of the sizes, without affecting the effects and the achievable by the present invention, should still fall within the range that the technical contents disclosed in the present invention can cover.
Fig. 1 is a schematic diagram of a multi-user voice chat system architecture based on remote procedure call according to an embodiment of the present invention;
fig. 2 is a schematic diagram illustrating internal information transmission of a client of a multi-user voice chat system based on remote procedure call according to an embodiment of the present invention;
fig. 3 is a schematic diagram illustrating internal information transmission of a service end of a multi-user voice chat system based on remote procedure call according to an embodiment of the present invention;
fig. 4 is a flowchart of a multi-user voice chat system based on remote procedure call according to an embodiment of the present invention.
In the figure: 1-client, 2-server, 3-microphone, 4-memory, 5-processor
Detailed Description
The present invention is described in terms of particular embodiments, other advantages and features of the invention will become apparent to those skilled in the art from the following disclosure, and it is to be understood that the described embodiments are merely exemplary of the invention and that it is not intended to limit the invention to the particular embodiments disclosed. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Examples
The invention discloses a multi-person voice chat system based on remote procedure call, which comprises: the client 1 collects voice audio data of a user by using the microphone 3 and sends the collected audio data to the server 2 in real time, the server 2 sends the audio data to other single or multiple clients 1 according to the selection of the client 1, the other clients 1 receive the audio data and then analyze the audio data, and voice playing is carried out through the playing equipment of the client 1.
The client 1 can adopt a mobile phone, a smart watch, a computer and the like, all the clients 1 are internally provided with or externally provided with microphones 3, and the microphones 3 are used for collecting the voice of a user. Each client 1 has a unique identification code, the client 1 establishes a communication connection with the server 2 through a network, and the server 2 distinguishes different clients 1 through the identification codes of the clients 1. The final representation of the identification code corresponding to each client 1 is an integer, or may be transformed into a unique integer through some mapping. Can be obtained through registration or generated in advance according to a certain rule.
Each client 1 using the multi-user voice chat system selects a group identifier and calls a group interface to join, the plurality of clients 1 can select the same group identifier to join in the group, and the server 2 classifies all the clients 1 with the same group identifier into the same group and broadcasts and forwards audio data in the same group. The identity of each chat group is eventually represented as an integer or eventually transformed into a unique integer through some mapping. After the client 1 joins the group, after a new member joins the group, the broadcast information of the new member joining the group is received, including the identification code of the new member. Each client 1 in the group can perform screening, selective call or full member broadcast according to the identification code of the member.
In this embodiment, when the client 1 acquires audio by using the microphone 3, echo cancellation, volume enhancement, and noise cancellation are performed to determine whether valid voice information exists. The method for judging whether the effective voice information exists comprises the following steps: whether the total energy within the short and short acquired audio frame reaches a threshold value or not, i.e. the square is calculated for each audio sample point and summed. If the valid voice information exists, the client 1 encodes the valid audio frame, and the encoded audio data is sent to other members in the group by calling a remote process of the server 2.
The server 2 broadcasts the received audio frame to all the clients 1 meeting the receiving condition in the group according to whether the shielding relation exists between the client 1 sending out the voice and the client 1 receiving the voice. For example, still take the case that the plurality of clients 1 includes a first client 1, a second client 1, a third client 1, and a fourth client 1, and the identifications of the four clients 1 are C1, C2, C3, and C4, respectively. Assuming that C1 sends a request to the server 2 to mask C3, when C3 invokes a remote procedure to broadcast its captured audio, the server 22 will not forward the audio data of C3 to C1, i.e., the server 2 will only send the audio data of C3 to C2 and C4.
After receiving the encoded audio frames, the client 1 puts the encoded audio frames into a jitter buffer queue, creates an additional processing thread, decodes and mixes the audio frames of each other client 1 in the jitter buffer queue, and stores the audio frames into a play buffer. The jitter buffer queue is realized by using a linked list, and is matched with a jitter mark to realize smooth playing under the condition that the network has jitter. I.e. when the audio frames stored in the jitter buffer queue are larger than a limit, the jitter flag is set to 1, and then when there is no data in the jitter buffer queue, the jitter flag is set back to 0 again.
The play call-back of the playing device of the client 1 is called continuously and used for transmitting the voice data to be played, the content put into the play buffer area is read in the call-back process, transmitted to the playing device through the play call-back, and stored into the echo cancellation buffer area. The playing buffer is realized by using a circular array, the current playing position and the current buffered position are saved, and when the two positions reach the end of the array, the playing buffer is restarted from the head of the array.
A plurality of customer ends 1 in the group realize that single to single, single to many people, many people are to many people, perhaps carry out selective voice call, server 2 can be according to user's shielding operation in-process, selective transmission data, carry out active voice through the energy and detect, selective transmission data, shake the buffer memory and keep the received data, customer end 1 and server 2 in this embodiment all are provided with memory 4 and treater 5, save and handle the data of receiving and dispatching.
The embodiment of the invention discloses a multi-user voice chat system based on remote procedure call, which establishes connection with a server 2 through a plurality of clients 1, and through the remote procedure call, a communication protocol can be freely changed according to business requirements, namely, the system is safe and convenient to use, and can be conveniently expanded according to the scale of a user, thereby providing a stable transmission channel and lower delay; the data is selectively transmitted, so that the load of the server is reduced; jitter buffering can resist network fluctuations, thereby improving voice quality.
Although the invention has been described in detail above with reference to a general description and specific examples, it will be apparent to one skilled in the art that modifications or improvements may be made thereto based on the invention. Accordingly, such modifications and improvements are intended to be within the scope of the invention as claimed.

Claims (10)

1. A remote procedure call based multi-user voice chat system, the system comprising: the client collects voice audio data of a user by using a microphone and sends the collected audio data to the server in real time, the server sends the audio data to other single or multiple clients according to the selection of the client, the other clients analyze the audio data after receiving the audio data, and voice playing is carried out through playing equipment of the client.
2. The remote procedure call based multi-user voice chat system according to claim 1, wherein the client has a unique identification code, the client establishes a communication connection with the server through the network, and the server distinguishes different clients by the identification code of the client.
3. The remote procedure call based multi-user voice chat system as claimed in claim 1, wherein when the client performs multi-user voice chat, a group identifier is selected and a group interface is invoked to join, and a plurality of clients can all select the same group identifier to join the group.
4. The remote procedure call-based multi-user voice chat system according to claim 1, wherein the server assigns all clients with the same group identifier to the same group, and broadcasts and forwards audio data in the same group.
5. The remote procedure call based multi-user voice chat system of claim 1, wherein after the client joins the group, and after a new member joins the group, the client receives broadcast information of the new member joining the group, including an identification code of the new member.
6. The remote procedure call based multi-user voice chat system of claim 1, wherein the client performs echo cancellation, volume enhancement and noise cancellation to determine whether valid voice information exists when the client collects audio using a microphone.
7. The remote procedure call based multi-user voice chat system of claim 1, wherein the client encodes the valid audio frames and the encoded audio data is transmitted to other members of the group by a remote procedure calling the server.
8. The system of claim 7, wherein the server broadcasts the received audio frames to all clients in the group that meet the receiving condition according to whether there is a masking relationship between the client sending out the voice and the client receiving the voice.
9. The remote procedure call based multi-user voice chat system of claim 1, wherein the client receives the encoded audio frames and places them in a jitter buffer queue, creates an additional processing thread, decodes and mixes the audio frames of each other client in the jitter buffer queue together, and stores them in a play buffer.
10. The system of claim 1, wherein the play call back of the playing device of the client is continuously called for transmitting the voice data to be played, and the content in the play buffer is read during the call back process, and transmitted to the playing device through the play call back, and stored in the echo cancellation buffer.
CN202110084559.7A 2021-01-21 2021-01-21 Multi-person voice chat system based on remote process call Active CN112887294B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202110084559.7A CN112887294B (en) 2021-01-21 2021-01-21 Multi-person voice chat system based on remote process call

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202110084559.7A CN112887294B (en) 2021-01-21 2021-01-21 Multi-person voice chat system based on remote process call

Publications (2)

Publication Number Publication Date
CN112887294A true CN112887294A (en) 2021-06-01
CN112887294B CN112887294B (en) 2023-01-03

Family

ID=76051650

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202110084559.7A Active CN112887294B (en) 2021-01-21 2021-01-21 Multi-person voice chat system based on remote process call

Country Status (1)

Country Link
CN (1) CN112887294B (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115065571A (en) * 2022-06-14 2022-09-16 南昌职业大学 Voice equipment for large meeting place

Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192427A1 (en) * 2006-02-16 2007-08-16 Viktors Berstis Ease of use feature for audio communications within chat conferences
US20170118334A1 (en) * 2014-06-17 2017-04-27 DeNA Co., Ltd. Audio chat management device and method
CN106992957A (en) * 2016-01-21 2017-07-28 阿里巴巴集团控股有限公司 Internet phone-calling is forwarded to the method and device of mobile communication terminal
CN108234790A (en) * 2018-01-10 2018-06-29 网易(杭州)网络有限公司 Multi-person speech communication method, apparatus, terminal device and storage medium
CN109274921A (en) * 2018-07-27 2019-01-25 像航(上海)科技有限公司 Video conferencing system
CN109672610A (en) * 2018-12-26 2019-04-23 深圳市自然门科技有限公司 A kind of multigroup group speech real time communication method and system
CN110324157A (en) * 2019-08-08 2019-10-11 北京佑仁天下网络科技有限公司 A kind of multi-person speech chat system
CN111885130A (en) * 2020-07-10 2020-11-03 深圳市瑞立视多媒体科技有限公司 Voice communication method, device, system, equipment and storage medium

Patent Citations (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070192427A1 (en) * 2006-02-16 2007-08-16 Viktors Berstis Ease of use feature for audio communications within chat conferences
US20170118334A1 (en) * 2014-06-17 2017-04-27 DeNA Co., Ltd. Audio chat management device and method
CN106992957A (en) * 2016-01-21 2017-07-28 阿里巴巴集团控股有限公司 Internet phone-calling is forwarded to the method and device of mobile communication terminal
CN108234790A (en) * 2018-01-10 2018-06-29 网易(杭州)网络有限公司 Multi-person speech communication method, apparatus, terminal device and storage medium
CN109274921A (en) * 2018-07-27 2019-01-25 像航(上海)科技有限公司 Video conferencing system
CN109672610A (en) * 2018-12-26 2019-04-23 深圳市自然门科技有限公司 A kind of multigroup group speech real time communication method and system
CN110324157A (en) * 2019-08-08 2019-10-11 北京佑仁天下网络科技有限公司 A kind of multi-person speech chat system
CN111885130A (en) * 2020-07-10 2020-11-03 深圳市瑞立视多媒体科技有限公司 Voice communication method, device, system, equipment and storage medium

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115065571A (en) * 2022-06-14 2022-09-16 南昌职业大学 Voice equipment for large meeting place
CN115065571B (en) * 2022-06-14 2023-10-27 南昌职业大学 Voice equipment for big conference place

Also Published As

Publication number Publication date
CN112887294B (en) 2023-01-03

Similar Documents

Publication Publication Date Title
US10757050B2 (en) System and method for topic based segregation in instant messaging
CN106063255B (en) The method and system of speaker during display video conference
US9049032B2 (en) Prioritizing digital streams during digital conferencing
EP1039734B1 (en) Method and system for reducing multimedia conference bandwidth
US8817061B2 (en) Recognition of human gestures by a mobile phone
US7742587B2 (en) Telecommunications and conference calling device, system and method
EP1116374B1 (en) System and method for conducting an auction over a communications network
CN101877706B (en) Multi-terminal multimedia conference control system and implementation method
CN109672610B (en) Multi-group voice real-time communication method and system
US20020133611A1 (en) System and method for facilitating real-time, multi-point communications over an electronic network
US20070237099A1 (en) Decentralized architecture and protocol for voice conferencing
WO2005094051A1 (en) Active speaker information in conferencing systems
US20090109961A1 (en) Multiple simultaneous call management using voice over internet protocol
CN101675623A (en) Media detection and packet distribution in a multipoint conference
JP3583284B2 (en) Comment history management system in chat system
US20070230372A1 (en) Peer-aware ranking of voice streams
CN109525802A (en) A kind of video stream transmission method and device
CN112953925B (en) Real-time audio and video communication system and method based on SIP (Session initiation protocol) and RTC (real time communication) network
US20110164742A1 (en) Conversation detection in an ambient telephony system
CN112887294B (en) Multi-person voice chat system based on remote process call
US7453828B1 (en) Devices, methods and software for generating indexing metatags in real time for a stream of digitally stored voice data
US20100268529A1 (en) Voice communication apparatus
CN101686374A (en) Method and device for realizing rollcall of chairman
CN110225287A (en) Audio-frequency processing method and device
CN103686059B (en) Distributed mixed audio processing method and system

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant