Content sharing method and device, terminal and storage medium
By creating a display area and sharing multimedia flow data in the shared painting cloth, the problems that existing technology cannot achieve dynamic content cannot be achieved, and the multi -end synchronous display of dynamic content is realized.
Patent Information
- Application Number
- CN202310942666.8
- Authority / Receiving Office
- CN · China
- Patent Type
- Applications(China)
- Current Assignee / Owner
- Filing Date
- 2023-07-27
- Publication Date
- 2025-01-28
- Estimated Expiration
- 2043-07-27
AI Technical Summary
The prior art cannot realize multi-terminal sharing of dynamic content on the canvas, such as sharing multimedia streaming data such as application screen, camera screen, network video or network live broadcast of the application, making it impossible for other users to display the above dynamic content synchronously on the canvas of other users.
By creating a display area in a shared painting cloth to display dynamic content, and share the multimedia flow data corresponding to the dynamic content of the second shared end, the second shared end is used to display the dynamic content in the shared painting based on the multimedia stream data.
Multi -end synchronization of dynamic content is realized that multiple users are allowed to watch the same dynamic content in real time on different terminals.
Smart Images

Figure CN119383385A_ABST
Abstract
Description
Technical Field
[0001] The embodiments of the present application relate to the field of human-computer interaction technology, and more particularly to a content sharing method, device, terminal and storage medium. Background Art
[0002] With the development of multi-terminal collaboration technology, multiple users can achieve collaborative operations through different terminals in scenarios such as remote office collaboration and online education.
[0003] In related technologies, users can doodle, paste files, and perform other operations in a canvas application and share them with other users. The operations are also displayed in the canvas applications of other users, thereby achieving multi-terminal collaboration and content sharing. Summary of the invention
[0004] The embodiment of the present application provides a content sharing method, device, terminal and storage medium. The technical solution is as follows:
[0005] On the one hand, an embodiment of the present application provides a content sharing method, the method comprising:
[0006] Displaying a shared canvas, where the shared canvas is used for the first sharing terminal and at least one second sharing terminal to share content;
[0007] In response to the dynamic content adding operation on the shared canvas, creating a first display area in the shared canvas, the first display area being used to display first dynamic content shared by the first sharing end;
[0008] The multimedia stream data corresponding to the first dynamic content is shared with the second sharing end, so that the second sharing end displays the first dynamic content in the first display area of the shared canvas based on the multimedia stream data.
[0009] On the other hand, an embodiment of the present application provides a content sharing device, the device comprising:
[0010] A display module, configured to display a shared canvas, wherein the shared canvas is used for the first sharing terminal and at least one second sharing terminal to share content;
[0011] an adding module, configured to create a first display area in the shared canvas in response to a dynamic content adding operation on the shared canvas, wherein the first display area is used to display first dynamic content shared by the first sharing end;
[0012] The sharing module is used to share the multimedia stream data corresponding to the first dynamic content with the second sharing terminal, so that the second sharing terminal displays the first dynamic content in the first display area of the shared canvas based on the multimedia stream data.
[0013] On the other hand, an embodiment of the present application provides a terminal, comprising a processor and a memory; the memory stores at least one instruction, and the at least one instruction is used to be executed by the processor to implement the content sharing method as described in the above aspect.
[0014] On the other hand, an embodiment of the present application provides a computer-readable storage medium, wherein the computer-readable storage medium stores at least one instruction, and the instruction is loaded and executed by a processor to implement the content sharing method as described in the above aspects.
[0015] On the other hand, an embodiment of the present application provides a computer program product, which includes computer instructions, and the computer instructions are stored in a computer-readable storage medium. The processor of the terminal reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the terminal executes the content sharing method provided in various optional implementations of the above aspects.
[0016] In an embodiment of the present application, by creating a first display area in a shared canvas to display first dynamic content, and sharing multimedia stream data corresponding to the first dynamic content to a second sharing end, the first dynamic content can be synchronously displayed in the shared canvas of the second sharing end, thereby achieving multi-end synchronous display of dynamic content. BRIEF DESCRIPTION OF THE DRAWINGS
[0017] In order to more clearly illustrate the technical solutions in the embodiments of the present application, the drawings required for use in the description of the embodiments will be briefly introduced below. Obviously, the drawings described below are only some embodiments of the present application. For ordinary technicians in this field, other drawings can be obtained based on these drawings without creative work.
[0018] Figure 1 is a schematic diagram of an implementation environment provided by an exemplary embodiment of the present application;
[0019] Figure 2 is a flow chart of a content sharing method provided by an exemplary embodiment of the present application;
[0020] Figure 3 is a schematic diagram of creating a first display area provided by an exemplary embodiment of the present application;
[0021] Figure 4 is a schematic diagram of a first sharing terminal and a second sharing terminal synchronously displaying a first dynamic content provided by an exemplary embodiment of the present application;
[0022] Figure 5is a flow chart of a first sharing terminal sharing first dynamic content to a second sharing terminal in different ways provided by an exemplary embodiment of the present application;
[0023] Figure 6 is a schematic diagram of a first display area and a second display area provided by an exemplary embodiment of the present application;
[0024] Figure 7 is a schematic diagram of a first sharing terminal controlling a second dynamic content in a second display area provided by an exemplary embodiment of the present application;
[0025] Figure 8 is a timing diagram of converting a first control parameter provided by an exemplary embodiment of the present application;
[0026] Fig. 9 It is a schematic diagram of a first sharing terminal performing authority management on a second sharing terminal provided by an exemplary embodiment of the present application;
[0027] Fig.10 is a schematic diagram of a shared canvas provided by an exemplary embodiment of the present application;
[0028] Fig.11 is a structural block diagram of a content display device provided by an exemplary embodiment of the present application;
[0029] Fig.12 It is a structural block diagram of a terminal provided by an exemplary embodiment of the present application. DETAILED DESCRIPTION
[0030] In order to make the objectives, technical solutions and advantages of the present application clearer, the implementation methods of the present application will be further described in detail below with reference to the accompanying drawings.
[0031] In related technologies, multi-terminal shared canvas applications allow multiple users to create on the canvas across terminals, such as graffiti, pasting files, etc. The underlying principle can be to achieve full-duplex communication between the client and the server through the WebSocket protocol, so that multiple shared clients can synchronize their static instructions for the canvas to each client according to the timing and display them synchronously, thereby achieving multi-terminal collaboration and content sharing. Among them, static instructions refer to operation instructions for static content, such as graffiti instructions, or instructions for copying, pasting, moving, etc. for files, etc.
[0032] However, solutions using related technologies cannot achieve multi-terminal sharing of dynamic content on the canvas, such as sharing multimedia streaming data such as application screens, camera screens, network videos or live broadcasts, so that the above dynamic content can be synchronously displayed on the canvas of other users.
[0033] Therefore, an embodiment of the present application provides a content sharing method to achieve multi-terminal sharing of dynamic content in a canvas.
[0034] See also Figure 1 , Figure 1 1 is a schematic diagram of an implementation environment provided by an exemplary embodiment of the present application. The implementation environment includes terminals corresponding to multiple users (such as a first terminal 111 corresponding to user A, a second terminal 112 corresponding to user B, and a third terminal 113 corresponding to user C), and a server 12.
[0035] The terminals corresponding to the multiple users are electronic devices with display screens, such as smart phones, laptops, tablet computers, navigation devices, smart TVs, etc. In the embodiment of the present application, the shared canvas has significant application advantages on terminal devices with large screens (such as foldable screen phones and foldable screen computers).
[0036] The embodiment of the present application is described by taking the first terminal 111 as a tablet computer, the second terminal 112 as a smart phone, and the third terminal 113 as a laptop computer as an example, but this does not constitute a limitation on the terminals, and the terminal can be any electronic device that supports the shared canvas function.
[0037] Terminals corresponding to multiple users can all support the shared canvas function. In some embodiments, the terminal can implement the shared canvas function through a canvas application, for example, the canvas application can be a system App (Application) on a smart phone or a third-party App.
[0038] In some embodiments, a user can perform operations on static content such as files and graffiti on a shared canvas, and synchronize the operations to other users.
[0039] In some embodiments, users can also share dynamic content such as application screens, camera screens, network videos, or network live broadcasts on the shared canvas. For example, user A can embed a game application running on the first terminal 111 into the shared canvas, and the first terminal 111 shares the multimedia stream data corresponding to the game application with the second terminal 112 corresponding to user B and the third terminal 113 corresponding to user C, so that user B and user C can watch the game screen of user A in real time in their respective shared canvases. For another example, the first terminal 111 can share the camera video stream output by the camera with the second terminal 112 or the third terminal 113, so that user B and user C can see the video screen of user A in real time in the shared canvas.
[0040] The server 12 may be a background server of the canvas application. The server 12 may be an independent physical server, or a server cluster or distributed system composed of multiple physical servers, or a cloud server that provides basic cloud computing services such as cloud services, cloud databases, cloud computing, cloud functions, cloud storage, network services, cloud communications, middleware services, domain name services, security services, content delivery networks (CDNs), and big data and artificial intelligence platforms.
[0041] In some embodiments, the terminals corresponding to the multiple users communicate directly with the server 12, thereby achieving indirect communication with other terminals. In some embodiments, the server 12 may include multiple services, such as a WebSocket service 121, a WebRTC service 122, and a signaling service 123.
[0042] The WebSocket service 121 can realize full-duplex communication between the client and the server through the WebSocket protocol. For example, a connection is established between the first terminal 111 and the second terminal 112 through the WebSocket service 121. When user A operates static content such as files and graffiti in the shared canvas of the first terminal 111, the first terminal 111 transmits data corresponding to the operation to the second terminal 112 based on the WebSocket protocol, so that the second terminal 112 synchronizes the operation on the shared canvas.
[0043] The WebRTC service 122 can realize real-time audio and video communication through WebRTC (Web Real-Time Communication) technology. Among them, WebRTC uses the SRTP protocol (Secure Real-time Transport Protocol), which can realize the real-time audio and video transmission requirements with low latency and high bandwidth. For example, a connection between the first terminal 111 and the second terminal 112 is established through the WebRTC service 122. When user A creates dynamic content (such as the application screen of an application) in the shared canvas of the first terminal 111, the first terminal 111 transmits the multimedia stream data corresponding to the dynamic content to the second terminal 112 based on the SRTP protocol, so that the second terminal 112 synchronously displays the dynamic content on the shared canvas.
[0044] The signaling service 123 is used to coordinate communications between different terminals. In some embodiments, in order to establish a connection between the first terminal 111 and the second terminal 112, the WebRTC service 122 requires the first terminal 111 and the second terminal 112 to exchange session control messages, media metadata (such as codecs and codec settings, bandwidth and media types), and key data through the signaling service 123.
[0045] In some embodiments, the signaling service 123 can also be used to exchange control operations for dynamic content. For example, when the first terminal 111 shares the game screen of a game application with the second terminal 112 through a shared canvas, if the second terminal 112 has control authority over the game screen, the parameters corresponding to the control operation of user B on the game screen can be transmitted to the first terminal 111 through the signaling service 123, so that the first terminal 111 responds to the control operation on the shared canvas, thereby realizing remote control of the dynamic content on the shared canvas of user A by user B.
[0046] It should be noted that the embodiment of the present application only takes three users as an example to illustrate the content sharing method, but the present application does not impose any restrictions on the number of people sharing on multiple terminals and the corresponding number of terminals. For example, the number of people sharing on multiple terminals and the corresponding number of terminals can also be 4, 5, 6, etc., and such variations are all within the scope of protection of the present application.
[0047] It should be noted that the above embodiment only describes the general architecture of the implementation environment. The system may also include more or fewer components, or combine certain components, and this embodiment does not limit this.
[0048] See also Figure 2 , Figure 2 : is a flowchart of a content sharing method provided by an exemplary embodiment of the present application. The method is applied to a first sharing terminal. The method may include the following steps:
[0049] Step 201 : displaying a shared canvas, where the shared canvas is used for a first sharing terminal and at least one second sharing terminal to share content.
[0050] The shared canvas may be a canvas provided by a canvas application, and the shared content in the shared canvas may be synchronously displayed on the first sharing terminal and at least one second sharing terminal.
[0051] The first sharing terminal is the creation terminal of the shared content, and at least one second sharing terminal is the receiving terminal of the shared content. For example, when user A embeds the game screen corresponding to the game application on the shared canvas of the first terminal 111, and shares the game screen with the second terminal 112 and the third terminal 113, the first terminal 111 is the first sharing terminal, and the second terminal 112 and the third terminal 113 are the second sharing terminals.
[0052] It should be noted that the first sharing end and the second sharing end are relative. The same terminal is called the first sharing end when creating a dynamic content and sharing it with other terminals, and can be called the second sharing end when receiving dynamic content shared by other terminals.
[0053] In some embodiments, the shared content in the shared canvas includes static content and dynamic content.
[0054] Optionally, the static content includes content corresponding to non-multimedia stream data, such as file content and graffiti content.
[0055] Optionally, the dynamic content includes content corresponding to multimedia streaming data such as an application screen of an application, a camera screen, a network video or a live broadcast.
[0056] Step 202: In response to the dynamic content adding operation on the shared canvas, a first display area is created in the shared canvas, where the first display area is used to display the first dynamic content shared by the first sharing end.
[0057] The dynamic content adding operation is used to add dynamic content to the shared canvas. Optionally, the dynamic content adding operation is triggered by shortcut keys, specific gestures, or buttons.
[0058] The first display area is used to display the first dynamic content shared by the first sharing terminal. Optionally, the location of the first display area is a blank location in the shared canvas that does not contain other shared content.
[0059] The first dynamic content is dynamic content shared by the first sharing end. Optionally, the first dynamic content may be content corresponding to real-time multimedia stream data such as an application screen of an application, a camera screen, a network video or a network live broadcast.
[0060] In some embodiments, when the canvas application is running in the foreground, the first sharing end may run multiple processes corresponding to dynamic contents in the background, and display one or more images of the dynamic contents in the shared canvas through the first display area.
[0061] In some embodiments, the first sharing terminal may create one or more first display areas for displaying the same or different first dynamic content. For example, the first sharing terminal may create three first display areas on the shared canvas, which are used to display the game screen corresponding to the game application, and the live screen corresponding to network live broadcast 1 and network live broadcast 2.
[0062] See also Figure 3 , Figure 3 It is a schematic diagram of creating a first display area provided by an exemplary embodiment of the present application.
[0063] like Figure 3 As shown, a shared canvas is displayed in the first sharing terminal 31. A content adding control 32 is displayed in the shared canvas, which is used to add shared content to the shared canvas.
[0064] The lower menu bar of the content adding control 32 includes different types of controls for adding different types of shared content to the shared content. Among them, the file adding control 321 is used to add static content such as local files, the picture adding control 322 is used to add static content such as albums and pictures, the graffiti adding control 323 is used to add static content such as graffiti and text, and the dynamic adding control 324 is used to add dynamic content such as application screens, camera screens, network videos or network live broadcasts.
[0065] In response to a trigger operation (such as a click operation) on the dynamically added control 324, a selection sharing bar 33 is displayed in the sharing canvas for the user to select the dynamic content to be shared.
[0066] The selection sharing bar 33 may include a plurality of dynamic selection controls, and different dynamic selection controls are used to select different dynamic contents running in the background of the first sharing terminal. For example, the game selection control 331 is used to select the game screen corresponding to the game application running in the background of the first sharing terminal, the camera selection control 332 is used to select the camera screen corresponding to the camera application running in the background of the first sharing terminal, the first live broadcast selection control 333 is used to select the screen content corresponding to the network live broadcast 1 running in the background of the first sharing terminal, and the second live broadcast selection control 333 is used to select the screen content corresponding to the network live broadcast 2 running in the background of the first sharing terminal.
[0067] In response to a trigger operation (such as a click operation) on the game selection control 331, the first sharing terminal 31 creates a first display area 34 in the shared canvas. The first display area 34 is used to display the first dynamic content shared by the first sharing terminal 31 (i.e., the game screen corresponding to the game application).
[0068] Step 203 : Share the multimedia stream data corresponding to the first dynamic content with the second sharing terminal, so that the second sharing terminal displays the first dynamic content in the first display area of the shared canvas based on the multimedia stream data.
[0069] In some embodiments, for first dynamic contents of different content types, the first sharing end can share multimedia stream data corresponding to the first dynamic contents with the second sharing end in different ways. For instructions on how the first sharing end shares the first dynamic contents with the second sharing end in different ways, see Figure 5 And related descriptions will not be repeated here.
[0070] See also Figure 4 , Figure 4 It is a schematic diagram of a first sharing terminal and a second sharing terminal synchronously displaying a first dynamic content provided by an exemplary embodiment of the present application.
[0071] like Figure 4 As shown, a first display area 411 is displayed in the shared canvas of the first sharing terminal 41, which is used to display the first dynamic content corresponding to the game application. In the shared canvas of the second sharing terminal 42 (smartphone) and the second sharing terminal 43 (laptop), corresponding first display areas 421 and 431 are displayed respectively, which are used for the first dynamic content shared by the first sharing terminal 41.
[0072] It should be noted that the same first dynamic content is displayed in the shared canvases of different sharing terminals, but the zoom ratio, field of view, etc. of the shared canvas can be determined by different sharing terminals by translation or moving operations. For example, user C can change the field of view by translation operation on the shared canvas, so that the first display area 431 is displayed in the center of the field of view of the second sharing terminal 43 (laptop computer).
[0073] To summarize, by creating a first display area in a shared canvas to display first dynamic content, and sharing multimedia stream data corresponding to the first dynamic content to a second sharing end, the first dynamic content can be synchronously displayed in the shared canvas of the second sharing end, thereby achieving multi-end synchronous display of dynamic content.
[0074] When users add dynamic content to a shared canvas, they can select different types of dynamic content to add. For example, dynamic content may include different content types such as application screen, camera screen, network video or network live broadcast.
[0075] In some embodiments, the first sharing end may share multimedia stream data corresponding to the first dynamic content with the second sharing end based on the content type of the first dynamic content and in a sharing manner corresponding to the content type, wherein different content types correspond to different sharing manners.
[0076] See also Figure 5 , Figure 5 This is a flowchart of an exemplary embodiment of the present application, in which a first sharing terminal shares first dynamic content with a second sharing terminal in different ways. The flowchart includes the following steps.
[0077] Step 501: display a shared canvas, where the shared canvas is used for a first sharing terminal and at least one second sharing terminal to share content.
[0078] Step 502: In response to the dynamic content adding operation on the shared canvas, a first display area is created in the shared canvas, where the first display area is used to display the first dynamic content shared by the first sharing end.
[0079] Step 503: when the first dynamic content is an application program, encode the application screen of the application program to obtain multimedia stream data, and transmit the multimedia stream data to the second sharing terminal.
[0080] Optionally, the application may be a system application or a third-party application other than the canvas application. Exemplarily, the application includes various types of applications such as games, chat, social networking, shopping, audio and video, browsers, clocks, calendars, etc.
[0081] In some embodiments, the first sharing end may capture an application screen corresponding to the application, and encode the application screen of the application according to encoding parameters to obtain multimedia stream data.
[0082] Optionally, the encoding parameters include frame rate, scanning mode, resolution, number of pixels, picture aspect ratio, pixel aspect ratio, etc.
[0083] The encoding parameters may be determined based on different factors. In some embodiments, the first shared terminal may determine the encoding parameters based on the network status of the first shared terminal and the second shared terminal; and encode the application screen of the application based on the encoding parameters to obtain multimedia stream data. For example, when the network status of the first shared terminal or the second shared terminal is not good, the first shared terminal may encode the application screen based on the encoding parameters with lower resolution to improve the smoothness of multimedia stream data transmission.
[0084] In other embodiments, encoding parameters may be determined based on the amount of dynamic content on the shared canvas, and the application screen of the application may be encoded based on the encoding parameters to obtain multimedia stream data. For example, when there are already multiple display areas corresponding to dynamic content on the shared canvas, the first sharing end may encode the application screen based on encoding parameters with a lower frame rate to reduce the dynamic content load carried by the shared canvas.
[0085] To transmit media stream data, in some embodiments, the first sharing terminal can establish a connection with the second sharing terminal through the WebRTC service, and transmit the multimedia stream data encoded for the application screen to the second sharing terminal. Since the WebRTC service uses the SRTP protocol, it can meet the requirements of low-latency, high-bandwidth real-time audio and video transmission.
[0086] Step 504: When the first dynamic content is a camera image, a camera video stream output by the camera is transmitted to the second sharing end.
[0087] In some embodiments, the first sharing end may also compress the camera video stream according to the compression parameter to obtain a compressed camera video stream, and transmit the compressed camera video stream to the second sharing end.
[0088] Optionally, compression parameters include video format, bit rate, resolution, video ratio, etc.
[0089] The compression parameter can be determined based on different factors. In some embodiments, the first shared end can determine the compression parameter based on the network status of the first shared end and the second shared end; and compress the camera video stream based on the compression parameter. For example, when the network status of the first shared end or the second shared end is not good, the first shared end can compress the camera video stream based on the compression parameter with a lower bit rate to reduce the volume of the compressed camera video stream.
[0090] In other embodiments, compression parameters may be determined based on the amount of dynamic content on the shared canvas, and the camera video stream may be compressed based on the compression parameters to obtain a compressed camera video stream. For example, when there are already multiple display areas corresponding to dynamic content on the shared canvas, the first sharing end may compress the camera video stream based on a compression parameter with a lower bit rate to reduce the volume of the compressed camera video stream, thereby reducing the dynamic content load carried by the shared canvas.
[0091] To transmit media stream data, in some embodiments, the first sharing end can establish a connection with the second sharing end through the WebRTC service and transmit the compressed camera video stream to the second sharing end. Since the WebRTC service uses the SRTP protocol, it can meet the requirements of low-latency, high-bandwidth real-time camera video stream transmission.
[0092] Step 505 , when the first dynamic content is an online video or an online live broadcast, the video stream address of the online video or the online live broadcast is sent to the second sharing terminal, so that the second sharing terminal pulls the multimedia stream data based on the video stream address.
[0093] Optionally, the video stream address is a live source based on the RTSP protocol (Real Time Streaming Protocol), a live source based on the RTMP protocol (Real Time Messaging Protocol), or a live source based on the HTTP protocol (Hyper Text Transfer Protocol).
[0094] In some embodiments, the second sharing terminal may parse the video stream address, pull out the multimedia stream data, and display the dynamic content corresponding to the multimedia stream data in the first display area of the second sharing terminal.
[0095] Optionally, the second sharing terminal displays the dynamic content corresponding to the multimedia stream data in the first display area of the second sharing terminal through a Canvas API (Canvas Application Programming Interface).
[0096] In this embodiment, the first sharing end shares multimedia stream data with the second sharing end by adopting different sharing methods corresponding to different content types of the first dynamic content, so that different types of dynamic content such as application screen, camera screen, network video or live broadcast can be displayed on the shared canvas of the second sharing end, thereby realizing multi-end sharing of different types of dynamic content.
[0097] The first sharing terminal can not only share the multimedia stream data with the second sharing terminal, but also receive the multimedia stream data shared by the second sharing terminal.
[0098] In some embodiments, the shared canvas further includes a second display area, wherein the second display area is used to display the second dynamic content shared by the second sharing terminal.
[0099] The second dynamic content is the dynamic content shared by the second sharing end. Optionally, the second dynamic content can be real-time multimedia stream data content such as an application screen of an application, a camera screen, a network video or a network live broadcast.
[0100] See also Figure 6 , Figure 6 It is a schematic diagram of a first display area and a second display area provided by an exemplary embodiment of the present application.
[0101] like Figure 6As shown, in the shared canvas of the first sharing terminal 61, a first display area 611, a second display area 621 and a second display area 622 are displayed. The first display area 611 is used to display the game screen corresponding to the game application in the first sharing terminal 61 corresponding to user A, that is, the game screen from the perspective of user A; the second display area 621 is used to display the game screen corresponding to the game application in the second sharing terminal corresponding to user B, that is, the game screen from the perspective of user B; the second display area 622 is used to display the game screen corresponding to the game application in the second sharing terminal corresponding to user C, that is, the game screen from the perspective of user C.
[0102] like Figure 6 As shown, in a shared canvas, multiple dynamic contents can be displayed simultaneously, and users can use the sound control to choose to play or close the audio stream data corresponding to the dynamic contents. For example, when user A is playing a game in the first display area 611 of the shared canvas, he may need to refer to the game screens of the second display area 621 and the second display area 622, but does not need to play the audio corresponding to the second display area 621 and the second display area 622. Therefore, the user can choose to switch the sound control 621a corresponding to the second display area 621 and the sound control 622a corresponding to the second display area 622 to a mute state, and switch the sound control 611a corresponding to the first display area 611 to a play state.
[0103] In this embodiment, the first sharing end creates a second display area to display the second dynamic content shared by the second sharing end, so that application screens from different user perspectives can be viewed simultaneously, thereby improving operating efficiency; at the same time, the audio corresponding to the dynamic content specified by the user can be played through the sound control to avoid interference to the user by the audio of other dynamic content.
[0104] The first sharing terminal can control the second dynamic content in the second display area, thereby realizing remote control of the second dynamic content. For example, if user B shares the application screen of a map application with user A, user A can directly operate the map application in the shared canvas, such as searching for a location, querying a route, etc.
[0105] In some embodiments, in response to a control operation on the second dynamic content in the second display area, the first sharing terminal sends a control instruction to the second sharing terminal, so that the second sharing terminal controls the second dynamic content based on the control instruction.
[0106] Optionally, the first sharing terminal and the second sharing terminal may transmit control instructions via a signaling service. For example, when user A performs a control operation on the second dynamic content in the second display area of the first sharing terminal, the first sharing terminal transmits the control instruction to the signaling service, and the signaling service transmits the control instruction to the second sharing terminal.
[0107] See also Figure 7 , Figure 7 It is a schematic diagram of a first sharing terminal controlling a second dynamic content in a second display area provided by an exemplary embodiment of the present application.
[0108] like Figure 7 As shown, a second display area 721 is displayed on the shared canvas of the first sharing terminal 71 corresponding to user A. The second dynamic content in the second display area 721 is a map application created by user B.
[0109] When user A wants to perform map route navigation, user A can perform control operations in the second display area 721 of the first sharing terminal 71. For example, user A can perform a click operation at the location of the navigation control 721a in the second display area 721, and the first sharing terminal transmits a control instruction corresponding to the click operation to the second sharing terminal through a signaling service, wherein the control instruction includes control parameters (such as click position, click duration, etc.), and the second sharing terminal restores the click operation of user A in the second display area of the second sharing terminal based on the control instruction, so that the second sharing terminal performs a click operation on the navigation control 721a in the second display area, thereby changing the second dynamic content to a map screen for performing route navigation.
[0110] In this embodiment, when the first sharing terminal receives a control operation on the second dynamic content in the second display area, the first sharing terminal can send a control instruction to the second sharing terminal, so that the second sharing terminal can control the second dynamic content based on the control instruction, thereby realizing remote control of the content shared by the second sharing terminal by the first sharing terminal.
[0111] In some embodiments, the shared canvas displayed on each sharing end supports size adjustment, and the size of the shared content in the shared canvas is adjusted synchronously with the shared canvas.
[0112] In some embodiments, different sharing terminals can resize the shared canvas according to the resize parameters they need, so different sharing terminals can have different fields of view on the shared canvas. Figure 4 As shown, for the same first dynamic content, user B can adjust the first display area 421 to a smaller size through a zoom operation in the second sharing terminal 42 because he is not interested in it; while user C is interested in the first dynamic content, and can adjust the first display area 431 to a larger size through a zoom operation in the second sharing terminal 43.
[0113] In the process of the first shared terminal sending a control instruction to the second shared terminal, since the sizes of the second display areas in the first shared terminal and the second shared terminal may be different, the second shared terminal cannot directly restore the control operation corresponding to the control parameter in the second display area, but needs to convert the control parameter based on the size of the second display area so that the converted control parameter is adapted to the second shared terminal.
[0114] In some embodiments, in response to a control operation on second dynamic content in the second presentation area, a first control parameter of the control operation in the second presentation area is determined.
[0115] The first control parameter is a control parameter corresponding to the control operation acquired at the first sharing end.
[0116] Taking the control operation as a click operation as an example, the first control parameter may include a click position and a click duration.
[0117] Taking the control operation as a sliding operation as an example, the first control parameter may include a sliding position and a sliding length.
[0118] In some embodiments, the first control parameter may be converted based on the first area size and the second area size to obtain the second control parameter, so that the second control parameter is adapted to the second shared end.
[0119] The first area size is the size of the second display area in the first sharing end, and the second area size is the size of the second display area in the second sharing end.
[0120] The implementation method of converting the first control parameter may include at least one of the following methods:
[0121] (1) The first sharing end sends a control instruction including a first control parameter and a first region size to the second sharing end, so that the second sharing end performs parameter conversion on the first control parameter based on the first region size and the second region size, and controls the second dynamic content based on the converted second control parameter.
[0122] See also Figure 8 , Figure 8 It is a timing diagram of converting the first control parameter provided by an exemplary embodiment of the present application.
[0123] like Figure 8 As shown, the first sharing end can send the first control parameter and the first area size to the second sharing end, and the second sharing end performs the conversion. The method includes the following steps:
[0124] Step 8.1.1: The first sharing terminal sends a control instruction including a first control parameter and a first area size to the signaling service.
[0125] Step 8.1.2: The signaling service sends a control instruction including a first control parameter and a first area size to the second sharing terminal.
[0126] Step 8.1.3: The second sharing end performs parameter conversion on the first control parameter based on the first area size and the second area size, and controls the second dynamic content based on the converted second control parameter.
[0127] Taking the control operation as a sliding operation as an example, the first control parameter includes the sliding length in the second display area of the first sharing end, such as 50px.
[0128] Assuming that the size of the first area is 1000px×2000px, the first sharing terminal may send a control instruction including a sliding length of 50px and the size of the first area of 1000px×2000px to the second sharing terminal.
[0129] Assuming that the size of the second area is 2000px×4000px, the second sharing end performs parameter conversion on the first control parameter based on the size of the first area and the size of the second area to obtain the second control parameter (i.e., the sliding length in the second display area of the second sharing end is 100px. Therefore, the second sharing end performs a 100px slide in the second display area to restore the sliding operation.
[0130] (2) The first sharing end performs parameter conversion on the first control parameter based on the first area size and the second area size to obtain a second control parameter; and sends a control instruction including the second control parameter to the second sharing end, so that the second sharing end controls the second dynamic content based on the second control parameter.
[0131] In some embodiments, since the first sharing end and the second sharing end can exchange information through a signaling service, the second sharing end can send the second area size to the first sharing end, so that the first sharing end converts the first control parameter based on the first area size and the second area size to obtain the second control parameter.
[0132] like Figure 8 As shown, the method includes the following steps:
[0133] Step 8.2.1: The second sharing end sends a second region size to the signaling service.
[0134] Step 8.2.2: The signaling service transmits the second region size to the first sharing end.
[0135] Step 8.2.3: The first sharing end converts the first control parameter based on the first area size and the second area size to obtain the second control parameter.
[0136] Step 8.2.4: The signaling service sends a control instruction including a second control parameter to the second sharing terminal.
[0137] Step 8.2.5: The second sharing terminal controls the second dynamic content based on the second control parameter.
[0138] Taking the control operation as a sliding operation as an example, the first control parameter includes the sliding length in the second display area of the first sharing end, such as 50px.
[0139] Assuming that the size of the second area is 2000px×4000px, the second sharing terminal may send the size of the second area to the first sharing terminal through a signaling service.
[0140] Assuming that the size of the first area is 1000px×2000px, the first sharing terminal may perform parameter conversion on the first control parameter based on the size of the first area and the size of the second area to obtain the second control parameter, that is, the sliding length in the second display area of the second sharing terminal is 100px.
[0141] The first sharing terminal sends the second control parameter to the second sharing terminal, so that the second sharing terminal slides 100px in the second display area to restore the sliding operation.
[0142] In some embodiments, the first control parameter includes a first coordinate, wherein the first coordinate refers to an absolute coordinate in the second display area of the first sharing end.
[0143] Taking the control operation as a click operation as an example, the first control parameter includes the first coordinate in the second display area of the first sharing end, such as the absolute coordinate (100px, 200px).
[0144] In some embodiments, the first shared end may determine a coordinate adjustment ratio based on the first area size and the second area size, and convert the first coordinate based on the coordinate adjustment ratio to obtain a second coordinate, wherein the second coordinate refers to an absolute coordinate in the second display area of the second shared end.
[0145] For example, assuming that the size of the first area is 1000px×2000px and the size of the second area is 2000px×4000px, the coordinate adjustment ratio can be determined to be 1:2, and the first coordinate is converted based on the coordinate adjustment ratio to obtain the second coordinate, that is, the click position in the second display area of the second sharing terminal is the absolute coordinate (200px, 400px). Therefore, the second sharing terminal restores the click operation at the position (200px, 400px) in the second display area to realize the click on the second dynamic content.
[0146] In this embodiment, by performing parameter conversion on the first control parameter to obtain the second control parameter, the second shared end controls the second dynamic content based on the second control parameter. When the sizes of the second display areas in the first shared end and the second shared end are inconsistent, remote control of the second dynamic content can be achieved, thereby improving the accuracy of the control operation.
[0147] In some embodiments, different permissions (eg, display permission, control permission, etc.) may be granted to at least one second sharing terminal for the first dynamic content through permission management.
[0148] Optionally, the user of the first sharing terminal may manage the permissions of different second sharing terminals to the first dynamic content through a permission management list.
[0149] Optionally, the first sharing terminal may automatically determine the permissions of the role type based on the role type of the user of the second sharing terminal. For example, the second sharing terminal corresponding to the user whose role type is manager automatically has the control permission.
[0150] In some embodiments, the first sharing terminal may receive an authorization operation for the second sharing terminal, wherein the authorization operation is used to grant the second sharing terminal authority to the first dynamic content, wherein the authority includes at least one of a display authority and a control authority.
[0151] When the second sharing terminal has display authority, the first sharing terminal may share multimedia stream data corresponding to the first dynamic content with the second sharing terminal, so that the second sharing terminal displays the first dynamic content in the second display area of the shared canvas.
[0152] In some embodiments, the rights management can be implemented through server transfer. For example, the first sharing terminal can share the multimedia stream data corresponding to the first dynamic content with the second sharing terminal. First, the multimedia stream data needs to be sent to the server. If the second sharing terminal has the display permission, the server will send the multimedia stream data to the second sharing terminal.
[0153] The control parameters corresponding to the control operation on the first dynamic content in the second sharing terminal can be sent to the server. If the second sharing terminal has control authority, the server will send the control parameters to the first sharing terminal and the first sharing terminal will restore the control operation corresponding to the control parameters, thereby realizing the remote control of the first dynamic content by the second sharing terminal. If the second sharing terminal does not have control authority, the server will no longer send the control parameters to the first sharing terminal, or the server will still send the control parameters to the first sharing terminal but the first sharing terminal will not respond.
[0154] The authorization operation on the second sharing terminal can be actively performed by the first sharing terminal, or the second sharing terminal can send a permission application to the first sharing terminal, and the first sharing terminal can respond to the permission application.
[0155] See also Fig. 9 , Fig. 9 It is a schematic diagram of a first sharing terminal performing authority management on a second sharing terminal provided by an exemplary embodiment of the present application.
[0156] like Fig. 9 As shown, a first display area 911 is displayed in the shared canvas of the first sharing terminal 91 , and the first display area 911 is used to display the first dynamic content (game application) shared by the first sharing terminal 91 .
[0157] When receiving a call-out operation for the permission management list, the first sharing terminal 91 displays the permission management list 912 .
[0158] Optionally, the outgoing operation may be a shortcut key operation, a specific gesture operation, a voice operation or a button operation.
[0159] The permission management list 912 is used to perform permission management on at least one second sharing terminal, such as display permission and control permission for the first dynamic content.
[0160] like Fig. 9 As shown, user A grants user C display authority and control authority for the first dynamic content through the authority management list 912, and does not grant user B display authority and control authority. Therefore, in the first display area 921 of the second sharing terminal 92 corresponding to user B, the first dynamic content shared by the first sharing terminal 91 is not displayed; in the first display area 931 of the second sharing terminal 93 corresponding to user C, the first dynamic content shared by the first sharing terminal 91 is displayed.
[0161] In some embodiments, the first sharing terminal may revoke the permission of the second sharing terminal, for example, reclaiming the display permission of user C for the first dynamic content.
[0162] In some embodiments, the first sharing terminal receives a permission recovery operation for the second sharing terminal, wherein the permission recovery operation is used to recover the permission of the second sharing terminal to the first dynamic content, and the permission includes at least one of a display permission and a control permission.
[0163] Optionally, the user of the first sharing terminal can perform a permission recovery operation through the permission management list. For example, user A can recover the control permission of user C for the first dynamic content through the permission management list 912, so that the control operation received in the first display area 931 in the second sharing terminal 93 corresponding to user C is not responded by the first sharing terminal.
[0164] In some embodiments, at one time, only one sharing terminal has control authority over the first dynamic content. For example, at one time, only the first sharing terminal 91 corresponding to user A has control authority over the first dynamic content; at another time, only the second sharing terminal 93 corresponding to user C has control authority over the first dynamic content.
[0165] In a possible scenario, when a first sharing terminal performs an authorization operation on one of the second sharing terminals so that the second sharing terminal has control authority over the first dynamic content, if there is another second sharing terminal that also has control authority over the first dynamic content, the first sharing terminal automatically performs a permission recovery operation on the other second sharing terminal.
[0166] For example, at time T1, user A grants user C the display authority and control authority for the first dynamic content, but does not grant user B the display authority and control authority. At time T2, user A grants user B the display authority and control authority for the first dynamic content, and at time T2, the first sharing terminal automatically reclaims the control authority of the second sharing terminal corresponding to user C, so that at time T2, only one sharing terminal (the second sharing terminal corresponding to user B) can perform control operations, thereby avoiding interference caused by multiple parties operating at the same time and improving the accuracy of control operations.
[0167] Similarly, for the second dynamic content in the second display area, the second sharing terminal may also grant the first sharing terminal the display authority or control authority for the second dynamic content.
[0168] In some embodiments, when the first sharing terminal has control authority over the second dynamic content, in response to a control operation on the second dynamic content in the second display area, a control instruction is sent to the second sharing terminal, so that the first sharing terminal can remotely control the second dynamic content. In some embodiments, when the first sharing terminal does not have control authority over the second dynamic content, the first sharing terminal can display a prompt message indicating that it does not have operation authority in the shared canvas, and the first sharing terminal does not send a control instruction to the second sharing terminal, so that the second sharing terminal does not receive the control operation of the first sharing terminal, thereby achieving management of control authority over the second dynamic content.
[0169] In this embodiment, through the permission management of the first dynamic content, the second sharing terminal can display the first dynamic content in the first display area if it has display permission, and control the first dynamic content in the first display area if it has control permission, so that the permissions of multiple sharing terminals in the shared canvas can be reasonably managed.
[0170] See also Fig.10, Fig.10 It is a schematic diagram of a shared canvas provided by an exemplary embodiment of the present application.
[0171] like Fig.10 As shown, a second display area 1013 is displayed in the shared canvas of the first sharing terminal 1001, for displaying the second dynamic content (map application) shared by the second sharing terminal corresponding to user B.
[0172] The shared canvas of the first sharing terminal 1001 also displays a first static area 1011 and a second static area 1012. The first static area 1011 is used to display the static content (documents about driving routes) shared by the second sharing terminal corresponding to user C, and the second static area 1012 is used to display the static content (webpage links about XXX campsite guide) shared by the first sharing terminal corresponding to user A.
[0173] In some embodiments, the first sharing terminal may display a creator logo around each sharing area to reflect the creator of the shared content in the sharing area. For example, an avatar logo 1013a corresponding to user B is displayed around the second display area 1013 to reflect that the second dynamic content in the second display area 1013 is created and shared by user B. Similarly, an avatar logo corresponding to user C may be displayed around the first static area 1011, and an avatar logo corresponding to user A may be displayed around the second static area 1012. Through the creator logo, users of multiple sharing terminals can clearly know the creator corresponding to each shared content.
[0174] In some embodiments, a comment area is displayed on the shared canvas for users of multiple sharing terminals to post comments or annotate content, etc. In some embodiments, the comment area corresponds to the shared content and is used for users of multiple sharing terminals to comment on the shared content. For example, a comment area 1013b is displayed around the second display area 1013, and the comment area 1013b is used for users of multiple sharing terminals to comment on the second dynamic content in the second display area 1013.
[0175] In some embodiments, users of multiple sharing terminals can also use the shared canvas to perform real-time video or real-time voice. For example, when user A clicks the video control 1021 or the voice control 1022, the first sharing terminal sends a video or voice request to the other two second sharing terminals. When the other second sharing terminals accept the request, the first sharing terminal and the second sharing terminal establish a connection through the WebRTC service to achieve the transmission of real-time video stream data or audio stream data.
[0176] Please refer to Fig.11 , Fig.11 : is a structural block diagram of a content display device provided by an exemplary embodiment of the present application, the device comprising:
[0177] A display module 1101 is used to display a shared canvas, where the shared canvas is used for the first sharing terminal and at least one second sharing terminal to share content;
[0178] An adding module 1102, configured to create a first display area in the shared canvas in response to a dynamic content adding operation on the shared canvas, wherein the first display area is used to display first dynamic content shared by the first sharing end;
[0179] The sharing module 1103 is configured to share the multimedia stream data corresponding to the first dynamic content with the second sharing terminal, so that the second sharing terminal displays the first dynamic content in the first display area of the shared canvas based on the multimedia stream data.
[0180] Optionally, the shared module 1103 is used to:
[0181] Based on the content type of the first dynamic content, the multimedia stream data corresponding to the first dynamic content is shared with the second sharing end in a sharing mode corresponding to the content type, wherein different content types correspond to different sharing modes.
[0182] Optionally, the shared module 1103 is used to:
[0183] In the case where the first dynamic content is an application program, encoding an application screen of the application program to obtain the multimedia stream data, and transmitting the multimedia stream data to the second sharing end;
[0184] When the first dynamic content is a camera image, transmitting a camera video stream output by the camera to the second sharing end;
[0185] In the case where the first dynamic content is an online video or a live broadcast, the video stream address of the online video or the live broadcast is sent to the second sharing end so that the second sharing end pulls the multimedia stream data based on the video stream address.
[0186] Optionally, the shared module 1103 is used to:
[0187] Determine encoding parameters based on the network status of the first sharing terminal and the second sharing terminal; encode the application screen of the application based on the encoding parameters to obtain the multimedia stream data; or,
[0188] Based on the amount of dynamic content in the shared canvas, encoding parameters are determined; based on the encoding parameters, the application screen of the application is encoded to obtain the multimedia stream data.
[0189] Optionally, the shared module 1103 is used to:
[0190] Determine a compression parameter based on the network status of the first sharing terminal and the second sharing terminal; compress the camera video stream based on the compression parameter to obtain a compressed camera video stream; transmit the compressed camera video stream to the second sharing terminal; or,
[0191] Determine a compression parameter based on the amount of dynamic content in the shared canvas; compress the camera video stream based on the compression parameter to obtain a compressed camera video stream; and transmit the compressed camera video stream to the second sharing end.
[0192] Optionally, the shared canvas further includes a second display area, and the second display area is used to display the second dynamic content shared by the second sharing end; the sharing module 1103 is used to:
[0193] In response to the control operation on the second dynamic content in the second display area, a control instruction is sent to the second sharing terminal, so that the second sharing terminal controls the second dynamic content based on the control instruction.
[0194] Optionally, the shared canvas displayed on each sharing terminal supports size adjustment, and the size of the shared content in the shared canvas is adjusted synchronously with the shared canvas; the sharing module 1103 is used to:
[0195] In response to a control operation on the second dynamic content in the second display area, determining a first control parameter of the control operation in the second display area; sending the control instruction including the first control parameter and the first area size to the second sharing end, so that the second sharing end performs parameter conversion on the first control parameter based on the first area size and the second area size, and controls the second dynamic content based on the converted second control parameter;
[0196] or,
[0197] In response to a control operation on the second dynamic content in the second display area, determine a first control parameter of the control operation in the second display area; perform parameter conversion on the first control parameter based on the first area size and the second area size to obtain a second control parameter; and send the control instruction including the second control parameter to the second sharing end, so that the second sharing end controls the second dynamic content based on the second control parameter;
[0198] The first area size is the size of the second display area in the first sharing end, and the second area size is the size of the second display area in the second sharing end.
[0199] Optionally, the first control parameter includes a first coordinate, and the first coordinate is an absolute coordinate in the second display area of the first sharing end; the sharing module 1103 is used to:
[0200] Determining a coordinate adjustment ratio based on the first area size and the second area size;
[0201] The first coordinates are converted based on the coordinate adjustment ratio to obtain second coordinates, where the second coordinates are absolute coordinates in the second display area of the second sharing end.
[0202] Optionally, the shared module 1103 is used to:
[0203] receiving an authorization operation for the second sharing terminal, wherein the authorization operation is used to grant the second sharing terminal an authority to the first dynamic content, wherein the authority includes at least one of a display authority and a control authority;
[0204] The step of sharing the multimedia stream data corresponding to the first dynamic content with the second sharing end includes:
[0205] In a case where the second sharing terminal has the display authority, the multimedia stream data corresponding to the first dynamic content is shared with the second sharing terminal.
[0206] Optionally, the shared module 1103 is used to:
[0207] A permission reclaiming operation for the second sharing terminal is received, where the permission reclaiming operation is used to reclaim the permission of the second sharing terminal to the first dynamic content, where the permission includes at least one of a display permission and a control permission.
[0208] It should be noted that: the device provided in the above embodiment is only illustrated by the division of the above functional modules. In actual applications, the above functions can be assigned to different functional modules as needed, that is, the internal structure of the device is divided into different functional modules to complete all or part of the functions described above. In addition, the device and method embodiments provided in the above embodiment belong to the same concept, and the implementation process thereof is detailed in the method embodiment, which will not be repeated here.
[0209] Please refer to Fig.12 , Fig.12 It is a structural block diagram of a terminal provided by an exemplary embodiment of the present application.
[0210] The terminal may execute the content sharing method of the above embodiment. The terminal may be a terminal device with a display screen, such as a smart phone, a laptop, a tablet computer, a navigation device, a smart TV, etc. The terminal may also be called a user equipment, a portable terminal, etc. The terminal may include one or more of the following components: a processor 1210 and a memory 1220.
[0211] Optionally, the processor 1210 uses various interfaces and lines to connect various parts of the entire electronic device, and executes various functions of the electronic device and processes data by running or executing instructions, programs, code sets or instruction sets stored in the memory 1220, and calling data stored in the memory 1220. Optionally, the processor 1210 can be implemented in at least one hardware form of digital signal processing (DSP), field-programmable gate array (FPGA), and programmable logic array (PLA). The processor 1210 can integrate one or a combination of a central processing unit (CPU), a graphics processing unit (GPU), a neural network processor (NPU), and a baseband chip. Among them, the CPU mainly processes the operating system, user interface, and application programs; the GPU is responsible for rendering and drawing the content to be displayed on the touch display; the NPU is used to implement artificial intelligence (AI) functions; and the baseband chip is used to process wireless communications. It is understandable that the above-mentioned baseband chip may not be integrated into the processor 1210, but may be implemented by a separate chip.
[0212] The memory 1220 may include a random access memory (RAM) or a read-only memory (ROM). Optionally, the memory 1220 includes a non-transitory computer-readable storage medium. The memory 1220 may be used to store instructions, programs, codes, code sets, or instruction sets. The memory 1220 may include a program storage area and a data storage area, wherein the program storage area may store instructions for implementing an operating system, instructions for at least one function (such as a touch function, a sound playback function, an image playback function, etc.), instructions for implementing the following various method embodiments, etc.; the data storage area may store data created according to the use of the electronic device (such as audio data, a phone book), etc.
[0213] In addition, those skilled in the art will appreciate that the structure of the electronic device shown in the above figures does not constitute a limitation on the electronic device, and the electronic device may include more or fewer components than shown in the figures, or a combination of certain components, or a different arrangement of components.
[0214] The embodiment of the present application also provides a computer-readable storage medium, in which at least one instruction is stored, and the at least one instruction is loaded and executed by a processor to implement the method provided in the above embodiment. Optionally, the computer-readable storage medium may include: ROM, RAM, solid state drive (SSD, Solid State Drives) or optical disk, etc. Among them, RAM may include resistance random access memory (ReRAM, Resistance Random Access Memory) and dynamic random access memory (DRAM, Dynamic Random Access Memory).
[0215] The embodiment of the present application also provides a computer program product or a computer program, which includes a computer instruction stored in a computer-readable storage medium. The processor of the computer device reads the computer instruction from the computer-readable storage medium, and the processor executes the computer instruction, so that the computer device executes the method provided in various optional implementations of the above aspects.
[0216] The above description is only an optional embodiment of the present application and is not intended to limit the present application. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and principles of the present application shall be included in the protection scope of the present application.
Claims
1. A content sharing method, characterized in that: The method is used for a first sharing end, and the method includes: Displaying a shared canvas, where the shared canvas is used for the first sharing terminal and at least one second sharing terminal to share content; In response to the dynamic content adding operation on the shared canvas, creating a first display area in the shared canvas, the first display area being used to display first dynamic content shared by the first sharing end; The multimedia stream data corresponding to the first dynamic content is shared with the second sharing end, so that the second sharing end displays the first dynamic content in the first display area of the shared canvas based on the multimedia stream data.
2. The method according to claim 1, characterized in that The step of sharing the multimedia stream data corresponding to the first dynamic content with the second sharing end includes: Based on the content type of the first dynamic content, the multimedia stream data corresponding to the first dynamic content is shared with the second sharing end in a sharing mode corresponding to the content type, wherein different content types correspond to different sharing modes.
3. The method according to claim 2, characterized in that The step of sharing the multimedia stream data corresponding to the first dynamic content to the second sharing end based on the content type of the first dynamic content and using a sharing method corresponding to the content type includes: In the case where the first dynamic content is an application program, encoding an application screen of the application program to obtain the multimedia stream data, and transmitting the multimedia stream data to the second sharing end; When the first dynamic content is a camera image, transmitting a camera video stream output by the camera to the second sharing end; In the case where the first dynamic content is an online video or a live broadcast, a video stream address of the online video or the live broadcast is sent to the second sharing end so that the second sharing end pulls the multimedia stream data based on the video stream address.
4. The method according to claim 3, characterized in that The encoding of the application screen of the application to obtain the multimedia stream data includes at least one of the following: Determining encoding parameters based on the network status of the first sharing terminal and the second sharing terminal; encoding the application screen of the application based on the encoding parameters to obtain the multimedia stream data; or, Determining encoding parameters based on the amount of dynamic content of the shared canvas; The application screen of the application program is encoded based on the encoding parameters to obtain the multimedia stream data.
5. The method according to claim 3, characterized in that: The transmitting of the camera video stream output by the camera to the second sharing end includes at least one of the following: Determine a compression parameter based on the network status of the first sharing terminal and the second sharing terminal; compress the camera video stream based on the compression parameter to obtain a compressed camera video stream; Transmitting the compressed camera video stream to the second sharing end; or, Determining a compression parameter based on the amount of dynamic content of the shared canvas; Compressing the camera video stream based on the compression parameter to obtain a compressed camera video stream; Transmit the compressed camera video stream to the second sharing end.
6. The method according to claim 1, characterized in that The shared canvas also includes a second display area, where the second display area is used to display the second dynamic content shared by the second sharing end; The method further comprises: In response to the control operation on the second dynamic content in the second display area, a control instruction is sent to the second sharing terminal, so that the second sharing terminal controls the second dynamic content based on the control instruction.
7. The method according to claim 6, characterized in that The shared canvas displayed on each sharing terminal supports size adjustment, and the size of the shared content in the shared canvas is adjusted synchronously with the shared canvas; The sending a control instruction to the second sharing terminal in response to the control operation on the second dynamic content in the second display area includes: In response to a control operation on the second dynamic content in the second display area, determining a first control parameter of the control operation in the second display area; sending the control instruction including the first control parameter and the first area size to the second sharing end, so that the second sharing end performs parameter conversion on the first control parameter based on the first area size and the second area size, and controls the second dynamic content based on the converted second control parameter; or, In response to a control operation on the second dynamic content in the second display area, determine a first control parameter of the control operation in the second display area; perform parameter conversion on the first control parameter based on the first area size and the second area size to obtain a second control parameter; and send the control instruction including the second control parameter to the second sharing end, so that the second sharing end controls the second dynamic content based on the second control parameter; The first area size is the size of the second display area in the first sharing end, and the second area size is the size of the second display area in the second sharing end.
8. The method according to claim 7, characterized in that The first control parameter includes a first coordinate, which is an absolute coordinate in the second display area of the first sharing terminal; The step of performing parameter conversion on the first control parameter based on the first region size and the second region size to obtain the second control parameter includes: Determining a coordinate adjustment ratio based on the first area size and the second area size; The first coordinates are converted based on the coordinate adjustment ratio to obtain second coordinates, where the second coordinates are absolute coordinates in the second display area of the second sharing end.
9. The method according to claim 6, characterized in that The sending a control instruction to the second sharing terminal in response to the control operation on the second dynamic content in the second display area includes: In a case where the first sharing terminal has control authority over the second dynamic content, in response to a control operation on the second dynamic content in the second display area, the control instruction is sent to the second sharing terminal.
10. The method according to claim 1, characterized in that The method further comprises: receiving an authorization operation for the second sharing terminal, wherein the authorization operation is used to grant the second sharing terminal an authority to the first dynamic content, wherein the authority includes at least one of a display authority and a control authority; The step of sharing the multimedia stream data corresponding to the first dynamic content with the second sharing end includes: In a case where the second sharing terminal has the display authority, the multimedia stream data corresponding to the first dynamic content is shared with the second sharing terminal.
11. The method according to claim 10, characterized in that The method further comprises: A permission reclaiming operation for the second sharing terminal is received, where the permission reclaiming operation is used to reclaim the permission of the second sharing terminal to the first dynamic content, where the permission includes at least one of a display permission and a control permission.
12. A content sharing device, characterized in that: The device is used for a first sharing end, and the device includes: A display module, configured to display a shared canvas, wherein the shared canvas is used for the first sharing terminal and at least one second sharing terminal to share content; an adding module, configured to create a first display area in the shared canvas in response to a dynamic content adding operation on the shared canvas, wherein the first display area is used to display first dynamic content shared by the first sharing end; The sharing module is used to share the multimedia stream data corresponding to the first dynamic content with the second sharing end, so that the second sharing end displays the first dynamic content in the first display area of the shared canvas based on the multimedia stream data.
13. A terminal, characterized in that: The terminal includes a processor and a memory; the memory stores at least one instruction, and the at least one instruction is used to be executed by the processor to implement the content sharing method according to any one of claims 1 to 11.
14. A computer-readable storage medium, characterized in that: The computer-readable storage medium stores at least one instruction, and the instruction is loaded and executed by the processor to implement the content sharing method according to any one of claims 1 to 11.
15. A computer program product, characterized in that The computer program product includes computer instructions, which are stored in a computer-readable storage medium; a processor of a terminal reads the computer instructions from the computer-readable storage medium, and the processor executes the computer instructions, so that the terminal executes the content sharing method as described in any one of claims 1 to 11.
Citation Information
Patent Citations
Information display method and device, equipment and storage medium
CN114911399A
Virtual scene picture display method and device, equipment and storage medium
CN115228079A
Media content display method and device, equipment and storage medium
CN115633206A
Content sharing method and device, computer equipment and storage medium
CN116009740A
Data sharing method and apparatus, electronic device and storage medium
WO2020015750A1