WO2016177257A1 - Data sharing method and device - Google Patents

Data sharing method and device Download PDF

Info

Publication number
WO2016177257A1
WO2016177257A1 PCT/CN2016/079156 CN2016079156W WO2016177257A1 WO 2016177257 A1 WO2016177257 A1 WO 2016177257A1 CN 2016079156 W CN2016079156 W CN 2016079156W WO 2016177257 A1 WO2016177257 A1 WO 2016177257A1
Authority
WO
WIPO (PCT)
Prior art keywords
target device
data
cache queue
connection
window
Prior art date
Application number
PCT/CN2016/079156
Other languages
French (fr)
Chinese (zh)
Inventor
杨金锋
Original Assignee
阿里巴巴集团控股有限公司
杨金锋
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 阿里巴巴集团控股有限公司, 杨金锋 filed Critical 阿里巴巴集团控股有限公司
Publication of WO2016177257A1 publication Critical patent/WO2016177257A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/436Interfacing a local distribution network, e.g. communicating with another STB or one or more peripheral devices inside the home

Definitions

  • the present invention relates to the field of computer application technologies, and in particular, to a method and apparatus for data sharing.
  • a device that shares data may be referred to as a source device, and a device that receives data may be referred to as a target device.
  • the main sharing method is wifi-based data sharing.
  • the source device and the target device first establish a wifi connection through the wifi discovery mechanism, establish a sharing session (session) after completing the capability negotiation, and perform the screen of the source device.
  • Screen capture the screen capture image obtained after the screen capture is sent to the target device for display through the wifi connection.
  • the source device can only realize the screen sharing of the screen data (the screen data refers to the data displayed on the device screen) in this mode, the sharing of the window data may not be realized.
  • the user wants to share data of an application window, or the user wants to share different data for different target devices.
  • the present invention provides a data sharing method and apparatus, which can be used to implement diverse data sharing requirements, for example, sharing of window data.
  • the invention provides a method for data sharing, the method comprising:
  • the source device After obtaining the information of the target device, the source device creates a cache queue for the target device.
  • Draw data to be shared to the target device to a cache queue corresponding to the target device
  • the acquiring, by the source device, information about the target device includes:
  • the source device acquires information of the target device when establishing a connection with the target device.
  • creating a cache queue for the target device includes:
  • the source device creates a data source MediaSource, creates a buffer queue BufferQueue in the MediaSource, and creates a remote display device RemotedisplayDevice corresponding to the target device;
  • the BufferQueue is used as a data source of the RemotedisplayDevice.
  • the establishing of the connection between the source device and the target device includes:
  • the source device broadcasts an IP address and designated port information of the source device in a local area network, and after the specified port listens to the connection request sent by the target device, establishes a connection with the target device; or
  • the source device registers the IP address and the designated port information of the source device with the server, and after receiving the connection request sent by the target device by using the designated port, establishing a connection with the target device, where the target device is Obtaining, by the server, an IP address and a designated port information of the source device; or
  • the source device establishes a connection with the target device through a wifi discovery mechanism.
  • the data to be shared to the target device is mapped to a cache queue corresponding to the target device, including:
  • data to be shared by the target device is acquired by the interface combination module, data to be shared to the target device is mapped to a cache queue corresponding to the target device.
  • the data to be shared to the target device is mapped to a cache queue corresponding to the target device, including:
  • the corresponding corresponding window Obtaining data of the window, and drawing data of the window to a cache queue corresponding to the target device;
  • the data to be shared to the target device is the data of the screen
  • the data of each window is obtained from the cache corresponding to each window included in the screen, and the data of each window is drawn according to the position information of each window on the screen. Go to the cache queue corresponding to the target device.
  • the method further includes:
  • information about a feedback channel between the source device and the target device is further negotiated during establishment of the connection;
  • the method also includes:
  • the transport stream receiving status includes a packet loss rate
  • the encoding of the data in the cache queue corresponding to the target device by the adjusting includes: adjusting a coding manner of data in a cache queue corresponding to the target device; or
  • the method further includes:
  • the source device After the connection between the source device and the target device is disconnected, the source device deletes a cache queue corresponding to the target device.
  • the source device is a cloud box
  • the target device is a client set top box
  • the method for data sharing is separately performed for each target device.
  • the present invention also provides a device for data sharing, which is disposed on a source device, and the device includes:
  • a cache management module configured to create a cache queue for the target device after the source device obtains information about the target device
  • An interface combination module configured to map data to be shared to the target device to a cache queue corresponding to the target device
  • a data transmission module configured to send, by using the connection between the source device and the target device, a transport stream corresponding to data in the cache queue to the target device.
  • the device further includes: a connection establishing module, configured to establish a connection between the source device and the target device, thereby acquiring information of the target device.
  • the cache management module when the cache management module creates a cache queue for the target device, the cache management module performs:
  • the interface combination module uses the BufferQueue as a data source of the RemotedisplayDevice.
  • connection establishing module is specifically configured to:
  • the cache management module is further configured to: pass information about a cache queue created by the target device as a parameter to the interface combination module;
  • the interface combination module is configured to: after acquiring data to be shared by the target device, draw data to be shared by the target device to a cache queue corresponding to the target device.
  • the interface combination module acquires data of the window from a cache corresponding to the window, and The data of the window is drawn to a cache queue corresponding to the target device;
  • the interface combination module acquires data of each window from the cache corresponding to each window included in the screen, according to the position information of each window on the screen, The data of each window is drawn to a cache queue corresponding to the target device.
  • the device further includes: a streaming processing module, specifically configured to encode data in the buffer queue to obtain an ES; group the ES to form a PES; and perform the PES Repackage to form the TS.
  • a streaming processing module specifically configured to encode data in the buffer queue to obtain an ES; group the ES to form a PES; and perform the PES Repackage to form the TS.
  • the device further includes:
  • connection establishing module configured to further negotiate information about a feedback channel between the source device and the target device in the process of establishing the connection
  • a feedback receiving module configured to receive, by using the feedback channel, a transport stream receiving condition fed back by the target device
  • the streaming processing module is further configured to adjust encoding of data in a cache queue corresponding to the target device according to the receiving status of the transport stream.
  • the transport stream receiving status includes a packet loss rate
  • the streaming processing module is specifically configured to adjust a coding manner of data in a cache queue corresponding to the target device, or increase or decrease the The encoding rate of the data in the cache queue corresponding to the target device.
  • the cache management module is further configured to delete a cache queue corresponding to the target device after the connection between the source device and the target device is disconnected.
  • the source device is a cloud box
  • the target device is a client set top box
  • the cache management module separately creates a cache queue for each target device.
  • the source device after acquiring the information of the target device, the source device can dynamically create a cache queue for the target device, and draw data to be shared by the target device into the cache queue, and further The transport stream corresponding to the data in the cache queue is sent to the target set. Therefore, it is no longer limited to the fixed and single sharing of the screen data in a screen capture manner, which can meet the different sharing needs of the user, for example, sharing the window data as the data to be shared to the target device; for example, different data to be shared Draw to cache queues created for different target devices to share.
  • FIG. 1 is a schematic diagram showing the effect of screen data synchronization implemented in the prior art
  • FIG. 2 is a flowchart of a main method according to an embodiment of the present invention.
  • FIG. 3 is a flowchart of a method for establishing an RTSP service over an IP network according to an embodiment of the present invention
  • FIG. 4 is a schematic diagram of source device sharing window data according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of displaying, by a target device, shared window data according to an embodiment of the present disclosure
  • FIG. 6 is a schematic diagram of interaction of sharing data according to an embodiment of the present invention.
  • FIG. 7 is a structural diagram of a device according to an embodiment of the present invention.
  • FIG. 2 is a flowchart of a main method according to an embodiment of the present invention. As shown in FIG. 2, the method may include the following steps:
  • a cache queue is created for the target device.
  • the source device When the source device shares data to the target device, it establishes a connection with the target device.
  • the established connection may be a connection of a Real Time Streaming Protocol (RTSP) (hereinafter referred to as an RTSP connection) or an HTTP. (HyperText Transfer Protocol) A connection to other transport protocol services.
  • RTSP Real Time Streaming Protocol
  • HTTP HyperText Transfer Protocol
  • the source device may acquire information of the target device, such as target device identification, address information, port information, and the like.
  • the source device creates a separate cache queue for the target device, which is used for caching Data shared to the corresponding target device.
  • a connection when establishing a connection, can be established through an IP network, or a connection can be established through a wifi network.
  • IP network When establishing a connection, a connection can be established through an IP network, or a connection can be established through a wifi network. The manner in which the connection is established through the IP network will be described in detail in the subsequent embodiments.
  • the source device draws data to be shared to the target device to a cache queue corresponding to the target device.
  • the information about the cache queue created by the target device may be transmitted as a parameter to the interface combination module.
  • the interface combination module obtains the data to be shared to the target device, the data to be shared to the target device is mapped to the target device. Cache queue.
  • the data shared by the source device to the target device may include, but is not limited to, the following two situations:
  • the first case the user wants to share the data of a window in the source device to the target device, for example, the user triggers sharing of the data for the window by clicking the sharing option in a window.
  • the interface combination module can obtain the data of the window from the corresponding cache of the window, and each window in the source device has a corresponding cache for storing the window data, and the interface combination module is configured according to the window corresponding to the user operation.
  • the identifier finds the cache corresponding to the window, and obtains data from the cache, which is the data to be shared to the target device. Then, the interface combination module draws the data of the window to the cache queue corresponding to the target device.
  • the second case the user wants to share the data of the screen in the source device to the target device, for example, the user triggers the sharing option by clicking the screen (this option can be displayed by clicking a virtual button or a physical button, or appearing in a menu) Sharing of window data.
  • the interface combination module can obtain the data of each window from the cache corresponding to each window included in the screen, and draw the data of each window to the cache queue corresponding to the target device according to the position information of each window on the screen.
  • the screen may contain data of one window, and may also contain data of multiple windows, and the interface combination module obtains data of each window from the cache corresponding to the window included in the screen.
  • the interface combination module draws the data of each window to the cache queue corresponding to the target device according to the position information of each window on the screen.
  • the source device is triggered to share data to the target device, and other methods, such as sending a control signal to the source device, may be employed. formula.
  • the data in the cache queue is streamed.
  • the data in the cache queue is usually raw data, such as original video data, audio data, text data, etc., and the original data is encoded to obtain an ES (elemental stream). Then, the ES is grouped to form a PES (elemental stream), and the PES is a data stream formed after the ES stream is processed by the PES packetizer. In this process, the ES packet is grouped, and the PES is packaged. Finally, the PES is re-encapsulated to form a TS (transport stream).
  • the TS is composed of fixed-length TS packets. The TS packet is a re-encapsulation of the PES packet, and the packet header information of the PES packet still exists in the TS packet.
  • the source device sends the TS obtained after the streaming process to the target device by using a connection with the target device.
  • the above steps 202-204 are continuously performed during the process of sharing data, so that the TS of the source device can be continuously transmitted to the target device.
  • the information of the feedback channel between the source device and the target device may be further negotiated.
  • the target device can feed back the TS receiving condition, such as the code loss rate, to the source device through the feedback channel.
  • the source device may adjust the streaming processing of the data in the buffer queue corresponding to the target device according to the TS receiving status, for example, correspondingly increase or decrease the coding rate of the data.
  • the sharing end may be triggered by a user operation of the source device or the target device side. For example, if the user of the source device or the target device selects the option to end the sharing, the sharing is ended, and the connection between the source device and the target device is disconnected. It can also be triggered automatically after the shared data ends. For example, a window is playing a video. When the video ends, the sharing is automatically ended, and the connection between the source device and the target device is disconnected. Then, in 205, the connection between the source device and the target device is disconnected, and the source device deletes the cache queue corresponding to the target device.
  • the source device can share data to multiple target devices, and only need to create a cache queue for each target device, and the data shared to multiple target devices may be the same or different.
  • the device to which the present invention relates may be a PC (Personal Computer) device, a notebook computer, a smart phone, a tablet computer, a smart TV, a PDA (Personal Digital Assistant), or other computer system.
  • PC Personal Computer
  • These devices are architecturally composed of basic components such as buses, processing systems, storage systems, one or more input/output systems, and communication interfaces.
  • the bus may include one or more wires for communication between various components of the device.
  • a processing system includes various types of processors or microprocessors for executing instructions, processing processes, or threads.
  • the storage system may include a dynamic memory such as a random access memory (RAM) that stores dynamic information, and a static memory such as a read only memory (ROM) that stores static information, and a large-capacity memory including a magnetic or optical recording medium and a corresponding drive.
  • the input system allows the user to input information to the device, such as a keyboard, mouse, stylus, voice recognition system, touch screen, or biometric system.
  • the output system includes a display, a printer, a speaker, and the like for outputting information.
  • the communication interface is used to enable the device to communicate with other devices.
  • the communication interfaces can be connected to the network through a wired connection, a wireless connection, or an optical connection, so that devices can communicate with each other through the network.
  • the network may include a local area network (LAN), a wide area network (WAN), the Internet, etc., or a combination of these networks.
  • the device includes operating system software for managing system resources, controlling the running of other programs, and application software for implementing specific functional
  • the shared data according to the present invention may be text data, media data such as video, audio, image, etc., or hypertext data such as HTML data.
  • the method for sharing the data of the RTSP service through the IP network is as follows.
  • the method may specifically include the following steps:
  • the current state of the device 1 is as shown in the screen state of the source device in FIG. 1, assuming that the user wants to share the data of the topmost window (window 3) to the device 2, and the user appears in the menu by some operations (such as long pressing the window).
  • the option of the data sharing function starts to establish a connection with the target device after the user selects the "Share" option.
  • the device 1 broadcasts the IP address of the device 1 and specifies port information in the local area network, the designated port being used to establish an RTSP connection with the target device.
  • the device 2 in the local area network After receiving the broadcast, the device 2 in the local area network sends a connection request to the device 1, where the connection request includes the IP address and port information of the device 2, and after the device 1 responds, the device 1
  • the handshake process establishes an RTSP connection between device 1 and device 2.
  • the device 1 can register the IP address of the device 1 and the designated port information to the server side.
  • the device 2 as the target device can acquire the IP address registered by the device 1 and the designated port information from the server side.
  • a password can be registered at the same time.
  • the device 2 obtains the IP address and the designated port information registered by the device 1 from the server.
  • the other device without the password cannot obtain the IP registered by the device 1. Address and specified port information.
  • the device 2 transmits a connection request to the device 1 through the above IP address and port information, and the device 1 and the device 2 establish an RTSP connection.
  • this embodiment is an example of establishing an RTSP connection by means of an IP network.
  • the device 1 can also establish a wifi connection with the device 2 through the wifi discovery mechanism, and then perform an RTSP handshake (negotiating the port number used by the two parties to establish an RTSP connection), thereby establishing RTSP connection.
  • device 1 creates a BufferQueue for device 2.
  • the source device can create a MediaSource (data source) and create a BufferQueue in the MediaSource.
  • a remote display device remote display device
  • the remote display device corresponds to the target device, for example, the IP address and port information used by the target device to establish an RTSP connection with the source device, and the information of the BufferQueue is passed as a parameter to the surfaceflinger ( Interface combination module), the surfacefferer uses the BufferQueue as the data source of the RemotedisplayDevice, and the surfaceflinger writes the data shared to the RemotedisplayDevice to the BufferQueue. If there are multiple target devices, create a BufferQueue and RemotedisplayDevice for each target device.
  • the surfaceflinger obtains data from the corresponding cache of the window according to the window identifier of the user operation and draws the BufferQueue created in step 302.
  • the surfaceflinger service creates two threads, one for monitoring console events and the other for rendering UI.
  • When surfaceflinger renders the UI it will The data is captured in the corresponding cache displayed in each window of the screen and drawn to the frame buffer of the screen.
  • the surfaceflinger can determine the window identifier corresponding to the user sharing operation, thereby acquiring the data to be shared, and on the other hand, can reuse the surfaceflinger drawing function, so that it can draw the window data to the BufferQueue of the RemotedisplayDevice, not just Is to draw the window data to the local displayDevice.
  • the data to be shared is the data of the screen
  • the screen data of the device 1 and the device 2 are to be consistent
  • the positions of the windows in the screen also need to be consistent.
  • surfaceflinger needs to draw BufferQueue according to the position of each window on the screen of device 1, where the position of each window includes not only the position of the window on the screen plane (such as coordinates, window size), but also the Z of each window.
  • the Z-order of each window reflects the coverage of each window.
  • the MediaPull (data pull module) in the device 1 takes the data from the BufferQueue and sends it to the Converter for encoding to obtain the ES; then, the PES packetizer packs the packet to form the PES; and then the TS package module The PES is packaged to form a TS.
  • the TS formed by streaming the data in the BufferQueue is sent to the device 2 corresponding to the RemotedisplayDevice through the RTSP connection.
  • the remote display device is bound to the IP address and port number used by device 2 and device 1 when establishing an RTSP connection.
  • the TS formed by the data stream in the BufferQueue is sent to the IP address and port number.
  • the device 2 can receive the TS.
  • the device 2 can perform the inverse processing of the foregoing streaming processing, that is, decapsulating the TS to obtain a PES, and then removing the packet header from the PES to obtain the ES, and then decoding the ES to obtain the original data. Display.
  • the device 2 can display the window data shared by the device 1, as shown in FIG.
  • the feedback channel is further negotiated, as shown in FIG.
  • the feedback channel is used by the device 2 to periodically feed back the reception status of the TS to the device 1.
  • the device 2 periodically feeds back the packet loss rate of the TS to the device 1.
  • the device 1 can adjust the corresponding to the device 2 according to the receiving condition of the TS. Streaming the data in the cache queue. For example, when the packet loss rate fed back by the device 2 exceeds the first threshold, the coding rate of the data is decreased. When the packet loss rate fed back by the device 2 is lower than the second threshold, the coding rate of the data is increased, where the first threshold is greater than the second threshold. Threshold.
  • the RTSP connection between the device 1 and the device 2 is disconnected, and the device 1 deletes the Remotedisplay Device and the MediaSource created for the device 2 and the BufferQueue therein.
  • FIG. 7 is a structural diagram of a device according to an embodiment of the present invention.
  • the device is disposed on a source device.
  • the device may include: a cache management module 01, an interface combination module 02, a streaming processing module 03, and a data transmission.
  • Module 04 may also include a connection establishment module 05 and a feedback receiving module 06.
  • the cache management module 01 is responsible for creating a cache queue for the target device.
  • the information of the target device is obtained by the source device in the process of establishing a connection between the target device, and the connection establishing module 05 is responsible for establishing a connection between the source device and the target device, thereby acquiring information about the target device.
  • the connection establishing module 05 establishes a connection with the target device, and the established connection may be an RTSP connection, or may be a connection of other transport protocol services such as an HTTP service.
  • the source device may acquire information of the target device, such as target device identification, address information, port information, and the like.
  • the connection establishment module 05 can establish a connection through an IP network when establishing a connection, or can establish a connection through a wifi network.
  • the connection establishment module 05 can broadcast the IP address and the designated port information of the source device in the local area network, and after receiving the broadcast, the target device sends the connection to the source device. Sending a connection request carrying the IP address of the target device and the designated port information, wherein the designated port is a port for establishing an RTSP connection.
  • the connection establishment module 05 of the source device listens to the connection request sent by the target device through the designated port, establishes a connection with the target device.
  • the connection establishment module 05 of the source device may register the IP address of the source device and the designated port information with the server.
  • the target device is obtained from the server After the IP address and the specified port information are registered, the device can send a connection request to the specified port.
  • the connection request carries the IP address and specified port information of the target device.
  • the source device registers with the server, it can provide a password, and the target device can obtain the IP address registered by the source device and the designated port information only by providing the same password to the server.
  • the connection establishment module 05 receives the connection request sent by the target device through the designated port, establishes a connection with the target device.
  • the interface combination module 02 is responsible for drawing data to be shared to the target device to a cache queue corresponding to the target device.
  • the cache management module 01 passes the information of the cache queue created for the target device as a parameter to the interface combination module 02.
  • the interface combination module 02 acquires the data to be shared to the target device
  • the data to be shared to the target device is mapped to the cache queue corresponding to the target device.
  • the interface combination module 02 can be embodied as a surfaceflinger, and the cache queue is created for the target device as follows: a BufferQueue is created in the MediaSource, and a RemotedisplayDevice is created.
  • the RemotedisplayDevice corresponds to the target device, for example, the target device is bound to the source. IP address and port information used by the device to establish an RTSP connection.
  • the information of the BufferQueue is passed as a parameter to the surfaceflinger.
  • the surfacefferer is used as the data source of the RemotedisplayDevice by the surfaceflinger.
  • the surfaceflinger then writes the data shared to the RemotedisplayDevice to the BufferQueue.
  • the names of the above functions may change when applied to other operating systems, but the functions are similar to those performed.
  • the interface combination module 02 may acquire the data of the window from the cache corresponding to the window, and draw the data of the window to the cache queue corresponding to the target device.
  • the combination module 02 can obtain the data of each window from the cache corresponding to each window included in the screen, and draw the data of each window to the cache queue corresponding to the target device according to the position information of each window on the screen.
  • the position of each window here includes not only the position of the window on the screen plane (such as coordinates, window size), but also the Z-order of each window (the windows are perpendicular to the screen Z). The position on the axis), the Z-order of each window reflects the coverage of each window.
  • the streaming processing module 03 is responsible for streaming the data in the cache queue. Specifically, the method includes: encoding the data in the buffer queue to obtain an ES; grouping the ES into a PES; and repackaging the PES to form a TS.
  • the data transmission module 04 is responsible for transmitting the transport stream obtained after the streaming process to the target device through the connection between the source device and the target device.
  • the connection establishing module 05 may further negotiate information of the feedback channel between the source device and the target device.
  • the target device can feed back the receiving condition of the transport stream through the feedback channel, and the feedback receiving module 06 can receive the transport stream receiving condition fed back by the target device through the feedback channel.
  • the streaming processing module 03 can adjust the streaming processing of the data in the cache queue corresponding to the target device according to the receiving status of the transport stream.
  • the foregoing transport stream receiving status may include a packet loss rate.
  • the streaming processing module 03 adjusts the stream processing of the data in the buffer queue corresponding to the target device, the streaming rate may be increased or decreased. The way. For example, when the packet loss rate of the target device exceeds the first threshold, the coding rate of the data is decreased. When the packet loss rate reported by the target device is lower than the second threshold, the coding rate of the data is increased, where the first threshold is greater than the second threshold. Threshold.
  • the cache management module 01 deletes the cache queue corresponding to the target device.
  • the cloud box is actually a network set-top box placed in the cloud. Users need to install various types of APPs installed in cloud boxes instead of local set-top boxes or TVs.
  • the user sends a control signal to the cloud box through the set top box of the user end, and the cloud box pushes the video signal to the set top box of the user end in the form of a video stream according to the control signal.
  • the cloud box can be used as the source device, and the set top box of the user end is used as the target device, and the cloud box and the set top box establish an RTSP connection based on the IP network, thereby realizing data sharing.
  • the video data of the APP installed and running in the cloud box can be shared to the set-top box of the user terminal, so that the video data of the APP can be played in the set-top box of the user terminal.
  • the method and apparatus provided by the present invention can have the following advantages:
  • the source device can dynamically create a cache queue for the target device, draw data to be shared to the target device into the cache queue, and further transmit the data corresponding to the cache queue.
  • the stream is sent to the target device, so that it is no longer limited to the sharing of screen data, and the window data can also be shared to the target device.
  • the present invention can realize the establishment of an RTSP connection based on an IP network, thereby realizing data sharing between devices, and is no longer limited to a wifi network. Moreover, it can not only realize data sharing based on IP network in the local area network, but also realize data sharing based on IP network not in the same local area network.
  • Data sharing can be implemented for multiple target devices, and different data sharing can be implemented for different target devices.
  • each functional module in various embodiments of the present invention may be integrated into one processing module.
  • each module may exist physically separately, or two or more modules may be integrated into one module.
  • the above integrated modules can be implemented in the form of hardware or in the form of hardware plus software function modules.
  • the above-described integrated modules implemented in the form of software function modules can be stored in a computer readable storage medium.
  • the software function modules described above are stored in a storage medium and include instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor to perform the methods of the various embodiments of the present invention. Part of the steps.
  • the foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. .

