CN115842809A - Data stream real-time transmission method and conference system - Google Patents

Data stream real-time transmission method and conference system Download PDF

Info

Publication number
CN115842809A
CN115842809A CN202111098298.0A CN202111098298A CN115842809A CN 115842809 A CN115842809 A CN 115842809A CN 202111098298 A CN202111098298 A CN 202111098298A CN 115842809 A CN115842809 A CN 115842809A
Authority
CN
China
Prior art keywords
server
data stream
listened
broadcast server
broadcast
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.)
Pending
Application number
CN202111098298.0A
Other languages
Chinese (zh)
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.)
New Singularity International Technical Development Co ltd
Original Assignee
New Singularity International Technical Development 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 New Singularity International Technical Development Co ltd filed Critical New Singularity International Technical Development Co ltd
Priority to CN202111098298.0A priority Critical patent/CN115842809A/en
Publication of CN115842809A publication Critical patent/CN115842809A/en
Pending legal-status Critical Current

Links

Images

Landscapes

  • Telephonic Communication Services (AREA)

Abstract

The conference system comprises a management server, a broadcast server, a proxy server and a notification server, the management server manages and receives data streams sent by all speaker terminals, then the broadcast server broadcasts the data streams sent by speaker terminals to the proxy server, and the proxy server pushes the data streams to an appointed listening address in real time to ensure timeliness of the data streams. The broadcast server can send the listening addresses to the notification server in the form of indication information, the notification server generates notification messages and distributes the notification messages to the specified subjects subscribed by all the listener ends in the target conference, so that each listener end can receive the notification messages by monitoring the specified subjects, and then data streams are obtained according to the listening addresses, the time difference of obtaining the data streams among the listener ends is eliminated, and the effect of broadcasting or multicasting the data streams to each listener end is achieved.

Description

