Live streaming methods, devices, storage media and electronic equipment
By combining a client-side app with PC-based streaming software, and utilizing a live streaming server to generate and control the streaming status, the problem of high development costs was solved, resulting in reduced development costs and improved user experience.
Patent Information
- Application Number
- CN202310139120.9
- Authority / Receiving Office
- CN · China
- Patent Type
- Patents(China)
- Current Assignee / Owner
- Filing Date
- 2023-02-10
- Publication Date
- 2025-11-14
- Estimated Expiration
- 2043-02-10
AI Technical Summary
In existing technologies, after developing a client-side app, a significant amount of cost is still required to develop streaming software, resulting in high development costs and long development cycles, making it difficult to promote new software.
By combining a client-side APP with PC-side streaming software, the system utilizes a live streaming server to generate basic live streaming information, perform security checks, and control the streaming status. It also employs third-party PC-side streaming software to push audio and video live streams, reducing the need for PC-side software development.
This reduces software development costs, improves the live streaming experience for broadcasters and viewers, and eliminates the need to develop PC-based streaming software.
Smart Images

Figure CN116405703B_ABST
Abstract
Description
Technical Field
[0001] This invention relates to the field of financial technology, and more specifically, to a live streaming method, apparatus, storage medium, and electronic device. Background Technology
[0002] Currently, live streaming technology solutions using mobile apps are relatively mature, and developing such software is not particularly difficult. However, implementing live streaming via an app requires capturing video and audio streams from the phone's camera and microphone, as well as handling encoding and decoding within the app. This places high demands on the phone's performance. Furthermore, mobile live streaming can negatively impact the streamer's experience. Therefore, PC-based streaming software is highly favored by streamers. PCs connect directly to a network cable, providing a stable network environment, and offer more powerful hardware and easier operation.
[0003] However, the development of streaming software for PCs is quite difficult. There is a problem that after developing the client-side APP, a lot of costs still need to be invested in developing the streaming software, resulting in high development costs. In addition, the development cycle is long, and it is also difficult to promote the newly developed software. The return on investment is highly uncertain.
[0004] There is currently no effective solution to the above problems. Summary of the Invention
[0005] This invention provides a live streaming method, apparatus, storage medium, and electronic device to at least solve the technical problem in the prior art where a large amount of cost is still required to develop streaming software after developing a client APP, resulting in high development costs.
[0006] According to one aspect of the present invention, a live streaming method is provided, applied to a live streaming system, comprising: receiving a first live streaming instruction through a live streaming server and generating basic live streaming information, wherein the first live streaming instruction is issued by a first end participating in the live streaming through a client APP, and the basic live streaming information includes at least a streaming address; obtaining the streaming address through a target streaming software and pushing the live stream to a streaming media server based on the streaming address, wherein the target streaming software is a streaming software on a PC; after the live streaming server hears a first notification issued by the streaming media server, performing security verification on the information to be verified, obtaining a verification result, and determining whether to continue pushing the live stream based on the verification result, wherein the first notification indicates that the streaming media server has received the live stream, the information to be verified includes at least one of the following: basic live streaming information, identity information of the first end, and the verification result indicates whether the information to be verified has passed the security verification.
[0007] Furthermore, the live streaming method also includes: after the live streaming server receives the first notification from the streaming media server, obtaining the basic live streaming information, and performing a consistency check between the live streaming information contained in the first notification and the basic live streaming information to obtain a first verification result, wherein the first verification result indicates whether the basic live streaming information passes the consistency check; if the first verification result indicates that the basic live streaming information passes the consistency check, performing a security check on the identity information of the first end to obtain a verification result.
[0008] Furthermore, the live streaming method also includes: sending a first identifier to the streaming media server after the identity information of the first end has passed security verification, so that the streaming media server can continue to receive the live stream pushed by the target streaming software after receiving the first identifier.
[0009] Furthermore, the live streaming method also includes: if the identity information of the first end fails the security verification, sending a second identifier to the streaming media server, so that the streaming media server disconnects the streaming link with the target streaming software after receiving the second identifier.
[0010] Furthermore, the live streaming method also includes: after the streaming media server continues to receive the live stream pushed by the target streaming software, the streaming media server forwards the live stream to the content delivery network. The content delivery network is used to transcode and parse the live stream when it receives a viewing request from the second end participating in the live stream, so that the second end can receive the live video and live audio corresponding to the live stream. The viewing request is sent by the second end through the client APP.
[0011] Furthermore, the live streaming method also includes: before pushing the live stream to the streaming media server based on the streaming address, receiving a first prompt message sent by the live streaming server through the client APP, and displaying the first prompt message to the first end, so that the first end sends a second live streaming instruction to the target streaming software, wherein the first prompt message is used to characterize the live streaming status; after the target streaming software receives the second live streaming instruction, it collects the audio and video streams of the first end through the target device to obtain the live stream.
[0012] Furthermore, the live streaming method also includes: when the live streaming server receives a third live streaming instruction, determining whether the third live streaming instruction was sent by the first end through the client APP; if the third live streaming instruction was sent by the first end through the client APP, controlling the streaming media server to disconnect the streaming link with the target streaming software; and sending a second prompt message to the client APP through the live streaming server, wherein the second prompt message is used to indicate that the third live streaming instruction was executed successfully by the first end, and the live streaming status corresponding to the second prompt message is different from that of the first prompt message.
[0013] According to another aspect of the present invention, a live streaming device is also provided, comprising: a receiving module, configured to receive a first live streaming instruction through a live streaming server and generate basic live streaming information, wherein the first live streaming instruction is issued by a first end participating in the live streaming through a client APP, and the basic live streaming information includes at least a streaming address; an obtaining module, configured to obtain the streaming address through a target streaming software and push the live stream to a streaming media server based on the streaming address, wherein the target streaming software is a streaming software on a PC; and a determining module, configured to perform security verification on the information to be verified after the live streaming server receives a first notification issued by the streaming media server, obtain a verification result, and determine whether to continue pushing the live stream based on the verification result, wherein the first notification indicates that the streaming media server has received the live stream, the information to be verified includes at least one of the following: basic live streaming information, identity information of the first end, and the verification result indicates whether the information to be verified has passed the security verification.
[0014] According to another aspect of the present invention, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer program, wherein the computer program is configured to execute the above-described live streaming method at runtime.
[0015] According to another aspect of the present invention, an electronic device is also provided, the electronic device including one or more processors; a memory for storing one or more programs, wherein when the one or more programs are executed by the one or more processors, the one or more processors are configured to run the programs, wherein the programs are configured to execute the above-described live streaming method during runtime.
[0016] In this embodiment of the invention, a combination of a client-side APP and PC-side streaming software is used. First, a first live streaming instruction is received from the live streaming server, generating basic live streaming information. Then, the target streaming software obtains the streaming address and pushes the live stream to the streaming media server based on the streaming address. After the live streaming server receives the first notification from the streaming media server, it performs a security verification on the information to be verified, obtains the verification result, and determines whether to continue pushing the live stream based on the verification result. Specifically, the first live streaming instruction is issued by the first party participating in the live stream via the client-side APP; the basic live streaming information includes at least the streaming address; the target streaming software is the PC-side streaming software; the first notification indicates that the streaming media server has received the live stream; the information to be verified includes at least one of the following: basic live streaming information, the identity information of the first party; and the verification result indicates whether the information to be verified passes the security verification.
[0017] In the aforementioned process, a self-developed client app was combined with third-party streaming software on PCs that broadcasters are familiar with. The client app was used to manage the live stream status, while the third-party streaming software on PCs was used to push audio and video live streams. This provided broadcasters with a good live streaming experience and improved the live viewing experience for viewers. In addition, there was no need to develop PC-based streaming software, reducing the development costs for the software provider.
[0018] Therefore, the technical solution of this invention achieves the goal of controlling the live streaming status through a self-developed APP and pushing audio and video live streams through third-party streaming software on the PC, thereby reducing software development costs. It also solves the technical problem in the prior art that after developing a client APP, a large amount of cost is still required to develop streaming software, resulting in high development costs. Attached Figure Description
[0019] The accompanying drawings, which are included to provide a further understanding of the invention and form part of this application, illustrate exemplary embodiments of the invention and, together with their description, serve to explain the invention and do not constitute an undue limitation thereof. In the drawings:
[0020] Figure 1 This is a flowchart of an optional live streaming method according to an embodiment of the present invention;
[0021] Figure 2 This is a schematic diagram of an optional live streaming system according to an embodiment of the present invention;
[0022] Figure 3 This is a flowchart of an optional live streaming system according to an embodiment of the present invention;
[0023] Figure 4 This is an optional flowchart for starting a live broadcast according to an embodiment of the present invention;
[0024] Figure 5 This is a flowchart of an optional push stream verification according to an embodiment of the present invention;
[0025] Figure 6 This is an optional flowchart for ending a live stream according to an embodiment of the present invention;
[0026] Figure 7 This is a schematic diagram of an optional live streaming device according to an embodiment of the present invention;
[0027] Figure 8 This is a schematic diagram of an optional electronic device according to an embodiment of the present invention. Detailed Implementation
[0028] To enable those skilled in the art to better understand the present invention, the technical solutions of the present invention will be clearly and completely described below with reference to the accompanying drawings of the embodiments of the present invention. Obviously, the described embodiments are only some embodiments of the present invention, and not all embodiments. Based on the embodiments of the present invention, all other embodiments obtained by those skilled in the art without creative effort should fall within the scope of protection of the present invention.
[0029] It should be noted that the terms "first," "second," etc., in the specification, claims, and accompanying drawings of this invention are used to distinguish similar objects and are not necessarily used to describe a specific order or sequence. It should be understood that such data can be interchanged where appropriate so that the embodiments of the invention described herein can be implemented in orders other than those illustrated or described herein. Furthermore, the terms "comprising" and "having," and any variations thereof, are intended to cover a non-exclusive inclusion; for example, a process, method, system, product, or apparatus that comprises a series of steps or units is not necessarily limited to those steps or units explicitly listed, but may include other steps or units not explicitly listed or inherent to such processes, methods, products, or apparatus.
[0030] It should be noted that all relevant information (including but not limited to user device information, user personal information, etc.) and data (including but not limited to data used for display, data used for analysis, etc.) involved in this invention are information and data authorized by the user or fully authorized by all parties. For example, this system has an interface with the relevant user or organization. Before obtaining relevant information, it needs to send an acquisition request to the aforementioned user or organization through the interface, and obtain the relevant information after receiving consent from the aforementioned user or organization.
[0031] Example 1
[0032] According to an embodiment of the present invention, a live streaming method is provided. It should be noted that the steps shown in the flowchart in the accompanying drawings can be executed in a computer system such as a set of computer-executable instructions. Furthermore, although a logical order is shown in the flowchart, in some cases, the steps shown or described may be executed in a different order than that shown here.
[0033] Figure 1 This is a flowchart of an optional live streaming method according to an embodiment of the present invention, such as... Figure 1 As shown, the method includes the following steps:
[0034] Step S101: Receive the first live broadcast instruction through the live broadcast server and generate basic live broadcast information. The first live broadcast instruction is sent by the first end participating in the live broadcast through the client APP. The basic live broadcast information includes at least the push stream address.
[0035] In the above steps, the first live broadcast instruction can be a start broadcast instruction, the first end participating in the live broadcast can be the broadcaster's end, the client APP can be a self-developed APP (i.e., a self-developed client APP), and the basic live broadcast information includes the live broadcast room number, the live broadcast start time, the live broadcast end time, and the push broadcast address, etc.
[0036] Optionally, the broadcaster can send a broadcast start command to the live streaming server via a self-developed client app (e.g., the broadcaster clicks "Start Broadcast"). The live streaming server then generates basic live streaming information and returns it to the self-developed client app. For example, Table 1 below can be returned to the self-developed client app for the broadcaster to view the basic live streaming information.
[0037] Table 1 Basic Information for Live Streaming
[0038] Live Stream Title Live broadcast start time Live broadcast end time Live Stream Number Push Stream Address Live Stream Title 1 2022-09-18 17:00 2022-09-18 18:00 10159 rtmp: / / xxx
[0039] Figure 2 This is a schematic diagram of an optional live streaming system according to an embodiment of the present invention, such as... Figure 2 As shown, the live streaming system includes a Content Delivery Network (CDN), a streaming media server, a self-developed client APP, third-party streaming software, a live signaling server (i.e., a live streaming server), and data storage.
[0040] Optionally, the self-developed client app includes basic functions such as live stream start, live stream end, and live stream viewing. Live stream start and end are provided by the live stream signaling server component, enabling control over the live stream status. Live stream viewing is achieved by the underlying software development kit (SDK) obtaining and parsing the live audio and video streams from the CDN content delivery network. Optionally, broadcasters can watch the live stream through the client app while simultaneously using third-party streaming software on their PCs.
[0041] Optionally, the live streaming signaling server can provide services such as live streaming start, end, streaming start listening, and streaming end listening. The start service is used to create the live streaming room and generate the streaming address, and write the basic information of the live streaming room into the data cache layer. Optionally, the expiration time of the data cache is set by parameters.
[0042] Optionally, the live stream end service is used to verify the streamer's identity and persist the live stream information in the data cache before clearing the cache. Since the third-party streaming software on the PC is open source, the identity of the sender needs to be verified when a live stream end command is received. That is, the streamer can only end the live stream by issuing the live stream end command through the client APP.
[0043] Optionally, the push stream end monitoring service is used to change the live stream cache expiration time, the preset time for retaining live stream information when the live stream ends abnormally, etc.
[0044] Optionally, data storage mainly includes data caching and persistent storage of basic information about the live streaming room, which exists in the form of data files on the server disk.
[0045] Figure 3 This is a flowchart of an optional live streaming system according to an embodiment of the present invention, such as... Figure 3 As shown, the broadcaster sends a start broadcast command to the live broadcast signaling server through the self-developed client APP. Figure 4 This is an optional flowchart for starting a live stream according to an embodiment of the present invention, such as... Figure 4 As shown, the live streaming signaling server receives the start live streaming command, generates basic live streaming information such as the push stream address, then stores and caches the data, and returns the processing result (i.e., the push stream address and other basic live streaming information) to the self-developed client APP.
[0046] It should be noted that in the above process, the live streaming status was controlled through a self-developed client APP, which avoided the risks that exist when combining the client APP with PC-based streaming software and improved the reliability of the system.
[0047] Step S102: Obtain the streaming address through the target streaming software, and push the live stream to the streaming media server based on the streaming address. The target streaming software is a streaming software on a PC.
[0048] Optionally, the target streaming software can be a third-party streaming software on a PC, i.e., a free and open-source streaming software that can perform live streaming (e.g., OBS Studio). Live streaming refers to pushing live video and audio streams to a streaming media server.
[0049] Optionally, third-party streaming software includes basic functions such as streaming address configuration, resolution configuration, and video uploading. After entering the streaming address in the third-party streaming software, audio and video streams can be captured through the PC's webcam and microphone and pushed to the streaming media server. Optionally, the streaming media server receives the live audio and video streams, can provide notifications for the start and end of the streaming, and can forward the live stream to CDN and recording servers.
[0050] Optional, such as Figure 3As shown, after obtaining the streaming address in the client app, the broadcaster configures the streaming address in the third-party streaming software (e.g., configuring the live streaming URL and streaming code). Optionally, after obtaining the streaming address through the third-party streaming software, the broadcaster starts streaming, that is, pushes the live stream to the streaming media server. The configured streaming address must be exactly the same as the streaming address generated by the live signaling server.
[0051] It should be noted that in the above process, using third-party streaming software on a PC to push audio and video live streams can provide broadcasters with a good live streaming experience and also improve the live viewing experience for viewers.
[0052] Step S103: After the live streaming server receives the first notification from the streaming media server, it performs a security verification on the information to be verified, obtains the verification result, and determines whether to continue pushing the live stream based on the verification result. The first notification indicates that the streaming media server has received the live stream, and the information to be verified includes at least one of the following: basic live streaming information, identity information of the first end, and the verification result indicates whether the information to be verified has passed the security verification.
[0053] In the above steps, the first notification can be a notification of receiving the live stream, that is, the streaming media server sends a notification after receiving the live stream to inform the live streaming server that it has received the live stream. The identity information of the first end can be the identity information of the broadcaster.
[0054] Optionally, after the streaming media server detects the start of live stream pushing, it initiates the streaming service via a callback live signaling, and controls whether the live stream can continue to be pushed based on the verification result of the live room information at the start of the streaming service. Specifically, for example... Figure 3 As shown, after the live broadcast signaling server receives the first notification from the streaming media server, it performs a verification process, which involves performing a security verification on the information to be verified. If the verification is successful, the streaming continues; if the verification fails, the streaming ends.
[0055] Optionally, after a broadcaster logs into the self-developed client APP as a broadcaster and enters the live broadcast room, they will have the "Start Live Broadcast" operation permission. If the broadcaster operates "Start Live Broadcast" and receives a "Live Broadcast Successfully!" message from the APP, it means that the live broadcast signaling server has successfully received the broadcaster's instruction. The server will then perform a query of basic live broadcast information and a verification of the broadcaster's identity, and load the relevant information into the cache.
[0056] Based on the scheme defined in steps S101 to S103 above, it can be understood that in this embodiment of the invention, a combination of a client APP and PC-based streaming software is used. First, a first live broadcast instruction is received through the live broadcast server to generate basic live broadcast information. Then, the streaming address is obtained through the target streaming software, and the live broadcast stream is pushed to the streaming media server based on the streaming address. After the live broadcast server receives the first notification from the streaming media server, it performs a security verification on the information to be verified, obtains the verification result, and determines whether to continue pushing the live broadcast stream based on the verification result. Specifically, the first live broadcast instruction is issued by the first end participating in the live broadcast through the client APP; the basic live broadcast information includes at least the streaming address; the target streaming software is the PC-based streaming software; the first notification indicates that the streaming media server has received the live broadcast stream; the information to be verified includes at least one of the following: basic live broadcast information, the identity information of the first end; and the verification result indicates whether the information to be verified passes the security verification.
[0057] It's worth noting that in the above process, the self-developed client app was combined with the third-party streaming software on PCs that broadcasters are familiar with. The client app was used to manage the live stream status, while the third-party streaming software on PCs was used to push the audio and video streams. This provided broadcasters with a good live streaming experience and improved the viewing experience for viewers. Furthermore, there was no need to develop the PC streaming software, reducing the development costs for the software provider.
[0058] Therefore, the technical solution of this invention achieves the goal of controlling the live streaming status through a self-developed APP and pushing audio and video live streams through third-party streaming software on the PC, thereby reducing software development costs. It also solves the technical problem in the prior art that after developing a client APP, a large amount of cost is still required to develop streaming software, resulting in high development costs.
[0059] In one optional embodiment, after the live streaming server receives the first notification from the streaming media server, during the process of performing security verification on the information to be verified and obtaining the verification result, the live streaming server first obtains the basic live streaming information after receiving the first notification from the streaming media server, and performs a consistency verification between the live stream information contained in the first notification and the basic live streaming information to obtain a first verification result. Then, if the first verification result indicates that the basic live streaming information has passed the consistency verification, a security verification is performed on the identity information of the first end to obtain a verification result. The first verification result indicates whether the basic live streaming information has passed the consistency verification.
[0060] Optionally, the live stream information included in the first notification may be the name of the live stream, etc. After the live signaling server listens to the first notification sent by the streaming media server, it performs verification and judgment on the live room information through the live stream start push callback notification service.
[0061] Optionally, the basic live streaming information is first obtained, and the consistency of the live stream information contained in the first notification with the basic live streaming information is verified. For example, the consistency of the correspondence between the live stream name and the live room number is verified, that is, whether the current live stream was sent from the current live room number is verified. Further, if the basic live streaming information passes the consistency verification, the identity information of the first end is verified, that is, the identity of the live streamer is verified.
[0062] Figure 5 This is a flowchart of an optional push stream verification according to an embodiment of the present invention, such as... Figure 5 As shown, after the streaming media server receives the live stream, it triggers the live stream start push callback notification service of the live signaling server. First, it performs a live room cache query, and then performs the basic information verification of the live room and the identity verification of the anchor in sequence. If the verification passes, the streaming media server continues to receive the live stream. If the verification fails, the live stream push link between the third-party push software and the streaming media service is disconnected.
[0063] In one optional embodiment, during the process of determining whether to continue pushing the live stream based on the verification result, if the identity information of the first end passes the security verification, a first identifier is sent to the streaming media server so that the streaming media server continues to receive the live stream pushed by the target streaming software after receiving the first identifier.
[0064] In one alternative embodiment, if the identity information at the first end fails the security verification, a second identifier is sent to the streaming media server so that the streaming media server disconnects the streaming link with the target streaming software after receiving the second identifier.
[0065] Optionally, the first identifier and the second identifier can be preset status codes, for example, the first identifier is a 200 status code and the second identifier is a non-200 status code.
[0066] Optionally, if the first verification result indicates that the basic information of the live broadcast has failed the consistency verification, a second identifier is sent to the streaming media server.
[0067] Specifically, such as Figure 5 As shown, if the live room verification is successful (i.e., the basic information of the live stream passes the consistency verification), then the anchor's identity verification is performed (i.e., the identity information of the first end is verified for security); if the live room verification fails, then a non-200 status code is returned (i.e., a second identifier is sent to the streaming media server), and the processing result is returned.
[0068] Furthermore, if the broadcaster's identity verification is successful (i.e., the identity information of the first end passes security verification), then cache persistence and data updates are performed (e.g., updating the live stream cache expiration time and the live stream status in the database), and a 200 status code (i.e., sending the first identifier to the streaming media server) and processing result are returned. After receiving the 200 status code, the streaming media server can normally receive and forward the live stream pushed by the third-party streaming software.
[0069] Optionally, if the streamer's identity verification fails (i.e., the identity information of the first end fails the security verification), a non-200 status code is returned (i.e., a second identifier is sent to the streaming media server). After the streaming media server hears the non-200 status code, it disconnects the streaming link with the third-party streaming software, that is, the live broadcast is forcibly disconnected.
[0070] It should be noted that the client app has strict identity authentication verification. Only after the client app has successfully completed the operation can the third-party streaming software push the stream normally. Furthermore, the push stream callback verification can prevent malicious live streaming caused by the leakage of the push stream address, thus improving the system's security.
[0071] In one optional embodiment, after the streaming media server continues to receive the live stream pushed by the target streaming software, the streaming media server forwards the live stream to the content delivery network. The content delivery network is used to transcode and parse the live stream when it receives a viewing request from a second end participating in the live stream, so that the second end can receive the live video and live audio corresponding to the live stream. The viewing request is sent by the second end through a client APP.
[0072] Optionally, the second end participating in the live stream can be the viewer. After the streaming media server continues to receive the live stream pushed by the third-party streaming software, it bypasses the streaming media server and pushes it to the CDN (Content Delivery Network). The CDN then handles the conversion of relevant streaming protocols and caches the content. Optionally, upon receiving a viewing request from the viewer, the CDN transcodes and caches the audio and video live stream pushed by the streaming media server so that the viewer receives the corresponding live video and audio. Optionally, the CDN supports streaming and viewing of different protocols such as FLV, HLS, and RTMP on the viewer's end.
[0073] Optionally, viewers can pull the live stream from the CDN through a self-developed client app and parse the live video and audio pushed by third-party streaming software.
[0074] Optionally, after starting a live stream, the streamer can choose to exit the self-developed client app and log back in when they need to end the live stream.
[0075] In one optional embodiment, before pushing the live stream to the streaming media server based on the push address, a client app receives a first prompt message sent by the live stream server and displays the first prompt message to a first device, causing the first device to issue a second live stream command to the target push streaming software. Then, after the target push streaming software receives the second live stream command, it collects the audio and video streams from the first device to obtain the live stream. The first prompt message is used to characterize the live stream status.
[0076] Optionally, the first notification message could be "Live broadcast successful!", and the second live broadcast command could be an instruction issued by the broadcaster through clicking "Start Streaming" in third-party streaming software. The target device could be a PC's camera, microphone, etc. Specifically, the broadcaster operates "Start Live Broadcast" in the client app, the client app receives "Live broadcast successful!" sent by the live broadcast signaling server, and displays "Live broadcast successful!" to the broadcaster's end.
[0077] Furthermore, the broadcaster clicks "Start Streaming" on the third-party streaming software. After receiving the instruction, the third-party streaming software uses the PC's camera and microphone to capture the audio and video streams from the broadcaster's end, thus obtaining the live stream, and then pushes the live stream to the streaming media server.
[0078] In one optional embodiment, when the live streaming server receives a third live streaming instruction, it determines whether the third live streaming instruction was sent by the first end through the client APP. If the third live streaming instruction was sent by the first end through the client APP, the streaming media server is controlled to disconnect the streaming link with the target streaming software, and then the live streaming server sends a second prompt message to the client APP. The second prompt message is used to indicate that the third live streaming instruction was executed successfully by the first end, and the live streaming status corresponding to the second prompt message is different from that of the first prompt message.
[0079] Optionally, the third live streaming command can be an end live streaming command, and the second prompt message can be "Live streaming successfully ended!". If the streamer needs to end the live streaming, they should log in to the self-developed client APP as the streamer, enter the live streaming room, and perform the "End Live Stream" operation.
[0080] Figure 6 This is an optional flowchart for ending a live stream according to an embodiment of the present invention, such as... Figure 6As shown, the live streaming signaling server receives the broadcaster's instruction to end the live stream, performs broadcaster identity verification, and persists and clears relevant information caches (e.g., cache time updates, data updates, and live stream resource releases). Simultaneously, it triggers a stream termination callback notification from the streaming media server, informing the live streaming signaling server that it will no longer receive streams. Furthermore, it triggers the live streaming termination callback notification service from the live streaming signaling server, remotely disconnecting the link between the third-party streaming software and the streaming media service, meaning the third-party streaming software will no longer push live streams to the streaming media server. Optionally, the streaming media server will also disconnect from the CDN, meaning viewers will no longer receive live video and audio from the CDN.
[0081] Furthermore, after the live streaming signaling server completes the processing of the live streaming end instruction, it sends "Live streaming ended successfully!" to the client APP. After receiving the "Live streaming ended successfully!" message from the client APP, the broadcaster can directly close the third-party streaming software and exit the self-developed client APP.
[0082] Therefore, the technical solution of this invention achieves the goal of controlling the live streaming status through a self-developed APP and pushing audio and video live streams through third-party streaming software on the PC, thereby reducing software development costs. It also solves the technical problem in the prior art that after developing a client APP, a large amount of cost is still required to develop streaming software, resulting in high development costs.
[0083] Example 2
[0084] According to an embodiment of the present invention, a live streaming device is provided, wherein, Figure 7 This is a schematic diagram of an optional live streaming device according to an embodiment of the present invention, such as... Figure 7 As shown, the device includes: a receiving module 701, used to receive a first live broadcast instruction through a live broadcast server and generate basic live broadcast information, wherein the first live broadcast instruction is sent by the first end participating in the live broadcast through a client APP, and the basic live broadcast information includes at least a push stream address; an obtaining module 702, used to obtain the push stream address through a target push stream software and push the live stream to the streaming media server based on the push stream address, wherein the target push stream software is a PC-based push stream software; and a determining module 703, used to perform security verification on the information to be verified after the live broadcast server hears the first notification sent by the streaming media server, obtain the verification result, and determine whether to continue pushing the live stream based on the verification result, wherein the first notification indicates that the streaming media server has received the live stream, the information to be verified includes at least one of the following: basic live broadcast information, the identity information of the first end, and the verification result indicates whether the information to be verified has passed the security verification.
[0085] It should be noted that the receiving module 701, the obtaining module 702, and the determining module 703 mentioned above correspond to steps S101 to S103 in the above embodiments. The examples and application scenarios implemented by the three modules and the corresponding steps are the same, but are not limited to the content disclosed in the above embodiment 1.
[0086] Optionally, the determining module includes: a first acquisition module, used to acquire basic live streaming information after the live streaming server listens to the first notification issued by the streaming media server, and to perform a consistency check between the live streaming information contained in the first notification and the basic live streaming information to obtain a first verification result, wherein the first verification result indicates whether the basic live streaming information passes the consistency check; and a first verification module, used to perform a security check on the identity information of the first end if the first verification result indicates that the basic live streaming information passes the consistency check, to obtain a verification result.
[0087] Optionally, the determining module further includes: a first sending module, used to send a first identifier to the streaming media server when the identity information of the first end passes the security verification, so that the streaming media server continues to receive the live stream pushed by the target streaming software after receiving the first identifier.
[0088] Optionally, the live streaming device further includes: a second sending module, used to send a second identifier to the streaming media server if the identity information at the first end fails the security verification, so that the streaming media server disconnects the streaming link with the target streaming software after receiving the second identifier.
[0089] Optionally, the live streaming device further includes: a third sending module, used to forward the live stream to the content delivery network via the streaming media server after the streaming media server continues to receive the live stream pushed by the target streaming software. The content delivery network is used to transcode and parse the live stream upon receiving a viewing request from the second end participating in the live stream, so that the second end can receive the live video and live audio corresponding to the live stream. The viewing request is sent by the second end through a client APP.
[0090] Optionally, the live streaming device further includes: a first receiving module, used to receive a first prompt message sent by the live streaming server through a client APP, and display the first prompt message to the first end, so that the first end sends a second live streaming instruction to the target streaming software, wherein the first prompt message is used to characterize the live streaming status; and a second acquiring module, used to acquire the audio and video streams of the first end through the target device after the target streaming software receives the second live streaming instruction, to obtain the live stream.
[0091] Optionally, the live streaming device further includes: a judgment module, used to determine whether the third live streaming instruction was sent by the first end through the client APP when the live streaming server receives the third live streaming instruction; a control module, used to control the streaming media server to disconnect the streaming link with the target streaming software if the third live streaming instruction was sent by the first end through the client APP; and a fourth sending module, used to send a second prompt message to the client APP through the live streaming server, wherein the second prompt message is used to indicate that the third live streaming instruction was executed successfully by the first end, and the live streaming status corresponding to the second prompt message is different from that of the first prompt message.
[0092] Example 3
[0093] According to another aspect of the present invention, a computer-readable storage medium is also provided, wherein a computer program is stored in the computer-readable storage medium, and the computer program is configured to execute the above-described live streaming method at runtime.
[0094] Example 4
[0095] According to another aspect of the present invention, an electronic device is also provided, wherein, Figure 8 This is a schematic diagram of an optional electronic device according to an embodiment of the present invention, such as... Figure 8 As shown, the electronic device includes one or more processors; a memory for storing one or more programs, which, when executed by one or more processors, enable the processors to run the programs, wherein the programs are configured to execute the aforementioned live streaming push method during runtime. When the processor executes the program, it performs the following steps: receiving a first live streaming instruction from a live streaming server and generating basic live streaming information, wherein the first live streaming instruction is issued by the first end participating in the live streaming through a client APP, and the basic live streaming information includes at least a push address; obtaining the push address through a target push address software and pushing the live stream to a streaming media server based on the push address, wherein the target push address software is a PC-based push address software; after the live streaming server receives the first notification from the streaming media server, performing a security verification on the information to be verified, obtaining a verification result, and determining whether to continue pushing the live stream based on the verification result, wherein the first notification indicates that the streaming media server has received the live stream, and the information to be verified includes at least one of the following: basic live streaming information, the identity information of the first end, and the verification result indicates whether the information to be verified has passed the security verification.
[0096] Optionally, the processor may also perform the following steps when executing the program: after the live streaming server receives the first notification from the streaming media server, it acquires the basic information of the live streaming and performs a consistency check between the live streaming information contained in the first notification and the basic information of the live streaming, and obtains a first verification result, wherein the first verification result indicates whether the basic information of the live streaming passes the consistency check; if the first verification result indicates that the basic information of the live streaming passes the consistency check, it performs a security check on the identity information of the first end and obtains a verification result.
[0097] Optionally, the processor may also perform the following steps when executing the program: if the identity information of the first end passes the security verification, send a first identifier to the streaming media server so that the streaming media server continues to receive the live stream pushed by the target streaming software after receiving the first identifier.
[0098] Optionally, the processor may also perform the following steps when executing the program: if the identity information at the first end fails the security verification, send a second identifier to the streaming media server so that the streaming media server disconnects the streaming link with the target streaming software after receiving the second identifier.
[0099] Optionally, the processor also performs the following steps when executing the program: after the streaming media server continues to receive the live stream pushed by the target streaming software, the streaming media server forwards the live stream to the content delivery network. The content delivery network is used to transcode and parse the live stream when it receives a viewing request from the second end participating in the live stream, so that the second end can receive the live video and live audio corresponding to the live stream. The viewing request is sent by the second end through the client APP.
[0100] Optionally, the processor also performs the following steps when executing the program: before pushing the live stream to the streaming media server based on the push address, the client APP receives the first prompt information sent by the live stream server and displays the first prompt information to the first end, so that the first end sends a second live stream instruction to the target push stream software, wherein the first prompt information is used to characterize the live stream status; after the target push stream software receives the second live stream instruction, it collects the audio and video streams of the first end through the target device to obtain the live stream.
[0101] Optionally, the processor may also perform the following steps when executing the program: if the live streaming server receives a third live streaming instruction, determine whether the third live streaming instruction was sent by the first end through the client APP; if the third live streaming instruction was sent by the first end through the client APP, control the streaming media server to disconnect the streaming link with the target streaming software; send a second prompt message to the client APP through the live streaming server, wherein the second prompt message is used to indicate that the third live streaming instruction was executed successfully by the first end, and the live streaming status corresponding to the second prompt message is different from that of the first prompt message.
[0102] The devices mentioned in this article can be servers, PCs, tablets, mobile phones, etc.
[0103] The sequence numbers of the above embodiments of the present invention are for descriptive purposes only and do not represent the superiority or inferiority of the embodiments.
[0104] In the above embodiments of the present invention, the descriptions of each embodiment have different focuses. For parts not described in detail in a certain embodiment, please refer to the relevant descriptions of other embodiments.
[0105] In the several embodiments provided in this application, it should be understood that the disclosed technical content can be implemented in other ways. The device embodiments described above are merely illustrative; for example, the division of units can be a logical functional division, and in actual implementation, there may be other division methods. For instance, multiple units or components may be combined or integrated into another system, or some features may be ignored or not executed. Furthermore, the displayed or discussed mutual coupling, direct coupling, or communication connection may be through some interfaces; the indirect coupling or communication connection between units or modules may be electrical or other forms.
[0106] The units described as separate components may or may not be physically separate. The components shown as units may or may not be physical units; that is, they may be located in one place or distributed across multiple units. Some or all of the units can be selected to achieve the purpose of this embodiment according to actual needs.
[0107] Furthermore, the functional units in the various embodiments of the present invention can be integrated into one processing unit, or each unit can exist physically separately, or two or more units can be integrated into one unit. The integrated unit can be implemented in hardware or as a software functional unit.
[0108] If the integrated unit is implemented as a software functional unit and sold or used as an independent product, it can be stored in a computer-readable storage medium. Based on this understanding, the technical solution of the present invention, in essence, or the part that contributes to the prior art, or all or part of the technical solution, can be embodied in the form of a software product. This computer software product is stored in a storage medium and includes several instructions to cause a computer device (which may be a personal computer, server, or network device, etc.) to execute all or part of the steps of the methods described in the various embodiments of the present invention. The aforementioned storage medium includes various media capable of storing program code, such as USB flash drives, read-only memory (ROM), random access memory (RAM), portable hard drives, magnetic disks, or optical disks.
[0109] The above description is only a preferred embodiment of the present invention. It should be noted that for those skilled in the art, several improvements and modifications can be made without departing from the principle of the present invention, and these improvements and modifications should also be considered within the scope of protection of the present invention.
Claims
1. A live streaming method, characterized in that, Applications in live streaming systems include: The system receives a first live streaming instruction from the live streaming server and generates basic live streaming information. The first live streaming instruction is sent by the first end participating in the live streaming through a client APP. The basic live streaming information includes at least the streaming address. The streaming address is obtained through the target streaming software, and the live stream is pushed to the streaming media server based on the streaming address, wherein the target streaming software is a streaming software on a PC. After the live streaming server receives the first notification from the streaming media server, it performs a security verification on the information to be verified, obtains a verification result, and determines whether to continue pushing the live stream based on the verification result. The first notification indicates that the streaming media server has received the live stream, and the information to be verified includes at least one of the following: the basic information of the live stream, the identity information of the first end, and the verification result indicates whether the information to be verified passes the security verification. Specifically, after the live streaming server receives the first notification from the streaming media server, it performs a security verification on the information to be verified and obtains the verification result, including: After the live streaming server receives the first notification from the streaming media server, it obtains the basic live streaming information and performs a consistency check between the live streaming information contained in the first notification and the basic live streaming information to obtain a first check result, wherein the first check result indicates whether the basic live streaming information passes the consistency check. If the first verification result indicates that the basic information of the live broadcast has passed the consistency verification, the security verification is performed on the identity information of the first end to obtain the verification result. Specifically, verifying the consistency between the live stream information contained in the first notification and the basic live stream information includes at least verifying the consistency between the correspondence between the live stream name and the live room number.
2. The method according to claim 1, characterized in that, Based on the verification result, determining whether to continue pushing the live stream includes: If the identity information at the first end passes the security verification, a first identifier is sent to the streaming media server so that the streaming media server continues to receive the live stream pushed by the target streaming software after receiving the first identifier.
3. The method according to claim 2, characterized in that, The method further includes: If the identity information of the first end fails the security verification, a second identifier is sent to the streaming media server so that the streaming media server disconnects the streaming link with the target streaming software after receiving the second identifier.
4. The method according to claim 2, characterized in that, The method further includes: After the streaming media server continues to receive the live stream pushed by the target streaming software, the streaming media server forwards the live stream to the content delivery network. The content delivery network is used to transcode and parse the live stream when it receives a viewing request from a second end participating in the live stream, so that the second end can receive the live video and live audio corresponding to the live stream. The viewing request is sent by the second end through the client APP.
5. The method according to claim 1, characterized in that, Before pushing the live stream to the streaming media server based on the push address, the method further includes: The client APP receives the first prompt information sent by the live streaming server and displays the first prompt information to the first terminal, so that the first terminal issues a second live streaming instruction to the target streaming software. The first prompt information is used to characterize the live streaming status. After the target streaming software receives the second live streaming instruction, it acquires the audio and video streams from the first end through the target device to obtain the live streaming stream.
6. The method according to claim 1, characterized in that, The method further includes: When the live streaming server receives a third live streaming instruction, it determines whether the third live streaming instruction was sent by the first end through the client APP. If the third live streaming instruction is issued by the first end through the client APP, then the streaming media server is controlled to disconnect the streaming link with the target streaming software; The live streaming server sends a second notification message to the client APP, wherein the second notification message is used to indicate that the third live streaming instruction of the first terminal was successfully executed, and the live streaming status corresponding to the second notification message is different from that of the first notification message.
7. A live streaming device, characterized in that, include: The receiving module is used to receive a first live broadcast instruction through the live broadcast server and generate basic live broadcast information. The first live broadcast instruction is sent by the first end participating in the live broadcast through the client APP, and the basic live broadcast information includes at least the push stream address. The acquisition module is used to acquire the streaming address through the target streaming software and push the live stream to the streaming media server based on the streaming address, wherein the target streaming software is a streaming software on a PC. The determination module is used to perform security verification on the information to be verified after the live streaming server listens to the first notification sent by the streaming media server, obtain the verification result, and determine whether to continue pushing the live stream based on the verification result. The first notification indicates that the streaming media server has received the live stream, and the information to be verified includes at least one of the following: the basic information of the live stream, the identity information of the first end, and the verification result indicates whether the information to be verified passes the security verification. The determining module includes: The first acquisition module is configured to acquire the basic live streaming information after the live streaming server listens to the first notification issued by the streaming media server, and perform a consistency check between the live streaming information contained in the first notification and the basic live streaming information to obtain a first verification result, wherein the first verification result indicates whether the basic live streaming information passes the consistency check. The first verification module is used to perform the security verification on the identity information of the first end when the first verification result indicates that the basic information of the live broadcast has passed the consistency verification, and to obtain the verification result. Specifically, verifying the consistency between the live stream information contained in the first notification and the basic live stream information includes at least verifying the consistency between the correspondence between the live stream name and the live room number.
8. A computer-readable storage medium, characterized in that, The computer-readable storage medium stores a computer program, wherein the computer program is configured to execute the live streaming method according to any one of claims 1 to 6 when it is run.
9. An electronic device, characterized in that, The electronic device includes one or more processors; A memory for storing one or more programs, which, when executed by one or more processors, cause the one or more processors to be configured to run the programs, wherein the programs are configured to execute the live streaming method as described in any one of claims 1 to 6.
Citation Information
Patent Citations
Live broadcast method and live broadcast terminal
CN105872639A
Live streaming method and device
CN112492329A