Abstract

A data sharing method and device are used for sharing data of a source apparatus to a target apparatus. The method comprises that: after obtaining information of the target apparatus, the source apparatus creates a buffer queue for the target apparatus; data to be shared to the target apparatus is drawn to the buffer queue corresponding to the target apparatus; the transmission stream corresponding to the data in the buffer queue is transmitted to the target apparatus through a connection with the target apparatus. The method is no longer limited to the fixed single sharing by means of screen shots and can meet different sharing requirements of users, window data can be shared to the target apparatus as to-be-shared data; and different to-be-shared data can be respectively drawn to buffer queues created for different target apparatuses for sharing.

Description

一种数据分享的方法和装置Method and device for data sharing 【技术领域】[Technical Field]
本发明涉及计算机应用技术领域,特别涉及一种数据分享的方法和装置。The present invention relates to the field of computer application technologies, and in particular, to a method and apparatus for data sharing.
【背景技术】【Background technique】
在很多情况下,用户希望能够在不同设备间进行数据的快速分享,例如将当前设备上显示的视频数据快速分享至另一设备。可以将分享数据的一方设备称为源设备,将接收数据的一方设备称为目标设备。In many cases, users want to be able to quickly share data between different devices, such as quickly sharing video data displayed on the current device to another device. A device that shares data may be referred to as a source device, and a device that receives data may be referred to as a target device.
目前主要采用的分享方式是基于wifi的数据分享,这种方式下,源设备和目标设备首先通过wifi发现机制建立wifi连接,在完成能力协商后建立分享Session(会话),将源设备的屏幕进行截屏,将截屏后得到的截屏图像通过wifi连接发送给目标设备进行显示。然而由于该方式中源设备只能实现屏幕数据(屏幕数据指的是设备屏幕显示的数据)的截屏分享,对于窗口数据的分享则可能无法实现。例如当前屏幕上显示多个窗口时,只能够实现源设备和目标设备间屏幕的截屏分享,如图1中所示。这种方式分享的数据固定且单一,不能满足用户的多样性分享需求,例如,用户希望分享某个应用窗口的数据,或者,用户希望针对不同目标设备分享不同的数据。At present, the main sharing method is wifi-based data sharing. In this mode, the source device and the target device first establish a wifi connection through the wifi discovery mechanism, establish a sharing session (session) after completing the capability negotiation, and perform the screen of the source device. Screen capture, the screen capture image obtained after the screen capture is sent to the target device for display through the wifi connection. However, since the source device can only realize the screen sharing of the screen data (the screen data refers to the data displayed on the device screen) in this mode, the sharing of the window data may not be realized. For example, when multiple windows are displayed on the current screen, only the screen sharing of the screen between the source device and the target device can be realized, as shown in FIG. The data shared in this way is fixed and single, and cannot meet the user's diversity sharing requirements. For example, the user wants to share data of an application window, or the user wants to share different data for different target devices.
【发明内容】[Summary of the Invention]
有鉴于此,本发明提供了一种数据分享的方法和装置,可以用于实现多样性的数据分享需求,例如,窗口数据的分享。In view of this, the present invention provides a data sharing method and apparatus, which can be used to implement diverse data sharing requirements, for example, sharing of window data.
具体技术方案如下:The specific technical solutions are as follows:
本发明提供了一种数据分享的方法,该方法包括:The invention provides a method for data sharing, the method comprising:
源设备获取到目标设备的信息后,针对所述目标设备创建缓存队列;After obtaining the information of the target device, the source device creates a cache queue for the target device.
将要分享给所述目标设备的数据绘制到所述目标设备对应的缓存队列;Draw data to be shared to the target device to a cache queue corresponding to the target device;
通过与所述目标设备之间的连接,将所述缓存队列中数据对应的传输流发送 给所述目标设备。Transmitting a transport stream corresponding to the data in the cache queue by a connection with the target device Give the target device.
根据本发明一可选实施方式,所述源设备获取到目标设备的信息包括:According to an optional implementation manner of the present invention, the acquiring, by the source device, information about the target device includes:
所述源设备在建立与所述目标设备之间的连接时,获取到所述目标设备的信息。The source device acquires information of the target device when establishing a connection with the target device.
根据本发明一可选实施方式,针对所述目标设备创建缓存队列包括:According to an optional implementation manner of the present invention, creating a cache queue for the target device includes:
所述源设备创建数据源MediaSource,在MediaSource中创建缓存队列BufferQueue;以及,创建与所述目标设备对应的远端显示设备RemotedisplayDevice;The source device creates a data source MediaSource, creates a buffer queue BufferQueue in the MediaSource, and creates a remote display device RemotedisplayDevice corresponding to the target device;
将所述BufferQueue作为所述RemotedisplayDevice的数据源。The BufferQueue is used as a data source of the RemotedisplayDevice.
根据本发明一可选实施方式,所述源设备与所述目标设备之间的连接的建立包括:According to an optional implementation manner of the present invention, the establishing of the connection between the source device and the target device includes:
所述源设备在局域网内广播所述源设备的IP地址和指定端口信息,通过所述指定端口监听到所述目标设备发送的连接请求后,与所述目标设备建立连接;或者,The source device broadcasts an IP address and designated port information of the source device in a local area network, and after the specified port listens to the connection request sent by the target device, establishes a connection with the target device; or
所述源设备向服务器注册所述源设备的IP地址和指定端口信息,通过所述指定端口接收到所述目标设备发送的连接请求后,与所述目标设备建立连接,其中所述目标设备从所述服务器获取所述源设备的IP地址和指定端口信息;或者,The source device registers the IP address and the designated port information of the source device with the server, and after receiving the connection request sent by the target device by using the designated port, establishing a connection with the target device, where the target device is Obtaining, by the server, an IP address and a designated port information of the source device; or
所述源设备通过wifi发现机制与所述目标设备建立连接。The source device establishes a connection with the target device through a wifi discovery mechanism.
根据本发明一可选实施方式,所述将要分享给所述目标设备的数据绘制到所述目标设备对应的缓存队列包括:According to an optional embodiment of the present invention, the data to be shared to the target device is mapped to a cache queue corresponding to the target device, including:
将针对所述目标设备创建的缓存队列的信息作为参数传递给界面组合模块;Passing information about the cache queue created by the target device as a parameter to the interface combination module;
由所述界面组合模块获取要分享给所述目标设备的数据后,将要分享给所述目标设备的数据绘制到所述目标设备对应的缓存队列。After the data to be shared by the target device is acquired by the interface combination module, data to be shared to the target device is mapped to a cache queue corresponding to the target device.
根据本发明一可选实施方式,所述将要分享给所述目标设备的数据绘制到所述目标设备对应的缓存队列包括:According to an optional embodiment of the present invention, the data to be shared to the target device is mapped to a cache queue corresponding to the target device, including:
如果要分享给所述目标设备的数据为某窗口的数据,则从所述窗口对应的缓 存中获取所述窗口的数据,将所述窗口的数据绘制到所述目标设备对应的缓存队列;或者,If the data to be shared to the target device is data of a certain window, the corresponding corresponding window Obtaining data of the window, and drawing data of the window to a cache queue corresponding to the target device; or
如果要分享给所述目标设备的数据为屏幕的数据,则从所述屏幕所包含各窗口对应的缓存中获取各窗口的数据,依据各窗口在屏幕上的位置信息,将各窗口的数据绘制到所述目标设备对应的缓存队列。If the data to be shared to the target device is the data of the screen, the data of each window is obtained from the cache corresponding to each window included in the screen, and the data of each window is drawn according to the position information of each window on the screen. Go to the cache queue corresponding to the target device.
根据本发明一可选实施方式,该方法还包括:According to an optional embodiment of the present invention, the method further includes:
对所述缓存队列中的数据进行编码,得到基本数据流ES;Encoding the data in the cache queue to obtain a basic data stream ES;
对所述ES进行分组形成分组基本流PES;Grouping the ES to form a packet elementary stream PES;
将所述PES进行重新封装形成所述缓存队列中数据对应的传输流TS。Re-encapsulating the PES to form a transport stream TS corresponding to the data in the buffer queue.
根据本发明一可选实施方式,在所述连接的建立过程中进一步协商所述源设备与所述目标设备之间反馈通道的信息;According to an optional implementation manner of the present invention, information about a feedback channel between the source device and the target device is further negotiated during establishment of the connection;
该方法还包括:The method also includes:
所述源设备通过所述反馈通道接收所述目标设备反馈的传输流接收状况;Receiving, by the source device, a transport stream receiving condition fed back by the target device by using the feedback channel;
依据所述传输流接收状况,调整对所述目标设备所对应缓存队列中数据的编码。And adjusting, according to the receiving condition of the transport stream, encoding of data in a cache queue corresponding to the target device.
根据本发明一可选实施方式,所述传输流接收状况包括丢包率;According to an optional implementation manner of the present invention, the transport stream receiving status includes a packet loss rate;
所述调整对所述目标设备所对应缓存队列中数据的编码包括:调整对所述目标设备所对应缓存队列中数据的编码方式;或者,The encoding of the data in the cache queue corresponding to the target device by the adjusting includes: adjusting a coding manner of data in a cache queue corresponding to the target device; or
提高或降低对所述目标设备所对应缓存队列中数据的编码率。Increasing or decreasing the coding rate of data in the cache queue corresponding to the target device.
根据本发明一可选实施方式,该方法还包括:According to an optional embodiment of the present invention, the method further includes:
所述源设备与所述目标设备之间的连接断开后,所述源设备删除所述目标设备对应的缓存队列。After the connection between the source device and the target device is disconnected, the source device deletes a cache queue corresponding to the target device.
根据本发明一可选实施方式,所述源设备为云盒,所述目标设备为用户端机顶盒。According to an optional embodiment of the present invention, the source device is a cloud box, and the target device is a client set top box.
根据本发明一可选实施方式,如果所述目标设备的数量多于1个,则针对各目标设备分别执行所述数据分享的方法。According to an optional implementation manner of the present invention, if the number of the target devices is more than one, the method for data sharing is separately performed for each target device.
本发明还提供了一种数据分享的装置,设置于源设备,该装置包括: The present invention also provides a device for data sharing, which is disposed on a source device, and the device includes:
缓存管理模块,用于在所述源设备获取到所述目标设备的信息后,针对所述目标设备创建缓存队列;a cache management module, configured to create a cache queue for the target device after the source device obtains information about the target device;
界面组合模块,用于将要分享给所述目标设备的数据绘制到所述目标设备对应的缓存队列;An interface combination module, configured to map data to be shared to the target device to a cache queue corresponding to the target device;
数据传输模块,用于通过所述源设备与所述目标设备之间的连接,将所述缓存队列中数据对应的传输流发送给所述目标设备。And a data transmission module, configured to send, by using the connection between the source device and the target device, a transport stream corresponding to data in the cache queue to the target device.
根据本发明一可选实施方式,该装置还包括:连接建立模块,用于建立所述源设备与所述目标设备之间的连接,从而获取所述目标设备的信息。According to an optional embodiment of the present invention, the device further includes: a connection establishing module, configured to establish a connection between the source device and the target device, thereby acquiring information of the target device.
根据本发明一可选实施方式,所述缓存管理模块在针对所述目标设备创建缓存队列时,具体执行:According to an optional implementation manner of the present invention, when the cache management module creates a cache queue for the target device, the cache management module performs:
创建MediaSource,在MediaSource中创建BufferQueue;以及,创建与所述目标设备对应的RemotedisplayDevice;Create a MediaSource, create a BufferQueue in the MediaSource; and create a RemotedisplayDevice corresponding to the target device;
所述界面组合模块将所述BufferQueue作为所述RemotedisplayDevice的数据源。The interface combination module uses the BufferQueue as a data source of the RemotedisplayDevice.
根据本发明一可选实施方式,所述连接建立模块,具体用于:According to an optional implementation manner of the present invention, the connection establishing module is specifically configured to:
在局域网内广播所述源设备的IP地址和指定端口信息,通过所述指定端口监听到所述目标设备发送的连接请求后,与所述目标设备建立连接;或者,Broadcasting the IP address and the specified port information of the source device in the local area network, and after the specified port listens to the connection request sent by the target device, establish a connection with the target device; or
向服务器注册所述源设备的IP地址和指定端口信息,通过所述指定端口接收到所述目标设备发送的连接请求后,与所述目标设备建立连接,其中所述目标设备从所述服务器获取所述源设备的IP地址和指定端口信息;或者,Registering, by the server, the IP address and the designated port information of the source device, and after receiving the connection request sent by the target device by using the designated port, establishing a connection with the target device, where the target device obtains from the server The IP address of the source device and the specified port information; or
通过wifi发现机制与所述目标设备建立连接。Establishing a connection with the target device through a wifi discovery mechanism.
根据本发明一可选实施方式,所述缓存管理模块,还用于将针对所述目标设备创建的缓存队列的信息作为参数传递给所述界面组合模块;According to an optional embodiment of the present invention, the cache management module is further configured to: pass information about a cache queue created by the target device as a parameter to the interface combination module;
所述界面组合模块,具体用于获取要分享给所述目标设备的数据后,将要分享给所述目标设备的数据绘制到所述目标设备对应的缓存队列。The interface combination module is configured to: after acquiring data to be shared by the target device, draw data to be shared by the target device to a cache queue corresponding to the target device.
根据本发明一可选实施方式,如果要分享给所述目标设备的数据为某窗口的数据,则所述界面组合模块从所述窗口对应的缓存中获取所述窗口的数据,将 所述窗口的数据绘制到所述目标设备对应的缓存队列;或者,According to an optional embodiment of the present invention, if the data to be shared to the target device is data of a certain window, the interface combination module acquires data of the window from a cache corresponding to the window, and The data of the window is drawn to a cache queue corresponding to the target device; or
如果要分享给所述目标设备的数据为屏幕的数据,则所述界面组合模块从所述屏幕所包含各窗口对应的缓存中获取各窗口的数据,依据各窗口在屏幕上的位置信息,将各窗口的数据绘制到所述目标设备对应的缓存队列。If the data to be shared by the target device is the data of the screen, the interface combination module acquires data of each window from the cache corresponding to each window included in the screen, according to the position information of each window on the screen, The data of each window is drawn to a cache queue corresponding to the target device.
根据本发明一可选实施方式,该装置还包括:流化处理模块,具体用于对所述缓存队列中的数据进行编码,得到ES;对所述ES进行分组形成PES;将所述PES进行重新封装形成TS。According to an optional embodiment of the present invention, the device further includes: a streaming processing module, specifically configured to encode data in the buffer queue to obtain an ES; group the ES to form a PES; and perform the PES Repackage to form the TS.
根据本发明一可选实施方式,该装置还包括:According to an optional embodiment of the present invention, the device further includes:
连接建立模块,用于在建立所述连接的过程中进一步协商所述源设备与所述目标设备之间反馈通道的信息;a connection establishing module, configured to further negotiate information about a feedback channel between the source device and the target device in the process of establishing the connection;
反馈接收模块,用于通过所述反馈通道接收所述目标设备反馈的传输流接收状况;a feedback receiving module, configured to receive, by using the feedback channel, a transport stream receiving condition fed back by the target device;
所述流化处理模块,还用于依据所述传输流接收状况,调整对所述目标设备所对应缓存队列中数据的编码。The streaming processing module is further configured to adjust encoding of data in a cache queue corresponding to the target device according to the receiving status of the transport stream.
根据本发明一可选实施方式,所述传输流接收状况包括丢包率;According to an optional implementation manner of the present invention, the transport stream receiving status includes a packet loss rate;
所述流化处理模块在调整对所述目标设备所对应缓存队列中数据的编码时,具体用于调整对所述目标设备所对应缓存队列中数据的编码方式,或者,提高或降低对所述目标设备所对应缓存队列中数据的编码率。When the encoding of the data in the cache queue corresponding to the target device is adjusted, the streaming processing module is specifically configured to adjust a coding manner of data in a cache queue corresponding to the target device, or increase or decrease the The encoding rate of the data in the cache queue corresponding to the target device.
根据本发明一可选实施方式,所述缓存管理模块,还用于所述源设备与所述目标设备之间的连接断开后,删除所述目标设备对应的缓存队列。According to an optional embodiment of the present invention, the cache management module is further configured to delete a cache queue corresponding to the target device after the connection between the source device and the target device is disconnected.
根据本发明一可选实施方式,所述源设备为云盒,所述目标设备为用户端机顶盒。According to an optional embodiment of the present invention, the source device is a cloud box, and the target device is a client set top box.
根据本发明一可选实施方式,如果所述目标设备的数量多于1个,则所述缓存管理模块针对各目标设备分别创建缓存队列。According to an optional implementation manner of the present invention, if the number of the target devices is more than one, the cache management module separately creates a cache queue for each target device.
由以上技术方案可以看出,本发明中,源设备在获取目标设备的信息后,能够针对该目标设备动态创建缓存队列,将要分享给该目标设备的数据绘制到该缓存队列中,并进一步将缓存队列中的数据对应的传输流发送至目标设 备,从而不再局限于屏幕数据以截屏方式的固定且单一的分享,能够满足用户的不同分享需求,例如,将窗口数据作为待分享数据分享至目标设备;再例如,将不同的待分享数据分别绘制到针对不同目标设备创建的缓存队列,以分享。As can be seen from the above technical solution, in the present invention, after acquiring the information of the target device, the source device can dynamically create a cache queue for the target device, and draw data to be shared by the target device into the cache queue, and further The transport stream corresponding to the data in the cache queue is sent to the target set. Therefore, it is no longer limited to the fixed and single sharing of the screen data in a screen capture manner, which can meet the different sharing needs of the user, for example, sharing the window data as the data to be shared to the target device; for example, different data to be shared Draw to cache queues created for different target devices to share.
【附图说明】[Description of the Drawings]
图1为现有技术中实现的屏幕数据同步的效果示意图;1 is a schematic diagram showing the effect of screen data synchronization implemented in the prior art;
图2为本发明实施例提供的主要方法流程图;2 is a flowchart of a main method according to an embodiment of the present invention;
图3为本发明实施例提供的通过IP网络建立RTSP服务的方法流程图;FIG. 3 is a flowchart of a method for establishing an RTSP service over an IP network according to an embodiment of the present invention;
图4为本发明实施例提供的源设备分享窗口数据的示意图;4 is a schematic diagram of source device sharing window data according to an embodiment of the present invention;
图5为本发明实施例提供的目标设备显示分享的窗口数据的示意图;FIG. 5 is a schematic diagram of displaying, by a target device, shared window data according to an embodiment of the present disclosure;
图6为本发明实施例提供的分享数据的交互示意图;FIG. 6 is a schematic diagram of interaction of sharing data according to an embodiment of the present invention;
图7为本发明实施例提供的装置结构图。FIG. 7 is a structural diagram of a device according to an embodiment of the present invention.
【具体实施方式】【detailed description】
为了使本发明的目的、技术方案和优点更加清楚,下面结合附图和具体实施例对本发明进行详细描述。The present invention will be described in detail below with reference to the drawings and specific embodiments.
图2为本发明实施例提供的主要方法流程图,如图2中所示,该方法可以包括以下步骤:FIG. 2 is a flowchart of a main method according to an embodiment of the present invention. As shown in FIG. 2, the method may include the following steps:
在201中,源设备获取到目标设备的信息后,针对该目标设备创建缓存队列。In 201, after the source device acquires the information of the target device, a cache queue is created for the target device.
源设备要分享数据给目标设备时,会与目标设备建立连接,该建立的连接可以是RTSP(Real Time Streaming Protocol,实时流传输协议)服务的连接(后续简称为RTSP连接),也可以是HTTP(HyperText Transfer Protocol,超文本传输协议)服务等其他传输协议服务的连接。在建立连接的过程中,源设备可以获取到目标设备的信息,诸如目标设备标识、地址信息、端口信息等等。源设备针对目标设备单独创建一个缓存队列,该缓存队列用于缓存 向对应目标设备分享的数据。When the source device shares data to the target device, it establishes a connection with the target device. The established connection may be a connection of a Real Time Streaming Protocol (RTSP) (hereinafter referred to as an RTSP connection) or an HTTP. (HyperText Transfer Protocol) A connection to other transport protocol services. In the process of establishing a connection, the source device may acquire information of the target device, such as target device identification, address information, port information, and the like. The source device creates a separate cache queue for the target device, which is used for caching Data shared to the corresponding target device.
另外,在建立连接时,可以通过IP网络建立连接,也可以通过wifi网络建立连接。对于通过IP网络建立连接的方式将在后续实施例中详细描述。In addition, when establishing a connection, a connection can be established through an IP network, or a connection can be established through a wifi network. The manner in which the connection is established through the IP network will be described in detail in the subsequent embodiments.
在202中,源设备将要分享给目标设备的数据绘制到目标设备对应的缓存队列。In 202, the source device draws data to be shared to the target device to a cache queue corresponding to the target device.
在本步骤中,可以将针对目标设备创建的缓存队列的信息作为参数传递给界面组合模块,由界面组合模块获取要分享给目标设备的数据后,将要分享给目标设备的数据绘制到目标设备对应的缓存队列。In this step, the information about the cache queue created by the target device may be transmitted as a parameter to the interface combination module. After the interface combination module obtains the data to be shared to the target device, the data to be shared to the target device is mapped to the target device. Cache queue.
源设备分享数据给目标设备的数据可以包括但不限于以下两种情况:The data shared by the source device to the target device may include, but is not limited to, the following two situations:
第一种情况:用户要分享源设备中某个窗口的数据给目标设备,例如用户通过点击某个窗口中的分享选项触发针对该窗口数据的分享。这种情况下,界面组合模块可以从该窗口对应的缓存中获取该窗口的数据,在源设备中每个窗口都存在对应的缓存用以存储窗口数据,界面组合模块依据用户操作所对应的窗口标识找到该窗口对应的缓存,从该缓存中获取数据,该数据就是要分享给目标设备的数据。然后,界面组合模块将该窗口的数据绘制到目标设备对应的缓存队列。The first case: the user wants to share the data of a window in the source device to the target device, for example, the user triggers sharing of the data for the window by clicking the sharing option in a window. In this case, the interface combination module can obtain the data of the window from the corresponding cache of the window, and each window in the source device has a corresponding cache for storing the window data, and the interface combination module is configured according to the window corresponding to the user operation. The identifier finds the cache corresponding to the window, and obtains data from the cache, which is the data to be shared to the target device. Then, the interface combination module draws the data of the window to the cache queue corresponding to the target device.
第二种情况:用户要分享源设备中屏幕的数据给目标设备,例如用户通过点击屏幕的分享选项(该选项可以通过点击虚拟按钮或者物理按钮后出现,或者在某菜单中出现)触发针对该窗口数据的分享。这种情况下,界面组合模块可以从屏幕所包含各窗口对应的缓存中获取各窗口的数据,依据各窗口在屏幕上的位置信息,将各窗口的数据绘制到目标设备对应的缓存队列。在屏幕上可能包含一个窗口的数据,也可能包含多个窗口的数据,界面组合模块从屏幕所包含窗口对应的缓存中获取各窗口的数据。为了保证目标设备与源设备在屏幕上展现的各窗口位置保持一致,界面组合模块依据各窗口在屏幕上的位置信息,绘制各窗口的数据至目标设备对应的缓存队列。The second case: the user wants to share the data of the screen in the source device to the target device, for example, the user triggers the sharing option by clicking the screen (this option can be displayed by clicking a virtual button or a physical button, or appearing in a menu) Sharing of window data. In this case, the interface combination module can obtain the data of each window from the cache corresponding to each window included in the screen, and draw the data of each window to the cache queue corresponding to the target device according to the position information of each window on the screen. The screen may contain data of one window, and may also contain data of multiple windows, and the interface combination module obtains data of each window from the cache corresponding to the window included in the screen. In order to ensure that the target device and the source device are consistent in the window positions displayed on the screen, the interface combination module draws the data of each window to the cache queue corresponding to the target device according to the position information of each window on the screen.
需要说明的是,除了用户在源设备上进行操作的方式触发源设备分享数据至目标设备之外,还可以采用其他方式,诸如向源设备发送控制信号的方 式。It should be noted that, in addition to the manner in which the user operates on the source device, the source device is triggered to share data to the target device, and other methods, such as sending a control signal to the source device, may be employed. formula.
在203中,对缓存队列中的数据进行流化处理。In 203, the data in the cache queue is streamed.
缓存队列中的数据通常为原始数据,例如原始视频数据、音频数据、文本数据等,对原始数据进行编码,得到ES(elemental stream,基本数据流)。然后对ES进行分组形成PES(elemental stream,分组基本流),PES是ES流经过PES打包器处理后形成的数据流,在这个过程中完成了将ES分组、进行PES打包等操作。最后对PES进行重新封装形成TS(transport stream,传输流),TS由定长的TS包构成,TS包是对PES包的重新封装,PES包的包头信息仍然存在于TS包中。The data in the cache queue is usually raw data, such as original video data, audio data, text data, etc., and the original data is encoded to obtain an ES (elemental stream). Then, the ES is grouped to form a PES (elemental stream), and the PES is a data stream formed after the ES stream is processed by the PES packetizer. In this process, the ES packet is grouped, and the PES is packaged. Finally, the PES is re-encapsulated to form a TS (transport stream). The TS is composed of fixed-length TS packets. The TS packet is a re-encapsulation of the PES packet, and the packet header information of the PES packet still exists in the TS packet.
在204中,源设备通过与目标设备之间的连接,将流化处理后得到的TS发送给目标设备。In 204, the source device sends the TS obtained after the streaming process to the target device by using a connection with the target device.
上述步骤202~204是在分享数据过程中持续执行的,使得源设备的TS能够持续发送至目标设备。The above steps 202-204 are continuously performed during the process of sharing data, so that the TS of the source device can be continuously transmitted to the target device.
另外,需要说明的是,在源设备与目标设备之间连接建立的过程中,除了协商上述TS的发送通道之外,还可以进一步协商源设备与目标设备之间的反馈通道的信息。目标设备可以通过该反馈通道向源设备反馈TS接收状况,例如丢码率。源设备可以依据TS接收状况,调整对该目标设备所对应缓存队列中数据的流化处理,例如相应提高或降低数据的编码率。In addition, it should be noted that, in the process of establishing a connection between the source device and the target device, in addition to negotiating the transmission channel of the TS, the information of the feedback channel between the source device and the target device may be further negotiated. The target device can feed back the TS receiving condition, such as the code loss rate, to the source device through the feedback channel. The source device may adjust the streaming processing of the data in the buffer queue corresponding to the target device according to the TS receiving status, for example, correspondingly increase or decrease the coding rate of the data.
当数据分享结束,该分享结束可以由源设备或目标设备一方的用户操作触发,例如源设备或目标设备的用户选择结束分享的选项,则结束分享,断开源设备与目标设备之间的连接。也可以在分享的数据结束后自动触发,例如某个窗口在播放视频,当视频播放结束后自动结束分享,断开源设备与目标设备之间的连接。那么在205中,源设备与目标设备之间的连接断开,源设备删除该目标设备对应的缓存队列。When the data sharing ends, the sharing end may be triggered by a user operation of the source device or the target device side. For example, if the user of the source device or the target device selects the option to end the sharing, the sharing is ended, and the connection between the source device and the target device is disconnected. It can also be triggered automatically after the shared data ends. For example, a window is playing a video. When the video ends, the sharing is automatically ended, and the connection between the source device and the target device is disconnected. Then, in 205, the connection between the source device and the target device is disconnected, and the source device deletes the cache queue corresponding to the target device.
通过上述方式,源设备可以分享数据给多个目标设备,只需针对各目标设备分别创建缓存队列,并且分享给多个目标设备的数据可以相同,也可以不同。 In the above manner, the source device can share data to multiple target devices, and only need to create a cache queue for each target device, and the data shared to multiple target devices may be the same or different.
本发明所涉及的设备可以是PC(个人计算机)设备、笔记本电脑、智能手机、平板电脑、智能电视、PDA(个人数字助理)或其他计算机系统。这些设备在架构上都包含一些基本组件,如总线、处理系统、存储系统、一个或多个输入/输出系统、和通信接口等。总线可以包括一个或多个导线,用来实现设备各组件之间的通信。处理系统包括各类型的用来执行指令、处理进程或线程的处理器或微处理器。存储系统可以包括存储动态信息的随机访问存储器(RAM)等动态存储器,和存储静态信息的只读存储器(ROM)等静态存储器,以及包括磁或光学记录介质与相应驱动的大容量存储器。输入系统供用户输入信息到设备,如键盘、鼠标、手写笔、声音识别系统、触摸屏幕或生物测定系统等。输出系统包括用来输出信息的显示器、打印机、扬声器等。通信接口用来使设备与其它设备进行通信。通信接口之间可通过有线连接、无线连接、或光连接连接到网络中,使设备间能够通过网络实现相互间的通信。网络可以包括局域网(LAN)、广域网(WAN)、因特网等或者这些网络的结合等。设备上均包含有用来管理系统资源、控制其它程序运行的操作系统软件,以及用来实现特定功能模块的应用软件。The device to which the present invention relates may be a PC (Personal Computer) device, a notebook computer, a smart phone, a tablet computer, a smart TV, a PDA (Personal Digital Assistant), or other computer system. These devices are architecturally composed of basic components such as buses, processing systems, storage systems, one or more input/output systems, and communication interfaces. The bus may include one or more wires for communication between various components of the device. A processing system includes various types of processors or microprocessors for executing instructions, processing processes, or threads. The storage system may include a dynamic memory such as a random access memory (RAM) that stores dynamic information, and a static memory such as a read only memory (ROM) that stores static information, and a large-capacity memory including a magnetic or optical recording medium and a corresponding drive. The input system allows the user to input information to the device, such as a keyboard, mouse, stylus, voice recognition system, touch screen, or biometric system. The output system includes a display, a printer, a speaker, and the like for outputting information. The communication interface is used to enable the device to communicate with other devices. The communication interfaces can be connected to the network through a wired connection, a wireless connection, or an optical connection, so that devices can communicate with each other through the network. The network may include a local area network (LAN), a wide area network (WAN), the Internet, etc., or a combination of these networks. The device includes operating system software for managing system resources, controlling the running of other programs, and application software for implementing specific functional modules.
另外,本发明所涉及的分享数据可以是文本数据,也可以是诸如视频、音频、图像等媒体数据,也可以是诸如HTML数据等超文本数据。In addition, the shared data according to the present invention may be text data, media data such as video, audio, image, etc., or hypertext data such as HTML data.
下面通过一个具体的实施例对上述方法进行详细描述。在该实施例中,以通过IP网络建立RTSP服务的连接方式,从设备1分享数据给设备2为例,如图3所示,该方法可以具体包括以下步骤:The above method will be described in detail below through a specific embodiment. In this embodiment, the method for sharing the data of the RTSP service through the IP network is as follows. For example, as shown in FIG. 3, the method may specifically include the following steps:
假设设备1当前屏幕的状况如图1中源设备的屏幕状况,假设用户想分享最上面一个窗口(窗口3)的数据给设备2,用户通过一些操作(诸如长按该窗口)在菜单中出现数据分享功能的选项,如图4中所示,用户选择“分享”的选项后,开始与目标设备建立连接。在301中,设备1通过在局域网内广播设备1的IP地址和指定端口信息,该指定端口用于与目标设备建立RTSP连接。局域网内的设备2接收到该广播后,向设备1发送连接请求,该连接请求中包含设备2的IP地址和端口信息,设备1回复响应后,通过该 握手过程建立设备1和设备2之间的RTSP连接。Assume that the current state of the device 1 is as shown in the screen state of the source device in FIG. 1, assuming that the user wants to share the data of the topmost window (window 3) to the device 2, and the user appears in the menu by some operations (such as long pressing the window). The option of the data sharing function, as shown in FIG. 4, starts to establish a connection with the target device after the user selects the "Share" option. In 301, the device 1 broadcasts the IP address of the device 1 and specifies port information in the local area network, the designated port being used to establish an RTSP connection with the target device. After receiving the broadcast, the device 2 in the local area network sends a connection request to the device 1, where the connection request includes the IP address and port information of the device 2, and after the device 1 responds, the device 1 The handshake process establishes an RTSP connection between device 1 and device 2.
如果设备1和设备2不在同一局域网内,那么上述在局域网内广播的方式就不再适用。这种情况下,设备1可以向服务器端注册设备1的IP地址和指定端口信息。作为目标设备的设备2可以从服务器端获取设备1注册的IP地址和指定端口信息。在此设备1向服务器端注册时,可以同时注册一个口令,设备2通过该口令从服务器端获取设备1注册的IP地址和指定端口信息,没有该口令的其他设备则无法获取设备1注册的IP地址和指定端口信息。然后,设备2通过上述IP地址和端口信息向设备1发送连接请求,设备1和设备2建立RTSP连接。If device 1 and device 2 are not in the same local area network, then the above method of broadcasting in the local area network is no longer applicable. In this case, the device 1 can register the IP address of the device 1 and the designated port information to the server side. The device 2 as the target device can acquire the IP address registered by the device 1 and the designated port information from the server side. When the device 1 registers with the server, a password can be registered at the same time. The device 2 obtains the IP address and the designated port information registered by the device 1 from the server. The other device without the password cannot obtain the IP registered by the device 1. Address and specified port information. Then, the device 2 transmits a connection request to the device 1 through the above IP address and port information, and the device 1 and the device 2 establish an RTSP connection.
当然,本实施例是以IP网络的方式建立RTSP连接为例,设备1也可以通过wifi发现机制与设备2建立wifi连接后,进行RTSP握手(协商双方建立RTSP连接使用的端口号),从而建立RTSP连接。Certainly, this embodiment is an example of establishing an RTSP connection by means of an IP network. The device 1 can also establish a wifi connection with the device 2 through the wifi discovery mechanism, and then perform an RTSP handshake (negotiating the port number used by the two parties to establish an RTSP connection), thereby establishing RTSP connection.
在302中,设备1针对设备2创建BufferQueue(缓存队列)。At 302, device 1 creates a BufferQueue for device 2.
以安卓系统为例,源设备可以创建MediaSource(数据源),在MediaSource中创建BufferQueue。另外,创建RemotedisplayDevice(远端显示设备),该RemotedisplayDevice与目标设备对应,例如绑定了目标设备在与源设备建立RTSP连接时使用的IP地址和端口信息,将BufferQueue的信息作为参数传递给surfaceflinger(界面组合模块),由surfaceflinger将该BufferQueue作为RemotedisplayDevice的数据源,surfaceflinger后续会将分享给该RemotedisplayDevice的数据写到这个BufferQueue上。如果存在多个目标设备,则针对各目标设备分别创建BufferQueue和RemotedisplayDevice。For example, in the Android system, the source device can create a MediaSource (data source) and create a BufferQueue in the MediaSource. In addition, a remote display device (remote display device) is created, and the remote display device corresponds to the target device, for example, the IP address and port information used by the target device to establish an RTSP connection with the source device, and the information of the BufferQueue is passed as a parameter to the surfaceflinger ( Interface combination module), the surfacefferer uses the BufferQueue as the data source of the RemotedisplayDevice, and the surfaceflinger writes the data shared to the RemotedisplayDevice to the BufferQueue. If there are multiple target devices, create a BufferQueue and RemotedisplayDevice for each target device.
需要说明的是,当应用于其他操作系统时,上述函数的名称可能会发生变化,但功能和执行的操作类似。It should be noted that the names of the above functions may change when applied to other operating systems, but the functions are similar to the operations performed.
在303中,surfaceflinger依据用户操作的窗口标识,从该窗口对应的缓存中获取数据并绘制到步骤302创建的BufferQueue。In 303, the surfaceflinger obtains data from the corresponding cache of the window according to the window identifier of the user operation and draws the BufferQueue created in step 302.
surfaceflinger服务在启动的过程中,会创建两个线程,其中一个用来监控控制台事件,另一个线程用来渲染UI。surfaceflinger在渲染UI时,是将 显示于屏幕的各窗口对应的缓存中获取数据并绘制到屏幕的帧缓冲区。在本发明中,surfaceflinger一方面能够确定用户分享操作对应的窗口标识,从而获取要分享的数据,另一方面能够复用surfaceflinger的绘制功能,使其能够绘制窗口数据到RemotedisplayDevice的BufferQueue,而不仅仅是绘制窗口数据到本地的displayDevice。During the startup process, the surfaceflinger service creates two threads, one for monitoring console events and the other for rendering UI. When surfaceflinger renders the UI, it will The data is captured in the corresponding cache displayed in each window of the screen and drawn to the frame buffer of the screen. In the present invention, on the one hand, the surfaceflinger can determine the window identifier corresponding to the user sharing operation, thereby acquiring the data to be shared, and on the other hand, can reuse the surfaceflinger drawing function, so that it can draw the window data to the BufferQueue of the RemotedisplayDevice, not just Is to draw the window data to the local displayDevice.
如果要分享的数据是屏幕的数据,则如果要达到设备1与设备2的屏幕数据一致,除了屏幕中各窗口的数据一致之外,各窗口在屏幕中的位置也需要一致。在这种需求下,surfaceflinger需要依据设备1屏幕上各窗口的位置来绘制BufferQueue,这里各窗口的位置不仅仅包括窗口在屏幕平面上的位置(诸如坐标、窗口大小),还包括各窗口的Z-order(各窗口在垂直于屏幕的Z轴上的位置),各窗口的Z-order体现了各窗口的覆盖关系。If the data to be shared is the data of the screen, if the screen data of the device 1 and the device 2 are to be consistent, in addition to the data of the windows in the screen being consistent, the positions of the windows in the screen also need to be consistent. Under this demand, surfaceflinger needs to draw BufferQueue according to the position of each window on the screen of device 1, where the position of each window includes not only the position of the window on the screen plane (such as coordinates, window size), but also the Z of each window. -order (the position of each window on the Z axis perpendicular to the screen), the Z-order of each window reflects the coverage of each window.
在304中,设备1中的MediaPull(数据拉取模块)从BufferQueue中取出数据送至Converter(编码器)进行编码,得到ES;然后再由PES打包器进行打包后形成PES;再由TS封装模块对PES进行封装后形成TS。In 304, the MediaPull (data pull module) in the device 1 takes the data from the BufferQueue and sends it to the Converter for encoding to obtain the ES; then, the PES packetizer packs the packet to form the PES; and then the TS package module The PES is packaged to form a TS.
在305中,将BufferQueue中数据流化后形成的TS通过RTSP连接发送至RemotedisplayDevice对应的设备2。In 305, the TS formed by streaming the data in the BufferQueue is sent to the device 2 corresponding to the RemotedisplayDevice through the RTSP connection.
RemotedisplayDevice绑定了设备2与设备1在建立RTSP连接时使用的IP地址和端口号,BufferQueue中数据流化后形成的TS会发送至该IP地址和端口号。The remote display device is bound to the IP address and port number used by device 2 and device 1 when establishing an RTSP connection. The TS formed by the data stream in the BufferQueue is sent to the IP address and port number.
设备2就能够接收到该TS,相应地,设备2可以执行上述流化处理的逆处理,即对TS进行解封装得到PES,然后对PES去掉包头得到ES,再将ES进行解码后得到原始数据进行显示。这样设备2上就能够显示设备1分享的窗口数据,如图5中所示。The device 2 can receive the TS. Correspondingly, the device 2 can perform the inverse processing of the foregoing streaming processing, that is, decapsulating the TS to obtain a PES, and then removing the packet header from the PES to obtain the ES, and then decoding the ES to obtain the original data. Display. Thus, the device 2 can display the window data shared by the device 1, as shown in FIG.
在该实施例中,设备1与设备2在301中建立RTSP连接时,除了协商发送TS的通道之外,还进一步协商反馈通道,如图6所示。该反馈通道用于设备2周期性地反馈TS的接收状况给设备1,例如设备2周期性地反馈TS的丢包率给设备1。设备1可以根据TS的接收状况调整对设备2所对应 缓存队列中数据的流化处理。例如,当设备2反馈的丢包率超过第一阈值时,降低数据的编码率,当设备2反馈的丢包率低于第二阈值时,提高数据的编码率,其中第一阈值大于第二阈值。In this embodiment, when the device 1 establishes an RTSP connection with the device 2 in 301, in addition to negotiating the channel for transmitting the TS, the feedback channel is further negotiated, as shown in FIG. The feedback channel is used by the device 2 to periodically feed back the reception status of the TS to the device 1. For example, the device 2 periodically feeds back the packet loss rate of the TS to the device 1. The device 1 can adjust the corresponding to the device 2 according to the receiving condition of the TS. Streaming the data in the cache queue. For example, when the packet loss rate fed back by the device 2 exceeds the first threshold, the coding rate of the data is decreased. When the packet loss rate fed back by the device 2 is lower than the second threshold, the coding rate of the data is increased, where the first threshold is greater than the second threshold. Threshold.
在306中,数据分享结束后,设备1与设备2之间的RTSP连接断开,设备1删除针对设备2创建的RemotedisplayDevice和MediaSource及其中的BufferQueue。In 306, after the data sharing ends, the RTSP connection between the device 1 and the device 2 is disconnected, and the device 1 deletes the Remotedisplay Device and the MediaSource created for the device 2 and the BufferQueue therein.
图7为本发明实施例提供的装置结构图,该装置设置于源设备,如图8中所示,该装置可以包括:缓存管理模块01、界面组合模块02、流化处理模块03和数据传输模块04,还可以包括连接建立模块05和反馈接收模块06。FIG. 7 is a structural diagram of a device according to an embodiment of the present invention. The device is disposed on a source device. As shown in FIG. 8, the device may include: a cache management module 01, an interface combination module 02, a streaming processing module 03, and a data transmission. Module 04 may also include a connection establishment module 05 and a feedback receiving module 06.
在源设备获取到目标设备的信息后,缓存管理模块01负责针对目标设备创建缓存队列。其中,目标设备的信息是源设备在于目标设备建立连接的过程中获取的,连接建立模块05负责建立源设备与目标设备之间的连接,从而获取到目标设备的信息。After the source device obtains the information of the target device, the cache management module 01 is responsible for creating a cache queue for the target device. The information of the target device is obtained by the source device in the process of establishing a connection between the target device, and the connection establishing module 05 is responsible for establishing a connection between the source device and the target device, thereby acquiring information about the target device.
源设备要分享数据给目标设备时,连接建立模块05会与目标设备建立连接,该建立的连接可以是RTSP连接,也可以是HTTP服务等其他传输协议服务的连接。在建立连接的过程中,源设备可以获取到目标设备的信息,诸如目标设备标识、地址信息、端口信息等等。When the source device wants to share data to the target device, the connection establishing module 05 establishes a connection with the target device, and the established connection may be an RTSP connection, or may be a connection of other transport protocol services such as an HTTP service. In the process of establishing a connection, the source device may acquire information of the target device, such as target device identification, address information, port information, and the like.
连接建立模块05在建立连接时,可以通过IP网络建立连接,也可以通过wifi网络建立连接。The connection establishment module 05 can establish a connection through an IP network when establishing a connection, or can establish a connection through a wifi network.
当通过IP网络建立连接时,如果源设备和目标设备属于同一局域网内,则连接建立模块05可以在局域网内广播源设备的IP地址和指定端口信息,目标设备接收到该广播后,向源设备发送连接请求,该连接请求携带目标设备的IP地址和指定端口信息,其中指定端口是用于建立RTSP连接的端口。当源设备的连接建立模块05通过指定端口监听到目标设备发送的连接请求后,与目标设备建立连接。When the connection is established through the IP network, if the source device and the target device belong to the same local area network, the connection establishment module 05 can broadcast the IP address and the designated port information of the source device in the local area network, and after receiving the broadcast, the target device sends the connection to the source device. Sending a connection request carrying the IP address of the target device and the designated port information, wherein the designated port is a port for establishing an RTSP connection. When the connection establishment module 05 of the source device listens to the connection request sent by the target device through the designated port, establishes a connection with the target device.
如果源设备与目标设备不属于同一局域网,则源设备的连接建立模块05可以向服务器注册源设备的IP地址和指定端口信息。目标设备从该服务器获 取源设备注册的IP地址和指定端口信息后,可以向该指定端口发送连接请求,该连接请求中携带目标设备的IP地址和指定端口信息。另外,源设备在向服务器注册时,可以提供一个口令,目标设备只用向服务器提供同样的口令,才能够获取源设备注册的IP地址和指定端口信息。当连接建立模块05通过指定端口接收到目标设备发送的连接请求后,与目标设备建立连接。If the source device and the target device do not belong to the same local area network, the connection establishment module 05 of the source device may register the IP address of the source device and the designated port information with the server. The target device is obtained from the server After the IP address and the specified port information are registered, the device can send a connection request to the specified port. The connection request carries the IP address and specified port information of the target device. In addition, when the source device registers with the server, it can provide a password, and the target device can obtain the IP address registered by the source device and the designated port information only by providing the same password to the server. When the connection establishment module 05 receives the connection request sent by the target device through the designated port, establishes a connection with the target device.
界面组合模块02负责将要分享给目标设备的数据绘制到目标设备对应的缓存队列。The interface combination module 02 is responsible for drawing data to be shared to the target device to a cache queue corresponding to the target device.
具体地,缓存管理模块01将针对目标设备创建的缓存队列的信息作为参数传递给界面组合模块02。界面组合模块02获取要分享给目标设备的数据后,将要分享给目标设备的数据绘制到目标设备对应的缓存队列。在Android系统中,界面组合模块02可以体现为surfaceflinger,针对目标设备创建缓存队列体现为:在MediaSource中创建BufferQueue,另外,创建RemotedisplayDevice,该RemotedisplayDevice与目标设备对应,例如绑定了目标设备在与源设备建立RTSP连接时使用的IP地址和端口信息。将BufferQueue的信息作为参数传递给surfaceflinger,由surfaceflinger将该BufferQueue作为RemotedisplayDevice的数据源,surfaceflinger后续会将分享给该RemotedisplayDevice的数据写到这个BufferQueue上。当应用于其他操作系统时,上述函数的名称可能会发生变化,但功能和执行的操作类似。Specifically, the cache management module 01 passes the information of the cache queue created for the target device as a parameter to the interface combination module 02. After the interface combination module 02 acquires the data to be shared to the target device, the data to be shared to the target device is mapped to the cache queue corresponding to the target device. In the Android system, the interface combination module 02 can be embodied as a surfaceflinger, and the cache queue is created for the target device as follows: a BufferQueue is created in the MediaSource, and a RemotedisplayDevice is created. The RemotedisplayDevice corresponds to the target device, for example, the target device is bound to the source. IP address and port information used by the device to establish an RTSP connection. The information of the BufferQueue is passed as a parameter to the surfaceflinger. The surfacefferer is used as the data source of the RemotedisplayDevice by the surfaceflinger. The surfaceflinger then writes the data shared to the RemotedisplayDevice to the BufferQueue. The names of the above functions may change when applied to other operating systems, but the functions are similar to those performed.
如果要分享给目标设备的数据为某窗口的数据,则界面组合模块02可以从窗口对应的缓存中获取窗口的数据,将窗口的数据绘制到目标设备对应的缓存队列。If the data to be shared to the target device is data of a certain window, the interface combination module 02 may acquire the data of the window from the cache corresponding to the window, and draw the data of the window to the cache queue corresponding to the target device.
如果要分享给目标设备的数据为屏幕的数据,如果要达到设备1与设备2的屏幕数据一致,除了屏幕中各窗口的数据一致之外,各窗口在屏幕中的位置也需要一致,因此界面组合模块02可以从屏幕所包含各窗口对应的缓存中获取各窗口的数据,依据各窗口在屏幕上的位置信息,将各窗口的数据绘制到目标设备对应的缓存队列。这里各窗口的位置不仅仅包括窗口在屏幕平面上的位置(诸如坐标、窗口大小),还包括各窗口的Z-order(各窗口在垂直于屏幕的Z 轴上的位置),各窗口的Z-order体现了各窗口的覆盖关系。If the data to be shared to the target device is the data of the screen, if the screen data of the device 1 and the device 2 are to be consistent, in addition to the data of the windows in the screen being consistent, the positions of the windows in the screen also need to be consistent, so the interface The combination module 02 can obtain the data of each window from the cache corresponding to each window included in the screen, and draw the data of each window to the cache queue corresponding to the target device according to the position information of each window on the screen. The position of each window here includes not only the position of the window on the screen plane (such as coordinates, window size), but also the Z-order of each window (the windows are perpendicular to the screen Z). The position on the axis), the Z-order of each window reflects the coverage of each window.
流化处理模块03负责对缓存队列中的数据进行流化处理。具体包括:对缓存队列中的数据进行编码,得到ES;对ES进行分组形成PES;将PES进行重新封装形成TS。The streaming processing module 03 is responsible for streaming the data in the cache queue. Specifically, the method includes: encoding the data in the buffer queue to obtain an ES; grouping the ES into a PES; and repackaging the PES to form a TS.
数据传输模块04负责通过源设备与目标设备之间的连接,将流化处理后得到的传输流发送给目标设备。The data transmission module 04 is responsible for transmitting the transport stream obtained after the streaming process to the target device through the connection between the source device and the target device.
更进一步地,连接建立模块05在建立源设备与目标设备之间连接的过程中,可以进一步协商源设备与目标设备之间反馈通道的信息。目标设备可以通过该反馈通道反馈传输流的接收状况,反馈接收模块06可以通过反馈通道接收目标设备反馈的传输流接收状况。流化处理模块03可以依据传输流接收状况,调整对目标设备所对应缓存队列中数据的流化处理。Further, in the process of establishing a connection between the source device and the target device, the connection establishing module 05 may further negotiate information of the feedback channel between the source device and the target device. The target device can feed back the receiving condition of the transport stream through the feedback channel, and the feedback receiving module 06 can receive the transport stream receiving condition fed back by the target device through the feedback channel. The streaming processing module 03 can adjust the streaming processing of the data in the cache queue corresponding to the target device according to the receiving status of the transport stream.
上述传输流接收状况可以包括丢包率,流化处理模块03在调整对目标设备所对应缓存队列中数据的流化处理时,可以采用提高或降低对目标设备所对应缓存队列中数据的编码率的方式。例如,当目标设备反馈的丢包率超过第一阈值时,降低数据的编码率,当目标设备反馈的丢包率低于第二阈值时,提高数据的编码率,其中第一阈值大于第二阈值。The foregoing transport stream receiving status may include a packet loss rate. When the streaming processing module 03 adjusts the stream processing of the data in the buffer queue corresponding to the target device, the streaming rate may be increased or decreased. The way. For example, when the packet loss rate of the target device exceeds the first threshold, the coding rate of the data is decreased. When the packet loss rate reported by the target device is lower than the second threshold, the coding rate of the data is increased, where the first threshold is greater than the second threshold. Threshold.
当数据分享结束后,源设备与目标设备之间的连接断开,缓存管理模块01删除目标设备对应的缓存队列。After the data sharing ends, the connection between the source device and the target device is disconnected, and the cache management module 01 deletes the cache queue corresponding to the target device.
下面举几个本发明所适用的应用场景,但本发明并不限于以下应用场景:The following application scenarios are applicable to the present invention, but the present invention is not limited to the following application scenarios:
1)将智能手机、平板电脑等移动设备上显示的数据分享至智能电视。在有些情况下,用户想将智能手机上的数据,诸如正在播放的视频、正在查看的网页、甚至正在使用的应用等,能够“映射”到智能电视上进行显示,一方面显示屏幕更大,另一方面也适合多人同时观看。这种场景下,就可以将智能手机作为源设备,将智能电视作为目的设备,通过本发明提供的方式将智能手机的屏幕数据或窗口数据分享至智能电视上进行显示。1) Share data displayed on mobile devices such as smartphones and tablets to smart TVs. In some cases, the user wants to "map" the data on the smartphone, such as the video being played, the web page being viewed, or even the application being used, to the smart TV for display. On the one hand, the display screen is larger. On the other hand, it is also suitable for multiple people watching at the same time In this scenario, the smart phone can be used as the source device and the smart TV can be used as the destination device. The screen data or window data of the smart phone can be shared on the smart TV for display by the method provided by the present invention.
2)将笔记本电脑、PC或者智能手机上显示的数据分享至多个智能手机 或平板电脑或笔记本电脑。在有些情况下,例如远程会议、远程教学等,就有将一个终端设备上的数据分享至多个终端设备上的需求,可以通过本发明提供的方式将一个终端设备上的屏幕数据或窗口数据分享至远端的多个终端设备上。2) Share data displayed on a laptop, PC or smartphone to multiple smartphones Or a tablet or laptop. In some cases, such as remote conferences, distance learning, etc., there is a need to share data on one terminal device to multiple terminal devices, and the screen data or window data on one terminal device can be shared by the method provided by the present invention. To a remote terminal device.
3)应用于云盒的使用场景。云盒实际上是一个放置于云端的网络机顶盒,用户需要安装的各类APP安装于云盒,而非本地的机顶盒或电视中。用户通过用户端的机顶盒发送控制信号到云盒,云盒根据控制信号,以视频流的形式向用户端的机顶盒推送视频信号。通过本发明提供的方式,可以将云盒作为源设备,用户端的机顶盒作为目标设备,云盒与机顶盒基于IP网络建立RTSP连接,从而实现数据分享。即便用户端的机顶盒配置很简陋,无法安装相应的APP,也可以将云盒中安装并运行的APP的视频数据分享至用户端的机顶盒,从而实现在用户端的机顶盒进行该APP的视频数据播放。3) Application scenarios applied to cloud boxes. The cloud box is actually a network set-top box placed in the cloud. Users need to install various types of APPs installed in cloud boxes instead of local set-top boxes or TVs. The user sends a control signal to the cloud box through the set top box of the user end, and the cloud box pushes the video signal to the set top box of the user end in the form of a video stream according to the control signal. Through the manner provided by the present invention, the cloud box can be used as the source device, and the set top box of the user end is used as the target device, and the cloud box and the set top box establish an RTSP connection based on the IP network, thereby realizing data sharing. Even if the configuration of the set-top box of the user terminal is very simple and the corresponding APP cannot be installed, the video data of the APP installed and running in the cloud box can be shared to the set-top box of the user terminal, so that the video data of the APP can be played in the set-top box of the user terminal.
由以上描述可以看出,本发明提供的方法和装置可以具备以下优点:As can be seen from the above description, the method and apparatus provided by the present invention can have the following advantages:
1)本发明中,源设备在获取目标设备的信息后,能够针对目标设备动态创建缓存队列,将要分享给目标设备的数据绘制到该缓存队列中,并进一步将缓存队列中的数据对应的传输流发送至目标设备,从而不再局限于屏幕数据的分享,对于窗口数据同样能够分享至目标设备。1) In the present invention, after acquiring the information of the target device, the source device can dynamically create a cache queue for the target device, draw data to be shared to the target device into the cache queue, and further transmit the data corresponding to the cache queue. The stream is sent to the target device, so that it is no longer limited to the sharing of screen data, and the window data can also be shared to the target device.
2)本发明可以实现基于IP网络的RTSP连接建立,进而实现设备间的数据分享,不再局限于wifi网络。并且不仅能够实现局域网内基于IP网络的数据分享,还能够实现不在同一局域网内基于IP网络的数据分享。2) The present invention can realize the establishment of an RTSP connection based on an IP network, thereby realizing data sharing between devices, and is no longer limited to a wifi network. Moreover, it can not only realize data sharing based on IP network in the local area network, but also realize data sharing based on IP network not in the same local area network.
3)能够针对多个目标设备实现数据分享,并且可以针对不同的目标设备实现不同数据的分享。3) Data sharing can be implemented for multiple target devices, and different data sharing can be implemented for different target devices.
在本发明所提供的几个实施例中,应该理解到,所揭露的装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述模块的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式。In the several embodiments provided by the present invention, it should be understood that the disclosed apparatus and method may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the modules is only a logical function division, and the actual implementation may have another division manner.
另外,在本发明各个实施例中的各功能模块可以集成在一个处理模块 中,也可以是各个模块单独物理存在,也可以两个或两个以上模块集成在一个模块中。上述集成的模块既可以采用硬件的形式实现,也可以采用硬件加软件功能模块的形式实现。In addition, each functional module in various embodiments of the present invention may be integrated into one processing module. In addition, each module may exist physically separately, or two or more modules may be integrated into one module. The above integrated modules can be implemented in the form of hardware or in the form of hardware plus software function modules.
上述以软件功能模块的形式实现的集成的模块,可以存储在一个计算机可读取存储介质中。上述软件功能模块存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)或处理器(processor)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,ROM)、随机存取存储器(Random Access Memory,RAM)、磁碟或者光盘等各种可以存储程序代码的介质。The above-described integrated modules implemented in the form of software function modules can be stored in a computer readable storage medium. The software function modules described above are stored in a storage medium and include instructions for causing a computer device (which may be a personal computer, a server, or a network device, etc.) or a processor to perform the methods of the various embodiments of the present invention. Part of the steps. The foregoing storage medium includes: a U disk, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk, and the like, which can store program codes. .
以上所述仅为本发明的较佳实施例而已,并不用以限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明保护的范围之内。 The above are only the preferred embodiments of the present invention, and are not intended to limit the present invention. Any modifications, equivalents, improvements, etc., which are made within the spirit and principles of the present invention, should be included in the present invention. Within the scope of protection.

