CN112637626A - Plug flow method, system, device, electronic equipment and storage medium - Google Patents

Plug flow method, system, device, electronic equipment and storage medium Download PDF

Info

Publication number
CN112637626A
CN112637626A CN202011498934.4A CN202011498934A CN112637626A CN 112637626 A CN112637626 A CN 112637626A CN 202011498934 A CN202011498934 A CN 202011498934A CN 112637626 A CN112637626 A CN 112637626A
Authority
CN
China
Prior art keywords
streaming media
stream
media data
virtual
push
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Granted
Application number
CN202011498934.4A
Other languages
Chinese (zh)
Other versions
CN112637626B (en
Inventor
邢波
董宝星
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Chuangsheng Shilian Digital Technology Beijing Co Ltd
Original Assignee
Chuangsheng Shilian Digital Technology Beijing 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 Chuangsheng Shilian Digital Technology Beijing Co Ltd filed Critical Chuangsheng Shilian Digital Technology Beijing Co Ltd
Priority to CN202011498934.4A priority Critical patent/CN112637626B/en
Publication of CN112637626A publication Critical patent/CN112637626A/en
Application granted granted Critical
Publication of CN112637626B publication Critical patent/CN112637626B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/45Management operations performed by the client for facilitating the reception of or the interaction with the content or administrating data related to the end-user or to the client device itself, e.g. learning user preferences for recommending movies, resolving scheduling conflicts
    • H04N21/462Content or additional data management, e.g. creating a master electronic program guide from data received from the Internet and a Head-end, controlling the complexity of a video stream by scaling the resolution or bit-rate based on the client capabilities

Landscapes

  • Engineering & Computer Science (AREA)
  • Databases & Information Systems (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

The embodiment of the application provides a plug flow method, a system, a device, an electronic device and a storage medium. The plug flow method comprises the following steps: receiving a switching instruction, determining a first virtual push flow slot indicated by the switching instruction, and determining a first push flow end having an association relation with the first virtual push flow slot, wherein the streaming media server comprises a plurality of virtual push flow slots, the plurality of virtual push flow slots and the plurality of push flow ends have an association relation, and the push flow ends can push respective streaming media data to the streaming media server; and generating a signaling according to the determined first stream pushing end, and sending the signaling to the streaming media server, so that the streaming media server switches the streaming media data currently pushed to the CDN node into the streaming media data of the first stream pushing end. According to the scheme provided by the embodiment of the application, seamless switching of streaming media data of the plurality of stream pushing ends is realized, a live broadcast process does not need to be suspended, switching efficiency of the stream pushing ends is improved, and user experience is improved.

Description

Plug flow method, system, device, electronic equipment and storage medium
Technical Field
The embodiment of the application relates to the field of live broadcasting, in particular to a stream pushing method, a stream pushing system, a stream pushing device, electronic equipment and a storage medium.
Background
Generally, when live broadcasting is performed, a push stream end is determined, and stream media data of the push stream end is continuously acquired, so that live broadcasting is performed.
But once the live broadcast is started, the push streaming end needs to be kept unchanged, if the push streaming end needs to be switched, the live broadcast needs to be interrupted, and the live broadcast is restarted after the push streaming end is switched. In the process of switching the stream pushing end, the watching end needs to wait for the interruption to be finished, the waiting time is long, if the live broadcast cannot be restarted, a live broadcast room may need to be created again, and the user experience is greatly reduced.
Disclosure of Invention
In view of the above, embodiments of the present application provide a plug flow method, system, apparatus, electronic device and storage medium to overcome the problems of the prior art.
In a first aspect, an embodiment of the present application provides a plug flow method, including:
receiving a switching instruction, determining a first virtual push flow slot indicated by the switching instruction, and determining a first push flow end having an association relationship with the first virtual push flow slot, wherein the streaming media server comprises a plurality of virtual push flow slots, the plurality of virtual push flow slots and the plurality of push flow ends have an association relationship, and the push flow ends can push respective streaming media data to the streaming media server; and generating a signaling according to the determined first stream pushing end, and sending the signaling to a stream media server, so that the stream media server switches the stream media data currently pushed to the CDN node into the stream media data of the first stream pushing end.
Optionally, in any embodiment of the present application, switching, by the streaming media server, streaming media data currently pushed to the CDN node to streaming media data of the first push stream end includes:
and the streaming media server switches the streaming media data currently pushed to the CDN node into the streaming media data carrying the slot position identification of the first virtual pushing flow slot.
Optionally, in any embodiment of the present application, the virtual pushing chute includes: a slot position mark and a plug flow end mark;
before the streaming media server switches the streaming media data currently pushed to the CDN node to the streaming media data carrying the slot identifier of the first virtual push flow slot, the method further includes:
and according to the stream pushing end identification of the virtual stream pushing groove, adding the slot position identification of the virtual stream pushing groove to the stream media data of the stream pushing end corresponding to the stream pushing end identification.
Optionally, in any embodiment of the present application, the method further includes:
determining a hosting mode of a live broadcast room, wherein the hosting mode comprises a client mode and a webpage mode;
if the host mode is a webpage mode, receiving the switching instruction sent from a host client, wherein the host client in the webpage mode is different from the stream pushing end;
or if the host mode is the client mode, receiving the switching instruction sent from the stream push end multiplexed as the host client.
Optionally, in any embodiment of the present application, the moderator client is further configured to send: the recording instruction is used for controlling at least one of a start instruction for controlling the start of live broadcasting, a recording instruction for controlling the recording of a live broadcasting room and an end instruction for controlling the end of live broadcasting.
Optionally, in any embodiment of the present application, the method further includes: and pulling the streaming media data provided by the CDN node to the local through a stream pulling end so as to carry out live broadcast according to the streaming media data.
Optionally, in any embodiment of the present application, after generating a signaling according to the determined first stream pushing end and sending the signaling to the streaming media server, the method further includes:
and giving a main talk authority to the first plug flow end.
Optionally, in any embodiment of the present application, the streaming media server is connected to the plurality of stream pushing terminals through a gateway, and the stream pushing terminals push respective streaming media data to the streaming media server through the gateway.
In a second aspect, an embodiment of the present application provides a plug flow system, including: the system comprises a plurality of stream pushing ends, an application server, a stream media server and CDN nodes, wherein the stream media server comprises a plurality of virtual stream pushing grooves, and the plurality of virtual stream pushing grooves and the plurality of stream pushing ends have an association relation; the plurality of stream pushing ends are used for pushing the respective stream media files to the stream media server; the application server is used for receiving a switching instruction, determining a first virtual push flow slot indicated by the switching instruction, determining a first push flow end having a correlation with the first virtual push flow slot, generating a signaling according to the determined first push flow end, and sending the signaling to the streaming media server; the streaming media server is used for switching the streaming media data currently pushed to the CDN node into the streaming media data of the first pushing end according to the signaling.
Optionally, in any embodiment of the present application, the method further includes:
and the stream pulling end is used for pulling the streaming media data provided by the CDN node to the local so as to carry out live broadcast according to the streaming media data.
In a third aspect, an embodiment of the present application provides a flow pushing device, including: a receiving module, configured to receive a switching instruction, determine a first virtual push flow slot indicated by the switching instruction, and determine a first push flow end having an association relationship with the first virtual push flow slot, where the streaming media server includes a plurality of virtual push flow slots, the plurality of virtual push flow slots and the plurality of push flow ends have an association relationship, and the push flow ends can push respective streaming media data to the streaming media server; and the switching module is used for generating a signaling according to the determined first stream pushing end and sending the signaling to the streaming media server so that the streaming media server switches the streaming media data currently pushed to the CDN node into the streaming media data of the first stream pushing end.
Optionally, in any embodiment of the present application, switching, by the streaming media server, streaming media data currently pushed to the CDN node to streaming media data of the first push stream end includes: and the streaming media server switches the streaming media data currently pushed to the CDN node into the streaming media data carrying the slot position identification of the first virtual pushing flow slot.
Optionally, in any embodiment of the present application, the virtual pushing chute includes: a slot position mark and a plug flow end mark; the apparatus further comprises: and the identification module is used for increasing the slot position identification of the virtual push flow slot for the streaming media data of the push flow end corresponding to the push flow end identification according to the push flow end identification of the virtual push flow slot.
Optionally, in any embodiment of the present application, the apparatus further includes:
the system comprises a hosting mode determining module, a live broadcasting room processing module and a live broadcasting room processing module, wherein the hosting mode determining module is used for determining a hosting mode of the live broadcasting room, and the hosting mode comprises a client mode and a webpage mode;
the receiving module is specifically configured to receive the switching instruction sent from a host client if the host mode is a web mode, where the host client in the web mode is different from the stream pushing end; or if the host mode is the client mode, receiving the switching instruction sent from the stream push end multiplexed as the host client.
Optionally, in any embodiment of the present application, the moderator client is further configured to send: the recording instruction is used for controlling at least one of a start instruction for controlling the start of live broadcasting, a recording instruction for controlling the recording of a live broadcasting room and an end instruction for controlling the end of live broadcasting.
Optionally, in any embodiment of the present application, the apparatus further includes: and the authorization module is used for endowing the main speaking authority to the first plug flow end.
Optionally, in any embodiment of the present application, the streaming media server is connected to the plurality of stream pushing terminals through a gateway, and the stream pushing terminals push respective streaming media data to the streaming media server through the gateway.
In a fourth aspect, an embodiment of the present application provides an electronic device, which includes a memory and a processor, where the memory stores an executable program, and the processor executes the executable program to perform the steps corresponding to the method described above.
In a fifth aspect, the present application provides a storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the method as described above is implemented.
According to the stream pushing method, the stream pushing system, the stream pushing device, the electronic equipment and the storage medium, due to the fact that the plurality of stream pushing ends and the plurality of virtual stream pushing slots have the association relation, the stream media server can receive stream media data of the plurality of stream pushing ends at the same time and distinguish the stream media data through the corresponding virtual stream pushing slots; after the first stream pushing end is determined according to the switching instruction, the stream media servers can directly switch the stream media data pushed to the CDN node into the stream media data of the first stream pushing end due to the fact that the stream media servers already push the respective stream media data to the stream media servers, seamless switching of the stream media data of the plurality of stream pushing ends is achieved, a live broadcast process does not need to be suspended, switching efficiency of the stream pushing end switching is improved, and user experience is improved.
Drawings
Some specific embodiments of the present application will be described in detail hereinafter by way of illustration and not limitation with reference to the accompanying drawings. The same reference numbers in the drawings identify the same or similar elements or components. Those skilled in the art will appreciate that the drawings are not necessarily drawn to scale. In the drawings:
fig. 1 is a flowchart of a recommendation system according to an embodiment of the present application;
fig. 2 is a flowchart of a plug flow method according to an embodiment of the present application;
FIG. 3 is a flow chart of yet another plug flow method provided by an embodiment of the present application;
fig. 4 is a schematic view of a usage scenario provided in an embodiment of the present application;
fig. 5 is a schematic view of another usage scenario provided in the embodiment of the present application;
fig. 6 is a schematic structural diagram of a recommendation device according to an embodiment of the present application;
fig. 7 is a schematic view of an electronic device according to an embodiment of the present application.
Detailed Description
The present application will be described with reference to the accompanying drawings and examples.
Example one
Referring to fig. 1, an embodiment of the present application provides a plug flow system, including: a plurality of stream pushing terminals 101, a stream media server 102, a CDN node 103, and an application server 104.
The plurality of stream pushing ends are used for pushing the respective stream media files to the stream media server.
The streaming media server comprises a plurality of virtual streaming slots, and the plurality of virtual streaming slots and the plurality of streaming ends have an association relationship.
The application server is used for receiving a switching instruction, determining a first virtual push flow slot indicated by the switching instruction, determining a first push flow end having a correlation with the first virtual push flow slot, generating a signaling according to the determined first push flow end, and sending the signaling to the streaming media server;
the streaming media server is used for switching the streaming media data currently pushed to the CDN node into the streaming media data of the first pushing end according to the signaling.
In this embodiment, because the plurality of stream pushing ends and the plurality of virtual stream pushing slots have an association relationship, the streaming media server can receive the streaming media data of the plurality of stream pushing ends at the same time and distinguish the stream media data by the corresponding virtual stream pushing slots; after the first stream pushing end is determined according to the switching instruction, the stream media servers can directly switch the stream media data pushed to the CDN node into the stream media data of the first stream pushing end due to the fact that the stream media servers already push the respective stream media data to the stream media servers, seamless switching of the stream media data of the plurality of stream pushing ends is achieved, a live broadcast process does not need to be suspended, switching efficiency of the stream pushing end switching is improved, and user experience is improved.
Specifically, referring to fig. 2, an embodiment of the present application provides a stream pushing method applied to a multimedia server of the above stream pushing system, where as shown in the figure, the stream pushing method includes:
s201, receiving a switching instruction, determining a first virtual push flow slot indicated by the switching instruction, and determining a first push flow end having a correlation with the first virtual push flow slot.
In this embodiment, the streaming media server includes a plurality of virtual stream pushing slots, the plurality of virtual stream pushing slots and the plurality of stream pushing ends have an association relationship, and the stream pushing ends can push respective streaming media data to the streaming media server.
In this embodiment, the flow pushing end may include, but is not limited to, at least one of the following: cell phones, pads, PCs, televisions and other electronic devices with multimedia transmission capabilities. The plurality of push flow ends may be the same or different, and this embodiment does not limit this.
In this embodiment, the streaming media data at the stream pushing end may include at least one of the following: video stream data (e.g., desktop shared data, shot data of a camera), audio stream data, text data.
The virtual stream pushing slot having an association relationship with the stream pushing end can be used for distinguishing a plurality of stream pushing ends, and particularly can be used for distinguishing stream media data of the plurality of stream pushing ends. After the streaming media server receives the switching instruction, the first virtual push flow slot indicated by the switching instruction may be determined, and a first push flow end having a relationship with the first virtual push flow slot may be further determined.
For example, the plurality of virtual push slots may have different slot identifiers, and after determining the association relationship between the push end and the virtual push slot, the slot identifiers of the virtual push slot may be added to the streaming media data of the push end, so as to distinguish the streaming media data of the plurality of push ends through the slot identifiers. The switching instruction may include a slot identifier of the first virtual push flow slot, and thus it may be determined that the streaming media data carrying the slot identifier of the first virtual push flow slot is streaming media data of the first push flow end. Of course, the above description is only for illustration, and the present embodiment does not limit this.
S202, generating a signaling according to the determined first stream pushing end, and sending the signaling to a stream media server, so that the stream media server switches the stream media data currently pushed to the CDN node into the stream media data of the first stream pushing end.
Specifically, a CDN (Content Delivery Network) is an intelligent virtual Network built on the basis of an existing Network, and by means of edge servers deployed in various places, users can obtain required Content nearby through functional modules of load balancing, Content Delivery, scheduling and the like of a central platform, so that Network congestion is reduced, and the access response speed and hit rate of the users are improved. The key technology of the CDN is mainly content storage and distribution technology.
The CDN includes a plurality of nodes, and each server or each group of servers may be a node of the CDN. The attribute information of the CDN node may include an address, an index, timeout setting, and the like of the CDN node, and pushing a stream to the CDN node may be implemented by obtaining the attribute information of one CDN node.
In this embodiment, because the streaming media server can receive the streaming media data of the plurality of streaming clients and distinguish the streaming media data by the virtual streaming slots, when step S202 is executed, the streaming media data can be directly switched, that is, the streaming media data currently being streamed to the CDN node is switched to the streaming media data of the first streaming client, thereby implementing seamless switching of the streaming media data of the plurality of streaming clients, without suspending a live broadcast process, improving switching efficiency of switching the streaming clients, and improving user experience.
Referring to fig. 3, an embodiment of the present application provides a plug flow method, as shown in the figure, the method includes:
s300, the user registers an account number in the live broadcast platform and opens the live broadcast related service.
S301, acquiring a live broadcast room creating instruction.
In this embodiment, after the user registers the account number in the live broadcast platform, the user can apply for creating the live broadcast room in the live broadcast platform by means of the registered account number, and at this time, the browser or the client of the terminal where the user is located can send a live broadcast room creation instruction to the application server of the platform.
In this embodiment, the application server is configured to provide support for operations of the user other than the audio/video operation. Such as login operation of logging in a live broadcast platform, operation of creating a live broadcast room, operation of editing the live broadcast room, operation of deleting the live broadcast room, and the like.
S302, creating a live broadcast room, and determining a plurality of virtual push flow slots of the live broadcast room.
In this embodiment, the process of creating the live broadcast room is executed by the application server, and the created live broadcast rooms may be divided into two types, namely, a host live broadcast room and a common live broadcast room. It should be noted that the virtual push stream slot only exists in the host live broadcast room, and does not exist in the normal live broadcast room.
The step S302 is directed to the host live broadcast room, and when the live broadcast room creation instruction indicates creation of the host live broadcast room, the application server may complete corresponding live broadcast room creation operation according to the live broadcast room creation instruction, and default that the host live broadcast room includes a preset number (for example, three) of virtual push stream slots.
For example, one host live room may include three virtual push streams slots.
When the live broadcast room creation instruction indicates that a common live broadcast room is created, the application server does not determine a plurality of virtual live broadcast slots of the live broadcast room. Only one live broadcast room is created, the control authority of the live broadcast room is directly given to a live broadcast instructor, and the live broadcast instructor controls the start and the end of live broadcast and recording.
S303, receiving live broadcast requests of a plurality of stream pushing ends, and establishing an association relation between the stream pushing ends and the virtual stream pushing slots.
In this embodiment, the live broadcast request may be a live broadcast request requesting to log in to a live broadcast room, or may also be an invitation request requesting a live broadcast from a stream pushing end, and the like.
Different users can correspond to different login addresses when logging in the live broadcast room, and in order to distinguish whether the users log in the live broadcast room are ordinary viewers (such as students) or lectors or presenters and the like, the live broadcast platform can set different login addresses for different roles. And determining that the user is a lecturer or a host and the like according to the login address input by the user during login, and then establishing that the user is a stream pushing end, and at the moment, establishing the association relationship between the stream pushing end and the virtual stream pushing slot.
Specifically, the virtual push flow slot may include < publisher _0, { id0, name0} >, where publisher _0 is a slot identifier of the virtual push flow slot, and { id0, name0} is a push flow end identifier of the virtual push flow slot. The ID value and name of the plug end having a relationship with the virtual plug slot may be recorded in the plug end identifier.
Before the incidence relation between the plug flow end and the virtual plug flow end is established, the plug flow end mark in the virtual plug flow groove can be empty. And establishing an incidence relation, namely determining the plug flow end identification of the virtual plug flow groove.
Specifically, in this embodiment, the association relationship between the plurality of stream pushing terminals and the plurality of virtual stream pushing slots may be established according to a login sequence of the plurality of stream pushing terminals logging in the live broadcast room.
For example, after establishing a live broadcast Room, determining a stream push end list from _ online _ publishing _ roomld of the live broadcast Room:
<publisher_0,{id0,name0}>
<publisher_1,{id1,name1}>
<publisher_2,{id2,name2}>
after the initial creation is completed, the three virtual push flow slots are publisher _0, publisher _1 and publisher _2 respectively, and the push flow ends of the three virtual push flow slots are marked as empty.
After receiving a live broadcast request of a stream pushing end of an instructor a, determining that a first virtual stream pushing slot is empty, and filling the id and the name of the instructor a into the first virtual stream pushing slot, namely:
< publicher _0, { id0, name0} > < publicher _0, { idA, a } >; then, receiving a live broadcast request of instructor B, wherein the first virtual push stream slot is not empty, and the second virtual push stream slot is empty, filling the id and name of instructor B into the second virtual push stream slot, that is, < publish _1, { id1, name1} >, i.e., the name of instructor B is not empty, and the second virtual push stream slot is not empty, but the first virtual push stream slot is not empty
< publish _1, { idB, B } >, and so on until all virtual push stream slots are filled, or until no more live requests are received from the push stream side.
S304, returning the push address corresponding to the virtual push slot to the associated push end.
In this embodiment, each virtual push flow slot may correspond to a push flow address, for example, the push flow address of the first virtual push flow slot may be, for example: rtmp: // xxx roommid — 0, the push flow address of the second virtual push flow slot may be, for example: rtmp: // xxx roommid _1, the push flow address of the third virtual push flow slot may be, for example: rtmp: // xxx roommId _ 2.
Specifically, when a certain stream pushing end performs stream pushing, a stream pushing request may be sent to an application server of the live broadcast platform, and the application server of the live broadcast platform determines that an operation corresponding to the stream pushing request relates to an operation related to an audio/video data stream, and then may generate and send a signaling to the stream media server according to a stream pushing address corresponding to the stream pushing end, so as to control the stream media server to implement stream pushing.
Optionally, in any embodiment of the present application, the streaming media server is connected to the plurality of stream pushing terminals through a gateway, and the stream pushing terminals push respective streaming media data to the streaming media server through the gateway. Therefore, the streaming media data of each push stream end can be converted through the gateway, and the streaming media data suitable for being pushed by the CDN node is obtained.
Specifically, as shown in fig. 4, instructor A, B, C may be communicatively coupled to a streaming server via a gateway and may provide live services via an application server.
Instructor a has an association with the 0 slot, instructor B has an association with the 1 slot, and instructor C has an association with the 2 slot. The 0 slot defaults to the talkback slot.
S305, adding the slot position identification of the virtual push flow slot to the streaming media data of the push flow end corresponding to the push flow end identification according to the push flow end identification of the virtual push flow slot.
By providing different stream pushing addresses corresponding to the virtual stream pushing slots for the plurality of stream pushing ends, the multimedia server can directly add slot position marks to the stream media data obtained by each stream pushing address, and the slot position marks are distinguished. Exemplary, by rtmp: // xxx roommid _0, since rtmp: if// xxx _ roommid _0 corresponds to the first virtual push slot, the streaming media data corresponding to instructor a may be directly added with the slot identifier publisher _0 of the first virtual push slot.
In this embodiment, after receiving the signaling of the application server, the streaming media server may determine a slot identifier corresponding to the signaling, and push streaming media data having the slot identifier to the CDN node. For the CDN node, the received streaming media data are all pushed by the streaming media server, so that when the pushing end is switched, live broadcasting does not need to be interrupted, thereby implementing seamless switching of the streaming media data of multiple pushing ends.
The streaming media server can also perform operations such as recording, transcoding and the like according to requirements for subsequent watching and playback.
In this embodiment, after the step S305 is completed, the streaming media data corresponding to the first virtual push flow slot may be defaulted as the streaming media data pushed to the CDN node. Of course, the above description is only for illustration, and the present embodiment does not limit this.
Specifically, the virtual pushing chute can be divided into a talkback chute and a common chute; the main speaking groove represents a virtual pushing groove corresponding to streaming media data pushed to the CDN node, and other virtual pushing grooves except the main speaking groove are common grooves.
The main speaking slot can be stored in a cache database Redis, and the specific storage structure is as follows:
Room_speaker_roomId:<pitId,id>
wherein, pitId is a slot position identification of the virtual pushing flow slot, and id is a pushing flow end id of the virtual pushing flow slot. The virtual pushout slot identified by pitId is the talkback slot.
S306, receiving a switching instruction, and determining a first virtual pushing flow slot indicated by the switching instruction.
Illustratively, the default keyer slot is a 0 slot, at which time the keyer slot stores data as follows:
Room_speaker_roomId:<0,idA>;
when the live broadcast is started, a network request is sent to the streaming media server, and the streaming media server forwards the streaming media data of the 0 slot to the CDN node after receiving the request.
Optionally, in any embodiment of the present application, the method further includes: and the stream pulling end pulls the stream media data provided by the CDN node to the local so as to carry out live broadcast according to the stream media data. That is, the viewing end pulls up the stream from the CDN node for viewing.
The home slot may be maintained by the application server.
Specifically, when the step S306 is executed, the application server may receive the switching instruction, and generate and send a signaling indicating to switch the talkback slot to the streaming media server according to the switching instruction. For example, if the application server determines that the switching instruction indicates to switch the lecturer B to the main speech, then determines that the virtual push flow slot of the lecturer B is the first virtual push flow slot, then the application server only needs to send a signaling to the streaming media server, and the indicator changes the main speech slot data in the Redis as follows:
Room_speaker_roomId:<0,idA>--->Room_speaker_roomId:<1,idB>;
and after the change is finished, the streaming media server pushes the stream according to the changed Redis. Specifically, as shown in fig. 5, the master slot after switching is 1 slot.
In addition, as shown in fig. 5, the system may further include a cache database for caching the slot information of the virtual push flow slot and the instructor-related information.
Optionally, in this embodiment, before switching, a hosting mode of the live broadcast room may be determined, where the hosting mode includes a client mode and a web page mode; if the host mode is a webpage mode, receiving the switching instruction sent from a host client; or, if the host mode is a client mode, receiving the switching instruction sent from the stream pushing end.
Specifically, the hosting mode can be classified into two types, a web mode and a client mode.
If the host mode is a webpage mode, the login address of the host is represented as a webpage, the host completes corresponding host operations through the browser, such as operations of starting live broadcasting, stopping live broadcasting, switching a main speaker and the like, all operations are completed by the host, a lecturer cannot participate in the operations, but the operations are limited by the browser, so that the client where the host is located cannot perform stream pushing, namely the host does not directly start live broadcasting, and the client where the host is located does not serve as a stream pushing end to establish an association relationship with the virtual stream pushing slot in the webpage mode.
Compared with a webpage end, the client can set a more complex processing flow, so that if the host mode is the client mode, the stream pushing end can directly serve as a host, an application program client installed in the stream pushing end can directly verify whether the stream pushing end has the switching authority, the workload of a server cannot be increased, namely, the stream pushing end can be reused as a host client for controlling the flow of the live broadcast room in the client mode.
Therefore, if the host mode is a client mode, the identification host logs in the live broadcast room through the client, the client can allow the host to carry out stream pushing, at the moment, the host can be used as an instructor at the same time, the client where the host is located serves as a stream pushing end to occupy a virtual stream pushing groove in the client mode, at the moment, the number of the instructors which can log in the live broadcast room is reduced by one, in addition, the host client further has the control right of live broadcast or recording in the live broadcast room where the host logs in, and the switching of the main speech, such as the switching of the main speech in the live broadcast start room and the live broadcast end room, the direct broadcast recording and other rights.
Specifically, after the application server receives the switching instruction, it can be determined whether the terminal (the lecturer or the host) that sends the switching instruction has the switching right; if the host mode is a webpage mode, the host client has a switching right, and all the stream pushing ends which have a relationship with the virtual stream pushing slot do not have the switching right; and if the host mode is the client mode, one of the plurality of push stream terminals which is multiplexed as the host client has a switching authority.
Optionally, in any embodiment of the present application, the moderator client is further configured to send: the recording instruction is used for controlling at least one of a start instruction for controlling the start of live broadcasting, a recording instruction for controlling the recording of a live broadcasting room and an end instruction for controlling the end of live broadcasting.
And S307, generating a signaling according to the determined first stream pushing end, and sending the signaling to a streaming media server, so that the streaming media data currently pushed to the CDN node by the streaming media server is switched to the streaming media data carrying the slot position identifier of the first virtual stream pushing slot.
In this embodiment, step S307 is executed by the streaming server.
Optionally, in any embodiment of the present application, after generating a signaling according to the determined first stream pushing end and sending the signaling to the streaming media server, the method further includes: and giving a main talk authority to the first plug flow end.
In this embodiment, the first plug end is a plug end having a relationship with the virtual plug slot determined in the above step. The operation of granting the right may be performed by the application server.
The hosting authority may specifically include: file operation authority, live window editing authority, and the like. Therefore, the main talkback can carry out live broadcasting on the desktop of the main talkback, can also operate displayed live broadcasting files through tools such as paintbrushes and the like, or can edit the size and the content of each window of a live broadcasting room.
According to the scheme provided by the embodiment, after the streaming media server determines to switch, the streaming media data of the first virtual push flow slot (1 slot) is forwarded to the CDN node, and for the CDN node, the streaming media server receives the data pushed by the streaming media server, so that live broadcasting does not need to be interrupted in the switching process.
Referring to fig. 6, an embodiment of the present application provides a flow pushing device 40, which includes:
a receiving module 401, configured to receive a switching instruction, determine a first virtual push flow slot indicated by the switching instruction, and determine a first push flow end having an association relationship with the first virtual push flow slot, where the streaming media server includes a plurality of virtual push flow slots, a plurality of virtual push flow slots have an association relationship with a plurality of push flow ends, and the push flow ends can push respective streaming media data to the streaming media server;
a switching module 402, configured to generate a signaling according to the determined first stream pushing end, and send the signaling to a streaming media server, so that the streaming media server switches streaming media data currently pushed to a CDN node to the streaming media data of the first stream pushing end.
Optionally, the switching, by the streaming media server, streaming media data currently pushed to the CDN node to streaming media data of the first push streaming end includes: and the streaming media server switches the streaming media data currently pushed to the CDN node into the streaming media data carrying the slot position identification of the first virtual pushing flow slot.
Optionally, the virtual plug flow slot includes: a slot position mark and a plug flow end mark; the apparatus further comprises: and the identification module is used for increasing the slot position identification of the virtual push flow slot for the streaming media data of the push flow end corresponding to the push flow end identification according to the push flow end identification of the virtual push flow slot.
Optionally, the apparatus further comprises: the system comprises a hosting mode determining module, a live broadcasting room processing module and a live broadcasting room processing module, wherein the hosting mode determining module is used for determining a hosting mode of the live broadcasting room, and the hosting mode comprises a client mode and a webpage mode; the receiving module is specifically configured to receive the switching instruction sent from a host client if the host mode is a web mode, where the host client in the web mode is different from the stream pushing end; or if the host mode is the client mode, receiving the switching instruction sent from the stream push end multiplexed as the host client.
Optionally, the moderator client is further configured to send: the recording instruction is used for controlling at least one of a start instruction for controlling the start of live broadcasting, a recording instruction for controlling the recording of a live broadcasting room and an end instruction for controlling the end of live broadcasting.
Optionally, the apparatus further comprises: and the authorization module is used for endowing the main speaking authority to the first plug flow end.
Optionally, the streaming media server is connected to the plurality of streaming terminals through a gateway, and the streaming terminals push respective streaming media data to the streaming media server through the gateway.
According to the stream pushing scheme provided by the embodiment of the application, due to the fact that the plurality of stream pushing ends and the plurality of virtual stream pushing slots have the association relationship, the stream media server can receive the stream media data of the plurality of stream pushing ends at the same time and distinguish the stream media data through the corresponding virtual stream pushing slots; after the first stream pushing end is determined according to the switching instruction, the stream media servers can directly switch the stream media data pushed to the CDN node into the stream media data of the first stream pushing end due to the fact that the stream media servers already push the respective stream media data to the stream media servers, seamless switching of the stream media data of the plurality of stream pushing ends is achieved, a live broadcast process does not need to be suspended, switching efficiency of the stream pushing end switching is improved, and user experience is improved.
Example four
Referring to fig. 7, an electronic device 50 according to an embodiment of the present application includes a memory 501 and a processor 502, where the memory 501 stores an executable program, and the processor 502 executes the executable program to perform the following steps:
receiving a switching instruction, determining a first virtual push flow slot indicated by the switching instruction, and determining a first push flow end having an association relationship with the first virtual push flow slot, wherein the streaming media server comprises a plurality of virtual push flow slots, the plurality of virtual push flow slots and the plurality of push flow ends have an association relationship, and the push flow ends can push respective streaming media data to the streaming media server;
and generating a signaling according to the determined first stream pushing end, and sending the signaling to a stream media server, so that the stream media server switches the stream media data currently pushed to the CDN node into the stream media data of the first stream pushing end.
Optionally, the switching, by the streaming media server, streaming media data currently pushed to the CDN node to streaming media data of the first push streaming end includes: and the streaming media server switches the streaming media data currently pushed to the CDN node into streaming media data carrying the slot position identification of the first virtual pushing flow slot.
Optionally, the virtual spout comprises: a slot position mark and a plug flow end mark; before the streaming media server switches the streaming media data currently pushed to the CDN node to the streaming media data carrying the slot identifier of the first virtual push flow slot, the method further includes: and according to the stream pushing end identification of the virtual stream pushing groove, adding the slot position identification of the virtual stream pushing groove to the stream media data of the stream pushing end corresponding to the stream pushing end identification.
Optionally, the method further comprises: determining a hosting mode of a live broadcast room, wherein the hosting mode comprises a client mode and a webpage mode; if the host mode is a webpage mode, receiving the switching instruction sent from a host client, wherein the host client in the webpage mode is different from the stream pushing end; or if the host mode is the client mode, receiving the switching instruction sent from the stream push end multiplexed as the host client.
Optionally, the moderator client is further configured to send: the recording instruction is used for controlling at least one of a start instruction for controlling the start of live broadcasting, a recording instruction for controlling the recording of a live broadcasting room and an end instruction for controlling the end of live broadcasting.
Optionally, the method further comprises: and pulling the streaming media data provided by the CDN node to the local through a stream pulling end so as to carry out live broadcast according to the streaming media data.
Optionally, after generating a signaling according to the determined first stream pushing end and sending the signaling to the streaming media server, the method further includes: and giving a main talk authority to the first plug flow end.
Optionally, the streaming media server is connected to the plurality of streaming terminals through a gateway, and the streaming terminals push respective streaming media data to the streaming media server through the gateway.
Another embodiment of the present application provides a storage medium, on which a computer program is stored, and when the computer program is executed by a processor, the method according to any one of the embodiments is implemented.
The storage medium of the embodiments of the present application exists in various forms, including but not limited to:
(1) a mobile communication device: such devices are characterized by mobile communications capabilities and are primarily targeted at providing voice, data communications. Such terminals include: smart phones (e.g., iphones), multimedia phones, functional phones, and low-end phones, among others.
(2) Ultra mobile personal computer device: the equipment belongs to the category of personal computers, has calculation and processing functions and generally has the characteristic of mobile internet access. Such terminals include: PDA, MID, and UMPC devices, etc., such as ipads.
(3) A portable entertainment device: such devices can display and play multimedia content. This type of device comprises: audio, video players (e.g., ipods), handheld game consoles, electronic books, and smart toys and portable car navigation devices.
(4) And other electronic equipment with data interaction function.
Thus, particular embodiments of the present subject matter have been described. Other embodiments are within the scope of the following claims. In some cases, the actions recited in the claims can be performed in a different order and still achieve desirable results. In addition, the processes depicted in the accompanying figures do not necessarily require the particular order shown, or sequential order, to achieve desirable results. In some embodiments, multitasking and parallel processing may be advantageous.
In the 90 s of the 20 th century, improvements in a technology could clearly distinguish between improvements in hardware (e.g., improvements in circuit structures such as diodes, transistors, switches, etc.) and improvements in software (improvements in process flow). However, as technology advances, many of today's process flow improvements have been seen as direct improvements in hardware circuit architecture. Designers almost always obtain the corresponding hardware circuit structure by programming an improved method flow into the hardware circuit. Thus, it cannot be said that an improvement in the process flow cannot be realized by hardware physical modules. For example, a Programmable Logic Device (PLD), such as a Field Programmable Gate Array (FPGA), is an integrated circuit whose Logic functions are determined by programming the Device by a user. A digital system is "integrated" on a PLD by the designer's own programming without requiring the chip manufacturer to design and fabricate application-specific integrated circuit chips. Furthermore, nowadays, instead of manually making an Integrated Circuit chip, such Programming is often implemented by "logic compiler" software, which is similar to a software compiler used in program development and writing, but the original code before compiling is also written by a specific Programming Language, which is called Hardware Description Language (HDL), and HDL is not only one but many, such as abel (advanced Boolean Expression Language), ahdl (alternate Hardware Description Language), traffic, pl (core universal Programming Language), HDCal (jhdware Description Language), lang, Lola, HDL, laspam, hardward Description Language (vhr Description Language), vhal (Hardware Description Language), and vhigh-Language, which are currently used in most common. It will also be apparent to those skilled in the art that hardware circuitry that implements the logical method flows can be readily obtained by merely slightly programming the method flows into an integrated circuit using the hardware description languages described above.
The controller may be implemented in any suitable manner, for example, the controller may take the form of, for example, a microprocessor or processor and a computer-readable medium storing computer-readable program code (e.g., software or firmware) executable by the (micro) processor, logic gates, switches, an Application Specific Integrated Circuit (ASIC), a programmable logic controller, and an embedded microcontroller, examples of which include, but are not limited to, the following microcontrollers: ARC 625D, Atmel AT91SAM, Microchip PIC18F26K20, and Silicone Labs C8051F320, the memory controller may also be implemented as part of the control logic for the memory. Those skilled in the art will also appreciate that, in addition to implementing the controller as pure computer readable program code, the same functionality can be implemented by logically programming method steps such that the controller is in the form of logic gates, switches, application specific integrated circuits, programmable logic controllers, embedded microcontrollers and the like. Such a controller may thus be considered a hardware component, and the means included therein for performing the various functions may also be considered as a structure within the hardware component. Or even means for performing the functions may be regarded as being both a software module for performing the method and a structure within a hardware component.
The systems, devices, modules or units illustrated in the above embodiments may be implemented by a computer chip or an entity, or by a product with certain functions. One typical implementation device is a computer. In particular, the computer may be, for example, a personal computer, a laptop computer, a cellular telephone, a camera phone, a smartphone, a personal digital assistant, a media player, a navigation device, an email device, a game console, a tablet computer, a wearable device, or a combination of any of these devices.
For convenience of description, the above devices are described as being divided into various units by function, and are described separately. Of course, the functionality of the units may be implemented in one or more software and/or hardware when implementing the present application.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The present application is described with reference to flowchart illustrations and/or block diagrams of methods, apparatus (systems), and computer program products according to embodiments of the application. It will be understood that each flow and/or block of the flow diagrams and/or block diagrams, and combinations of flows and/or blocks in the flow diagrams and/or block diagrams, can be implemented by computer program instructions. These computer program instructions may be provided to a processor of a general purpose computer, special purpose computer, embedded processor, or other programmable data processing apparatus to produce a machine, such that the instructions, which execute via the processor of the computer or other programmable data processing apparatus, create means for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be stored in a computer-readable memory that can direct a computer or other programmable data processing apparatus to function in a particular manner, such that the instructions stored in the computer-readable memory produce an article of manufacture including instruction means which implement the function specified in the flowchart flow or flows and/or block diagram block or blocks.
These computer program instructions may also be loaded onto a computer or other programmable data processing apparatus to cause a series of operational steps to be performed on the computer or other programmable apparatus to produce a computer implemented process such that the instructions which execute on the computer or other programmable apparatus provide steps for implementing the functions specified in the flowchart flow or flows and/or block diagram block or blocks.
In a typical configuration, a computing device includes one or more processors (CPUs), input/output interfaces, network interfaces, and memory.
The memory may include forms of volatile memory in a computer readable medium, Random Access Memory (RAM) and/or non-volatile memory, such as Read Only Memory (ROM) or flash memory (flash RAM). Memory is an example of a computer-readable medium.
Computer-readable media, including both non-transitory and non-transitory, removable and non-removable media, may implement information storage by any method or technology. The information may be computer readable instructions, data structures, modules of a program, or other data. Examples of computer storage media include, but are not limited to, phase change memory (PRAM), Static Random Access Memory (SRAM), Dynamic Random Access Memory (DRAM), other types of Random Access Memory (RAM), Read Only Memory (ROM), Electrically Erasable Programmable Read Only Memory (EEPROM), flash memory or other memory technology, compact disc read only memory (CD-ROM), Digital Versatile Discs (DVD) or other optical storage, magnetic cassettes, magnetic tape magnetic disk storage or other magnetic storage devices, or any other non-transmission medium that can be used to store information that can be accessed by a computing device. As defined herein, a computer readable medium does not include a transitory computer readable medium such as a modulated data signal and a carrier wave.
It should also be noted that the terms "comprises," "comprising," or any other variation thereof, are intended to cover a non-exclusive inclusion, such that a process, method, article, or apparatus that comprises a list of elements does not include only those elements but may include other elements not expressly listed or inherent to such process, method, article, or apparatus. Without further limitation, an element defined by the phrase "comprising an … …" does not exclude the presence of other like elements in a process, method, article, or apparatus that comprises the element.
As will be appreciated by one skilled in the art, embodiments of the present application may be provided as a method, system, or computer program product. Accordingly, the present application may take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application may take the form of a computer program product embodied on one or more computer-usable storage media (including, but not limited to, disk storage, CD-ROM, optical storage, and the like) having computer-usable program code embodied therein.
The application may be described in the general context of computer-executable instructions, such as program modules, being executed by a computer. Generally, program modules include routines, programs, objects, components, data structures, etc. that perform particular transactions or implement particular abstract data types. The application may also be practiced in distributed computing environments where transactions are performed by remote processing devices that are linked through a communications network. In a distributed computing environment, program modules may be located in both local and remote computer storage media including memory storage devices.
The embodiments in the present specification are described in a progressive manner, and the same and similar parts among the embodiments are referred to each other, and each embodiment focuses on the differences from the other embodiments. In particular, for the system embodiment, since it is substantially similar to the method embodiment, the description is simple, and for the relevant points, reference may be made to the partial description of the method embodiment.
The above description is only an example of the present application and is not intended to limit the present application. Various modifications and changes may occur to those skilled in the art. Any modification, equivalent replacement, improvement, etc. made within the spirit and principle of the present application should be included in the scope of the claims of the present application.
A1, a plug flow method, comprising:
receiving a switching instruction, determining a first virtual push flow slot indicated by the switching instruction, and determining a first push flow end having an association relationship with the first virtual push flow slot, wherein a streaming media server comprises a plurality of virtual push flow slots, the plurality of virtual push flow slots and the plurality of push flow ends have an association relationship, and the push flow ends can push respective streaming media data to the streaming media server;
and generating a signaling according to the determined first stream pushing end, and sending the signaling to a stream media server, so that the stream media server switches the stream media data currently pushed to the CDN node into the stream media data of the first stream pushing end.
A2, the method according to claim a1, wherein the switching streaming media data currently pushed to a CDN node by the streaming media server to streaming media data of the first pushing end includes:
and the streaming media server switches the streaming media data currently pushed to the CDN node into streaming media data carrying the slot position identification of the first virtual pushing flow slot.
A3, the method of claim a2, wherein the virtual spout comprises: a slot position mark and a plug flow end mark;
before the streaming media server switches the streaming media data currently pushed to the CDN node to the streaming media data carrying the slot identifier of the first virtual push flow slot, the method further includes:
and according to the stream pushing end identification of the virtual stream pushing groove, adding the slot position identification of the virtual stream pushing groove to the stream media data of the stream pushing end corresponding to the stream pushing end identification.
A4, the method of claim a1, wherein the method further comprises:
determining a hosting mode of a live broadcast room, wherein the hosting mode comprises a client mode and a webpage mode;
if the host mode is a webpage mode, receiving the switching instruction sent from a host client, wherein the host client in the webpage mode is different from the stream pushing end;
or if the host mode is the client mode, receiving the switching instruction sent from the stream push end multiplexed as the host client.
A5, the method of claim a4, wherein the moderator client is further configured to send: the recording instruction is used for controlling at least one of a start instruction for controlling the start of live broadcasting, a recording instruction for controlling the recording of a live broadcasting room and an end instruction for controlling the end of live broadcasting.
A6, the method of claim a1, wherein the method further comprises: and pulling the streaming media data provided by the CDN node to the local through a stream pulling end so as to carry out live broadcast according to the streaming media data.
A7, the method as claimed in claim A1, wherein after generating signaling according to the determined first stream pushing end and sending the signaling to a streaming media server, the method further comprises:
and giving a main talk authority to the first plug flow end.
A8, the method according to claim a1, wherein the streaming server is connected with a plurality of the streaming terminals through gateways, and the streaming terminals push the respective streaming media data to the streaming server through the gateways.
A9, a plug flow system, comprising: the system comprises a plurality of stream pushing ends, an application server, a stream media server and CDN nodes, wherein the stream media server comprises a plurality of virtual stream pushing grooves, and the plurality of virtual stream pushing grooves and the plurality of stream pushing ends have an association relation;
the plurality of stream pushing ends are used for pushing the respective stream media files to the stream media server;
the application server is used for receiving a switching instruction, determining a first virtual push flow slot indicated by the switching instruction, determining a first push flow end having a correlation with the first virtual push flow slot, generating a signaling according to the determined first push flow end, and sending the signaling to the streaming media server;
the streaming media server is used for switching the streaming media data currently pushed to the CDN node into the streaming media data of the first pushing end according to the signaling.
A10, the plug flow system of claim a9, further comprising:
and the stream pulling end is used for pulling the streaming media data provided by the CDN node to the local so as to carry out live broadcast according to the streaming media data.
A11, a flow pushing device, comprising:
a receiving module, configured to receive a switching instruction, determine a first virtual push flow slot indicated by the switching instruction, and determine a first push flow end having an association relationship with the first virtual push flow slot, where the streaming media server includes a plurality of virtual push flow slots, the plurality of virtual push flow slots and the plurality of push flow ends have an association relationship, and the push flow ends can push respective streaming media data to the streaming media server;
and the switching module is used for generating a signaling according to the determined first stream pushing end and sending the signaling to the streaming media server so that the streaming media server switches the streaming media data currently pushed to the CDN node into the streaming media data of the first stream pushing end.
A12, the apparatus of claim a11, wherein the switching of the streaming media data currently pushed to the CDN node by the streaming media server to the streaming media data of the first pushing end includes: and the streaming media server switches the streaming media data currently pushed to the CDN node into the streaming media data carrying the slot position identification of the first virtual pushing flow slot.
A13, the device of claim a12, wherein the virtual spout comprises: a slot position mark and a plug flow end mark; the apparatus further comprises: and the identification module is used for increasing the slot position identification of the virtual push flow slot for the streaming media data of the push flow end corresponding to the push flow end identification according to the push flow end identification of the virtual push flow slot.
A14, the device of claim a11, further comprising:
the system comprises a hosting mode determining module, a live broadcasting room processing module and a live broadcasting room processing module, wherein the hosting mode determining module is used for determining a hosting mode of the live broadcasting room, and the hosting mode comprises a client mode and a webpage mode;
the receiving module is specifically configured to receive the switching instruction sent from a host client if the host mode is a web mode, where the host client in the web mode is different from the stream pushing end; or if the host mode is the client mode, receiving the switching instruction sent from the stream push end multiplexed as the host client.
A15, the apparatus of claim a14, wherein the moderator client is further configured to send: the recording instruction is used for controlling at least one of a start instruction for controlling the start of live broadcasting, a recording instruction for controlling the recording of a live broadcasting room and an end instruction for controlling the end of live broadcasting.
A16, the device of claim a11, further comprising: and the authorization module is used for endowing the main speaking authority to the first plug flow end.
A17, the apparatus according to claim a11, wherein the streaming server is connected with a plurality of said streaming terminals through gateways, and the streaming terminals stream respective streaming media data to the streaming server through the gateways.
A18, an electronic device, comprising a memory and a processor, the memory having stored thereon an executable program, the processor executing the executable program to perform the steps corresponding to the method of any one of claims a 1-A8.
A19, a storage medium having stored thereon a computer program which, when executed by a processor, carries out the method of any one of claims a 1-A8.

Claims (10)

1. A plug flow method, comprising:
receiving a switching instruction, determining a first virtual push flow slot indicated by the switching instruction, and determining a first push flow end having an association relationship with the first virtual push flow slot, wherein a streaming media server comprises a plurality of virtual push flow slots, the plurality of virtual push flow slots and the plurality of push flow ends have an association relationship, and the push flow ends can push respective streaming media data to the streaming media server;
and generating a signaling according to the determined first stream pushing end, and sending the signaling to a stream media server, so that the stream media server switches the stream media data currently pushed to the CDN node into the stream media data of the first stream pushing end.
2. The method of claim 1, wherein switching streaming media data currently pushed to a CDN node by the streaming media server to streaming media data of the first push streaming end comprises:
and the streaming media server switches the streaming media data currently pushed to the CDN node into streaming media data carrying the slot position identification of the first virtual pushing flow slot.
3. The method of claim 1, further comprising:
determining a hosting mode of a live broadcast room, wherein the hosting mode comprises a client mode and a webpage mode;
if the host mode is a webpage mode, receiving the switching instruction sent from a host client, wherein the host client in the webpage mode is different from the stream pushing end;
or if the host mode is the client mode, receiving the switching instruction sent from the stream push end multiplexed as the host client.
4. The method of claim 1, further comprising: and pulling the streaming media data provided by the CDN node to the local through a stream pulling end so as to carry out live broadcast according to the streaming media data.
5. The method according to claim 1, wherein after generating the signaling according to the determined first stream pushing end and sending the signaling to the streaming media server, the method further comprises:
and giving a main talk authority to the first plug flow end.
6. The method according to claim 1, wherein the streaming server is connected to a plurality of the streaming terminals through a gateway, and the streaming terminals push respective streaming media data to the streaming server through the gateway.
7. A plug flow system, comprising: the system comprises a plurality of stream pushing ends, an application server, a stream media server and CDN nodes, wherein the stream media server comprises a plurality of virtual stream pushing grooves, and the plurality of virtual stream pushing grooves and the plurality of stream pushing ends have an association relation;
the plurality of stream pushing ends are used for pushing the respective stream media files to the stream media server;
the application server is used for receiving a switching instruction, determining a first virtual push flow slot indicated by the switching instruction, determining a first push flow end having a correlation with the first virtual push flow slot, generating a signaling according to the determined first push flow end, and sending the signaling to the streaming media server;
the streaming media server is used for switching the streaming media data currently pushed to the CDN node into the streaming media data of the first pushing end according to the signaling.
8. A flow pushing device, comprising:
a receiving module, configured to receive a switching instruction, determine a first virtual push flow slot indicated by the switching instruction, and determine a first push flow end having an association relationship with the first virtual push flow slot, where the streaming media server includes a plurality of virtual push flow slots, the plurality of virtual push flow slots and the plurality of push flow ends have an association relationship, and the push flow ends can push respective streaming media data to the streaming media server;
and the switching module is used for generating a signaling according to the determined first stream pushing end and sending the signaling to the streaming media server so that the streaming media server switches the streaming media data currently pushed to the CDN node into the streaming media data of the first stream pushing end.
9. An electronic device comprising a memory having an executable program stored thereon and a processor that executes the executable program to perform steps corresponding to the method of any one of claims 1-6.
10. A storage medium, characterized in that the storage medium has stored thereon a computer program which, when executed by a processor, carries out the method according to any one of claims 1-6.
CN202011498934.4A 2020-12-16 2020-12-16 Plug flow method, system, device, electronic equipment and storage medium Active CN112637626B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011498934.4A CN112637626B (en) 2020-12-16 2020-12-16 Plug flow method, system, device, electronic equipment and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011498934.4A CN112637626B (en) 2020-12-16 2020-12-16 Plug flow method, system, device, electronic equipment and storage medium

Publications (2)

Publication Number Publication Date
CN112637626A true CN112637626A (en) 2021-04-09
CN112637626B CN112637626B (en) 2022-01-21

Family

ID=75316635

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011498934.4A Active CN112637626B (en) 2020-12-16 2020-12-16 Plug flow method, system, device, electronic equipment and storage medium

Country Status (1)

Country Link
CN (1) CN112637626B (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612728A (en) * 2021-06-25 2021-11-05 阿里巴巴新加坡控股有限公司 Streaming media playing method, transmission equipment and system
CN113825015A (en) * 2021-09-17 2021-12-21 吴修文 Large-scale concurrent video plug flow acceleration and management method

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486685A (en) * 2014-11-14 2015-04-01 广州华多网络科技有限公司 Control method, device and system of media streams
CN107426582A (en) * 2017-06-09 2017-12-01 苏州蜗牛数字科技股份有限公司 A kind of RTMP live TV streams seamless switch-over system and method
CN110708564A (en) * 2019-10-21 2020-01-17 上海网达软件股份有限公司 Live transcoding method and system for dynamically switching video streams
CN111586446A (en) * 2020-04-13 2020-08-25 微梦创科网络科技(中国)有限公司 Method, device and system for seamless switching of media streams

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104486685A (en) * 2014-11-14 2015-04-01 广州华多网络科技有限公司 Control method, device and system of media streams
CN107426582A (en) * 2017-06-09 2017-12-01 苏州蜗牛数字科技股份有限公司 A kind of RTMP live TV streams seamless switch-over system and method
CN110708564A (en) * 2019-10-21 2020-01-17 上海网达软件股份有限公司 Live transcoding method and system for dynamically switching video streams
CN111586446A (en) * 2020-04-13 2020-08-25 微梦创科网络科技(中国)有限公司 Method, device and system for seamless switching of media streams

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
JY02268879: "【十九】redis之Cluster数据分布概述(分布式存储***中,数据分布算法简介.顺序分布、普通hash、一致性hash、虚拟槽)", 《CSDN》 *

Cited By (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN113612728A (en) * 2021-06-25 2021-11-05 阿里巴巴新加坡控股有限公司 Streaming media playing method, transmission equipment and system
CN113612728B (en) * 2021-06-25 2023-09-01 阿里巴巴新加坡控股有限公司 Streaming media playing method, transmission equipment and system
CN113825015A (en) * 2021-09-17 2021-12-21 吴修文 Large-scale concurrent video plug flow acceleration and management method
CN113825015B (en) * 2021-09-17 2024-02-13 吴修文 Large-scale concurrent video push accelerating and managing method

Also Published As

Publication number Publication date
CN112637626B (en) 2022-01-21

Similar Documents

Publication Publication Date Title
JP7351907B2 (en) Online document sharing methods, devices, electronic devices and storage media
US8843616B2 (en) Personal cloud computing with session migration
EP3343844B1 (en) System and method for use of a media content bot in a social messaging environment
US20220174346A1 (en) Video playing method and apparatus
US9055193B2 (en) System and method of a remote conference
CN110198478B (en) Interactive recording and broadcasting method, system, client, device, equipment and storage medium
JP2012134969A (en) Cloud computing based video service and playing method
JP2020533862A (en) Video information processing methods, computer devices and storage media
CN112637626B (en) Plug flow method, system, device, electronic equipment and storage medium
US20220295133A1 (en) Technologies for managing collaborative and multiplatform media content playlists
CN108573393A (en) Comment information processing method, device, server and storage medium
JP6587997B6 (en) Sliding window management method and system for time machine function
WO2024037480A1 (en) Interaction method and apparatus, electronic device, and storage medium
US20150317312A1 (en) Playlist Programming
US10417279B1 (en) Customized cross fades for continuous and seamless playback
CN114422468A (en) Message processing method, device, terminal and storage medium
WO2022242461A1 (en) Method and apparatus for processing livestream audio/video, client, and server
CN112887786B (en) Video playing method and device and computer readable medium
CN112291573B (en) Live stream pushing method and device, electronic equipment and computer readable medium
US20170134781A1 (en) Method and apparatus for realizing custom menu, client and server
CN113676761A (en) Multimedia resource playing method and device and main control equipment
WO2017109478A1 (en) Media content sharing between users having associated content platforms
CN105657442A (en) Video file generation method and system
KR102228375B1 (en) Method and system for reproducing multiple streaming contents
CN113079397A (en) Multimedia resource playing method and device

Legal Events

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