Data stream real-time transmission method and conference system
Technical Field
The present application relates to the field of communications, and in particular, to a real-time data stream transmission method and a conference system.
Background
The multi-person conference is an emerging conference mode, and the multi-person conference can realize that a plurality of listeners receive data streams sent by speakers. The conference system provides a transmission function of data streams based on a Session Initiation Protocol (SIP) server, as shown in fig. 1, a speaker and a listener establish communication with the SIP server, and the conference system receives data streams of the speaker through the SIP server and transmits the data streams to the listeners.
The SIP server transmits the data stream based on the SIP protocol, and since the SIP protocol is a unicast protocol, the SIP server can only unicast the data stream to each listener in a polling manner, so that the effect that the conference system broadcasts or multicasts to a plurality of listeners is achieved. Taking the data stream transmission flow shown in fig. 1 as an example, as shown in a in fig. 1, the SIP server first establishes communication with listener a and unicasts the data stream to listener a after establishing communication, then, as shown in B in fig. 1, the SIP server establishes communication with listener B and unicasts the data stream to listener B after establishing communication, and the SIP server sequentially sends the data streams to the two listeners in the manner of polling described above. If there are more listeners in the conference, the SIP server needs to unicast the data streams to other listeners in turn according to the polling procedure. It can be seen that there is a time difference between the times of receiving the data streams by the listeners, and as the number of listeners increases, the waiting time for polling the listeners in the lower ranking order to receive the data streams is longer, thereby further reducing the timeliness of the data streams received by the listeners.
Disclosure of Invention
The application provides a data stream real-time transmission method and a conference system, which are used for ensuring that each listener can receive data streams simultaneously, and therefore the timeliness of the data streams received by each listener is ensured.
In a first aspect, the present application provides a method for transmitting data streams in real time, which is applied to a conference system, where the conference system includes a management server, a broadcast server, a proxy server, and a notification server, and the method includes:
the management server receives a data stream sent by a speaker end in a target conference;
the broadcast server receives the data stream sent by the management server;
the broadcasting server processes the data stream into a data stream to be listened to with a specified coding format and generates indication information, wherein the indication information indicates a listening address of the data stream to be listened to;
the broadcast server broadcasts the data stream to be listened to and the indication information to the proxy server, and sends the indication information to the notification server;
the proxy server sends the data stream to be listened to the listening address in real time;
and the notification server issues a notification message to a specified theme, wherein the notification message comprises the indication information, and the specified theme refers to a theme subscribed by each listener in the target conference, so that each listener receives the notification message by monitoring the specified theme and acquires the data stream to be listened through the listening address.
In one implementation manner, the management server includes a session server and a video server, and before the management server receives a data stream sent by a speaker in a target conference, the management server further includes:
the management server receives a conference request sent by a speaker end;
the broadcast server receives the conference request sent by the management server;
and the broadcast server responds to the conference request, establishes a first channel with the session server, and establishes a second channel with the video server, wherein the first channel is used for transmitting audio data streams in the data streams, and the second channel is used for transmitting video data streams in the data streams.
In one implementation manner, before the broadcast server receives the data stream sent by the management server, the method further includes:
the broadcast server registers port information of each receiving port in the management server, wherein the broadcast server is configured with a plurality of receiving ports, different receiving ports correspond to different transmission protocols, and the port information includes names of the receiving ports and the transmission protocols corresponding to the receiving ports.
In one implementation, the method further comprises:
the management server generates port indication information corresponding to the data stream according to port information of each receiving port registered by the broadcast server, wherein the port indication information indicates a target receiving port used by the broadcast server for receiving the data stream, and a transmission protocol corresponding to the target receiving port is the same as a transmission protocol corresponding to the data stream;
the broadcast server receives the data stream and the port indication information sent by the management server;
and the broadcast server calls the target port to receive the data stream.
In one implementation, the processing, by the broadcast server, the data stream into a data stream to be listened to with a specified encoding format includes:
the broadcast server acquires a target transmission protocol corresponding to the target port;
the broadcast server determines a target decoding format corresponding to the target transmission protocol from a prestored index table, wherein the index table comprises a plurality of transmission protocols and a decoding format corresponding to each transmission protocol;
the broadcast server decodes the data stream using the target decoding format;
and the broadcast server uses the data stream coded and decoded by the specified coding format to obtain the data stream to be listened.
In one implementation manner, the broadcast server processes the data stream into a data stream to be listened to with a specific encoding format, and further includes:
the broadcast server configures preset audio playing parameters for the audio data stream in the data stream to be listened to, and the broadcast server configures preset video playing parameters for the video data stream in the data stream to be listened to.
In one implementation, the specified encoding format refers to an encoding format that can be recognized by the proxy server and can be recognized by the current receiving port of each listener.
In one implementation, the notifying server issuing the notification message to the specified topic includes:
the notification server generates a Message Queue Telemetry Transport (MQTT) notification Message corresponding to the notification Message;
and the notification server publishes the MQTT notification message to the specified topic.
In one implementation, the method further comprises:
the management server receives a termination instruction sent by the speaker end;
the broadcast server receives the termination instruction sent by the management server;
the broadcast server stops receiving the data stream in response to the termination instruction;
or, the broadcast server stops sending the data stream to be listened to and the indication information to the proxy server, and/or stops sending the indication information to the notification server.
In a second aspect, the present application provides a conferencing system, the conferencing system comprising: a management server, a broadcast server, a proxy server and a notification server;
wherein the management server is configured to:
receiving a data stream sent by a speaker end in a target conference;
transmitting the data stream to the broadcast server;
the broadcast server is configured to:
receiving the data stream;
processing the data stream into a data stream to be listened to with a specified coding format, and generating indication information, wherein the indication information indicates a listening address of the data stream to be listened to;
broadcasting the data stream to be listened and the indication information to the proxy server, and sending the indication information to the notification server;
the proxy server is configured to:
receiving the data stream to be listened to and the indication information;
sending the data stream to be listened to the listening address;
the notification server is configured to:
receiving the indication information;
generating a notification message, wherein the notification message comprises the indication information;
and publishing the notification message to a specified theme, wherein the specified theme is a theme subscribed by each listener in the target conference, so that each listener can monitor the specified theme and simultaneously receive the notification message, and obtain the data stream to be listened through the listening address.
According to the technology, the conference system comprises the management server, the broadcast server, the proxy server and the notification server, the data streams sent by all the speaker terminals are managed and received through the management server, then the broadcast server broadcasts the data streams sent by the speaker terminals to the proxy server, and the proxy server pushes the data streams to the specified listening addresses in real time, so that timeliness of the data streams is guaranteed. Meanwhile, the broadcast server can send the listening addresses to the notification server in the form of indication information, so that the notification server generates notification messages, and the notification messages are issued to specified subjects subscribed by all the listeners in the target conference.
Drawings
In order to more clearly explain the technical solution of the present application, the drawings needed to be used in the embodiments will be briefly described below, and it is obvious to those skilled in the art that other drawings can be obtained according to the drawings without any creative effort.
Fig. 1 is a schematic diagram of a data stream transmission process in a conference system provided in the present application;
fig. 2 is a schematic diagram of a data stream transmission process in a conference system according to an embodiment of the present application;
fig. 3 is a schematic flowchart of a real-time data stream transmission method according to an embodiment of the present disclosure;
fig. 4 is a schematic flowchart of establishing a conference communication according to an embodiment of the present application;
fig. 5 is a schematic diagram of a data stream transmission flow between a management server and a broadcast server according to an embodiment of the present application;
fig. 6 is a schematic flowchart illustrating a process of receiving a data stream by a broadcast server according to an embodiment of the present application;
fig. 7 is a schematic flowchart illustrating a broadcast server processing data flow according to an embodiment of the present application;
fig. 8 is a schematic flowchart of a process of issuing a notification message by a communication server according to an embodiment of the present application.
Detailed Description
The technical solutions in the embodiments of the present invention will be described clearly and completely with reference to the accompanying drawings in the embodiments of the present invention, and it is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. 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.
Because the conference system based on the SIP server can only unicast the data stream to each listener in a polling manner, there is a time difference between the times that the listeners receive the data stream, and as the number of the listeners increases, the waiting time for the listeners in the next order to poll to receive the data stream is longer, thereby further reducing the timeliness of the data stream received by the listeners. In order to solve the above problem, an embodiment of the present application provides a conference system, as shown in fig. 2, the conference system 1 includes: a management server 11, a broadcast server 12, a proxy server 13, and a notification server 14.
In this embodiment, the same conference in which the speaker side and the N listener sides participate may be referred to as a target conference, where the speaker side has a speaking right, that is, data may be sent to the conference system, and the listener side does not have the speaking right but only has the listener right, that is, data may not be sent to the conference system, and only can obtain the data sent by the speaker side through the conference system, and the identities of the speaker side and the listener side are changed according to actual needs, and after the identities are changed, the rights are also changed accordingly.
In this embodiment, the data stream sent by the speaker to the conference system 1 may be referred to as a data stream, and the data stream may be divided into an audio data stream and a video data stream. Generally, the data stream may adopt different transmission protocols according to different data types and data sources, for example, the audio data stream may adopt a transmission Protocol such as SIP, real-Time Transport Protocol (RTP), and the like, and the video data stream may adopt a transmission Protocol such as Real-Time Streaming Protocol (RTSP), real-Time Messaging Protocol (RTMP).
In the present embodiment, the conference system 1 may be an entity device, and accordingly, the management server 11, the broadcast server 12, the proxy server 13, and the notification server 14 are software or hardware integrated in the entity device. The conference system 1 may also be a cloud server, and accordingly, the management server 11, the broadcast server 12, the proxy server 13, and the notification server 14 are cloud servers that implement corresponding functions. The speaker side and the conference system 1 may establish communication by wired connection, wireless connection, or the like.
As shown in fig. 2, taking an example that the participants of the target conference include a speaker end, a listener end a, and a listener end B, the speaker end sends a data stream to the conference system 1, the listener end a and the listener end B can listen to the data stream through the conference system 1, and a flow of real-time transmission of the data stream in the conference system 1 may refer to fig. 3, which is specifically as follows:
s301, the management server receives the data stream sent by the speaker side in the target conference.
The management server 11 provides a conference management function for the conference system 1, and implements interaction between the speaker side and the conference system 1, and the speaker side sends an instruction to the management server 11 to manage a service flow of the target conference, such as start and stop of the target conference, a type of a data stream provided for the target conference, and the like.
The management server 11 receives the data stream and transmits the data stream to the broadcast server 12.
S302, the broadcast server receives the data stream sent by the management server.
The flow of the speaker initiating the target conference through the conference system 1 may refer to fig. 4, which is as follows:
s401, the management server receives a conference request sent by a speaker side.
The speaker side may send an indication in the conference request requesting establishment of communication with the broadcast server 12 and indicating the type of data stream to be transmitted, i.e. audio data stream and video data stream, illustratively, the speaker side may indicate establishment of communication with the broadcast server 12 by sending "open conference", the speaker side may indicate the type of data stream to be transmitted as audio data stream by sending "open microphone", and the speaker side may indicate the type of data stream to be transmitted as video data stream by sending "open camera".
The management server 11 sends the conference request to the broadcast server 12.
S402, the broadcast server receives the conference request sent by the management server.
S403, the broadcast server responds to the conference request, and establishes a first channel with the session server and a second channel with the video server, wherein the first channel is used for transmitting the audio data stream in the data stream, and the second channel is used for transmitting the video data stream in the data stream.
In some embodiments, as shown in fig. 5, the management server 11 provides a conversation server 111 and a video server 112, wherein the conversation server 111 may provide an audio data interface that may be used to receive audio data transmitted by a speaker side through a microphone, a headset, or the like. The video server 112 provides a video data interface that can be used to receive video data sent by the speaker side through a camera, a cell phone, etc. Based on this, the procedure of establishing communication between the broadcast server 12 and the management server 11, in fact, the procedure of establishing communication between the broadcast server 12 and the session server 111 and the video server 112.
In some embodiments, the conference request indicates that the data stream is an audio data stream, which indicates that the speaker side sends the conference data through the session server 111, at this time, the broadcast server 12 establishes a first channel with the session server 111 in response to the conference request, and the session server 111 transmits the audio data stream to the broadcast server 12 through the first channel.
In some embodiments, the conference request indicates that the conference data is a video data stream, which indicates that the speaker sends the conference data through the video server 112, and at this time, the broadcast server 12 establishes a second channel with the video server 112 in response to the conference request, and the video server 112 transmits the video data stream to the broadcast server 12 through the second channel.
In some embodiments, the conference request indicates that the data stream is an audio data stream and a video data stream, which indicates that the speaker side simultaneously transmits the conference data through the session server 111 and the video server 112, at this time, the broadcast server 12 establishes a first channel with the session server 111 and a second channel with the video server 112 in response to the conference request, the session server 111 transmits the audio data stream to the broadcast server 12 through the first channel, and the video server 112 transmits the video data stream to the broadcast server 12 through the second channel.
Therefore, the conference system 1 provided by the embodiment of the application can be used for transmitting audio data streams, video data streams and richer application scenes.
As can be seen from the foregoing, the data stream sent by the talker end may adopt multiple transmission protocols, and in order to receive data streams adopting different transmission protocols, the broadcast server 12 is correspondingly configured with multiple receiving ports, which may correspondingly receive data streams adopting different transmission protocols, where it is ensured that each transmission protocol corresponds to at least one receiving port. Illustratively, the broadcast server 12 is configured with a receiving port a for receiving an audio data stream employing SIP, a receiving port b and a receiving port c for receiving an audio data stream employing RTP, a receiving port d for receiving a video data stream employing RTSP, and a receiving port e for receiving a video data stream employing RTMP.
Since each receiving port can effectively identify the data stream only when receiving the data stream corresponding to the receiving port with the same transmission protocol, in order to ensure that the transmission protocol corresponding to the receiving port called by the broadcast server 12 is consistent with the transmission protocol used for the conference data sent by the speaker, and avoid the problem that the broadcast server 12 cannot identify the conference data due to the difference between the two, the receiving port of the broadcast server 12 can be managed by the management server 11. In some embodiments, the broadcast server 12 may register port information of each receiving port in the management server 11 in advance, for example, the broadcast server 12 may send a registration request to the session server 111, and carry a name of each receiving port and a transport protocol corresponding to each receiving port in the registration request, for example, "receiving port a-SIP, receiving port b-RTP, receiving port c-RTP, receiving port d-RTSP, and receiving port e-RTMP". After receiving the registration information, the management server 11 stores the port information carried therein, and when sending data streams to the broadcast server 12, allocates target receiving ports for receiving the data streams to the broadcast server 12, where the flow of receiving data streams by the broadcast server may refer to fig. 6, which is as follows:
s601, the management server generates, according to the port information of each receiving port registered by the broadcast server, port indication information corresponding to the data stream, where the port indication information indicates a target receiving port used by the broadcast server to receive the data stream, and a transmission protocol corresponding to the target receiving port is the same as a transmission protocol corresponding to the data stream.
The management server 11 obtains a first transport protocol corresponding to an output port of a data stream to obtain a transport protocol used by the data stream, that is, the first transport protocol. The management server 11 may determine a target receiving port for receiving the data stream according to the port information of the receiving port registered by the broadcast server 12 and the first transmission protocol. Illustratively, the management server 11 obtains that the first transport protocol corresponding to the output port of the data stream is RTP, and then the data stream adopts RTP. The port information of the receiving port registered by the broadcast server 12 is "receiving port a-SIP, receiving port b-RTP, receiving port c-RTP, receiving port d-RTSP, receiving port e-RTMP", and then it can be determined that the receiving port b and the receiving port c are target receiving ports.
Further, the management server 11 obtains the data volume currently carried by the receiving port b and the receiving port c, and the data volume carrying upper limit of the receiving port b and the receiving port c, respectively, and determines the target receiving port finally used for receiving the data stream according to the data volume currently carried by the receiving port b and the receiving port c, and the carrying capacity of the receiving port b and the receiving port c. Illustratively, the data volume currently carried by the receiving port b is 8, the data volume currently carried by the receiving port c is 1, and the upper limit of the data volume carrying of the receiving port b and the receiving port c is 10, and obviously, the receiving port b is overloaded currently, transmission congestion is likely to occur, and data transmission delay is caused, so that it can be determined that the receiving port c is the final target receiving port.
S602, the broadcast server receives the data stream and the port indication information sent by the management server.
S603, the broadcasting server calls the target port to receive the data stream.
The broadcast server 12 receives the corresponding data stream using the target receiving port in response to the port indication information transmitted by the management server 11, and the broadcast server 12 calls the receiving port c to receive the RTP data stream, as an example in S601.
The platform system 1 provided by the embodiment of the present application can ensure that the broadcast server 12 invokes a receiving port of a transmission protocol capable of identifying a data stream, thereby ensuring the transmission effectiveness of the data stream. Meanwhile, the distribution process of the management server 11 to the receiving ports of the broadcast server 12 may be further performed to ensure the transmission timeliness of the data stream by ensuring load balance of each receiving port to distribute the data stream to an appropriate receiving port.
S303, the broadcasting server processes the data stream into a data stream to be listened to with a specified coding format, and generates indication information, wherein the indication information indicates a listening address of the data stream to be listened to.
The broadcast server 12 sends the data stream to the designated address through the proxy server 13, and the data transmission mode between the broadcast server 12 and the proxy server 13 is broadcast transmission, so that only when the encoding format of the data stream broadcast by the broadcast server 12 can be identified by the proxy server 13, the proxy server 13 can acquire the data stream sent by the broadcast server 12, and can complete the transmission of the data stream between the broadcast server 12 and the proxy server 13. As can be seen from the above, the data streams received by the broadcast server 12 correspond to a plurality of transmission protocols, and accordingly, the data streams correspond to different encoding formats. Normally, the proxy server 13 will be configured with a receiving port corresponding to a specified transmission protocol, and obviously, the proxy server 13 cannot identify data streams using other than the specified transmission protocol, that is, part of the data streams cannot be identified and collected by the proxy server 13. In order to solve the above problem, in the embodiment of the present application, before the broadcast server 12 broadcasts the data stream to the proxy server 13, the data stream is processed into the data stream to be listened to, which has the specified encoding format, where the specified encoding format corresponds to the specified transmission protocol configured by the proxy server 13, so that it can be ensured that the proxy server 13 recognizes all the data streams to be listened to, and effective transmission of the data stream between the broadcast server 12 and the proxy server 13 is ensured.
As shown in fig. 7, the flow of processing the data stream by the broadcast server 12 is as follows:
s701, the broadcast server acquires a target transmission protocol corresponding to the target port.
S702, the broadcast server determines a target decoding format corresponding to the target transmission protocol from a pre-stored index table, wherein the index table comprises a plurality of transmission protocols and decoding formats corresponding to each transmission protocol.
S703, the broadcasting server decodes the data stream by adopting the target decoding format.
S704, the broadcast server uses the specified coding format to code the decoded data stream, and the data stream to be listened to is obtained.
The broadcast server 12 may identify a target port for receiving a data stream, and further obtain port information of the target port, for example, the target port is a receiving port c, and the port information of the receiving port c is "receiving port c-RTP", so that the broadcast server may obtain that a transport protocol (target transport protocol) corresponding to the receiving port c is RTP. The broadcast server 12 pre-stores an index table, which includes a plurality of transport protocols and decoding formats corresponding to each transport protocol, such as "SIP-decoding format a, RTP-decoding format B, RTSP-decoding format C, and RTMP-decoding format D", from which the broadcast server 12 can index a corresponding target decoding format, i.e., decoding format B, according to "RTP". Thus, the broadcast server 12 can decode the data stream using the decoding format B to obtain a decoded data stream. The broadcast server 12 may store a specified encoding format, such as encoding format a, of the proxy server 13 in advance, or may transmit an inquiry instruction to the broadcast server 12 to inquire about the specified encoding format, or the like. After obtaining the specified encoding format of the proxy server 13, the broadcast server 12 may re-encode the decoded data stream using the specified encoding format, so as to obtain the data stream to be listened to, which can be recognized and collected by the proxy server 13.
In some embodiments, in order to ensure uniformity of the data to be listened to obtained by each listener, and to relieve processing pressure of each listener on the obtained data to be listened to, the broadcast server 12 may further process the data to be listened to. For example, preset audio playing parameters are configured for an audio data stream in a data stream to be listened to, such as configuring a channel for the audio data stream, for example, configuring a left channel for a sub data stream 1 in the audio data stream, and configuring a right channel for a sub data stream 2 in the audio data stream. And configuring preset video playing parameters for the video data stream in the data stream to be listened to, such as configuring picture parameters (aspect ratio and the like) for the video data stream.
In some embodiments, in order to reduce the configuration pressure of the terminal devices used by the listeners, a proxy server 13 may be used, which specifies a transmission protocol that is the same as the transmission protocol currently supported by the terminal devices of the listeners, and at this time, the specified encoding format may be recognized by the proxy server 13, or may be recognized and received by the terminal devices without changing the configuration capability of the current receiving port of the terminal devices of the listeners, so as to improve the compatibility between the conference system 1 and the terminal devices.
The broadcast server 12, after receiving the data stream, also generates indication information to indicate a destination address (listening address) to which the proxy server 13 is to send the data stream to be listened to.
S304, the broadcasting server broadcasts the data stream to be listened to and the indication information to the proxy server, and sends the indication information to the notification server.
S305, the proxy server sends the data stream to be listened to the listening address in real time.
S306, the notification server issues a notification message to a specified subject, the notification message includes the indication information, and the specified subject refers to a subject subscribed by each listener in the target conference, so that each listener receives the notification message by monitoring the specified subject and obtains the data stream to be listened by the listening address.
The broadcast server 12 avoids directly sending specific data streams to be listened to each listener, and pushes the data streams to be listened to the listener address in real time through the proxy server 13, so that the data transmission efficiency is high, the timeliness of the data streams to be listened to can be ensured, and the pressure of the conference system 1 for transmitting the data streams to a large number of listeners can be reduced. Meanwhile, the safety problem that the conference system 1 directly transmits the data stream to be listened to the listener can be avoided.
The broadcast server 12 simultaneously sends the indication information to the notification server 14 to notify each listener side through the notification server 14 that the target conference has been opened and the data stream to be listened to has been acquired, and to indicate that each listener side can acquire the listening address of the data stream to be listened to. Illustratively, notification server 14 will generate a notification message and carry the indication information (i.e., the listening address) within the notification message. Based on the publish-subscribe mechanism, the notification server 14 publishes the notification message to a specified topic, which is a topic pre-subscribed by all listener terminals, so that each listener terminal can simultaneously learn after publishing the notification message by monitoring the specified topic. Based on the above process, when the external factors such as the network environment of each listener end are the same, the time difference that each listener end receives the message notification can be eliminated, so that the time difference that each listener end can start to acquire the data stream to be listened to is eliminated, and the timeliness of the data stream to be listened to, which is acquired by each listener end, is ensured.
In the embodiment of the present application, each listener is notified of the listening address through a low-overhead notification message, so that each listener can obtain the data stream to be listened according to the listening address, and the broadcast server 12 can directly distribute the specific data stream to be listened to each listener, and split the data stream to each listener, thereby greatly improving the transmission efficiency of the data stream to be listened to, and effectively reducing the bandwidth occupied by transmitting the data stream to be listened to.
In order to further improve the timeliness of the listener receiving the notification message, the notification server may transcode the notification message into an MQTT notification message, and as shown in fig. 8, the MQTT notification message is published to a specified topic by the MQTT server 141, so that the publishing efficiency of the notification message can be effectively accelerated based on the instant messaging advantages of low overhead and low bandwidth occupation of the MQTT notification message.
When the talker end needs to terminate the target conference, it may send a termination instruction to the management server 11. In one implementation, the management server 11 may stop receiving the data stream in response to the termination instruction, so that data interaction with the speaker side may be directly stopped to stop the data stream generated by the speaker side after sending the termination instruction from continuing to occupy the transmission resource of the conference system 1. In one implementation, the management server 11 may stop sending the data stream to be listened to and the indication information to the proxy server 13 and/or stop sending the indication information to the notification server 14 in response to the termination instruction. In this way, the management server 11 can continue to receive the data stream generated by the speaker after sending the termination instruction, so as to avoid that the complete data stream of the speaker cannot be received due to the termination of the conference caused by the situations such as misoperation of the speaker, unstable network between the speaker and the conference system 1, etc., but the circulation process of the data stream to the listener side can be blocked in order to ensure the information security of the data stream generated at this stage. Meanwhile, when the speaker needs to restart the target conference, the circulation of the data flow corresponding to the stage to the listener can be recovered at the first time according to the requirement of the speaker, so that the listener can acquire the complete data flow.
Other embodiments of the invention will be apparent to those skilled in the art from consideration of the specification and practice of the invention disclosed herein. This application is intended to cover any variations, uses, or adaptations of the invention following, in general, the principles of the invention and including such departures from the present disclosure as come within known or customary practice within the art to which the invention pertains. It is intended that the specification and examples be considered as exemplary only, with a true scope and spirit of the invention being indicated by the following claims.
It will be understood that the present application is not limited to the precise arrangements described above and shown in the drawings and that various modifications and changes may be made without departing from the scope thereof. The scope of the application is limited only by the appended claims.