Claims (24)

  1. 一种数据分享的方法,其特征在于,该方法包括:A method of data sharing, the method comprising:
    源设备获取到目标设备的信息后,针对所述目标设备创建缓存队列;After obtaining the information of the target device, the source device creates a cache queue for the target device.
    将要分享给所述目标设备的数据绘制到所述目标设备对应的缓存队列;Draw data to be shared to the target device to a cache queue corresponding to the target device;
    通过与所述目标设备之间的连接,将所述缓存队列中数据对应的传输流发送给所述目标设备。And transmitting, by the connection with the target device, a transport stream corresponding to the data in the cache queue to the target device.
  2. 根据权利要求1所述的方法,其特征在于,所述源设备获取到目标设备的信息包括:The method according to claim 1, wherein the obtaining, by the source device, the information of the target device comprises:
    所述源设备在建立与所述目标设备之间的连接时,获取到所述目标设备的信息。The source device acquires information of the target device when establishing a connection with the target device.
  3. 根据权利要求1所述的方法,其特征在于,针对所述目标设备创建缓存队列包括:The method of claim 1, wherein creating a cache queue for the target device comprises:
    所述源设备创建数据源MediaSource,在MediaSource中创建缓存队列BufferQueue;以及,创建与所述目标设备对应的远端显示设备RemotedisplayDevice;The source device creates a data source MediaSource, creates a buffer queue BufferQueue in the MediaSource, and creates a remote display device RemotedisplayDevice corresponding to the target device;
    将所述BufferQueue作为所述RemotedisplayDevice的数据源。The BufferQueue is used as a data source of the RemotedisplayDevice.
  4. 根据权利要求1所述的方法,其特征在于,所述源设备与所述目标设备之间的连接的建立包括:The method according to claim 1, wherein the establishing of the connection between the source device and the target device comprises:
    所述源设备在局域网内广播所述源设备的IP地址和指定端口信息,通过所述指定端口监听到所述目标设备发送的连接请求后,与所述目标设备建立连接;或者,The source device broadcasts an IP address and designated port information of the source device in a local area network, and after the specified port listens to the connection request sent by the target device, establishes a connection with the target device; or
    所述源设备向服务器注册所述源设备的IP地址和指定端口信息,通过所述指定端口接收到所述目标设备发送的连接请求后,与所述目标设备建立连接,其中所述目标设备从所述服务器获取所述源设备的IP地址和指定端口信息;或者,The source device registers the IP address and the designated port information of the source device with the server, and after receiving the connection request sent by the target device by using the designated port, establishing a connection with the target device, where the target device is Obtaining, by the server, an IP address and a designated port information of the source device; or
    所述源设备通过wifi发现机制与所述目标设备建立连接。 The source device establishes a connection with the target device through a wifi discovery mechanism.
  5. 根据权利要求1所述的方法,其特征在于,所述将要分享给所述目标设备的数据绘制到所述目标设备对应的缓存队列包括:The method according to claim 1, wherein the mapping of the data to be shared to the target device to the cache queue corresponding to the target device comprises:
    将针对所述目标设备创建的缓存队列的信息作为参数传递给界面组合模块;Passing information about the cache queue created by the target device as a parameter to the interface combination module;
    由所述界面组合模块获取要分享给所述目标设备的数据后,将要分享给所述目标设备的数据绘制到所述目标设备对应的缓存队列。After the data to be shared by the target device is acquired by the interface combination module, data to be shared to the target device is mapped to a cache queue corresponding to the target device.
  6. 根据权利要求1所述的方法,其特征在于,所述将要分享给所述目标设备的数据绘制到所述目标设备对应的缓存队列包括:The method according to claim 1, wherein the mapping of the data to be shared to the target device to the cache queue corresponding to the target device comprises:
    如果要分享给所述目标设备的数据为某窗口的数据,则从所述窗口对应的缓存中获取所述窗口的数据,将所述窗口的数据绘制到所述目标设备对应的缓存队列;或者,If the data to be shared by the target device is the data of the window, the data of the window is obtained from the cache corresponding to the window, and the data of the window is drawn to the cache queue corresponding to the target device; or ,
    如果要分享给所述目标设备的数据为屏幕的数据,则从所述屏幕所包含各窗口对应的缓存中获取各窗口的数据,依据各窗口在屏幕上的位置信息,将各窗口的数据绘制到所述目标设备对应的缓存队列。If the data to be shared to the target device is the data of the screen, the data of each window is obtained from the cache corresponding to each window included in the screen, and the data of each window is drawn according to the position information of each window on the screen. Go to the cache queue corresponding to the target device.
  7. 根据权利要求1所述的方法,其特征在于,该方法还包括:The method of claim 1 further comprising:
    对所述缓存队列中的数据进行编码,得到基本数据流ES;Encoding the data in the cache queue to obtain a basic data stream ES;
    对所述ES进行分组形成分组基本流PES;Grouping the ES to form a packet elementary stream PES;
    将所述PES进行重新封装形成所述缓存队列中数据对应的传输流TS。Re-encapsulating the PES to form a transport stream TS corresponding to the data in the buffer queue.
  8. 根据权利要求7所述的方法,其特征在于,在所述连接的建立过程中进一步协商所述源设备与所述目标设备之间反馈通道的信息;The method according to claim 7, wherein the information of the feedback channel between the source device and the target device is further negotiated during the establishment of the connection;
    该方法还包括:The method also includes:
    所述源设备通过所述反馈通道接收所述目标设备反馈的传输流接收状况;Receiving, by the source device, a transport stream receiving condition fed back by the target device by using the feedback channel;
    依据所述传输流接收状况,调整对所述目标设备所对应缓存队列中数据的编码。And adjusting, according to the receiving condition of the transport stream, encoding of data in a cache queue corresponding to the target device.
  9. 根据权利要求8所述的方法,其特征在于,所述传输流接收状况包括丢包率;The method according to claim 8, wherein the transport stream receiving condition comprises a packet loss rate;
    所述调整对所述目标设备所对应缓存队列中数据的编码包括:调整对所述目标设备所对应缓存队列中数据的编码方式;或者, The encoding of the data in the cache queue corresponding to the target device by the adjusting includes: adjusting a coding manner of data in a cache queue corresponding to the target device; or
    提高或降低对所述目标设备所对应缓存队列中数据的编码率。Increasing or decreasing the coding rate of data in the cache queue corresponding to the target device.
  10. 根据权利要求1所述的方法,其特征在于,该方法还包括:The method of claim 1 further comprising:
    所述源设备与所述目标设备之间的连接断开后,所述源设备删除所述目标设备对应的缓存队列。After the connection between the source device and the target device is disconnected, the source device deletes a cache queue corresponding to the target device.
  11. 根据权利要求1所述的方法,其特征在于,所述源设备为云盒,所述目标设备为用户端机顶盒。The method according to claim 1, wherein the source device is a cloud box and the target device is a client set top box.
  12. 根据权利要求1至11任一权项所述的方法,其特征在于,如果所述目标设备的数量多于1个,则针对各目标设备分别执行所述数据分享的方法。The method according to any one of claims 1 to 11, wherein if the number of the target devices is more than one, the method of data sharing is performed separately for each target device.
  13. 一种数据分享的装置,设置于源设备,其特征在于,该装置包括:A device for data sharing, disposed in a source device, wherein the device comprises:
    缓存管理模块,用于在所述源设备获取到所述目标设备的信息后,针对所述目标设备创建缓存队列;a cache management module, configured to create a cache queue for the target device after the source device obtains information about the target device;
    界面组合模块,用于将要分享给所述目标设备的数据绘制到所述目标设备对应的缓存队列;An interface combination module, configured to map data to be shared to the target device to a cache queue corresponding to the target device;
    数据传输模块,用于通过所述源设备与所述目标设备之间的连接,将所述缓存队列中数据对应的传输流发送给所述目标设备。And a data transmission module, configured to send, by using the connection between the source device and the target device, a transport stream corresponding to data in the cache queue to the target device.
  14. 根据权利要求13所述的装置,其特征在于,该装置还包括:连接建立模块,用于建立所述源设备与所述目标设备之间的连接,从而获取所述目标设备的信息。The device according to claim 13, further comprising: a connection establishing module, configured to establish a connection between the source device and the target device, thereby acquiring information of the target device.
  15. 根据权利要求13所述的装置,其特征在于,所述缓存管理模块在针对所述目标设备创建缓存队列时,具体执行:The device according to claim 13, wherein the cache management module specifically executes when a cache queue is created for the target device:
    创建MediaSource,在MediaSource中创建BufferQueue;以及,创建与所述目标设备对应的RemotedisplayDevice;Create a MediaSource, create a BufferQueue in the MediaSource; and create a RemotedisplayDevice corresponding to the target device;
    所述界面组合模块将所述BufferQueue作为所述RemotedisplayDevice的数据源。The interface combination module uses the BufferQueue as a data source of the RemotedisplayDevice.
  16. 根据权利要求14所述的装置,其特征在于,所述连接建立模块,具体用于:The device according to claim 14, wherein the connection establishing module is specifically configured to:
    在局域网内广播所述源设备的IP地址和指定端口信息,通过所述指定端口 监听到所述目标设备发送的连接请求后,与所述目标设备建立连接;或者,Broadcasting the IP address and designated port information of the source device in the local area network, through the designated port After listening to the connection request sent by the target device, establishing a connection with the target device; or
    向服务器注册所述源设备的IP地址和指定端口信息,通过所述指定端口接收到所述目标设备发送的连接请求后,与所述目标设备建立连接,其中所述目标设备从所述服务器获取所述源设备的IP地址和指定端口信息;或者,Registering, by the server, the IP address and the designated port information of the source device, and after receiving the connection request sent by the target device by using the designated port, establishing a connection with the target device, where the target device obtains from the server The IP address of the source device and the specified port information; or
    通过wifi发现机制与所述目标设备建立连接。Establishing a connection with the target device through a wifi discovery mechanism.
  17. 根据权利要求13所述的装置,其特征在于,所述缓存管理模块,还用于将针对所述目标设备创建的缓存队列的信息作为参数传递给所述界面组合模块;The device according to claim 13, wherein the cache management module is further configured to: pass information about a cache queue created by the target device as a parameter to the interface combination module;
    所述界面组合模块,具体用于获取要分享给所述目标设备的数据后,将要分享给所述目标设备的数据绘制到所述目标设备对应的缓存队列。The interface combination module is configured to: after acquiring data to be shared by the target device, draw data to be shared by the target device to a cache queue corresponding to the target device.
  18. 根据权利要求13所述的装置,其特征在于,如果要分享给所述目标设备的数据为某窗口的数据,则所述界面组合模块从所述窗口对应的缓存中获取所述窗口的数据,将所述窗口的数据绘制到所述目标设备对应的缓存队列;或者,The device according to claim 13, wherein if the data to be shared to the target device is data of a window, the interface combining module acquires data of the window from a cache corresponding to the window, Draw data of the window to a cache queue corresponding to the target device; or
    如果要分享给所述目标设备的数据为屏幕的数据,则所述界面组合模块从所述屏幕所包含各窗口对应的缓存中获取各窗口的数据,依据各窗口在屏幕上的位置信息,将各窗口的数据绘制到所述目标设备对应的缓存队列。If the data to be shared by the target device is the data of the screen, the interface combination module acquires data of each window from the cache corresponding to each window included in the screen, according to the position information of each window on the screen, The data of each window is drawn to a cache queue corresponding to the target device.
  19. 根据权利要求13所述的装置,其特征在于,该装置还包括:流化处理模块,具体用于对所述缓存队列中的数据进行编码,得到ES;对所述ES进行分组形成PES;将所述PES进行重新封装形成TS。The device according to claim 13, further comprising: a streaming processing module, specifically configured to encode data in the buffer queue to obtain an ES; group the ES to form a PES; The PES is repackaged to form a TS.
  20. 根据权利要求19所述的装置,其特征在于,该装置还包括:The device of claim 19, further comprising:
    连接建立模块,用于在建立所述连接的过程中进一步协商所述源设备与所述目标设备之间反馈通道的信息;a connection establishing module, configured to further negotiate information about a feedback channel between the source device and the target device in the process of establishing the connection;
    反馈接收模块,用于通过所述反馈通道接收所述目标设备反馈的传输流接收状况;a feedback receiving module, configured to receive, by using the feedback channel, a transport stream receiving condition fed back by the target device;
    所述流化处理模块,还用于依据所述传输流接收状况,调整对所述目标设备所对应缓存队列中数据的编码。 The streaming processing module is further configured to adjust encoding of data in a cache queue corresponding to the target device according to the receiving status of the transport stream.
  21. 根据权利要求20所述的装置,其特征在于,所述传输流接收状况包括丢包率;The apparatus according to claim 20, wherein said transport stream receiving condition comprises a packet loss rate;
    所述流化处理模块在调整对所述目标设备所对应缓存队列中数据的编码时,具体用于调整对所述目标设备所对应缓存队列中数据的编码方式,或者,提高或降低对所述目标设备所对应缓存队列中数据的编码率。When the encoding of the data in the cache queue corresponding to the target device is adjusted, the streaming processing module is specifically configured to adjust a coding manner of data in a cache queue corresponding to the target device, or increase or decrease the The encoding rate of the data in the cache queue corresponding to the target device.
  22. 根据权利要求13所述的装置,其特征在于,所述缓存管理模块,还用于所述源设备与所述目标设备之间的连接断开后,删除所述目标设备对应的缓存队列。The device according to claim 13, wherein the cache management module is further configured to delete a cache queue corresponding to the target device after the connection between the source device and the target device is disconnected.
  23. 根据权利要求13所述的装置,其特征在于,所述源设备为云盒,所述目标设备为用户端机顶盒。The device according to claim 13, wherein the source device is a cloud box, and the target device is a client set top box.
  24. 根据权利要求13至23任一权项所述的装置,其特征在于,如果所述目标设备的数量多于1个,则所述缓存管理模块针对各目标设备分别创建缓存队列。 The apparatus according to any one of claims 13 to 23, wherein if the number of the target devices is more than one, the cache management module separately creates a cache queue for each target device.
