Streaming media playing method and device, equipment and computer storage medium
By triggering a cross-device playback operation on the first device and using the data downlink address generated by the server to enable the second device to play the target streaming media data, the problems of poor playback quality and privacy protection are solved, achieving efficient playback and privacy protection across different devices.
Patent Information
- Application Number
- CN202410468237.6
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2024-04-16
- Publication Date
- 2025-10-24
AI Technical Summary
Existing cross-device playback solutions cannot effectively improve playback quality and protect privacy, especially when playing content collaboratively across different devices, where playback quality is poor or privacy protection needs cannot be met.
By triggering a cross-device playback operation on the first device, the server is instructed to generate a data downlink address, enabling the second device to download and play the target streaming media data. At the same time, the first device continues to play other streaming media data, allowing some streaming media data to be played on a device with better playback quality, while protecting privacy data from being displayed on the original device.
It improves the playback quality of streaming data and protects the privacy of viewers by selectively playing data on different devices, achieving more efficient privacy and security.
Smart Images

Figure CN120835185A_ABST
Abstract
Description
TECHNICAL FIELD
[0001] The present application relates to the technical field of computer, in particular to the technical field of streaming media playing, and provides a streaming media playing method, device, equipment and computer storage medium. BACKGROUND
[0002] With the development of Internet technology, voice and video have become common information carriers in daily life. Real-time voice or video interaction, such as online conference or interactive live broadcast, can facilitate information transmission and improve communication efficiency.
[0003] When voice and video interaction is performed on a device A, the voice or video may not be played well on the device A, or the audio or video picture may be played on a device B for privacy protection. For example, when a mobile phone is used for a multi-person conference, a conference participant shares desktop content, and the display effect of the shared desktop content on the mobile phone is obviously far worse than that on a computer. Therefore, there is a need to display the shared desktop content on the computer. Or, when a device A is used to participate in a multi-person audio and video call, if a video of one of the participants needs to be shared with other viewers in the same indoor environment, the remaining videos need to be displayed on the device A for privacy protection. Therefore, the video of the participant needs to be rendered and displayed on a device B, and the other videos need to be displayed on the device A.
[0004] However, the current collaborative playing scheme can realize cross-device display, but usually uses the collaboration capability between devices to completely transfer the current voice or video interaction to other devices in a local area network. In this way, the playing effect on the transferred device is still poor because all the videos or audios are still displayed on one screen. Or, all the videos or audios are transferred to other devices for playing, so that the privacy of the participants cannot be protected. SUMMARY
[0005] Embodiments of the present application provide a streaming media playing method, device, equipment and storage medium, which are used to realize continuous playing of part of streaming media data on other devices, improve the playing effect of multimedia data, and improve the privacy security during data sharing.
[0006] In one aspect, a streaming media playing method is provided, which is applied to a first device used by a viewer. The method includes:
[0007] During real-time communication of a plurality of participants, streaming media data corresponding to each of the plurality of participants is played to the viewer, the streaming media data including at least one of audio data and video data.
[0008] In response to the cross-device play operation triggered by the watching object, a cross-device play request indicating playing target stream media data on the second device is sent to a server, the target stream media data comprising at least one kind of stream media data of at least one of the participating objects;
[0009] Continuing to play other stream media data except the target stream media data, and providing a data download address of the target stream media data to the second device, so that the second device obtains the target stream media data according to the data download address, the data download address being generated by the server according to the cross-device play request.
[0010] In one aspect, a stream media play method is provided, applied to a second device, the method comprising:
[0011] Obtaining a data download address of target stream media data; wherein the target stream media data comprises at least one kind of stream media data of at least one participating object, the at least one participating object being part or all of a plurality of participating objects participating in real-time communication, the stream media data of each participating object comprising at least one of audio data and video data, the data download address being generated by a server according to a cross-device play request sent by a first device, the cross-device play request indicating playing target stream media data on the second device;
[0012] According to the data download address, obtaining the target stream media data from the server;
[0013] Continuing to play the target stream media data on the second device; wherein the target stream media data is played on the first device before being played on the second device, and other stream media data except the target stream media data in the stream media data of the plurality of participating objects continues to be played on the first device.
[0014] In one possible implementation, the obtaining of the data download address of the target stream media data comprises any one of the following manners:
[0015] In response to an input operation performed on the second device, the data download address is obtained; wherein the data download address is presented on the first device;
[0016] In response to a scanning operation performed on an encoded graph presented on the first device, the data download address is obtained;
[0017] Receiving the data download address sent by the server, the data download address being sent by the server to the second device according to an authorization confirmation indication sent by the first device;
[0018] receive the data downlink address sent by the server, the data downlink address being sent by the server to the second device according to the device indication information sent by the first device, the device indication information being used to indicate the second device.
[0019] In a possible implementation, the target stream media data is played on the second device in succession, including:
[0020] When the target stream media data includes a plurality of audio data, the plurality of audio data is subjected to audio mixing and streaming processing, and the mixed and streamed audio data is played on the second device; or,
[0021] When the target stream media data includes a plurality of video data, the plurality of video data is subjected to image rendering processing respectively, so that corresponding video pictures are played on the second device.
[0022] In an aspect, a stream media playing method is provided, applied to a server, and the method includes:
[0023] receiving a cross-device playing request sent by a first device, the cross-device playing request being used to request playing target stream media data on a second device, the target stream media data including at least one kind of stream media data of at least one participant, the at least one participant being part or all of a plurality of participants participating in real-time communication, and the stream media data of each participant including at least one of audio data and video data;
[0024] generating a corresponding data downlink address in response to the cross-device playing request, the data downlink address corresponding to a storage space used to store the target stream media data;
[0025] providing the data downlink address to the second device;
[0026] sending the target stream media data to the second device in response to an access request of the data downlink address by the second device, so that the target stream media data is played on the second device in succession.
[0027] In an aspect, a computer device is provided, including a memory, a processor, and a computer program stored in the memory and executable on the processor, and the processor implements the steps of any of the above methods when executing the computer program.
[0028] In an aspect, a computer storage medium is provided, and the computer storage medium stores a computer program, and the computer program is executable by a processor to implement the steps of any of the above methods.
[0029] In an aspect, a computer program product is provided, which includes a computer program stored in a computer readable storage medium. A processor of a computer device reads the computer program from the computer readable storage medium, and the processor executes the computer program to cause the computer device to perform the steps of any of the above methods.
[0030] In the embodiments of the present application, when the first device plays the stream media data of the multiple participating objects participating in the real-time communication, the server needs to play the target stream media data on the second device by triggering the cross-device playing operation, the target stream media data includes at least one kind of stream media data of at least one participating object, and the server generates a data download address for storing the stream media data to be played on the second device. The second device can download the target stream media data from the data download address to continue playing the target stream media data on the second device.
[0031] By the technical solution, the part of the stream media data of the multiple participating objects participating in the real-time communication can be played on the second device different from the first device. Compared with the manner of transferring all the stream media data to the second device for playing in the related art, the embodiments of the present application can play the part of the stream media data on other devices according to the selection of the watching object, thereby fully utilizing the advantages between different devices, for example, playing the part of the stream media data on the device with better playing effect, which helps to improve the playing effect of the stream media data. In addition, the watching object can play the part of the stream media data requiring privacy protection on the first device, and play the stream media data requiring sharing with other watching objects on the second device, which helps to protect the privacy of the watching object and improve the privacy security. BRIEF DESCRIPTION OF DRAWINGS
[0032] In order to more clearly illustrate the technical solutions in the embodiments of the present application or the related art, the drawings needed to be used in the embodiments or the related art description will be briefly introduced. Obviously, the drawings in the following description are only the embodiments of the present application, and other drawings can be obtained by the drawings provided by the person skilled in the art without creative labor.
[0033] Figure 1 The application scenario schematic diagram provided for the embodiments of the present application;
[0034] Figure 2 The architecture diagram of the media content search system provided for the embodiments of the present application;
[0035] Figure 3 The flowchart of the stream media playing method provided for the embodiments of the present application;
[0036] Figure 4 A data processing process schematic diagram when playing streaming media data is provided for the embodiments of the present application;
[0037] Figures 5A-5C A playing interface schematic diagram is provided for the embodiments of the present application;
[0038] Figures 6A-6C A data downlink address providing mode schematic diagram is provided for the embodiments of the present application;
[0039] Figure 7A And Figure 7B An interface schematic diagram of cross-device playing is provided for the embodiments of the present application;
[0040] Figure 8 Another flow schematic diagram of a streaming media playing method is provided for the embodiments of the present application;
[0041] Figure 9 A processing logic schematic diagram of a first device is provided for the embodiments of the present application;
[0042] Figure 10 A processing logic schematic diagram of a second device is provided for the embodiments of the present application;
[0043] Figure 11 A structure schematic diagram of a streaming media playing device is provided for the embodiments of the present application;
[0044] Figure 12 A structure schematic diagram of another streaming media playing device is provided for the embodiments of the present application;
[0045] Figure 13 A structure schematic diagram of still another streaming media playing device is provided for the embodiments of the present application;
[0046] Figure 14 A component structure schematic diagram of a computer device is provided for the embodiments of the present application;
[0047] Figure 15 A component structure schematic diagram of another computer device to which the embodiments of the present application are applied is provided. DETAILED DESCRIPTION
[0048] In order to make the objects, technical solutions and advantages of the present application clearer, the technical solutions in the embodiments of the present application will be described clearly and completely below with reference to the drawings in the embodiments of the present application. Obviously, the described embodiments are only a part of the embodiments of the present application, rather than all the embodiments. Based on the embodiments in the present application, all other embodiments obtained by a person of ordinary skill in the art without creative work fall within the protection scope of the present application. The embodiments in the present application and the features in the embodiments can be combined with each other in a non-conflicting manner. Moreover, although a logical sequence is shown in the flowchart, in some cases, the steps shown or described can be performed in an order different from the order shown.
[0049] It can be understood that, in the following specific embodiments of the present application, data related to the viewing object and the participating object are involved, and when the embodiments of the present application are applied to specific products or technologies, relevant permissions or consents need to be obtained, and the collection, use and processing of the relevant data need to comply with relevant laws, regulations and standards in countries and regions.
[0050] In order to facilitate understanding of the technical solutions provided by the embodiments of the present application, some key terms used by the embodiments of the present application are explained first:
[0051] Streaming media: refers to multimedia data continuously sent by a streaming media provider to a client, and the client can start playing without downloading the entire multimedia data to the local. Streaming media technology refers to a technology that compresses a series of media data and transmits them in segments in a streaming manner on a network to realize real-time transmission of video and audio on the network for viewing. This technology enables data packets to be sent like flowing water, and streaming transmission can transmit live video or pre-stored video on a server. When a viewer watches these video files, the video data is played by a specific player immediately after it reaches the viewer's computer.
[0052] Streaming media data: streaming media data can also be referred to as data stream, which refers to multimedia data transmitted by streaming media technology. When a video or audio on a network needs to be played on a client, streaming media technology can be used to obtain streaming media data of the video or audio from the network, and then the streaming media data is played based on the streaming media data. Streaming media data is transmitted in segments in a streaming manner on a network to transmit video and audio data in real time through a network. Streaming media data may, for example, include video data (or video stream data) or audio data (or audio stream data). The streaming media data involved in the embodiments of the present application can be multimedia data involved in real-time communication scenarios.
[0053] Instant messaging (IM): also known as real-time communication or instant communication, etc., refers to a process of transmitting information in real time by using terminal equipment. The instant messaging allows two or more people to exchange messages, files, voice and video in real time through a network. The "real time" is an expression of the timeliness of the communication effect, which represents that the time delay of receiving information between multiple terminals participating in the instant messaging is extremely low, so that the time delay of information transmission between multiple terminals can be ignored, or the process of information transmission can be almost imperceptible. The instant messaging in the embodiments of the present application refers to a process of multiple terminals participating in real-time interactive information. The common interactive content is usually audio or video, so the instant messaging can also be referred to as real-time audio and video, which can include multi-person video interaction, multi-person voice interaction, multi-person conference, multi-person broadcast or multi-person live broadcast, etc. The "multi-person" refers to the number of participants in the instant messaging, which is two or more.
[0054] Participating object: the participating object refers to a participant participating in the instant messaging. Generally, it refers to a user participating in the instant messaging, i.e., a user participating in the instant messaging process by using a device or a client. From the perspective of the device or the client, the user has a network identity, and the device can perceive the network identity of the user. Therefore, the participating object can also refer to a network user participating in the instant messaging. The identity of the user in the network can be represented by an account or an identity identifier. Therefore, the participating object can be understood as an account or an identity identifier participating in the instant messaging.
[0055] For example, when the instant messaging is multi-person video interaction, the participating object is a user (or a user account) participating in the video interaction. When the instant messaging is a multi-person conference, the participating object is a conference participant (or a conference account). When the instant messaging is multi-person live broadcast, the participating object is an anchor (or an anchor account) participating in the multi-person live broadcast.
[0056] Viewing object: The viewing object refers to a user who views a real-time communication process. Generally, the participating object can be a viewing object. For example, for a real-time communication scenario such as multi-person video interaction, multi-person voice interaction, multi-person conference, or multi-person live broadcast, the participating object participates in the real-time communication process and usually also views the entire real-time communication process as a viewing object. In addition, the viewing object can also be a non-participating object. For example, when a real-time communication process is disclosed on a network, other non-participating objects can view the real-time communication process through a viewing address, and these non-participating objects can also be viewing objects. For example, in a multi-person live broadcast scenario, in addition to the anchor (participating object), the audience can also view the real-time communication process between the anchors in real time, and these audiences are viewing objects. It should be noted that the "viewing" in the viewing object does not limit the streaming media data to only video data. It is a kind of general viewing, which can also be "viewed" for audio data, that is, listened to.
[0057] Encoded graphics: refers to graphics obtained by encoding text content, such as two-dimensional bar codes (2-dimensional bar code) or bar codes, etc. Taking a two-dimensional code as an example, the two-dimensional code can adopt a quick response code (quick response code, QR Code) mode. The two-dimensional code can express information in both horizontal and vertical directions, so it can express a large amount of information in a small area, and can also express more data types.
[0058] The cross-device playing scheme in the related art usually utilizes the cooperation capability between terminal devices to transfer the data to be played to other devices in a local area network. For example, terminal devices produced by the same manufacturer can implement continuous playing of multimedia data because the device manufacturer integrates cooperation capability in the terminal devices. In addition, when implementing this scheme, it can also be necessary to log in to the same account on different devices.
[0059] However, on the one hand, the cross-device playing scheme in the related art can only completely transfer the current voice or video interaction to other devices in a local area network. Since the display is still performed on one screen, the playing effect on the transferred device is still not good, or since all videos or audios are transferred to other devices for playing, the privacy of the participants cannot be protected. On the other hand, the implementation scenario of the above scheme has limitations and needs to be limited to terminal devices produced by the same manufacturer, or needs to be authenticated by means of an account, a network (such as a same local area network), etc., so that the implementation can not meet the needs of users.
[0060] Based on this, the embodiment of the application provides a streaming media playing method, in which when a first device plays streaming media data of a plurality of participants in real-time communication, a cross-device playing operation is triggered to instruct a server to play target streaming media data on a second device, the target streaming media data including at least one kind of streaming media data of at least one participant, and accordingly, the server generates a data download address for storing the streaming media data to be played on the second device, and the second device can download the target streaming media data from the data download address to continue playing the target streaming media data on the second device.
[0061] By the technical solution, part of the streaming media data of the plurality of participants in real-time communication can be played on the second device different from the first device, compared with the manner in which all the streaming media data is completely transferred to the second device for playing in the related art, the embodiment of the application can continue playing the selected streaming media data on other devices according to the selection of a watching object, thereby fully utilizing the advantages between different devices, for example, continuing playing part of the streaming media data on a device with better playing effect, which helps to improve the playing effect of the streaming media data, and the watching object can continue playing part of the streaming media data requiring privacy protection on the first device, and continue playing the streaming media data requiring sharing with other watching objects on the second device, which helps to protect the privacy of the watching object and improve the privacy security.
[0062] It should be noted that the streaming media playing method provided by the embodiment of the application can be applied to various scenes such as cloud technology, artificial intelligence (AI) and Internet of Vehicles, and various real-time communication processes can be performed in these scenes. The cloud technology refers to a kind of hosting technology in which hardware, software, network and other series of resources are unified in a wide area network or a local area network to realize data calculation, storage, processing and sharing. The cloud technology is a general term of network technology, information technology, integration technology, management platform technology, application technology and the like based on cloud computing business model application, can form a resource pool, and is used on demand, flexibly and conveniently. Cloud computing technology will become an important support. The background service of a technical network system needs a large amount of computing and storage resources, such as video websites, picture websites and more portals. With the high development and application of the Internet industry, every item may have its own identification mark in the future, and needs to be transmitted to the background system for logical processing. Different levels of data will be processed separately, and various industry data need strong system support, which can only be realized through cloud computing.
[0063] The following will introduce the application scenarios to which the technical solutions of the embodiments of the present application can be applied. It should be noted that the following introduction of the application scenarios is only used to illustrate the embodiments of the present application and is not limiting. In the specific implementation process, the technical solutions provided by the embodiments of the present application can be flexibly applied according to actual needs.
[0064] Referring to Figure 1 as shown, Figure 1 An application scenario architecture diagram of a streaming media playing method is shown, in which the scenario can include a first device 101, a second device 102 and a server 103.
[0065] The first device 101 and the second device 102 are terminal devices for playing streaming media data, which can be, for example, a mobile phone, a tablet computer (PAD), a notebook computer, a desktop computer, a smart voice interaction device, a smart television, a smart vehicle device, an aircraft, an extended reality (XR) device, a smart wearable device, etc.
[0066] Among them, XR refers to an environment that is a combination of virtual and reality, and can be interacted with a computer technology and a wearable device. XR is the general term of virtual reality (VR), augmented reality (AR) and mixed reality (MR), which brings the "immersion" of seamless transformation between the virtual world and the real world to users by fusing the visual interaction technologies of the three. The XR device involved in the present application can be a VR device, an AR device, an MR device, etc.
[0067] The first device 101 can be installed with a target application, and the target application has the ability to participate in real-time communication, which can be, for example, an instant messaging application, a live broadcast application and a conference application, etc. The application involved in the embodiments of the present application can be a software client, or a web page, a program, etc.
[0068] The second device 102 has the ability to play streaming media data, and the ability of the second device 102 can be the ability of the device itself, which can be, for example, the ability integrated into the operating system (OS), or the ability can also be obtained by means of an installed application, for example, the playing of streaming media data is realized by a browser or a player, etc. installed by the user.
[0069] The server 102 can be a background server corresponding to the target application, configured to provide background services during real-time communication. The server can be a standalone physical server, a server cluster or a distributed system composed of multiple physical servers, a cloud server providing cloud services, cloud database, cloud computing, cloud function, cloud storage, network service, cloud communication, middleware service, domain name service, security service, content delivery network (CDN), and basic cloud computing services such as big data and artificial intelligence platform, but is not limited thereto.
[0070] During the process of the multiple participating objects participating in the real-time communication, the watching object A plays the respective stream media data of the multiple participating objects participating in the real-time communication by using the first device 101. The stream media data can be video data or audio data, and each participating object can correspond to at least one kind of stream media data. When the watching object A expects to play at least one kind of stream media data of at least one participating object on the second device 102, the watching object can perform a cross-device playing operation on the first device 101 to send a cross-device playing request to the server 103, so as to instruct to play target stream media data on the second device 102. In response to the cross-device playing request, the server 103 can generate a data download address for storing the target stream media data, and provide the data download address to the second device 102. The second device 102 can obtain the target stream media data according to the data download address, so as to play the target stream media data on the second device 102.
[0071] Compared with the manner in the related art that all stream media data is completely transferred to the second device 102 for playing, the embodiments of the present application can play part of the stream media data on other devices according to the selection of the watching object, so that the advantages between different devices can be fully utilized, for example, part of the stream media data is played on a device with better playing effect, which helps to improve the playing effect of the stream media data. In addition, the watching object can play part of the stream media data on the first device for privacy protection, and play the stream media data to be shared with other watching objects on the second device, which helps to protect the privacy of the watching object and improve the privacy security.
[0072] In an example embodiment, when the real-time communication is a multi-person conference, the viewing object can be a conference participant. When the conference participant plays the video data and the audio data of the current conference process on the first device 101 (e.g., a mobile phone), if other conference participants share a document, the viewing effect on the mobile phone is obviously poor. The conference participant can trigger the cross-device playing operation to play the video data of the shared document on other devices. Correspondingly, the server 103 can generate a corresponding data downlink address for the video data, and provide the data downlink address to the second device 102 (e.g., a computer). Then, the second device 102 can obtain the video data from the server and play the video data, so as to realize the playing of the video data on the second device 102, and present the document picture on the computer with a better presentation effect, which greatly improves the presentation effect of the document, and the data other than the video data is still played on the first device 101.
[0073] In another example embodiment, when the real-time communication is a multi-person live broadcast, the viewing object can be a host or a viewer watching the live broadcast. When the viewing object plays the video data and the audio data of the current live broadcast process on the first device 101 (e.g., a mobile phone), if the video data or the audio data of one host is shared to other devices for playing, so as to make the playing effect of the host better, or only the video data or the audio data of a host is displayed to other viewers, the cross-device playing operation can be triggered to play the video data or the audio data of the host on other devices. Correspondingly, the server 103 can generate a corresponding data downlink address for the video data or the audio data, and provide the data downlink address to the second device 102. Then, the second device 102 can obtain the video data or the audio data from the server and play the video data or the audio data, so as to realize the playing of the video data or the audio data on the second device 102, and the data of other hosts other than the host is still played on the first device 101.
[0074] In other real-time communication scenarios, the process is similar to the above process, which will not be described here.
[0075] In the embodiment of the application, the first device 101, the second device 102 and the server 103 can be directly or indirectly connected in communication through one or more networks 104. The network 104 can be a wired network or a wireless network. For example, the wireless network can be a mobile cellular network or a wireless fidelity (WIFI) network. Of course, other possible networks are also possible, and the embodiment of the application does not limit this.
[0076] Referring to Figure 2 illustrated,Figure 2 A system architecture diagram applicable to a streaming media playing method is shown, in which a first device, a second device and a server can be included, for example, can be Figure 1 The first device 101, the second device 102 and the server 103 are shown.
[0077] The first device is used to implement participation in real-time communication, and when participating in real-time communication, the respective stream media data of each participant is played, and the first device is also used to initiate a cross-device playing request to the server according to the cross-device playing operation of the watching object.
[0078] In an embodiment, in addition to the function modules related to real-time communication and the function modules related to playing stream media data, the first device can also include the following function modules as shown: Figure 2 The following function modules are shown:
[0079] (1) A route setting module for providing a way for the watching object to set a playing device of audio data or video data. According to whether the data is audio data or video data, the route setting module can include an audio route setting submodule and a video route setting submodule. The audio route setting submodule is used to allow the watching object to set the playing device of audio data, and the video route setting submodule is used to allow the watching object to set the playing device of video data. The playing device can be a local device (i.e. the first device) or other devices (such as the second device).
[0080] If the other device is selected to play, the first device sends a cross-device playing request to the server, which is processed by the server to generate a corresponding data download address.
[0081] In an embodiment, the server can return the data download address to the first device, and at this time, the route setting module of the first device provides the data download address to the second device, so that the second device can obtain the corresponding stream media data through the data download address and play it. For example, the data download address can be a network address or a two-dimensional code, and the data download address can be provided to the second device in the form of presenting a network address or a two-dimensional code. The address of the downlink stream media data can be obtained by inputting the network address or scanning the two-dimensional code on the second device.
[0082] In another embodiment, the server can also generate a data upload address and send it to the first device, and at this time, the route setting module can hand over the data upload address to the route processing module.
[0083] (2) routing processing module, for routing the streaming media data according to the settings of the viewing object, if it is played locally (i.e. played in the first device), then the received streaming media data is directly put into the cache and the subsequent playing process is executed, if it is played across devices (i.e. played in the second device), then the routing processing module needs to push the received streaming media data to the data uplink address, and then realize routing the streaming media data which needs to be played in other devices to the data downlink address designated by the server, so that the second device can obtain the corresponding streaming media data in the storage space corresponding to the data downlink address.
[0084] The server is used to provide background service when providing real-time communication, for example, the streaming media data of each participant object participating in real-time communication can be relayed to each participant object, and the cross-device playing request of the first device is processed.
[0085] In an embodiment, the server includes the following functional modules as shown in the figure: Figure 2
[0086] (1) data relay module, for receiving the streaming media data uplinked by the participant object, and providing the ability of downlinking other participant objects, so that other participant objects can obtain the streaming media data uplinked by each participant object from the server.
[0087] (2) signaling processing module, for receiving the cross-device playing request sent by the first device and responding to the cross-device playing request to perform corresponding operations. That is, if the signaling processing module receives the request signaling of "playing in other devices", it needs to generate the corresponding data uplink address and data downlink address and return them to the first device.
[0088] The second device is used to provide the ability of playing streaming media data, so that the viewing object specified streaming media data can be played on the second device.
[0089] In an embodiment, the second device includes the following functional modules as shown in the figure: Figure 2
[0090] (1) pull stream address module, for obtaining the pull stream address (i.e. data downlink address) of the streaming media data from the first device or the server, if the address is obtained from the first device, the address is returned to the first device by the server, the pull stream address module obtains the pull stream address from the first device, and then the address is given to the pull stream module and the pull stream module is started.
[0091] (2) pull stream module, for pulling the streaming media data from the pull stream address provided by the pull stream address module, and giving the pulled streaming media data to the audio cache module for caching.
[0092] (3) A cache module is used to cache the streaming media data pulled by the stream pulling module and implement the anti-network jitter function to reduce the probability of playback jams and improve the playback experience. For example, for audio data, this can be achieved by using AudioJitterBuffer. AudioJitterBuffer is an audio data buffer that can resist network jitter. It can perform real-time audio delay estimation and adjust the buffer size according to the estimated delay. It can also provide data acceleration and deceleration capabilities according to the buffer size to resist network jitter. For video data, anti-network jitter can be achieved by using VideoJitterBuffer. VideoJitterBuffer is a video data buffer that can resist network jitter.
[0093] (4) A decoding module, used to decode the cached streaming media data.
[0094] (5) An audio mixing module is used to mix multiple channels of audio data. If only one audio stream is pulled, no processing is required. This allows the audio data of multiple participants to be played on the second device. No processing is required for video data.
[0095] (6) A player module, which is used to play the mixed audio data on a second device, or render and play the video data.
[0096] It should be noted that the streaming media data involved in the embodiments of the present application may include video data and audio data. For video data or audio data, they can be processed comprehensively by adopting the above-mentioned architectural method, or corresponding system architectures can be constructed for video data or audio data respectively to process cross-device playback of video data or audio data respectively. When constructing system architectures separately, you can also refer to the above-mentioned system architecture, so they will not be repeated here.
[0097] The following describes the streaming media playback method provided by the exemplary embodiment of the present application in combination with the application scenario and system architecture described above, with reference to the accompanying drawings. It should be noted that the above application scenario and system architecture are only shown to facilitate understanding of the spirit and principles of the present application, and the implementation of the present application is not limited in this respect.
[0098] See also Figure 3 The figure is a flow chart of a streaming media playback method provided by an embodiment of the present application. The method involves processes that need to be executed by the first device, the second device, and the server. In the following description, the streaming media playback method is introduced in the form of interaction between multiple devices. The specific implementation process of the method is as follows:
[0099] Step 301: The first device plays, for a watching object, stream media data corresponding to each of a plurality of participating objects in a process of real-time communication in which the plurality of participating objects participate.
[0100] In an embodiment of the present application, the stream media data is data that can be involved in the process of real-time communication, for example, can include at least one of audio data and video data.
[0101] In some scenarios, the watching object is a participating object, for example, in scenarios where the real-time communication is a multi-person conference, multi-person audio / video, etc., the watching object can be a participating object participating in the real-time communication, and the first device is a device participating in the real-time communication. In these scenarios, the participating object can initiate the real-time communication process or accept the real-time communication process initiated by other participating objects, thereby participating in the real-time communication process to play the stream media data of each participating object on the first device used by the participating object.
[0102] For example, user A initiates a group voice in a multi-person group chat, and other users in the multi-person group chat can accept the group voice initiated by user A to join the group voice and realize multi-person voice communication. Correspondingly, each user (or account) participating in the group voice is a participating object, and for user A, the first device (or the first device logged in the account) used by user A can play the audio data of each participating object.
[0103] For another example, user A can receive a multi-person conference invitation initiated by other users and join the multi-person conference, thereby realizing the multi-person conference process. Correspondingly, each user (or account) joining the multi-person conference process is a participating object, and for user A, the first device (or the first device logged in the account) used by user A can play the audio data and video data of each participating object.
[0104] In the above scenario, user A as a participating object, in addition to obtaining the downlink stream media data of other participating objects from the server, also transmits the stream media data of user A uplink to the server to be delivered to other participating objects through the server.
[0105] In some scenarios, the watching object is a non-participating object, for example, in scenarios where the real-time communication is multi-person live broadcast or multi-person conference sharing, etc., the watching object can not be a participating object participating in the real-time communication, but a viewer watching the live broadcast or conference sharing, and the first device is a device used by the viewer. In these scenarios, the watching object can watch the real-time communication process by clicking a link of the real-time communication process, etc.
[0106] For example, multiple anchors jointly participate in a multi-person live broadcast, and user A watches the multi-person live broadcast process by clicking a live broadcast room link. The first device can play the video data and audio data of each anchor involved in the current multi-person live broadcast.
[0107] For example, a multi-person conference can be allowed to be publicly watched by non-participants. User A, as a non-participant, can watch the multi-person conference through a sharing link of the conference. The first device used by user A can play the video data and audio data of each participant involved in the multi-person conference.
[0108] Specifically, referring to FIG. 1, Figure 4 Figure 4 a data processing process diagram when the first device plays streaming media data. In the diagram, Figure 4 The first device plays streaming media data. In the diagram,
[0109] When the viewing object is the participating object, for the audio data, the viewing object needs to start the audio data collection function on the first device. The first device needs to perform step A1 to collect the audio data of the viewing object, perform step A2 to pre-process the audio data, for example, 3A processing of the audio data, 3A processing is the collective term of three core technologies of audio processing, including Acoustic Echo Cancelling (AEC) processing, Automatic Gain Control (AGC) processing and Automatic Noise Suppression (ANS) processing. Then, step A3 is performed to encode the processed audio data, and step A4 is performed to upload the audio data to the server. In this way, the server obtains the audio data of a participating object, which can be played by the participating object and the viewing object subscribing to pull streaming. For other participating objects, the audio data can be uploaded to the server according to the above process.
[0110] Further, when the viewing object subscribes to the audio stream, "subscription" can be understood as the viewing object participating in real-time communication or watching the real-time communication process, and then subscribing to the audio stream. The first device will pull streaming from the server, so that the server performs step A5 to download the corresponding audio data to the first device. For the participating object, the audio data of other participating objects except the participating object will be downloaded to the first device. For non-participating objects, the audio data of all participating objects can be downloaded to the first device. For example, Figure 2 The routing processing module in the first device performs step A6 to perform routing processing, that is, if all the audio data is played on the first device, step A7 is performed to cache the received audio data on the first device. Then step A8 is performed to decode the audio data, and if there are multiple audio streams, the audio data of multiple participants is mixed into one stream after decoding, and step A9 is performed to play the audio data, so that the viewing object can enjoy the subscribed audio data.
[0111] Referring to Figure 4 As shown, the video data processing process B1-B9 is similar to the above-mentioned audio data processing process A1-A9. For the similar parts, no further description is given. The difference is that the pre-processing step B2 of the video data can include filter processing, etc., and the video data does not need to be mixed after decoding, but is rendered and played on the first device. Thus, the viewing object can enjoy the subscribed video data.
[0112] Compared with the data processing process when playing streaming media data in the related art, the embodiment of the application adds the data routing process of the audio data and the video data. In the related art, due to the lack of the data routing process, all the audio data and the video data transmitted to the first device are processed together, so that they can only be played on the first device. Then, if the data is transferred to other devices in order to protect the privacy of other users or to improve the playing effect of a certain stream, it cannot be done. However, in the embodiment of the application, after adding the routing processing of the streaming media data, part of the streaming media data can be played on other devices, which helps to improve the playing effect of the streaming media data and the privacy security.
[0113] Step 302: The first device receives a cross-device playing operation triggered by the viewing object.
[0114] In the embodiment of the application, during the viewing object watching the real-time communication, the cross-device playing operation can be performed to request playing the target streaming media data on other devices.
[0115] In an implementation manner, when the viewing object watches the real-time communication, the first device can present a corresponding playing interface, and the cross-device playing control can be provided in the playing interface. Then, the viewing object can operate the cross-device playing control.
[0116] Referring to Figure 5AThe playback interface may include a playback sub-interface corresponding to each participating object in the real-time communication, and the cross-device playback control may be presented in the playback interface, or in an associated page of the playback interface, such as a settings page of the playback interface. In other words, for a playback interface, a corresponding cross-device playback control may be presented, and by triggering the cross-device playback control, cross-device playback of streaming media data may be performed.
[0117] For example, the default streaming media data when triggering cross-device playback can be configured. This configuration can be configured by the user or by the system default. For example, when the cross-device playback control is triggered, the audio data or video data of the first sub-interface is played across devices by default; or, when the cross-device playback control is triggered, the audio data or video data of the participating objects that currently have shared content is played across devices by default; or, when the number of participating objects is only 2, the audio data or video data of the other end can be played across devices by default. Of course, the required default playback content can also be set according to actual conditions, and the embodiments of the present application do not limit this.
[0118] Then, when there is a configuration of default streaming media data, when the cross-device playback control is triggered, the default streaming media data can be used as the target streaming media data to execute the subsequent cross-device playback process.
[0119] For another example, a method for selecting streaming media data as target streaming media data may be provided to the viewing object. Figure 5C As shown, when the cross-device playback control is triggered, a cross-device playback setting page can be presented in the playback interface. This page can be presented in the form of a secondary floating window on the playback interface or in other ways. This page can be used by viewers to select streaming media data that needs to be played across devices. Figure 5C As shown, the page can display the checkboxes for each streaming media data of each participating object. For streaming media data that needs to be played across devices, the viewing object can select it by checking the box. After the check is completed, the viewing object can perform a confirmation operation, and it is considered that the viewing object has triggered the cross-device playback operation.
[0120] Through the above-described method, viewers can select streaming media data to be played across devices based on their needs. This not only meets the viewers' cross-device playback needs, but also provides greater flexibility in cross-device playback selection, thereby improving the user experience. It should be noted that the above-described selection method is only one possible example. In actual scenarios, other methods can also be used to achieve streaming media data selection, and the embodiments of this application do not limit this.
[0121] Referring to Figure 5B As shown, each participating object participating in real-time communication can correspond to a playback sub-interface in the playback interface, and the cross-device playback control can be presented in each playback sub-interface in the playback interface, that is, for each playback sub-interface, the corresponding cross-device playback control can be presented, and by triggering the cross-device playback control, the corresponding streaming media data corresponding to the playback sub-interface can be played across devices. When there is audio data and video data in a playback sub-interface, at least one of the audio data and the video data can be played across devices according to the user's selection, or the audio data or the video data is played across devices by default, or both are played across devices by default. By presenting the cross-device playback control in each playback sub-interface, the watching object can more accurately select the streaming media data.
[0122] In the embodiment of the present application, when the presentation mode shown in Figure 5B When the cross-device playback control in one of the playback sub-interfaces is operated, the playback setting page shown in Figure 5C can be presented to select the streaming media data.
[0123] In another implementation, the cross-device playback operation can also be triggered by the physical keys of the first device. For example, a certain physical key on the first device can be pre-configured to trigger the cross-device playback, and the watching object can operate the physical key to trigger the cross-device playback. The physical key is not limited to the key included in the first device or the key of the external device (such as a keyboard) of the first device.
[0124] Step 303: The first device sends a cross-device playback request indicating that the target streaming media data is played on the second device to the server. Correspondingly, the server receives the cross-device playback request.
[0125] When the watching object triggers the cross-device playback operation, the first device can detect the cross-device playback operation triggered by the watching object, and in response to the cross-device playback operation, generate a corresponding cross-device playback request, which is used to request the target streaming media data to be played on the second device.
[0126] The target stream media data can include at least one kind of stream media data of at least one participant, i.e., the stream media data of the default setting or the stream media data selected by the watching object. For each participant, the corresponding stream media data can include an audio data stream, a video data stream, or both. The target stream media data can be any data stream of any participant, in other words, the target stream media data can include at least one data stream played on the first device.
[0127] In the embodiments of the present application, the cross-device playing request can also be referred to as a playing signaling or other device playing signaling. The cross-device playing request can not specify the information of the second device, i.e., the cross-device playing request notifies the server that the target stream media data needs to be played on other devices. Alternatively, the cross-device playing request can specify the information of the second device, i.e., the cross-device playing request notifies the server that the target stream media data needs to be played on the specified second device.
[0128] In step 304, the server generates a corresponding data downlink address in response to the cross-device playing request.
[0129] In the embodiments of the present application, the server as a background server of real-time communication can relay the stream media data uploaded by the participants to other participants. When the server receives the cross-device playing request of the first device, it indicates that the target stream media data needs to be played on devices other than the first device. In order for the second device to successfully play the target stream media data, the embodiments of the present application provide the target stream media data to the second device by providing the routing of the target stream media data to the second device. In this way, the second device only needs to know the data routing to obtain the target stream media data for playing. The only requirement for the second device is to have playing capability. The second device does not need to install an application program for real-time communication, and does not need to limit the association between the first device and the second device (e.g., the devices need to be from the same manufacturer or be in the same local area network). Therefore, the cross-device playing method of the embodiments of the present application has little scene limitation and has a wider application range.
[0130] Specifically, the server generates a data downlink address according to the received cross-device playing request. The storage space corresponding to the data downlink address is used to store the target stream media data. The storage space can be the storage space of the server itself or the storage space of other devices outside the server, such as the storage space of a storage device mounted by the server, a cloud storage space, or a storage space of a CDN network. The embodiments of the present application do not limit the storage space.
[0131] In an embodiment, the server can implement the routing process of the target stream media data, and after receiving the stream media data of each participant object, the server can send the stream media data other than the target stream media data to the first device in the original manner, and store the target stream media data in the storage space corresponding to the data download address. In this case, since the second device only needs to download the corresponding target stream media data according to the data download address, the server only needs to generate a data download address of the target stream media data.
[0132] In another embodiment, the first device can implement the routing process of the target stream media data, and the server can forward all the stream media data of all the participant objects to the first device in the original data forwarding manner. The routing process is implemented by the routing processing module on the first device, that is, the target stream media data needs to be transmitted to the server. In this case, in addition to generating the data download address for the second device to download the target stream media data, the server also needs to provide a way for the first device to transmit the target stream media data to the server. Therefore, the server in the embodiment of the present application can also generate a data upload address for the first device to upload the target stream media data to the server. Through this embodiment, the cross-device playback of the target stream media data can be implemented while minimizing the modification of the original stream media data processing flow, thereby reducing the modification workload of the developers.
[0133] In the embodiment of the present application, the data download address is provided to the second device for downloading the target stream media data. Therefore, after the server generates the data download address, the data download address needs to be provided to the second device.
[0134] In an embodiment, the server can provide the data download address to the second device. Specifically, the first device can present an information input interface for inputting device indication information of the second device. The viewing object can input the device indication information of the second device in the information input interface, and the device indication information is used to indicate the second device. Then, the first device sends the device indication information input in the information input interface to the server, so that the server sends the data download address to the second device according to the device indication information.
[0135] For example, the first device can present the information input interface when the viewing object triggers the cross-device playback operation. For example, the information input interface can be the same page as the setting page, or a control (such as "designated playback device") is added to the setting page to provide an entry of the information input interface.
[0136] For example, the first device can also present an information input interface after triggering the cross-device play operation. For example, the server can send an instruction to the first device to trigger the first device to present the information input interface after generating the data download address. Alternatively, the server can check whether to respond to the cross-device play request after receiving the cross-device play request, and send an instruction to the first device to trigger the first device to present the information input interface if the response is allowed. Alternatively, the first device can actively present the information input interface after the viewing object confirms the cross-device play operation.
[0137] The device indication information can include at least one of the following information:
[0138] (1) The device identifier of the second device, which can uniquely identify a terminal device. For example, the device identifier can be an International Mobile Subscriber Identification Number (IMSI) or a serial number (SNR) of the terminal device.
[0139] If the device indication information includes the device identifier, the server can push the data download address to the terminal device indicated by the device identifier.
[0140] (2) The communication number on the second device, such as a mobile phone number. If the device indication information includes the mobile phone number, the server can send the data download address to the mobile phone number by short message or multimedia message. Accordingly, the second device where the mobile phone number is located can receive the short message or multimedia message and obtain the data download address.
[0141] (3) The application account installed on the second device, such as a social platform account or an account of a real-time communication application corresponding to the server. If the device indication information includes the application account, the server can push the data download address to the application account, so that the second device logged in the application account can obtain the data download address. For example, the application account can be a social platform account, and the server can push the data download address to the social platform account. For example, the server can register a service subject in the social platform, such as a public account or an applet, and push the data download address to the public account or the applet. For another example, the application account can be an account of a real-time communication application, and the server can push the data download address to the account by pushing data within the system. The second device logged in the account can correspondingly obtain the data download address.
[0142] In another embodiment, the server can send the data download address to the first device, and then the first device can provide the data download address to the second device. Figure 3The following will be described with reference to this embodiment.
[0143] Step 305: The server sends a cross-device playing response to the first device, and the cross-device playing response carries the data download address. Correspondingly, the first device receives the cross-device playing response.
[0144] In a possible implementation, specifically, the server can send the data download address to the first device in the cross-device playing response. For example, when the first device logs in an account of the watching object, the server can send the cross-device playing response to the account, and correspondingly, the first device logged in the account can receive the cross-device playing response, so as to obtain the data download address according to the cross-device playing response.
[0145] For the case that the cross-device playing response carries the data download address, the server can implement the routing process of the target stream media data. That is, when the server sends the stream media data of each participant to the first device, the server only sends the stream media data except the target stream media data to the first device, and stores the target stream media data in the storage space corresponding to the data download address, so that the second device can obtain the target stream media data from the storage space through the data download address.
[0146] Through this embodiment, the routing process is implemented by the server, which can reduce the processing pressure of the first device. In addition, the server does not need to send the target stream media data to the first device, and the first device does not need to upload the target stream media data, which can reduce the consumption of transmission resources.
[0147] In another possible implementation, if the first device implements the routing process of the target stream media data, the server also generates the data upload address. Then, the cross-device playing response can carry the data upload address in addition to the data download address, so that the first device can obtain the data upload address from the cross-device playing response.
[0148] Then, when the first device implements the routing process of the target stream media data, the server side sends all the stream media data to the first device in the original manner, and correspondingly, the first device can obtain the stream media data corresponding to each of the plurality of participants through the data stream transmission channel established between the first device and the server, and the stream media data corresponding to each of the plurality of participants includes the target stream media data. Then, the first device can determine the target stream media data from the plurality of stream media data according to the object identifier included in each of the obtained stream media data. The object identifier can include a data type, for example, indicating whether it is audio data or video data, and the object identifier can also include information indicating a data stream, for example, indicating which participant the data comes from or which data stream it is. In this way, the first device can determine which stream media data is the target stream media data from the received stream media data according to the object identifier.
[0149] When the first device obtains the data uplink address, the first device can upload the target stream media data to the server according to the data uplink address, so that the server stores the target stream media data in the storage space corresponding to the data downlink address.
[0150] Through the embodiment, the routing process is implemented by the first device, which can reduce the modification of the original stream media data processing flow as much as possible when implementing the cross-device playback of the target stream media data, thereby reducing the modification workload of the developer.
[0151] In the embodiment of the application, the data uplink address and the data downlink address can be web addresses, for example, uniform resource locations (URLs).
[0152] Step 306: The first device provides the data downlink address of the target stream media data to the second device. Correspondingly, the second device obtains the data downlink address.
[0153] In order to successfully play the target stream media data by the second device, the data downlink address needs to be provided to the second device.
[0154] In a possible implementation, the data downlink address can be presented on the first device, and then the viewer can provide the data downlink address to the second device according to the data downlink address presented on the first device.
[0155] For example, referring to Figure 6AAs shown, the first device can directly present the data download address, and then the viewing object can input the data download address on the second device according to the data download address presented on the first device. For example, the viewing object can input the data download address in a browser to establish a connection with the server to obtain the target streaming media data. Of course, the data download address can also be input in any other browser-enabled application, and the embodiments of the present application do not limit this.
[0156] For example, as shown in FIG. 6, the first device can present a data download address on the first device, and the viewing object can input the data download address on the second device according to the data download address presented on the first device. Figure 6B As shown, the first device can also generate a corresponding encoded image according to the data download address and present the encoded image on the first device. Then, the viewing object can use the second device to scan the encoded image to obtain the data download address.
[0157] By directly presenting the data download address, the viewing object can directly obtain the data download address to play the target streaming media data on the second device. Compared with the cross-device playing solution in the related art, the embodiments of the present application do not require complex operations and verification processes, and have lower implementation scenario restrictions, that is, only the second device needs to have the ability to input the address to play the streaming media data, and there is no need to require the second device and the first device to come from the same manufacturer, or to install the same application and log in to the same account, thereby reducing the implementation cost and widening the implementation range.
[0158] For example, the encoded image can be a two-dimensional code or a bar code. Figure 6B For example, the first device can present the two-dimensional code to prompt the viewing object to scan the two-dimensional code to perform cross-device playing. Then, the viewing object can use the second device to scan the encoded image to obtain the data download address. For the encoded image, it can be generated by the first device or by the server, that is, the data download address sent by the server to the first device is the encoded image, and the first device does not need to generate it.
[0159] By using the encoded image presentation manner, the viewing object does not need to input a long address on the second device, but only needs to use an application with scanning function to scan, which is more convenient and efficient, and improves the efficiency of cross-device playing. In addition, since most of the current applications can support the function of scanning the image code, the viewing object can use these applications to scan, and the application range is wider.
[0160] In another embodiment, considering that the second device may not be convenient to scan the first device in some real-time scenarios, for example, when the second device is a PC, it may not be convenient to scan the first device. Therefore, the first device can also be used to scan the second device to provide the data download address to the second device.
[0161] For details, see Figure 6C As shown, the viewing object can open the specified cross-device playback page on the second device, for example, open the network address of the page provided by the server, and then present the encoded graphic ( Figure 6C (Specifically, a QR code is used as an example.) The cross-device playback page can be a dedicated page for implementing cross-device playback. The coded graphic can be a network address provided by the server to the second device, or it can be an offline coded graphic presented by the network address. The coded graphic is used to request authorization to obtain the data downlink address. The viewing object then triggers a scanning operation on the first device, causing the first device to scan the coded graphic presented on the second device in response to the scanning operation triggered by the viewing object. The first device then presents an authorization interface based on the scan results, and the authorization interface is used to request authorization for the second device to obtain the data downlink address.
[0162] The viewing object can perform an authorization confirmation operation on the first device. Then, in response to the authorization confirmation operation performed on the authorization interface, the first device can send the data downlink address to the second device, for example, via a local area network or near field communication.
[0163] Alternatively, in response to the authorization confirmation operation performed on the authorization interface, the first device sends an authorization confirmation instruction to the server, informing the server that it can send the data downlink address to the second device. The server then sends the data downlink address to the second device according to the authorization confirmation instruction. Since the second device establishes a connection with the server when it opens the cross-device playback page, the server can send the data downlink address to the second device through this connection. In this embodiment, the server does not need to send the data downlink address to the first device.
[0164] Through this implementation, the first device can authorize the second device to obtain the data downlink address, so that the data downlink address can be provided to the second device through the first device or the server, allowing the second device to successfully obtain the target streaming media data and achieve cross-device playback of the target streaming media data. In addition, this implementation can more conveniently obtain the data downlink address for the second device that is not convenient to scan the first device, thereby meeting the adaptability requirements between different device combinations and expanding the scope of application of the method of the embodiment of the application.
[0165] In an embodiment of the present application, multiple methods of providing data downlink addresses to the second device are provided. In actual scenarios, they can be configured according to actual needs, or in specific implementation, the most suitable method can be selected according to the device type of the first device or the second device.
[0166] Of course, the first device can also send the data downlink address to the second device in other ways, such as through Bluetooth or near field communication (NFC) and the like.
[0167] Step 307: The second device obtains the target stream media data from the server according to the data downlink address.
[0168] After the second device obtains the data downlink address, the second device can access the server through the data downlink address to obtain the corresponding target stream media data from the server.
[0169] Specifically, the second device can send an access request to the server according to the data downlink address, the access request being used to access the target stream media data stored on the server, and then the server can send the target stream media data to the second device in response to the access request of the second device to the data downlink address, so as to continue playing the target stream media data on the second device. Alternatively, the access request can be used to establish a data stream transmission channel with the server, and then the server can establish a data stream transmission channel with the second device according to the access request, so that the target stream media data received subsequently is all sent to the second device through the data stream transmission channel.
[0170] Step 308: The second device continues to play the target stream media data.
[0171] After the second device receives the target stream media data, the second device can play the target stream media data on the second device.
[0172] Among them, the target stream media data is played on the first device before being played on the second device, and the continuation of playing refers to transferring the target stream media data to the second device for playing. It should be noted that the target stream media data should be understood as at least one data stream selected by the viewing object, rather than a certain data. In the process of real-time communication, the data contained in the data stream will change with the process of real-time communication.
[0173] Specifically, when the target stream media data only includes one audio data, the audio data can be directly played on the second device. If the target stream media data includes multiple audio data, the multiple audio data need to be mixed and processed, and the mixed audio data can be played on the second device. Alternatively, when the target stream media data includes one or more video data, the one or more video data can be respectively rendered to play the corresponding video screen on the second device, so as to realize the playing of one or more audio streams or video streams in the process of real-time communication on any device.
[0174] Step 309: The first device continues to play other streaming media data except the target streaming media data.
[0175] For the streaming media data corresponding to the multiple participating objects, other streaming media data except the target streaming media data continue to be played on the first device.
[0176] It should be noted that before or after the viewing object triggers the cross-device playback operation, other streaming media data continues to be played on the first device. That is to say, there is no substantial order between step 309 and the aforementioned steps 303 to 308, and the two can be performed simultaneously.
[0177] At this point, at least one of all the data streams played by the first device during the real-time communication process can be played across devices on the second device. In actual scenarios, in addition to playing on the second device, at least one of the remaining data streams can also be played on a third device or even more devices, so that multiple devices can play the data streams in the real-time communication process together. The cross-device playback process of other devices is similar to the above process, so it will not be described in detail here. For the case of playing across multiple devices, a way for the viewing object to select the playback device can be provided. For example, if cross-device playback has already been performed on the second device, when cross-device playback is performed on the third device, the viewing object can choose whether to play on the second device or on a third device different from the second device.
[0178] In the embodiment of the present application, the first device and the second device refer to different independent devices. The first device and the second device are both devices that can implement independent processing functions, so as to distinguish them from the multi-screen playback scenario.
[0179] For example, see Figure 7A As shown in FIG. 1 , a schematic diagram of an interface for cross-device playback provided by an embodiment of the present application is shown. It can be seen that during real-time communication, the first device presents a playback sub-interface corresponding to each participating object, namely Figure 7A The playback sub-interfaces of the participants 1 to 5 are shown. When the viewing object wants to play the streaming media data of the participant 2 on another device, the viewing object can perform a cross-device playback operation to play the streaming media data of the participant 2 on the second device. Figure 7A As shown, after the cross-device playback operation is performed, the streaming media data of the other participating objects, except for the participating object 2, are still played on the first device, while the streaming media data of the participating object 2 will be played continuously on the second device.
[0180] In a possible implementation, although the target stream media data is played on the second device in the cross-device playing, the target stream media data can still be played on the first device, which means that the target stream media data can be played on the first device and the second device simultaneously.
[0181] That is, for the first device, after the cross-device playing operation is performed by the watching object, the first device can still obtain the stream media data corresponding to each of the plurality of participating objects through the data stream transmission channel established between the first device and the server, the stream media data corresponding to each of the plurality of participating objects includes the target stream media data, and the target stream media data can be played on the first device.
[0182] Referring to FIG. 1, in the process of real-time communication, the first device presents a playing sub-interface corresponding to each of the plurality of participating objects, and when the watching object wants to play the stream media data of the participating object 2 on another device, the watching object can perform a cross-device playing operation to play the stream media data of the participating object 2 on the second device. Figure 7B Referring to FIG. 1, in the process of real-time communication, the first device presents a playing sub-interface corresponding to each of the plurality of participating objects, and when the watching object wants to play the stream media data of the participating object 2 on another device, the watching object can perform a cross-device playing operation to play the stream media data of the participating object 2 on the second device. Figure 7B Referring to FIG. 1, in the process of real-time communication, the first device presents a playing sub-interface corresponding to each of the plurality of participating objects, and when the watching object wants to play the stream media data of the participating object 2 on another device, the watching object can perform a cross-device playing operation to play the stream media data of the participating object 2 on the second device.
[0183] In the embodiment of the present application, the first device can also control the playing of the target stream media data on the second device.
[0184] In a possible implementation, the watching object can trigger a playing control operation on the first device, for example, the playing control operation can control the playing quality on the second device, and the first device can obtain the resource quality requirement of the target stream media data when played on the second device in response to the playing control operation triggered by the watching object, the resource quality requirement is used to represent at least one of the image quality and the audio quality of the target stream media data, and then the first device can send the resource quality requirement to the server, so that the server provides the target stream media data meeting the resource quality requirement to the second device.
[0185] For example, when the second device can support better image quality, the watching object can select the playing image quality on the second device on the first device, and then the server can provide video resource data with the corresponding image quality to the second device, so as to improve the playing effect on the second device.
[0186] The resource quality requirement can be provided together when the cross-device playing operation is triggered, or can be provided in the subsequent playing process, and the embodiment of the present application does not limit this.
[0187] In the embodiment of the present application, after the cross-device playing on the second device, the cross-device playing on the second device can also be ended according to actual needs to meet the needs of the viewing object at different stages.
[0188] In an implementation, the viewing object can perform an end playing operation on the first device, and the end playing operation is used to end the playing of the target stream media data on the second device. The first device can send an end playing request to the server in response to the end playing operation triggered by the viewing object, the end playing request is used to request to end the playing of the target stream media data on the second device, and then the server stops providing the target stream media data to the second device, and sends the target stream media data to the first device, so that the first device receives the target stream media data sent by the server and continues to play the target stream media data on the first device.
[0189] In another implementation, the viewing object can also perform an end playing operation on the second device, for example, close the playing page. The server can know that the viewing object expects to stop the end playing on the second device, and then the server stops providing the target stream media data to the second device, and sends the target stream media data to the first device, so that the first device receives the target stream media data sent by the server and continues to play the target stream media data on the first device.
[0190] Referring to FIG. 8, Figure 8 FIG. 8 is another flowchart of a stream media playing method provided by the embodiment of the present application. The specific implementation process of the method is as follows:
[0191] In step 801, the first device plays the stream media data corresponding to each of the multiple participating objects to the viewing object in the process that the multiple participating objects participate in real-time communication.
[0192] In step 802, the first device receives a cross-device playing operation triggered by the viewing object.
[0193] In step 803, the first device sends a cross-device playing request to the server, the cross-device playing request indicating playing the target stream media data on the second device. Correspondingly, the server receives the cross-device playing request.
[0194] Referring to FIG. 8, Figure 9 FIG. 8 is another flowchart of a stream media playing method provided by the embodiment of the present application. The specific implementation process of the method is as follows: Figure 9The processing logic of the first device is shown in the schematic diagram. The routing setting module of the first device allows the user to set the playing device of the audio stream or the video stream, and then the viewing object can perform the routing setting of the stream media data, which can be played by the first device or other devices, as shown in step C1. Correspondingly, the first device performs step C2 to determine whether to play on other devices. If yes, i.e. if the other devices are selected to play, step C4 is performed to send a cross-device playing request to the server, which is processed by the signaling module of the server to generate the corresponding data uplink address and data downlink address and return them to the first device. Correspondingly, the first device can perform step C5 to obtain the data uplink address and the data downlink address. If no, i.e. if the first device is selected to play, step C3 is performed to execute the local playing process to play on the first device.
[0195] Steps 801-803 are similar to the aforementioned steps 301-303, and thus the description in the foregoing part can be referred to, and will not be repeated here.
[0196] Step 804: The server returns the data uplink address and the data downlink address to the first device.
[0197] Step 805: The first device sends the uplink stream media data to the server.
[0198] Step 806: The first device provides the data downlink address to the second device.
[0199] Continuing to refer to Figure 9 As shown, when the data uplink address and the data downlink address are received, the routing setting module of the first device will give the data uplink address to the routing processing module, and perform step C6 to display the data downlink address externally, which can be a network address or a two-dimensional code, etc. In this way, the second device can obtain the data downlink address by inputting the network address displayed on the first device or scanning the two-dimensional code.
[0200] The routing processing module is responsible for routing the audio stream or the video stream according to the setting of the viewing object. If the result of the judgment is no, i.e. if the first device is selected to play, step C3 is performed to execute the local playing process to play on the first device.
[0201] For the received stream media data, if it is data that needs to be played locally, it can be directly put into the cache to execute the playing process. If it is data that needs to be played across devices, step C7 is performed to push the received audio stream or video stream to the data uplink address.
[0202] Step 807: The second device obtains the downlink stream media data according to the data downlink address.
[0203] Referring to Figure 10 illustrated, Figure 10 a schematic diagram of processing logic of the second device. Figure 10 The second device includes a pull address module, which performs step D1 to obtain the pull address (i.e., the data download address) of the audio stream from the first device. The address is returned by the server to the first device. After the pull address module obtains the pull address from the first device, the address is provided to the audio pull module, and the audio pull module is started. The pull module performs step D2 to pull the audio stream from the pull address provided by the pull address module, and provides the pulled audio stream to the audio cache module for caching. The audio cache module performs step D3 to cache the audio stream pulled by the pull module, and uses AudioJitterBuffer to achieve anti-network jitter. The audio decoding module performs step D4 to decode the audio data packet. The audio mixing module performs step D5 to determine whether the audio data includes multiple paths. If the audio data includes multiple paths, step D6 is performed to mix the pulled multiple-path audio stream, and step D7 is performed after mixing to play the audio data. If only one path of stream is pulled, step D7 is directly performed to play the audio data. In this way, the audio data of multiple users can be played on the target device. The audio playing module is responsible for playing the mixed audio data on the target device.
[0204] The processing logic of the video data is similar to that of the audio data, except that the multiple-path video data does not need to be mixed. If the data is video data, the second device provides image rendering capability, and renders and displays each path of video data.
[0205] In summary, the embodiments of the present application provide a method for playing streaming media data across devices. When a user uses audio and video calls, the method can play a certain path of audio or video data on another device according to requirements, while other paths of data continue to be played on the device. The advantages of different devices can be fully utilized, and the privacy of audio and video data can be protected. The method is not limited to devices from the same manufacturer, and does not require the first device and the second device to install the same application or log in to the same account. The method has a wider application range, can support playing transfer between any devices, and can play any path of data on any device. The advantages of different devices can be fully utilized, and the use scenarios are more extensive. For example, in a multi-anchor scenario, the audio and video data of a certain anchor can be played on another device, which improves the playing effect and protects user privacy. Alternatively, any data stream can be played on any device, which fully utilizes the advantages of different devices, and does not require a device manufacturer, greatly improving the range of use.
[0206] Please refer toFigure 11 Based on the same inventive concept, the embodiments of the present application further provide a streaming media playing device 110, which can be applied to the first device, or the device can be the first device, for example.
[0207] The device comprises:
[0208] The playing unit 1101 is configured to play, for the watching object, the stream media data corresponding to each of the plurality of participating objects in the process of participating in the real-time communication, the stream media data comprising at least one of audio data and video data;
[0209] The sending unit 1102 is configured to, in response to the cross-device playing operation triggered by the watching object, send, to the server, a cross-device playing request indicating playing, on the second device, the target stream media data, the target stream media data comprising at least one stream media data of at least one participating object;
[0210] The playing unit 1101 is further configured to continue playing the stream media data other than the target stream media data.
[0211] The address providing unit 1103 is configured to provide, for the second device, a data download address of the target stream media data, so that the second device obtains the target stream media data according to the data download address, the data download address being generated by the server according to the cross-device playing request.
[0212] In a possible implementation, the device further comprises:
[0213] The receiving unit 1104 is configured to obtain the data download address according to the cross-device playing response sent by the server.
[0214] The address providing unit 1103 is specifically configured to:
[0215] present the data download address, so that the watching object can input the data download address in the second device according to the presented data download address; or
[0216] present an encoded pattern generated according to the data download address, so that the watching object scans the encoded pattern using the second device to obtain the data download address.
[0217] In a possible implementation, the cross-device playing response further carries a data upload address; and the device further comprises a data upload unit 1105, configured to:
[0218] obtain, through the data stream transmission channel established between the first device and the server, the stream media data corresponding to each of the plurality of participating objects, the stream media data corresponding to each of the plurality of participating objects comprising the target stream media data.
[0219] According to the object identifier included in each of the obtained stream media data, the target stream media data is determined from the stream media data;
[0220] According to the data uplink address, the target stream media data is uploaded to the server, so that the server stores the target stream media data in the storage space corresponding to the data downlink address.
[0221] In a possible implementation, the address providing unit 1103 is specifically configured to:
[0222] In response to a scanning operation triggered by the viewing object, a coded pattern presented on the second device is scanned, the coded pattern being presented when the viewing object opens a specified cross-device playing page on the second device;
[0223] According to the scanning result, an authorization interface is presented, the authorization interface being used to request authorization for the second device to obtain the data downlink address;
[0224] In response to an authorization confirmation operation performed on the authorization interface, the data downlink address is sent to the second device, the data downlink address being sent to the first device by the server; or
[0225] In response to an authorization confirmation operation performed on the authorization interface, an authorization confirmation indication is sent to the server, so that the server sends the data downlink address to the second device according to the authorization confirmation indication.
[0226] In a possible implementation, the address providing unit 1103 is specifically configured to:
[0227] An information input interface is presented, the information input interface being used to input device indication information of the second device, the device indication information being used to indicate the second device;
[0228] The device indication information input on the information input interface is sent to the server, so that the server sends the data downlink address to the second device according to the device indication information.
[0229] In a possible implementation, the apparatus further includes a playing control unit 1106, configured to:
[0230] In response to a playing control operation triggered by the viewing object, a resource quality requirement of the target stream media data when played on the second device is obtained, the resource quality requirement being used to represent at least one of image quality and audio quality of the target stream media data;
[0231] The resource quality requirement is sent to the server, so that the server provides the target stream media data meeting the resource quality requirement to the second device.
[0232] In a possible implementation, the playing unit 1101 is further configured to:
[0233] The data transmission channel established by the first device and the server is used to obtain the stream media data corresponding to each of the plurality of participants, and the stream media data corresponding to each of the plurality of participants includes the target stream media data.
[0234] The target stream media data is continuously played on the first device.
[0235] In a possible implementation manner,
[0236] The sending unit 1102 is further configured to send an end playing request to the server in response to an end playing operation triggered by the watching object, and the end playing request is used to request to end playing the target stream media data on the second device.
[0237] The receiving unit 1104 is further configured to receive the target stream media data sent by the server.
[0238] The playing unit 1101 is further configured to continuously play the target stream media data on the first device.
[0239] The apparatus can be used to execute the method performed by the first device in the embodiments of the present application, and thus the functions and the like of the functional modules of the apparatus can refer to the descriptions of the foregoing embodiments, and will not be repeated.
[0240] Please refer to Figure 12 , based on the same inventive concept, the embodiments of the present application further provide a stream media playing apparatus 120, which can be applied to the second device, or the apparatus can be the second device, for example.
[0241] The apparatus comprises:
[0242] The address obtaining unit 1201 is configured to obtain a data download address of the target stream media data; wherein the target stream media data comprises at least one kind of stream media data of at least one participant, the at least one participant is part or all of a plurality of participants participating in real-time communication, the stream media data of each participant comprises at least one of audio data and video data, and the data download address is generated by the server according to a cross-device playing request sent by the first device, and the cross-device playing request indicates to play the target stream media data on the second device.
[0243] The stream pulling unit 1202 is configured to obtain the target stream media data from the server according to the data download address.
[0244] The playing unit 1203 is configured to continuously play the target stream media data on the second device; wherein the target stream media data is played on the first device before being continuously played on the second device, and other stream media data except the target stream media data in the stream media data corresponding to each of the plurality of participants is continuously played on the first device.
[0245] In a possible implementation, the address obtaining unit 1201 is specifically configured to obtain the data download address of the target stream media data in any one of the following manners:
[0246] obtaining the data download address in response to an input operation performed on the second device; wherein the data download address is presented on the first device;
[0247] obtaining the data download address in response to a scanning operation performed on the encoded image presented on the first device;
[0248] receiving the data download address sent by the server, the data download address being sent by the server to the second device according to the authorization confirmation indication sent by the first device;
[0249] receiving the data download address sent by the server, the data download address being sent by the server to the second device according to the device indication information sent by the first device, the device indication information being used to indicate the second device.
[0250] In a possible implementation, the playing unit 1203 is specifically configured to:
[0251] when the target stream media data comprises a plurality of audio data, performing audio mixing and streaming processing on the plurality of audio data, and playing the mixed and streamed audio data on the second device; or
[0252] when the target stream media data comprises a plurality of video data, performing image rendering processing on the plurality of video data respectively, to play corresponding video pictures on the second device.
[0253] The apparatus can be used to execute the method performed by the second device in the embodiments of the present application, therefore, the functions and the like that can be achieved by each functional module of the apparatus can refer to the descriptions in the foregoing embodiments, and will not be repeated here.
[0254] Please refer to Figure 13 , based on the same inventive concept, the embodiments of the present application further provide a stream media playing apparatus 130, which can be applied to a server, or the apparatus can be a server for example. The apparatus comprises:
[0255] a receiving unit 1301, configured to receive a cross-device playing request sent by a first device, the cross-device playing request being used to request playing target stream media data on a second device, the target stream media data comprising at least one kind of stream media data of at least one participant, the at least one participant being part or all of a plurality of participants participating in real-time communication, and the stream media data of each participant comprising at least one of audio data and video data;
[0256] The address generating unit 1302 is configured to generate a corresponding data download address in response to the cross-device playing request, the storage space corresponding to the data download address being used to store the target stream media data.
[0257] The address providing unit 1303 is configured to provide the data download address to the second device.
[0258] The sending unit 1304 is configured to send the target stream media data to the second device in response to an access request of the data download address by the second device, so as to continue playing the target stream media data on the second device.
[0259] The apparatus can be used to execute the method performed by the server in the embodiments of the present application, and thus the functions of the functional modules of the apparatus and the like can refer to the descriptions of the foregoing embodiments, which will not be repeated here.
[0260] By using the apparatus, the partial stream media data when multiple participating objects participate in real-time communication can be played on the second device different from the first device. Compared with the manner in which all stream media data is completely transferred to the second device for playing in the related art, the implementation manner of the embodiments of the present application can play the partial stream media data on other devices according to the selection of the watching object, thereby fully utilizing the advantages between different devices, for example, playing the partial stream media data on the device with better playing effect, which helps to improve the playing effect of the stream media data. In addition, the watching object can play the partial stream media data that needs to be protected in privacy on the first device, and play the stream media data that needs to be shared with other watching objects on the second device, which helps to protect the privacy of the watching object and improve the privacy security.
[0261] Please refer to Figure 14 , based on the same technical concept, the embodiments of the present application further provide a computer device. In an embodiment, the computer device can be any of the first device, the second device or the server shown in Figure 1 or Figure 2 , and the computer device includes a memory 1401, a communication module 1403 and one or more processors 1402, as shown in Figure 14 .
[0262] The memory 1401 is used to store the computer program executed by the processor 1402. The memory 1401 can mainly include a program storage area and a data storage area, wherein the program storage area can store an operating system and programs required for running instant messaging functions, etc.; and the data storage area can store various instant messaging information and operation instruction sets, etc.
[0263] Memory 1401 may be a volatile memory, such as random-access memory (RAM); a non-volatile memory, such as read-only memory, flash memory, a hard disk drive (HDD), or a solid-state drive (SSD); or any other medium capable of carrying or storing desired program code in the form of instructions or data structures and accessible by a computer, but is not limited thereto. Memory 1401 may be a combination of the aforementioned memories.
[0264] The processor 1402 may include one or more central processing units (CPUs) or digital processing units, etc. The processor 1402 is configured to implement the above-mentioned streaming media playback method when calling the computer program stored in the memory 1401 .
[0265] The communication module 1403 is used to communicate with terminal devices and other servers.
[0266] The specific connection medium between the memory 1401, the communication module 1403 and the processor 1402 is not limited in the embodiment of the present application. Figure 14 In the embodiment, the memory 1401 and the processor 1402 are connected via a bus 1404. Figure 14 The connections between the other components are shown in bold lines for illustration only and are not intended to be limiting. The bus 1404 can be divided into an address bus, a data bus, a control bus, etc. For ease of description, Figure 14 The diagram shows a single thick line, but this does not indicate that there is only one bus or one type of bus.
[0267] The memory 1401 stores a computer storage medium, which stores computer executable instructions. The computer executable instructions are used to implement the streaming media playback method of the embodiment of the present application. The processor 1402 is used to execute the streaming media playback method of each of the above embodiments.
[0268] In another embodiment, the computer device may also be a terminal device, such as Figure 1 In this embodiment, the structure of the computer device can be as follows: Figure 15As shown, the terminal device includes a communication component 1510, a memory 1520, a display unit 1530, a camera 1540, a sensor 1550, an audio circuit 1560, a Bluetooth module 1570, a processor 1580, and the like.
[0269] The communication component 1510 is configured to communicate with a server. In some embodiments, a wireless fidelity (WiFi) module can be included, which is a short-range wireless transmission technology. The computer device can help users send and receive information through the WiFi module.
[0270] The memory 1520 can be used to store software programs and data. The processor 1580 executes various functions and data processing of the terminal device by running the software programs or data stored in the memory 1520. The memory 1520 can include a high-speed random access memory, and can also include a non-volatile memory such as at least one magnetic disk storage device, a flash memory device, or other volatile solid-state memory device. The memory 1520 stores an operating system that enables the terminal device to operate. In this application, the memory 1520 can store an operating system and various application programs, and can also store codes for executing the streaming media playing method of the embodiments of the present application.
[0271] The display unit 1530 can also be used to display information input by the user or information provided to the user, as well as the graphical user interface (GUI) of various menus of the terminal device. Specifically, the display unit 1530 can include a display screen 1532 arranged on the front of the terminal device. The display screen 1532 can be configured in the form of a liquid crystal display, a light-emitting diode, and the like. The display unit 1530 can be used to display various pages or interfaces in the embodiments of the present application.
[0272] The display unit 1530 can also be used to receive input digital or character information, and generate signal inputs related to user settings and function control of the terminal device. Specifically, the display unit 1530 can include a touch screen 1531 arranged on the front of the terminal device, which can collect touch operations of the user thereon or therearound, such as clicking buttons, dragging scroll boxes, and the like.
[0273] The touch screen 1531 can be overlaid on the display screen 1532, or the touch screen 1531 and the display screen 1532 can be integrated to realize the input and output functions of the terminal device. After integration, it can be referred to as a touch display screen. In this application, the display unit 1530 can display application programs and corresponding operation steps.
[0274] The camera 1540 can be used to capture still images, which the user can post comments on through the application. The camera 1540 can be one or more. An object generates an optical image through a lens and projects it onto a photosensitive element. The photosensitive element can be a charge coupled device (CCD) or a complementary metal-oxide-semiconductor (CMOS) phototransistor. The photosensitive element converts the optical signal into an electrical signal, which is then transmitted to the processor 1580 to convert into a digital image signal.
[0275] The terminal device can also include at least one sensor 1550, such as an acceleration sensor 1551, a distance sensor 1552, a fingerprint sensor 1553, a temperature sensor 1554. The terminal device can also be configured with a gyroscope, a barometer, a hygrometer, a thermometer, an infrared sensor, a light sensor, a motion sensor, and other sensors.
[0276] The audio circuit 1560, the speaker 1561, and the microphone 1562 can provide an audio interface between the user and the terminal device. The audio circuit 1560 can convert the received audio data into an electrical signal and transmit it to the speaker 1561, which converts it into a sound signal output. The terminal device can also be configured with a volume button for adjusting the volume of the sound signal. On the other hand, the microphone 1562 converts the collected sound signal into an electrical signal, which is received by the audio circuit 1560 and converted into audio data, which is then output to the communication component 1510 for transmission to, for example, another terminal device, or to the storage 1520 for further processing.
[0277] The Bluetooth module 1570 is used to interact with other Bluetooth devices with Bluetooth modules through Bluetooth protocols. For example, the terminal device can establish a Bluetooth connection with a wearable computer device (e.g., a smart watch) that also has a Bluetooth module through the Bluetooth module 1570, thereby interacting with data.
[0278] The processor 1580 is a control center of the terminal device, which connects all parts of the terminal device through various interfaces and lines, and performs various functions of the terminal device and processes data by running or executing software programs stored in the memory 1520 and calling data stored in the memory 1520. In some embodiments, the processor 1580 can include one or more processing units; the processor 1580 can also integrate an application processor and a baseband processor, where the application processor mainly processes operating systems, user interfaces, and application programs, and the baseband processor mainly processes wireless communication. It can be understood that the above-mentioned baseband processor can also not be integrated into the processor 1580. The processor 1580 in the present application can run an operating system, an application program, a user interface display and a touch response, and a streaming media playing method of the embodiments of the present application. In addition, the processor 1580 is coupled with the display unit 1530.
[0279] Based on the same inventive concept, the embodiments of the present application also provide a storage medium storing a computer program, which, when executed by a computer, causes the computer to perform the steps of the streaming media playing method according to the various exemplary embodiments of the present application described above in the specification.
[0280] In some possible implementations, various aspects of the streaming media playing method provided by the present application can also be implemented in the form of a computer program product, which includes a computer program for causing a computer device to perform the steps of the streaming media playing method according to the various exemplary embodiments of the present application described above in the specification when the program product is executed on the computer device, for example, the computer device can perform the steps of the embodiments.
[0281] The program product can adopt any combination of one or more readable media. The readable medium can be a readable signal medium or a readable storage medium. The readable storage medium may, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, device or apparatus, or any combination of the above. More specific examples (non-exhaustive list) of readable storage media include an electrical connection having one or more wires, a portable disk, a hard disk, a random access memory (RAM), a read-only memory (ROM), an erasable programmable read-only memory (EPROM or flash memory), an optical fiber, a portable compact disk read-only memory (CD-ROM), an optical storage device, a magnetic storage device, or any suitable combination of the above.
[0282] The program product of the embodiments of the present application can employ a portable compact disc read only memory (CD-ROM) and include a computer program, and can be executed on a computer device. However, the program product of the present application is not limited thereto, and in the present application, the readable storage medium can be any tangible medium containing or storing a program, which includes a computer program that can be used by or in conjunction with a command execution system, apparatus, or device.
[0283] The readable signal medium can include a data signal propagated in a baseband or propagated as a carrier wave in a propagation medium, in which the readable computer program is embodied. Such a propagated signal can take a variety of forms, including, but not limited to, electro-magnetic, optical, or any suitable combination thereof. The readable signal medium can also be any readable medium that is not a storage medium or that can be read by the command execution system, apparatus, or device using or in connection with a program.
[0284] The computer program embodied on the readable medium can be transmitted using any suitable medium, including, but not limited to, wireless, wired, optical fiber, RF, and the like, or any suitable combination thereof.
[0285] The computer program for performing the operations of the present application can be written in any combination of one or more programming languages, including an object oriented programming language such as Java, C++, and the like, and conventional procedural programming languages, such as the "C" programming language or similar programming languages.
[0286] It should be noted that although several units or sub-units of the apparatus are mentioned in the above detailed description, such division is merely exemplary and not mandatory. In fact, according to the embodiments of the present application, the features and functions of two or more units described above can be embodied in one unit. Conversely, the features and functions of one unit described above can be further divided into units embodied by multiple units.
[0287] In addition, although the operations of the method of the present application are described in a particular order in the accompanying drawings, this does not require or imply that the operations must be performed in that particular order, or that all of the illustrated operations must be performed to achieve desirable results. Additionally or alternatively, certain steps can be omitted, combined, performed simultaneously, and / or performed in a different order.
[0288] Those skilled in the art will appreciate that embodiments of the present application can be devised for a method, a system, or a computer program product. Accordingly, the present application can take the form of an entirely hardware embodiment, an entirely software embodiment or an embodiment combining software and hardware aspects. Furthermore, the present application can take the form of a computer program product on one or more computer readable storage media (including, but not limited to, disk storage, CD-ROMs, optical storage devices, etc.) embodying computer readable program code thereon for use by or in connection with an instruction execution system. For the purposes of this description, a computer usable or computer readable storage medium can be any apparatus that can contain, store, communicate, propagate, or transport the program for use by or in connection with the instruction execution system, apparatus, or device.
[0289] Although preferred embodiments of the application have been described herein, those skilled in the art will appreciate that other changes and modifications can be made to the embodiments described without departing from the spirit and scope of the application. It is therefore intended that the appended claims encompass all such changes and modifications as fall within the scope of the application.
[0290] Obviously, numerous modifications and variations of the present application are possible in light of the above teachings. It is therefore to be understood that within the scope of the appended claims and their equivalents, the application can be practiced otherwise than as specifically described.
Claims
1. A streaming media playing method, characterized in that, A method applied to a first device used by a watching object, the method comprising: playing, to the watching object, stream media data corresponding to each of a plurality of participating objects in a process in which the plurality of participating objects participate in real-time communication, the stream media data comprising at least one of audio data and video data; in response to a cross-device playing operation triggered by the watching object, sending, to a server, a cross-device playing request indicating playing target stream media data on a second device, the target stream media data comprising at least one stream media data of at least one of the participating objects; continuing to play other stream media data except the target stream media data, and providing a data download address of the target stream media data to the second device, so that the second device obtains the target stream media data according to the data download address, the data download address being generated by the server according to the cross-device playing request.
2. The method of claim 1, wherein, After the response to the cross-device playing operation triggered by the watching object, the method further comprises: obtaining the data download address according to a cross-device playing response sent by the server; then the providing of the data download address of the target stream media data to the second device comprises: presenting the data download address, so that the watching object can input the data download address on the second device according to the presented data download address; or presenting an encoded graphic generated according to the data download address, so that the watching object scans the encoded graphic using the second device to obtain the data download address.
3. The method of claim 2, wherein, The cross-device playing response also carries a data upload address; then the method further comprises: obtaining the stream media data corresponding to each of the plurality of participating objects through a data stream transmission channel established between the first device and the server, the stream media data corresponding to each of the plurality of participating objects comprising the target stream media data; determining the target stream media data from the stream media data according to object identifiers included in each of the obtained stream media data; uploading the target stream media data to the server according to the data upload address, so that the server stores the target stream media data in a storage space corresponding to the data download address.
4. The method of claim 1, wherein, The providing of the data download address of the target stream media data to the second device comprises: in response to a scanning operation triggered by the watching object, scanning an encoded graphic presented on the second device, the encoded graphic being presented when the watching object opens a designated cross-device playing page on the second device; presenting an authorization interface according to a scanning result, the authorization interface being used to request authorization for the second device to obtain the data download address; in response to an authorization confirmation operation performed on the authorization interface, sending the data download address to the second device, the data download address being sent by the server to the first device; or In response to an authorization confirmation operation performed on the authorization interface, an authorization confirmation indication is sent to the server, so that the server sends the data download address of the target stream media data to the second device according to the authorization confirmation indication.
5. The method of claim 1, wherein, The method further includes: presenting an information input interface, the information input interface being configured to input device indication information of the second device, the device indication information being configured to indicate the second device; sending the device indication information input on the information input interface to the server, so that the server sends the data download address to the second device according to the device indication information.
6. The method according to any one of claims 1 to 5, characterized in that, After the cross-device play request indicating playing the target stream media data on the second device is sent to the server in response to the cross-device play operation triggered by the viewing object, the method further includes: In response to the play control operation triggered by the viewing object, obtaining a resource quality requirement when the target stream media data is played on the second device, the resource quality requirement being configured to represent at least one of image quality and audio quality of the target stream media data; sending the resource quality requirement to the server, so that the server provides the target stream media data meeting the resource quality requirement to the second device.
7. The method according to any one of claims 1 to 5, characterized in that After the cross-device play request indicating playing the target stream media data on the second device is sent to the server in response to the cross-device play operation triggered by the viewing object, the method further includes: obtaining the stream media data corresponding to each of the plurality of participants through a data stream transmission channel established between the first device and the server, the stream media data corresponding to each of the plurality of participants including the target stream media data; continuing to play the target stream media data on the first device.
8. The method according to any one of claims 1 to 5, characterized in that After the data download address of the target stream media data is provided to the second device, the method further includes: In response to an end play operation triggered by the viewing object, an end play request is sent to the server, the end play request being configured to request to end playing the target stream media data on the second device; receiving the target stream media data sent by the server and continuing to play the target stream media data on the first device.
9. A streaming media playing method, characterized in that, The method applied to the second device includes: obtaining a data download address of target stream media data; wherein the target stream media data includes at least one stream media data of at least one participant, the at least one participant being part or all of a plurality of participants participating in real-time communication, the stream media data of each participant including at least one of audio data and video data, and the data download address being generated by a server according to a cross-device play request sent by a first device, the cross-device play request indicating playing target stream media data on the second device; obtaining the target stream media data from the server according to the data download address; Continuously playing the target stream media data on the second device; wherein, before the target stream media data is continuously played on the second device, the target stream media data is played on the first device, and stream media data other than the target stream media data in the stream media data corresponding to each of the plurality of participants continues to be played on the first device.
10. A streaming media playing method, characterized in that, The method applied to a server comprises: receiving a cross-device playing request sent by a first device, the cross-device playing request being used to request playing target stream media data on a second device, the target stream media data comprising at least one kind of stream media data of at least one participant, the at least one participant being part or all of a plurality of participants participating in real-time communication, the stream media data of each participant comprising at least one of audio data and video data; in response to the cross-device playing request, generating a corresponding data download address, the storage space corresponding to the data download address being used to store the target stream media data; providing the data download address to the second device; in response to an access request of the data download address by the second device, sending the target stream media data to the second device, so as to continuously play the target stream media data on the second device.
11. A streaming media playing device, characterized in that, The device applied to a first device comprises: a playing unit, configured to play stream media data corresponding to each of a plurality of participants during participation of the plurality of participants in real-time communication, the stream media data comprising at least one of audio data and video data; a sending unit, configured to, in response to a cross-device playing operation triggered by a watching object, send a cross-device playing request indicating playing target stream media data on a second device to a server, the target stream media data comprising at least one kind of stream media data of at least one participant; the playing unit is further configured to continue playing stream media data other than the target stream media data; an address providing unit, configured to provide a data download address of the target stream media data to the second device, so that the second device obtains the target stream media data according to the data download address, the data download address being generated by the server according to the cross-device playing request.
12. A streaming media playing device, characterized in that, The device applied to a second device comprises: an address obtaining unit, configured to obtain a data download address of target stream media data; wherein, the target stream media data comprises at least one kind of stream media data of at least one participant, the at least one participant being part or all of a plurality of participants participating in real-time communication, the stream media data of each participant comprising at least one of audio data and video data, the data download address being generated by a server according to a cross-device playing request sent by a first device, the cross-device playing request indicating playing target stream media data on the second device; a streaming unit, configured to obtain the target stream media data from the server according to the data download address. The playing unit is configured to continue playing the target stream media data on the second device, wherein the target stream media data is played on the first device before being played on the second device, and stream media data corresponding to each of the plurality of participants except the target stream media data continues to be played on the first device.
13. A streaming media playing device, characterized in that, The server comprises: The receiving unit is configured to receive a cross-device playing request sent by the first device, the cross-device playing request being used to request playing target stream media data on the second device, the target stream media data comprising at least one kind of stream media data of at least one participant, the at least one participant being part or all of a plurality of participants participating in real-time communication, and the stream media data of each participant comprising at least one of audio data and video data; The address generating unit is configured to generate a corresponding data download address in response to the cross-device playing request, the data download address corresponding to a storage space used to store the target stream media data; The address providing unit is configured to provide the data download address to the second device; The sending unit is configured to send the target stream media data to the second device in response to an access request of the second device to the data download address, so as to continue playing the target stream media data on the second device. 14.A computer device, comprising a memory, a processor, and a computer program stored in the memory and executable on the processor, wherein: The processor executes the computer program to implement the steps of the method in any one of claims 1-8, 9 or 10. 15.A computer storage medium having a computer program stored thereon, wherein: The computer program is executed by a processor to implement the steps of the method in any one of claims 1-8, 9 or 10. 16.A computer program product comprising a computer program, wherein: The computer program is executed by a processor to implement the steps of the method in any one of claims 1-8, 9 or 10.