Claims (10)

1. A real-time data stream transmission method, applied to a conference system including a management server, a broadcast server, a proxy server and a notification server, the method comprising:
the management server receives a data stream sent by a speaker in a target conference;
the broadcast server receives the data stream sent by the management server;
the broadcast server processes the data stream into a data stream to be listened to with a specified coding format and generates indication information, wherein the indication information indicates a listening address of the data stream to be listened to;
the broadcast server broadcasts the data stream to be listened to and the indication information to the proxy server, and sends the indication information to the notification server;
the proxy server sends the data stream to be listened to the listening address in real time;
and the notification server issues a notification message to a specified theme, wherein the notification message comprises the indication information, and the specified theme refers to a theme subscribed by each listener in the target conference, so that each listener receives the notification message by monitoring the specified theme and acquires the data stream to be listened through the listening address.
2. The method of claim 1, wherein the management server comprises a session server and a video server, and before the management server receives the data stream sent by the speaker side in the target conference, the method further comprises:
the management server receives a conference request sent by a speaker end;
the broadcast server receives the conference request sent by the management server;
and the broadcast server responds to the conference request, establishes a first channel with the session server, and establishes a second channel with the video server, wherein the first channel is used for transmitting audio data streams in the data streams, and the second channel is used for transmitting video data streams in the data streams.
3. The method of claim 1, wherein before the broadcast server receives the data stream sent by the management server, the method further comprises:
the broadcast server registers port information of each receiving port in the management server, wherein the broadcast server is configured with a plurality of receiving ports, different receiving ports correspond to different transmission protocols, and the port information includes names of the receiving ports and the transmission protocols corresponding to the receiving ports.
4. The method of claim 3, further comprising:
the management server generates port indication information corresponding to the data stream according to port information of each receiving port registered by the broadcast server, wherein the port indication information indicates a target receiving port used by the broadcast server to receive the data stream, and a transmission protocol corresponding to the target port is the same as a transmission protocol corresponding to the data stream;
the broadcast server receives the data stream and the port indication information sent by the management server;
and the broadcast server calls the target port to receive the data stream.
5. The method of claim 4, wherein the broadcast server processes the data stream into a data stream to be listened to with a specified encoding format, comprising:
the broadcast server acquires a target transmission protocol corresponding to the target port;
the broadcast server determines a target decoding format corresponding to the target transmission protocol from a prestored index table, wherein the index table comprises a plurality of transmission protocols and a decoding format corresponding to each transmission protocol;
the broadcast server decodes the data stream using the target decoding format;
and the broadcast server uses the data stream coded and decoded by the specified coding format to obtain the data stream to be listened.
6. The method of claim 5, wherein the broadcast server processes the data stream into a data stream to be listened to having a specified encoding format, further comprising:
the broadcast server configures preset audio playing parameters for the audio data stream in the data stream to be listened to, and the broadcast server configures preset video playing parameters for the video data stream in the data stream to be listened to.
7. The method according to claim 1, wherein the specified encoding format is an encoding format that can be recognized by the proxy server and can be recognized by a current receiving port of each listener.
8. The method of claim 1, wherein the notifying server issuing the notification message to the specified topic comprises:
the notification server generates a Message Queue Telemetry Transport (MQTT) notification Message corresponding to the notification Message;
and the notification server publishes the MQTT notification message to the specified topic.
9. The method of claim 1, further comprising:
the management server receives a termination instruction sent by the speaker end;
the broadcast server receives the termination instruction sent by the management server;
the broadcast server stops receiving the data stream in response to the termination instruction;
or, the broadcast server stops sending the data stream to be listened to and the indication information to the proxy server, and/or stops sending the indication information to the notification server.
10. A conferencing system, the conferencing system comprising: a management server, a broadcast server, a proxy server and a notification server;
wherein the management server is configured to:
receiving a data stream sent by a speaker end in a target conference;
transmitting the data stream to the broadcast server;
the broadcast server is configured to:
receiving the data stream;
processing the data stream into a data stream to be listened to with a specified coding format, and generating indication information, wherein the indication information indicates a listening address of the data stream to be listened to;
broadcasting the data stream to be listened and the indication information to the proxy server, and sending the indication information to the notification server;
the proxy server is configured to:
receiving the data stream to be listened to and the indication information;
sending the data stream to be listened to the listening address;
the notification server is configured to:
receiving the indication information;
generating a notification message, wherein the notification message comprises the indication information;
and publishing the notification message to a specified theme, wherein the specified theme is a theme subscribed by each listener in the target conference, so that each listener can monitor the specified theme and simultaneously receive the notification message, and obtain the data stream to be listened through the listening address.
CN202111098298.0A 2021-09-18 2021-09-18 Data stream real-time transmission method and conference system Pending CN115842809A (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202111098298.0A CN115842809A (en) 2021-09-18 2021-09-18 Data stream real-time transmission method and conference system

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111098298.0A CN115842809A (en) 2021-09-18 2021-09-18 Data stream real-time transmission method and conference system

Publications (1)

Publication Number Publication Date
CN115842809A true CN115842809A (en) 2023-03-24

Family

ID=85574210

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111098298.0A Pending CN115842809A (en) 2021-09-18 2021-09-18 Data stream real-time transmission method and conference system

Country Status (1)

Country Link
CN (1) CN115842809A (en)

Similar Documents

Publication Publication Date Title
CN113746808B (en) Converged communication method, gateway, electronic equipment and storage medium for online conference
US7257641B1 (en) Multipoint processing unit
US8767591B2 (en) Multi-point video conference system and media processing method thereof
EP2640099B1 (en) Method, system and apparatus for providing stream media service
US8385234B2 (en) Media stream setup in a group communication system
EP2658232A1 (en) Method and system for an optimized multimedia communications system
US20120069133A1 (en) Method and system for video conference control, videoconferencing network equipment, and videoconferencing site
EP1112657A1 (en) A method of switching a call to a multipoint conference call in a h.323 communication compliant environment
WO2011088656A1 (en) Method and system for implementing three-party call of videophone by mobile terminals
CN112565234B (en) Cross-network transmission system and method based on WebRTC
CN106973253B (en) Method and device for adjusting media stream transmission
US20030005054A1 (en) Distributed multipoint conferencing
CN113114688B (en) Multimedia conference management method and device, storage medium and electronic equipment
US9374232B2 (en) Method and a device for optimizing large scaled video conferences
EP2704355B1 (en) Method, device and system for establishing multi-cascade channel
US8121057B1 (en) Wide area voice environment multi-channel communications system and method
CN110460603B (en) Multimedia file transmission method, terminal, server, system and storage medium
US8180358B2 (en) Joining a session in a communication network supporting multimedia group calls
CN115842809A (en) Data stream real-time transmission method and conference system
CN115801996A (en) Method, device, equipment and medium for processing packet conference
CN114095688A (en) Method and system for realizing global broadcast conference
CN114071058A (en) Video transmission control method, device, medium and equipment for video conference
CN112929371A (en) Session processing method, device, system, electronic equipment and medium
KR101861561B1 (en) Videoconferencing Server for Providing Multi-Screen Videoconferencing by Using Plural Videoconferencing Terminals and Method therefor
US20180227342A1 (en) Media stream management 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