PCT/CN2016/079156 2015-05-06 2016-04-13 Data sharing method and device WO2016177257A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510227418.0A CN106210867A (en) 2015-05-06 2015-05-06 A kind of method and apparatus of data sharing
CN201510227418.0 2015-05-06

Publications (1)

Publication Number Publication Date
WO2016177257A1 true WO2016177257A1 (en) 2016-11-10

Family

ID=57217866

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/079156 WO2016177257A1 (en) 2015-05-06 2016-04-13 Data sharing method and device

Country Status (2)

Country Link
CN (1) CN106210867A (en)
WO (1) WO2016177257A1 (en)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106686755A (en) * 2016-12-06 2017-05-17 厦门中控生物识别信息技术有限公司 Method and device for binding mobile terminal and entry device

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN108259935B (en) * 2016-12-29 2021-07-09 北京酷我科技有限公司 Webpage display system and method

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1262748A (en) * 1996-04-04 2000-08-09 安尼索福特公司 Apparatus for and method of acquiring, processing and routing data contained in gui window
CN1946213A (en) * 2005-10-07 2007-04-11 三星电子株式会社 Method for performing video communication service and mobile communication terminal therefor
CN101078980A (en) * 2006-12-27 2007-11-28 腾讯科技(深圳)有限公司 Method and system for screen drawing-sectioning in instant messaging
CN101895372A (en) * 2010-06-29 2010-11-24 中国科学院计算技术研究所 Data transmission method in radio link control layer acknowledged mode
CN102647620A (en) * 2012-03-28 2012-08-22 华为终端有限公司 Method, set-top box, cloud terminal application server and system for realizing cloud terminal business

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6940558B2 (en) * 2001-12-06 2005-09-06 Koninklijke Philips Electronics N.V. Streaming content associated with a portion of a TV screen to a companion device
CN1455372A (en) * 2003-05-29 2003-11-12 上海交通大学 Screen sharing and synchronous recording method based on IP network
CN102595239B (en) * 2012-02-24 2015-02-04 深圳创维-Rgb电子有限公司 Multi-screen interactive method, device and intelligent television for terminal system
CN103647727B (en) * 2013-11-29 2017-01-18 福建星网锐捷网络有限公司 Audio and video transmission control method and audio and video transmission control device
CN104090706B (en) * 2014-07-31 2018-06-05 北京智谷睿拓技术服务有限公司 Content acquisition method, content share method and its device

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN1262748A (en) * 1996-04-04 2000-08-09 安尼索福特公司 Apparatus for and method of acquiring, processing and routing data contained in gui window
CN1946213A (en) * 2005-10-07 2007-04-11 三星电子株式会社 Method for performing video communication service and mobile communication terminal therefor
CN101078980A (en) * 2006-12-27 2007-11-28 腾讯科技(深圳)有限公司 Method and system for screen drawing-sectioning in instant messaging
CN101895372A (en) * 2010-06-29 2010-11-24 中国科学院计算技术研究所 Data transmission method in radio link control layer acknowledged mode
CN102647620A (en) * 2012-03-28 2012-08-22 华为终端有限公司 Method, set-top box, cloud terminal application server and system for realizing cloud terminal business

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN106686755A (en) * 2016-12-06 2017-05-17 厦门中控生物识别信息技术有限公司 Method and device for binding mobile terminal and entry device
CN106686755B (en) * 2016-12-06 2019-06-07 厦门中控智慧信息技术有限公司 The binding method and device of mobile terminal and logging apparatus

Also Published As

Publication number Publication date
CN106210867A (en) 2016-12-07

Similar Documents

Publication Publication Date Title
US11108570B2 (en) Method and apparatus for multimedia communication, and storage medium
CN102571979B (en) Multi-screen interactive equipment and its binding method
US11212334B2 (en) Mechanisms to support adaptive constrained application protocol (CoAP) streaming for Internet of Things (IoT) systems
US10034057B2 (en) Message processing method, device, gateway, STB and IPTV
EP2827596A1 (en) Transmitting and receiving method of multimedia video data and corresponding device
WO2015176648A1 (en) Method and device for transmitting data in intelligent terminal to television terminal
WO2018018965A1 (en) Screen sharing method, device, and system
EP3059945A1 (en) Method and system for video surveillance content adaptation, and central server and device
EP2933982A1 (en) Media stream transfer method and user equipment
WO2016000528A1 (en) Audio output method and device
WO2023051243A1 (en) Video bitrate switching method and apparatus, electronic device, and storage medium
CN110113558B (en) Data processing method, device, system and computer readable storage medium
WO2016177257A1 (en) Data sharing method and device
WO2019129125A1 (en) Method and system for interaction between smart glasses and smart device, and storage medium
WO2023217188A1 (en) Livestream data transmission method, apparatus and system, device and medium
CN110519331B (en) Method and device for processing resources of video network
WO2018010469A1 (en) Data transmission method, device and storage medium
CN114221909B (en) Data transmission method, device, terminal and storage medium
CN114710568B (en) Audio and video data communication method, device and storage medium
US10231004B2 (en) Network recording service
CN115865884A (en) Network camera data access device and method, network camera and medium
US9049350B2 (en) Imaging apparatus that transmits media data to reception apparatus, method of processing information, and storage medium
CN110351247B (en) Parameter acquisition method, device and system
JP6396342B2 (en) Wireless docking system for audio-video
CN115349248A (en) Network-based media processing (NBMP) deployment with real-time uplink streaming framework (plus) and 5G Application Function (AF)

Legal Events

Date Code Title Description
121 Ep: the epo has been informed by wipo that ep was designated in this application

Ref document number: 16789251

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 16789251

Country of ref document: EP

Kind code of ref document: A1