WO2023193574A1 - 投屏方法、系统、设备及存储介质 - Google Patents

投屏方法、系统、设备及存储介质 Download PDF

Info

Publication number
WO2023193574A1
WO2023193574A1 PCT/CN2023/081263 CN2023081263W WO2023193574A1 WO 2023193574 A1 WO2023193574 A1 WO 2023193574A1 CN 2023081263 W CN2023081263 W CN 2023081263W WO 2023193574 A1 WO2023193574 A1 WO 2023193574A1
Authority
WO
WIPO (PCT)
Prior art keywords
receiving end
screen
audio
server
screen casting
Prior art date
Application number
PCT/CN2023/081263
Other languages
English (en)
French (fr)
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 WO2023193574A1 publication Critical patent/WO2023193574A1/zh

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • GPHYSICS
    • G06COMPUTING; CALCULATING OR COUNTING
    • G06FELECTRIC DIGITAL DATA PROCESSING
    • G06F3/00Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
    • G06F3/14Digital output to display device ; Cooperation and interconnection of the display device with other functional units
    • G06F3/1454Digital output to display device ; Cooperation and interconnection of the display device with other functional units involving copying of the display data of a local workstation or window to a remote workstation or window so that an actual copy of the data is displayed simultaneously on two or more displays, e.g. teledisplay
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client requests
    • 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/41Structure of client; Structure of client peripherals
    • H04N21/4104Peripherals receiving signals from specially adapted client devices
    • H04N21/4122Peripherals receiving signals from specially adapted client devices additional display device, e.g. video projector
    • 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/4302Content synchronisation processes, e.g. decoder synchronisation
    • H04N21/4307Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen
    • H04N21/43076Synchronising the rendering of multiple content streams or additional data on devices, e.g. synchronisation of audio on a mobile phone with the video output on the TV screen of the same content streams on multiple devices, e.g. when family members are watching the same movie on different devices
    • 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/437Interfacing the upstream path of the transmission network, e.g. for transmitting client requests to a VOD server
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/64322IP
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/63Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
    • H04N21/643Communication protocols
    • H04N21/6437Real-time Transport Protocol [RTP]

Definitions

  • Embodiments of the present disclosure relate to the field of screen projection technology, such as a screen projection method, system, device and storage medium.
  • Embodiments of the present disclosure provide a screen projection method, system, equipment and storage medium, which can realize the versatility of screen projection without being limited by hardware and systems.
  • an embodiment of the present disclosure provides a screen casting method, which is executed by a sending end and includes:
  • sender information includes LAN address information, sender port information, and audio and video paths information
  • the audio and video streams are sent to the target receiving end according to the push address, so that the target receiving end plays the audio and video streams; wherein, the target receiving end is Use the set account to log in to the terminal of the screen projection server.
  • embodiments of the present disclosure also provide a screen casting method, which is executed by the receiving end and includes:
  • embodiments of the present disclosure also provide a screen casting method, which is executed by a screen casting server, including
  • the sending end and at least one receiving end are logged in to the screen casting server based on the same set account.
  • the streaming address is sent to the at least one receiving end according to the screen casting request, so that the sending end casts the played audio and video stream to the at least one receiving end for playback.
  • embodiments of the present disclosure also provide a screen casting system, including a sending end, a screen casting server, and at least one receiving end;
  • the sending end and the at least one receiving end log in to the screen casting server based on the same set account; the sending end sends the generated push address to the screen casting server; the at least one receiving end sends a message to the screen casting server.
  • the screen casting server sends a screen casting request, and the screen casting server sends the push stream address to the at least one receiving end according to the screen casting request; the sending end casts the audio and video stream according to the push stream address. Screen to the at least one receiving end for playback.
  • embodiments of the present disclosure also provide an electronic device, the electronic device includes:
  • a storage device configured to store one or more programs
  • the one or more processing devices When the one or more programs are executed by the one or more processing devices, the one or more processing devices implement the screen casting method as described in the embodiment of the present disclosure.
  • embodiments of the disclosure further provide a computer-readable medium on which a computer program is stored.
  • the program is executed by a processing device, the screen projection method as described in the embodiments of the disclosure is implemented.
  • Figure 1 is a flow chart of a screen projection method in an embodiment of the present disclosure
  • Figure 2 is a flow chart of another screen projection method in an embodiment of the present disclosure.
  • Figure 3 is a flow chart of another screen projection method in an embodiment of the present disclosure.
  • Figure 4 is a schematic structural diagram of a screen projection system in an embodiment of the present disclosure.
  • FIG. 5 is a schematic structural diagram of an electronic device in an embodiment of the present disclosure.
  • the term “include” and its variations are open-ended, ie, “including but not limited to.”
  • the term “based on” means “based at least in part on.”
  • the term “one embodiment” means “at least one embodiment”; the term “another embodiment” means “at least one additional embodiment”; and the term “some embodiments” means “at least some embodiments”. Relevant definitions of other terms will be given in the description below.
  • Figure 1 is a flow chart of a screen projection method provided by an embodiment of the present disclosure. This embodiment can be applied to a screen projection situation.
  • the method can be executed by a screen projection device provided at the sending end.
  • the sending end can be a mobile terminal (such as: smartphones or tablets) or wearable devices (such as smart watches, smart bracelets, smart glasses or head-mounted VR terminals, etc.).
  • the method includes the following steps:
  • the set account may be an account registered by the user in the screen casting server, and the screen casting server may be understood as a server used to implement the screen casting function.
  • the user logs in to the screen casting server by inputting the set account and login password through the screen casting application (Application, APP) installed in the sending end or through the browser screen casting webpage. After the sending end logs in to the screen projection server, it can also report its local area network address to the screen projection server.
  • the screen casting application Application, APP
  • S120 Generate a push address of at least one protocol type based on the sender information, and send the push address to the screen casting server.
  • the sender information includes LAN address information, sender port information, and audio and video path information, that is, the push address consists of LAN address information, sender port information, and audio and video path information.
  • At least one protocol type may include a streaming media transfer protocol (Hyper Text Transfer Protocol-Flash Video, HTTP-FLV) and a real-time messaging protocol (Real Time Messaging Protocol, RTMP). This allows the receiving end that supports the HTTP-FLV protocol or RTMP protocol to receive the audio and video streams from the sending end without being restricted by hardware and systems.
  • the sending end generates a push address based on the obtained LAN address information, sender port information, and audio and video path information, and sends the push address to the screen projection server.
  • S130 Send the audio and video stream to the target receiving end according to the push address, so that the target receiving end plays the audio and video stream.
  • the target receiving end is a terminal that logs in to the screen casting server using a set account, that is, the target receiving end and the sending end use the same account to log in to the screen casting server, and the target receiving end can be one or more.
  • the sending end will send the audio and video stream to the target receiving end according to the push address, so that the target receiving end plays the audio and video stream, thereby realizing the sending end transmitting the audio and video stream. Cast the screen to the target receiving end.
  • the process of sending audio and video streams to the target receiving end according to the push address can be: The end performs a screen recording operation to obtain audio and video streams; determine whether the sender and the target receiver are in the same LAN; if the sender and the target receiver are in the same LAN, establish a data channel with the target receiver based on the push address and pass the data The channel sends the audio and video streams to the target receiving end; if the sending end and the target receiving end are not in the same LAN, the audio and video streams are sent to the screen casting server, so that the screen casting server forwards the audio and video streams to the target receiving end.
  • the screen recording operation can be understood as recording the audio and video played on the current screen, thereby obtaining the audio and video streams.
  • the method of determining whether the sending end and the target receiving end are in the same local area network may be: sending network exploration ping information to the target receiving end; if feedback information from the target receiving end is received, whether the sending end and the target receiving end are in the same local area network.
  • the screen casting server when the sending end logs in to the screen casting server, the screen casting server sends a ping command to the sending end, and the sending end pings the receiving end according to the ping command. If feedback information from the target receiving end is received, the sending end and the target receiving end in the same LAN.
  • the sending end will send the audio and video stream to the target receiving end through the established data channel; if the sending end and the target receiving end are not in the same local area network, the sending end will The audio and video streams are sent to the screen projection server, causing the screen projection server to forward the audio and video streams to the target receiving end.
  • the technical solution of the embodiment of the present disclosure is to log in to the screen casting server based on setting an account; generate a push address of at least one protocol type based on the sender information, and send the push address to the screen cast server; wherein the sender information includes LAN address information, sender port information and audio and video path information; when receiving the screen casting request sent by the target sender, the audio and video stream is sent to the target receiver according to the push address, so that the target receiver plays the audio and video stream.
  • the screen projection method provided by the embodiments of the present disclosure can realize the versatility of screen projection and is not limited by hardware and systems.
  • FIG. 2 is a flow chart of a screen projection method provided by an embodiment of the present disclosure. Based on the above embodiment, this embodiment can be applied to screen projection situations.
  • the method can be executed by a screen projection device provided at the receiving end.
  • the receiving end can be a mobile terminal (such as a smartphone or tablet) or a wearable device (such as a smart watch, smart bracelet, smart glasses or head-mounted VR terminal, etc.).
  • the method includes the following steps:
  • S210 Log in to the screen projection server based on the set account.
  • the set account may be an account registered by the user in the screen casting server, and the screen casting server may be understood as a server used to implement the screen casting function.
  • the user logs in to the screen casting server by inputting the set account and login password through the screen casting application (Application, APP) installed in the receiving end or through the browser screen casting webpage. After the receiving end logs in to the screen projection server, it can also report its local area network address to the screen projection server.
  • the screen casting application Application, APP
  • S220 Obtain the push address list from the screen casting server through the screen casting request.
  • the push address is generated by the terminal that logs in to the screen projection server using the set account.
  • the screen casting request can be sent through a browser web page or a screen casting APP.
  • the process of obtaining the push address list from the screen casting server through a screen casting request may be: if the receiving end logs in to the screen casting server through a web page, then sends a screen casting request to the screen casting server by setting the screen casting URL, so as to Get the push address list.
  • the setting URL for screencasting can be a preset address, for example: http://www.touping.com.
  • the screen casting server determines the communication protocol supported by the receiving end, and pushes down the streaming address list from the communication protocol supported by the receiving end corresponding to the same account and sends it to the receiving end.
  • the receiving end is caused to select one of the push addresses to obtain the audio and video streams corresponding to the push address. That is, if the receiving end supports the HTTP-FLV protocol, the projection server will send the push address list under the HTTP-FLV protocol to the receiving end; if the receiving end supports the RTMP protocol, the projection server will send the push address list under the RTMP protocol. sent to the receiving end.
  • the screen casting request module detects the user-triggered screen casting request and sends a screen casting request to the screen casting server to obtain the push stream address list to obtain the push stream address list.
  • S230 Obtain audio and video streams according to the push address selected by the user, and play the audio and video streams.
  • the user selects one of the push addresses from the push address list, obtains the audio and video stream corresponding to the sender corresponding to the push address, and plays the audio and video stream.
  • the method of obtaining audio and video streams based on the push address selected by the user and playing the audio and video streams can be: determining the target sender based on the push address selected by the user; if the receiving end and the target sender are in the same local area network, then receive the target The audio and video streams sent by the sending end; if the receiving end and the target sending end are in different LANs, receive the audio and video streams sent by the screen projection server.
  • the sending end that generates the push address is determined as the target sending end. If the receiving end and the target sending end are in the same local area network, the receiving end is sent by the target sending end through the data channel. If the receiving end and the target sending end are in different LANs, the audio and video streams forwarded by the screen projection server will be received.
  • the technical solution of the embodiment of the present disclosure is to log in to the screen casting server based on the set account; obtain the push address list from the screen casting server through the screen casting request; wherein the push address is the sending end that logs in to the screen casting server using the set account Generated; obtain audio and video streams according to the push address selected by the user, and play the audio and video streams.
  • the screen projection method provided by the embodiments of the present disclosure can realize the versatility of screen projection and is not limited by hardware and systems.
  • Figure 3 is a flow chart of a screen casting method provided by an embodiment of the present disclosure. Based on the above embodiment, this embodiment can be applied to screen casting situations. The method can be executed by a screen casting device provided on a screen casting server. . As shown in Figure 3, the method includes the following steps:
  • S410 It is detected that the sender and at least one receiver are logged in to the screen projection service based on the same set account.
  • the server When the server is running, it receives the push address sent by the sending end and at least one screen casting request sent by the receiving end.
  • S420 Send the push address to at least one receiving end according to the screen casting request, so that the audio and video stream played by the sending end is cast to at least one receiving end for playback.
  • a push address of at least one protocol type is generated based on the sending end information, and the push address is sent to the screen casting server.
  • the receiving end logs in to the screen casting server based on the same set account, it sends a screen casting request to the screen casting server.
  • the server sends the push address to at least one sending end according to the screen casting request, so that the sending end casts the played audio and video stream to at least one receiving end for playback.
  • the sending end after receiving the push address sent by the sending end and the screen casting request sent by at least one receiving end, it also includes: if the audio and video stream sent by the sending end is received, forwarding the audio and video stream to at least one receiving end for playback .
  • the sending end sends the recorded audio and video streams to the screen casting server, so that the screen casting server forwards the audio and video streams to the receiving end.
  • the technical solution of this embodiment is to detect that when the sending end and at least one receiving end log in to the screen casting server based on the same set account, the push address sent by the sending end and the screen casting request sent by at least one receiving end are received; according to the screen casting Request that the push address be sent to at least one receiving end, so that the sending end can cast the played audio and video stream to at least one receiving end for playback. It can realize the versatility of screen projection and is not restricted by hardware and systems.
  • FIG. 4 is a schematic structural diagram of a screen projection system provided by an embodiment of the present disclosure.
  • the system includes a sending end, a screen projection server, and at least one receiving end.
  • the sending end and at least one receiving end log in to the screen casting server based on the same set account; the sending end sends the generated push address to the screen casting server; at least one receiving end sends a screen casting request to the screen casting server, and the screen casting server
  • the screen request sends the push address to at least one receiving end; the sending end casts the audio and video stream to at least one receiving end for playback based on the push address.
  • the sending end uses the set account to log in to the screen projection server, and at the same time sends the LAN address to the screen projection server;
  • the receiving end uses the same set account to log in to the screencasting server, and at the same time sends the LAN address to the screencasting server;
  • the screen projection server detects the sender and receiver logged in with the same set account, and sends a ping command to the sender;
  • the sending end pings the receiving end according to the ping command. If the ping succeeds, the receiving end and the sending end are in the same LAN. If the ping fails, the receiving end and the sending end are not in the same LAN;
  • the sending end generates a push address and sends the push address to the screen casting server
  • the receiving end enters the http://www.touping.com address through the web page to send it to the screen projection server. Screen casting request;
  • the screen casting server sends the push address list to the receiving end according to the screen casting request;
  • the receiving end receives the push address selected by the user from the push address list
  • the receiving end starts the screen recording operation and obtains the audio and video streams; if the receiving end and the sending end are in the same LAN, the audio and video streams are sent to the receiving end through the established data channel; if the receiving end and the sending end are not in the same LAN, Then send the audio and video stream to the screen projection server, so that the screen projection server forwards it to the receiving end;
  • the receiving end plays the received audio and video streams to achieve screencasting.
  • the disclosed screen projection system includes: a sending end, a screen casting server and at least one receiving end; the sending end and at least one receiving end log in to the screen casting server based on the same set account; the sending end pushes the generated stream
  • the address is sent to the screen casting server; at least one receiving end sends a screen casting request to the screen casting server, and the screen casting server sends the push address to at least one receiving end according to the screen casting request; the sending end casts the audio and video stream to the screen according to the push address to at least one receiving end for playback. It can realize the versatility of screen projection and is not restricted by hardware and systems.
  • Electronic devices in embodiments of the present disclosure may include, but are not limited to, mobile phones, laptops, digital broadcast receivers, PDAs (Personal Digital Assistants), PADs (Tablets), PMPs (Portable Multimedia Players), vehicle-mounted terminals (such as Mobile terminals such as vehicle navigation terminals) and fixed terminals such as digital TVs, desktop computers, etc., or various forms of servers, such as independent servers or server clusters.
  • the electronic device shown in FIG. 5 is only an example and should not impose any limitations on the functions and scope of use of the embodiments of the present disclosure.
  • the electronic device 300 may include a processing device (such as a central processing unit, a graphics processor, etc.) 301 , which may be loaded into a random access device according to a program stored in a read-only storage device (ROM) 302 or from a storage device 305 .
  • the program in the storage device (RAM) 303 is accessed to execute various appropriate actions and processes.
  • various programs and data required for the operation of the electronic device 300 are also stored.
  • the processing device 301, ROM 302 and RAM 303 are connected to each other via a bus 304.
  • An input/output (I/O) interface 305 is also connected to bus 304.
  • the following devices may be connected to the I/O interface 305: input devices 306 including, for example, a touch screen, touch pad, keyboard, mouse, camera, microphone, accelerometer, gyroscope, etc.; including, for example, a liquid crystal display (LCD), speakers, vibration An output device 307 such as a computer; a storage device 308 including a magnetic tape, a hard disk, etc.; and a communication device 309.
  • the communication device 309 may allow the electronic device 300 to communicate wirelessly or wiredly with other devices to exchange data.
  • FIG. 5 illustrates electronic device 300 with various means, it should be understood that implementation or availability of all illustrated means is not required. More or fewer means may alternatively be implemented or provided.
  • embodiments of the present disclosure include a computer program product including a computer program carried on a computer-readable medium, the computer program including program code for performing a recommendation method for words.
  • the computer program may be downloaded and installed from the network via communication device 309, or from storage device 305, or from ROM 302.
  • the processing device 301 When the computer program is executed by the processing device 301, the above-mentioned functions defined in the method of the embodiment of the present disclosure are performed.
  • the computer-readable medium mentioned above in the present disclosure may be a computer-readable signal medium or a computer-readable storage medium, or any combination of the above two.
  • the computer-readable storage medium may be, for example, but is not limited to, an electrical, magnetic, optical, electromagnetic, infrared, or semiconductor system, apparatus or device, or any combination thereof. More specific examples of computer readable storage media may include, but are not limited to: an electrical connection having one or more wires, a portable computer disk, a hard drive, random access memory (RAM), read only memory (ROM), removable Programmd read-only memory (EPROM or flash memory), fiber optics, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • a computer-readable storage medium may be any tangible medium that contains or stores a program for use by or in connection with an instruction execution system, apparatus, or device.
  • a computer-readable signal medium may include a data signal propagated in baseband or as part of a carrier wave, carrying computer-readable program code therein. Such propagated data signals may take many forms, including but not limited to electromagnetic signals, optical signals, or any suitable combination of the above.
  • a computer-readable signal medium may also be any computer-readable medium other than a computer-readable storage medium that can send, propagate, or transmit a program for use by or in connection with an instruction execution system, apparatus, or device .
  • Program code embodied on a computer-readable medium may be transmitted using any suitable medium, including but not limited to: wire, optical cable, RF (radio frequency), etc., or any suitable combination of the above.
  • the computer-readable storage medium may be a non-transitory computer-readable storage medium.
  • the client and server can communicate using any currently known or future developed network protocol such as HTTP (Hyper Text Transfer Protocol), and can communicate with digital data in any form or medium.
  • Data communications e.g., communications network
  • communications networks include local area networks (“LAN”), wide area networks (“WAN”), the Internet (e.g., the Internet), and end-to-end networks (e.g., ad hoc end-to-end networks), as well as any currently known or developed in the future network of.
  • the above-mentioned computer-readable medium may be included in the above-mentioned electronic device; it may also exist independently without being assembled into the electronic device.
  • the computer-readable medium carries one or more programs.
  • the electronic device logs in to the screen projection server based on the set account; generates at least one program based on the sender information.
  • the push address of the protocol type is sent to the screen casting server; wherein the sending end information includes local area network address information and sending end port information. and audio and video path information; send the audio and video stream to the target receiving end according to the push address, so that the target receiving end plays the audio and video stream; wherein the target receiving end is logged in using the set account to the terminal of the screen projection server.
  • log in to the screen casting server based on the set account obtain the push address list from the screen casting server through the screen casting request; wherein the push address is the one that logs in to the screen casting server using the set account.
  • Generated by the sending end obtain the audio and video stream according to the push address selected by the user, and play the audio and video stream.
  • receive the push address sent by the sending end and the screen casting request sent by the at least one receiving end receive the push address sent by the sending end and the screen casting request sent by the at least one receiving end; according to the The screen casting request sends the push address to the at least one receiving end, so that the sending end casts the played audio and video stream to the at least one receiving end for playback.
  • Computer program code for performing the operations of the present disclosure may be written in one or more programming languages, including but not limited to object-oriented programming languages—such as Java, Smalltalk, C++, and Includes conventional procedural programming languages—such as "C” or similar programming languages.
  • the program code may execute entirely on the user's computer, partly on the user's computer, as a stand-alone software package, partly on the user's computer and partly on a remote computer or entirely on the remote computer or server.
  • the remote computer can be connected to the user's computer through any kind of network, including a local area network (LAN) or a wide area network (WAN), or it can be connected to an external computer (such as an Internet service provider through Internet connection).
  • LAN local area network
  • WAN wide area network
  • Internet service provider such as an Internet service provider through Internet connection
  • each block in the flowchart or block diagram may represent a module, segment, or portion of code that contains one or more logic functions that implement the specified executable instructions.
  • the functions noted in the block may occur out of the order noted in the figures. For example, two blocks shown one after another may actually execute substantially in parallel, or they may sometimes execute in the reverse order, depending on the functionality involved.
  • each block of the block diagram and/or flowchart illustration, and combinations of blocks in the block diagram and/or flowchart illustration can be implemented by special purpose hardware-based systems that perform the specified functions or operations. , or can be implemented using a combination of specialized hardware and computer instructions.
  • the units involved in the embodiments of the present disclosure can be implemented in software or hardware. Among them, the name of a unit does not constitute a limitation on the unit itself under certain circumstances.
  • FPGAs Field Programmable Gate Arrays
  • ASICs Application Specific Integrated Circuits
  • ASSPs Application Specific Standard Products
  • SOCs Systems on Chips
  • CPLD Complex programmable logic device
  • a machine-readable medium may be a tangible medium that may contain or store a program for use by or in connection with an instruction execution system, apparatus, or device.
  • the machine-readable medium may be a machine-readable signal medium or a machine-readable storage medium.
  • Machine-readable media may include, but are not limited to, electronic, magnetic, optical, electromagnetic, infrared, or semiconductor systems, devices or devices, or any suitable combination of the foregoing.
  • machine-readable storage media would include one or more wire-based electrical connections, laptop disks, hard drives, random access memory (RAM), read only memory (ROM), erasable programmable read only memory (EPROM or flash memory), optical fiber, portable compact disk read-only memory (CD-ROM), optical storage device, magnetic storage device, or any suitable combination of the above.
  • RAM random access memory
  • ROM read only memory
  • EPROM or flash memory erasable programmable read only memory
  • CD-ROM portable compact disk read-only memory
  • magnetic storage device or any suitable combination of the above.
  • the embodiment of the present disclosure discloses a screen projection method, which is executed by the sending end and includes:
  • sender information includes LAN address information, sender port information, and audio and video paths information;
  • sending the audio and video streams to the target receiving end according to the push address includes:
  • the sending end and the target receiving end are in the same local area network, establish a data channel with the target receiving end according to the push address, and send the audio and video stream to the target receiving end through the data channel. end;
  • the audio and video streams are sent to the screen casting server, so that the screen casting server forwards the audio and video streams to the target receiving end. .
  • determining whether the sending end and the target receiving end are in the same local area network includes:
  • the sending end and the target receiving end are in the same local area network.
  • Embodiments of the present disclosure also provide a screen casting method, which is executed by the receiving end and includes:
  • obtaining a push address list from the screen casting server through a screen casting request includes:
  • the receiving end logs in to the screen casting server through a web page, it sends a screen casting request to the screen casting server by setting a screen casting URL to obtain a list of push addresses.
  • obtaining audio and video streams according to the push address selected by the user and playing the audio and video streams includes:
  • receiving end and the target sending end are in the same local area network, receive the audio and video stream sent by the target sending end;
  • the audio and video streams sent by the screen projection server are received.
  • the embodiment of the present disclosure discloses a screen casting method, which is executed by a screen casting server and includes:
  • the streaming address is sent to the at least one receiving end according to the screen casting request, so that the sending end casts the played audio and video stream to the at least one receiving end for playback.
  • the method further includes:
  • the audio and video stream sent by the sending end is received, the audio and video stream is forwarded to the at least one receiving end for playing.
  • the embodiment of the present disclosure discloses a screen projection system, which includes: a sending end, a screen projection server, and at least one receiving end;
  • the sending end is configured to: log in to the screen casting server based on the same set account; send the generated push address to the screen casting server; and cast the audio and video stream to the at least one screen according to the push address.
  • a receiving end performs playback;
  • the screen casting server is configured to: send the push address to the at least one receiving end according to the screen casting request;
  • the at least one receiving end is configured to: log in to the screen casting server based on the same set account; and send a screen casting request to the screen casting server.

Abstract

本公开实施例公开了一种投屏方法、系统、设备及存储介质。包括:基于设定账号登录至投屏服务器(S110);基于发送端信息生成至少一种协议类型的推流地址,并将所述推流地址发送至所述投屏服务器(S120);其中,所述发送端信息包含局域网地址信息、发送端端口信息及音视频路径信息;根据所述推流地址将音视频流发送至目标接收端,使得所述目标接收端播放所述音视频流(S130);其中,所述目标接收端为采用所述设定账号登录至所述投屏服务器的终端。

Description

投屏方法、系统、设备及存储介质
本申请要求在2022年4月8日提交中国专利局、申请号为202210367043.8的中国专利申请的优先权,该申请的全部内容通过引用结合在本申请中。
技术领域
本公开实施例涉及投屏技术领域,例如涉及一种投屏方法、系统、设备及存储介质。
背景技术
相关技术中的投屏方法大都基于私有协议或者公有协议实现,这些协议或多或少都对发送端和接收端都有一定的要求,有的对硬件有一定程度的依赖,有的需要购买许可证,且只能在规定系统上使用,使得投屏技术受到限制。
发明内容
本公开实施例提供一种投屏方法、系统、设备及存储介质,可以实现投屏的通用性,不受硬件及系统等的限制。
第一方面,本公开实施例提供了一种投屏方法,所述方法由发送端执行,包括:
基于设定账号登录至投屏服务器;
基于发送端信息生成至少一种协议类型的推流地址,并将所述推流地址发送至所述投屏服务器;其中,所述发送端信息包含局域网地址信息、发送端端口信息及音视频路径信息
当接收到目标发送端发送的投屏请求时,根据所述推流地址将音视频流发送至目标接收端,使得所述目标接收端播放所述音视频流;其中,所述目标接收端为采用所述设定账号登录至所述投屏服务器的终端。
第二方面,本公开实施例还提供了一种投屏方法,所述方法由接收端执行,包括:
基于设定账号登录至投屏服务器;
通过投屏请求向所述投屏服务器获取推流地址列表;其中,所述推流地址为采用所述设定账号登录至所述投屏服务器的发送端生成的;
根据用户选择的推流地址获取音视频流,并播放所述音视频流。
第三方面,本公开实施例还提供了一种投屏方法,所述方法由投屏服务器执行,包括
检测到发送端及至少一个接收端基于同一设定账号登录至所述投屏服务器 时,接收所述发送端发送的推流地址以及所述至少一个接收端发送的投屏请求;
根据所述投屏请求将所述推流地址发送至所述至少一个接收端,使得所述发送端将播放的音视频流投屏至所述至少一个接收端进行播放。
第四方面,本公开实施例还提供了一种投屏系统,包括发送端、投屏服务器及至少一个接收端;
所述发送端和所述至少一个接收端基于同一设定账号登录至所述投屏服务器;所述发送端将生成的推流地址发送至所述投屏服务器;所述至少一个接收端向所述投屏服务器发送投屏请求,所述投屏服务器根据所述投屏请求将所述推流地址发送至所述至少一个接收端;所述发送端根据所述推流地址将音视频流投屏至所述至少一个接收端进行播放。
第五方面,本公开实施例还提供了一种电子设备,所述电子设备包括:
一个或多个处理装置;
存储装置,设置为存储一个或多个程序;
当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如本公开实施例所述的投屏方法。
第六方面,本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,该程序被处理装置执行时实现如本公开实施例所述的投屏方法。
附图说明
图1是本公开实施例中的一种投屏方法的流程图;
图2是本公开实施例中的另一种投屏方法的流程图;
图3是本公开实施例中的另一种投屏方法的流程图;
图4是本公开实施例中的一种投屏系统的结构原理图;
图5是本公开实施例中的电子设备的结构原理图。
具体实施方式
应当理解,本公开的方法实施方式中记载的多个步骤可以按照不同的顺序执行,和/或并行执行。此外,方法实施方式可以包括附加的步骤和/或省略执行示出的步骤。本公开的范围在此方面不受限制。
本文使用的术语“包括”及其变形是开放性包括,即“包括但不限于”。术语“基于”是“至少部分地基于”。术语“一个实施例”表示“至少一个实施例”;术语“另一实施例”表示“至少一个另外的实施例”;术语“一些实施例”表示“至少一些实施例”。其他术语的相关定义将在下文描述中给出。
需要注意,本公开中提及的“第一”、“第二”等概念仅用于对不同的装置、模块或单元进行区分,并非用于限定这些装置、模块或单元所执行的功能的顺序 或者相互依存关系。
需要注意,本公开中提及的“一个”、“多个”的修饰是示意性而非限制性的,本领域技术人员应当理解,除非在上下文另有明确指出,否则应该理解为“一个或多个”。
本公开实施方式中的多个装置之间所交互的消息或者信息的名称仅用于说明性的目的,而并不是用于对这些消息或信息的范围进行限制。
图1为本公开实施例提供的一种投屏方法的流程图,本实施例可适用于投屏情况,该方法可以由设置于发送端的投屏装置来执行,该发送端可以是移动终端(如:智能手机或者平板电脑)或者可穿戴设备(如:智能手表、智能手环、智能眼镜或者头戴VR终端等)。如图1所示,该方法包括如下步骤:
S110,基于设定账号登录至投屏服务器。
其中,设定账号可以是用户在投屏服务器中注册的账号,投屏服务器可以理解为用于实现投屏功能的服务器。本实施例中,用户通过发送端中安装的投屏应用程序(Application,APP)或者通过浏览器投屏网页输入设定账号及登录密码,从而登录至投屏服务器。发送端登录至投屏服务器后,还可以将所在的局域网地址上报至投屏服务器。
S120,基于发送端信息生成至少一种协议类型的推流地址,并将推流地址发送至投屏服务器。
其中,发送端信息包含局域网地址信息、发送端端口信息及音视频路径信息,即推流地址由局域网地址信息、发送端端口信息及音视频路径信息组成。至少一种协议类型可以包括流媒体传输协议(Hyper Text Transfer Protocol-Flash Video,HTTP-FLV)和实时消息传输协议(Real Time Messaging Protocol,RTMP)。这样可以使得支持HTTP-FLV协议或者RTMP协议的接收端均可以接收到发送端的音视频流,不受硬件及系统等的限制。
例如,发送端根据获取到的局域网地址信息、发送端端口信息及音视频路径信息生成推流地址,并将该推流地址发送至投屏服务器。
S130,根据推流地址将音视频流发送至目标接收端,使得目标接收端播放音视频流。
其中,目标接收端为采用设定账号登录至投屏服务器的终端,即目标接收端与发送端采用同一账号登录至投屏服务器,且目标接收端可以为一个或者多个。
本实施例中,若目标接收端点选了推流地址,发送端则根据该推流地址将音视频流发送至目标接收端,使得目标接收端播放音视频流,从而实现发送端将音视频流投屏至目标接收端。
例如,根据推流地址将音视频流发送至目标接收端的过程可以是:对发送 端执行录屏操作,获得音视频流;判断发送端与目标接收端是否处于同一局域网;若发送端与目标接收端处于同一局域网,则根据推流地址建立与目标接收端的数据通道,并通过数据通道将音视频流发送至目标接收端;若发送端与目标接收端不处于同一局域网,则将音视频流发送至投屏服务器,使得投屏服务器将音视频流转发至目标接收端。
其中,录屏操作可以理解为对当前屏幕播放的音视频进行录制,从而获得音视频流。
其中,判断发送端与目标接收端是否处于同一局域网的方式可以是:向目标接收端发送网络探索ping信息;若接收到目标接收端的反馈信息,则发送端与目标接收端是否处于同一局域网。
本实施例中,当发送端登录至投屏服务器后,投屏服务器向发送端发送ping指令,发送端根据ping指令ping接收端,若接收到目标接收端的反馈信息,则发送端与目标接收端处于同一局域网。
本实施例中,若发送端与目标接收端处于同一局域网,则发送端将音视频流通过建立的数据通道发送至目标接收端;若发送端与目标接收端不处于同一局域网,则发送端将音视频流发送至投屏服务器,使得投屏服务器将音视频流转发至目标接收端。
本公开实施例的技术方案,基于设定账号登录至投屏服务器;基于发送端信息生成至少一种协议类型的推流地址,并将推流地址发送至投屏服务器;其中,发送端信息包含局域网地址信息、发送端端口信息及音视频路径信息;当接收到目标发送端发送的投屏请求时,根据推流地址将音视频流发送至目标接收端,使得目标接收端播放音视频流。本公开实施例提供的投屏方法,可以实现投屏的通用性,不受硬件及系统等的限制。
图2是本公开实施例提供的一种投屏方法的流程图,以上述实施例为基础,本实施例可适用于投屏情况,该方法可以由设置于接收端的投屏装置来执行,该接收端可以是移动终端(如:智能手机或者平板电脑)或者可穿戴设备(如:智能手表、智能手环、智能眼镜或者头戴VR终端等)。如图1所示,该方法包括如下步骤:
S210,基于设定账号登录至投屏服务器。
其中,设定账号可以是用户在投屏服务器中注册的账号,投屏服务器可以理解为用于实现投屏功能的服务器。本实施例中,用户通过接收端中安装的投屏应用程序(Application,APP)或者通过浏览器投屏网页输入设定账号及登录密码,从而登录至投屏服务器。接收端登录至投屏服务器后,还可以将所在的局域网地址上报至投屏服务器。
S220,通过投屏请求向投屏服务器获取推流地址列表。
其中,推流地址为采用设定账号登录至投屏服务器的终端生成的。其中,投屏请求可以是通过浏览器网页发送,或者投屏APP发送。
本实施例中,通过投屏请求向投屏服务器获取推流地址列表的过程可以是:若接收端通过网页登录投屏服务器,则通过设定投屏网址向投屏服务器发送投屏请求,以获得推流地址列表。
其中,设定投屏网址可以是预先设定好的地址,例如:http://www.touping.com。本实施例中,投屏服务器接收到投屏请求后,确定接收端支持的通信协议,并同一账号对应的接收端支持的通信协议下推流地址列表发送至接收端。使得接收端选择其中一推流地址,以获取该推流地址对应的音视频流。即若接收端支持HTTP-FLV协议,则投屏服务器将HTTP-FLV协议下的推流地址列表发送至接收端;若接收端支持RTMP协议,则投屏服务器将RTMP协议下的推流地址列表发送至接收端。
例如,若接收端通过投屏APP登录投屏服务器,则通过检测用户触发的投屏请求模块向,以获得推流地址列表投屏服务器发送投屏请求,以获得推流地址列表。
S230,根据用户选择的推流地址获取音视频流,并播放音视频流。
例如,用户从推流地址列表中选择其中一推流地址,获取该推流地址对应的发送端对应的音视频流,并播放音视频流。
例如,根据用户选择的推流地址获取音视频流,并播放音视频流的方式可以是:根据用户选择的推流地址确定目标发送端;若接收端与目标发送端处于同一局域网,则接收目标发送端发送的音视频流;若接收端与目标发送端处于不同的局域网,则接收投屏服务器发送的音视频流。
本实施例中,当用户选择其中一个推流地址后,将生成该推流地址的发送端确定为目标发送端,若接收端与目标发送端处于同一局域网,则接收目标发送端通过数据通道发送的音视频流,若接收端与目标发送端处于不同的局域网,则接收投屏服务器转发的音视频流。
本公开实施例的技术方案,基于设定账号登录至投屏服务器;通过投屏请求向投屏服务器获取推流地址列表;其中,推流地址为采用设定账号登录至投屏服务器的发送端生成的;根据用户选择的推流地址获取音视频流,并播放音视频流。本公开实施例提供的投屏方法,可以实现投屏的通用性,不受硬件及系统等的限制。
图3是本公开实施例提供的一种投屏方法的流程图,以上述实施例为基础,本实施例可适用于投屏情况,该方法可以由设置于投屏服务器的投屏装置来执行。如图3所示,该方法包括如下步骤:
S410,检测到发送端及至少一个接收端基于同一设定账号登录至投屏服务 器时,接收发送端发送的推流地址以及至少一个接收端发送的投屏请求。
S420,根据投屏请求将推流地址发送至至少一个接收端,使得发送端播放的音视频流投屏至至少一个接收端进行播放。
本实施例中,发送的基于设定账号登录至投屏服务器时,基于发送端信息生成至少一种协议类型的推流地址,并将推流地址发送至投屏服务器。接收端基于同一设定账号登录至投屏服务器时,向投屏服务器发送投屏请求。服务器根据投屏请求将推流地址发送至至少一个发送端中,使得发送端将播放的音视频流投屏至至少一个接收端进行播放。
例如,在接收发送端发送的推流地址以及至少一个接收端发送的投屏请求之后,还包括:若接收到发送端发送的音视频流,则将音视频流转发至至少一个接收端进行播放。
本实施例中,若接收端与发送端不在同一局域网,则发送端将录屏到的音视频流发送是投屏服务器,使得投屏服务器将该音视频流转发至接收端。
本实施例的技术方案,检测到发送端及至少一个接收端基于同一设定账号登录至投屏服务器时,接收发送端发送的推流地址以及至少一个接收端发送的投屏请求;根据投屏请求将推流地址发送至至少一个接收端,使得发送端将播放的音视频流投屏至至少一个接收端进行播放。可以实现投屏的通用性,不受硬件及系统等的限制。
图4是本公开实施例提供的一种投屏系统的结构原理图。如图4所示,该系统包括发送端、投屏服务器及至少一个接收端。发送端和至少一个接收端基于同一设定账号登录至投屏服务器;发送端将生成的推流地址发送至投屏服务器;至少一个接收端向投屏服务器发送投屏请求,投屏服务器根据投屏请求将推流地址发送至至少一个接收端;发送端根据推流地址将音视频流投屏至至少一个接收端进行播放。
该系统的原理如下:
1)发送端采用设定账号登录投屏服务器,同时将局域网地址发送至投屏服务器;
2)接收端采用同一设定账号登录投屏服务器,同时将局域网地址发送至投屏服务器;
3)投屏服务器检测到采用同一设定账号登录的发送端及接收端,向发送端发送ping指令;
4)发送端根据ping指令ping接收端,若ping通,则接收端与发送端处于同一局域网,若ping不通,接收端与发送端不处于同一局域网;
5)发送端生成推流地址,并将推流地址发送至投屏服务器;
6)接收端通过网页输入http://www.touping.com地址,以向投屏服务器发送 投屏请求;
7)投屏服务器根据投屏请求将推流地址列表发送至接收端;
8)接收端接收用户从推流地址列表选择的推流地址;
9)接收端启动录屏操作,获得音视频流;若接收端与发送端处于同一局域网,则将音视频流通过建立的数据通道发送至接收端;若接收端与发送端不处于同一局域网,则将音视频流发送至投屏服务器,使得投屏服务器转发至接收端;
10)接收端将接收到的音视频流进行播放,从而实现投屏。
本公开实施例的公开的投屏系统,包括:发送端、投屏服务器及至少一个接收端;发送端和至少一个接收端基于同一设定账号登录至投屏服务器;发送端将生成的推流地址发送至投屏服务器;至少一个接收端向投屏服务器发送投屏请求,投屏服务器根据投屏请求将推流地址发送至至少一个接收端;发送端根据推流地址将音视频流投屏至至少一个接收端进行播放。可以实现投屏的通用性,不受硬件及系统等的限制。
下面参考图5,其示出了适于用来实现本公开实施例的电子设备300的结构示意图。本公开实施例中的电子设备可以包括但不限于诸如移动电话、笔记本电脑、数字广播接收器、PDA(个人数字助理)、PAD(平板电脑)、PMP(便携式多媒体播放器)、车载终端(例如车载导航终端)等等的移动终端以及诸如数字TV、台式计算机等等的固定终端,或者多种形式的服务器,如独立服务器或者服务器集群。图5示出的电子设备仅仅是一个示例,不应对本公开实施例的功能和使用范围带来任何限制。
如图5所示,电子设备300可以包括处理装置(例如中央处理器、图形处理器等)301,其可以根据存储在只读存储装置(ROM)302中的程序或者从存储装置305加载到随机访问存储装置(RAM)303中的程序而执行多种适当的动作和处理。在RAM 303中,还存储有电子设备300操作所需的多种程序和数据。处理装置301、ROM 302以及RAM 303通过总线304彼此相连。输入/输出(I/O)接口305也连接至总线304。
通常,以下装置可以连接至I/O接口305:包括例如触摸屏、触摸板、键盘、鼠标、摄像头、麦克风、加速度计、陀螺仪等的输入装置306;包括例如液晶显示器(LCD)、扬声器、振动器等的输出装置307;包括例如磁带、硬盘等的存储装置308;以及通信装置309。通信装置309可以允许电子设备300与其他设备进行无线或有线通信以交换数据。虽然图5示出了具有多种装置的电子设备300,但是应理解的是,并不要求实施或具备所有示出的装置。可以替代地实施或具备更多或更少的装置。
根据本公开的实施例,上文参考流程图描述的过程可以被实现为计算机软 件程序。例如,本公开的实施例包括一种计算机程序产品,其包括承载在计算机可读介质上的计算机程序,该计算机程序包含用于执行词语的推荐方法的程序代码。在这样的实施例中,该计算机程序可以通过通信装置309从网络上被下载和安装,或者从存储装置305被安装,或者从ROM 302被安装。在该计算机程序被处理装置301执行时,执行本公开实施例的方法中限定的上述功能。
需要说明的是,本公开上述的计算机可读介质可以是计算机可读信号介质或者计算机可读存储介质或者是上述两者的任意组合。计算机可读存储介质例如可以是——但不限于——电、磁、光、电磁、红外线、或半导体的系统、装置或器件,或者任意以上的组合。计算机可读存储介质的更具体的例子可以包括但不限于:具有一个或多个导线的电连接、便携式计算机磁盘、硬盘、随机访问存储器(RAM)、只读存储器(ROM)、可擦式可编程只读存储器(EPROM或闪存)、光纤、便携式紧凑磁盘只读存储器(CD-ROM)、光存储器件、磁存储器件、或者上述的任意合适的组合。在本公开中,计算机可读存储介质可以是任何包含或存储程序的有形介质,该程序可以被指令执行系统、装置或者器件使用或者与其结合使用。而在本公开中,计算机可读信号介质可以包括在基带中或者作为载波一部分传播的数据信号,其中承载了计算机可读的程序代码。这种传播的数据信号可以采用多种形式,包括但不限于电磁信号、光信号或上述的任意合适的组合。计算机可读信号介质还可以是计算机可读存储介质以外的任何计算机可读介质,该计算机可读信号介质可以发送、传播或者传输用于由指令执行系统、装置或者器件使用或者与其结合使用的程序。计算机可读介质上包含的程序代码可以用任何适当的介质传输,包括但不限于:电线、光缆、RF(射频)等等,或者上述的任意合适的组合。计算机可读存储介质可以是非暂态计算机可读存储介质。
在一些实施方式中,客户端、服务器可以利用诸如HTTP(Hyper Text Transfer Protocol,超文本传输协议)之类的任何当前已知或未来研发的网络协议进行通信,并且可以与任意形式或介质的数字数据通信(例如,通信网络)互连。通信网络的示例包括局域网(“LAN”),广域网(“WAN”),网际网(例如,互联网)以及端对端网络(例如,ad hoc端对端网络),以及任何当前已知或未来研发的网络。
上述计算机可读介质可以是上述电子设备中所包含的;也可以是单独存在,而未装配入该电子设备中。
上述计算机可读介质承载有一个或者多个程序,当上述一个或者多个程序被该电子设备执行时,使得该电子设备:基于设定账号登录至投屏服务器;基于发送端信息生成至少一种协议类型的推流地址,并将所述推流地址发送至所述投屏服务器;其中,所述发送端信息包含局域网地址信息、发送端端口信息 及音视频路径信息;根据所述推流地址将音视频流发送至目标接收端,使得所述目标接收端播放所述音视频流;其中,所述目标接收端为采用所述设定账号登录至所述投屏服务器的终端。或者,基于设定账号登录至投屏服务器;通过投屏请求向所述投屏服务器获取推流地址列表;其中,所述推流地址为采用所述设定账号登录至所述投屏服务器的发送端生成的;根据用户选择的推流地址获取音视频流,并播放所述音视频流。或者,检测到发送端及至少一个接收端基于同一设定账号登录至所述投屏服务器时,接收所述发送端发送的推流地址以及所述至少一个接收端发送的投屏请求;根据所述投屏请求将所述推流地址发送至所述至少一个接收端,使得所述发送端将播放的音视频流投屏至所述至少一个接收端进行播放。
可以以一种或多种程序设计语言或其组合来编写用于执行本公开的操作的计算机程序代码,上述程序设计语言包括但不限于面向对象的程序设计语言—诸如Java、Smalltalk、C++,还包括常规的过程式程序设计语言—诸如“C”语言或类似的程序设计语言。程序代码可以完全地在用户计算机上执行、部分地在用户计算机上执行、作为一个独立的软件包执行、部分在用户计算机上部分在远程计算机上执行、或者完全在远程计算机或服务器上执行。在涉及远程计算机的情形中,远程计算机可以通过任意种类的网络——包括局域网(LAN)或广域网(WAN)—连接到用户计算机,或者,可以连接到外部计算机(例如利用因特网服务提供商来通过因特网连接)。
附图中的流程图和框图,图示了按照本公开多种实施例的系统、方法和计算机程序产品的可能实现的体系架构、功能和操作。在这点上,流程图或框图中的每个方框可以代表一个模块、程序段、或代码的一部分,该模块、程序段、或代码的一部分包含一个或多个用于实现规定的逻辑功能的可执行指令。也应当注意,在有些作为替换的实现中,方框中所标注的功能也可以以不同于附图中所标注的顺序发生。例如,两个接连地表示的方框实际上可以基本并行地执行,它们有时也可以按相反的顺序执行,这依所涉及的功能而定。也要注意的是,框图和/或流程图中的每个方框、以及框图和/或流程图中的方框的组合,可以用执行规定的功能或操作的专用的基于硬件的系统来实现,或者可以用专用硬件与计算机指令的组合来实现。
描述于本公开实施例中所涉及到的单元可以通过软件的方式实现,也可以通过硬件的方式来实现。其中,单元的名称在某种情况下并不构成对该单元本身的限定。
本文中以上描述的功能可以至少部分地由一个或多个硬件逻辑部件来执行。例如,非限制性地,可以使用的示范类型的硬件逻辑部件包括:现场可编程门阵列(FPGA)、专用集成电路(ASIC)、专用标准产品(ASSP)、片上系统(SOC)、 复杂可编程逻辑设备(CPLD)等等。
在本公开的上下文中,机器可读介质可以是有形的介质,其可以包含或存储以供指令执行系统、装置或设备使用或与指令执行系统、装置或设备结合地使用的程序。机器可读介质可以是机器可读信号介质或机器可读储存介质。机器可读介质可以包括但不限于电子的、磁性的、光学的、电磁的、红外的、或半导体系统、装置或设备,或者上述内容的任何合适组合。机器可读存储介质的更具体示例会包括基于一个或多个线的电气连接、便携式计算机盘、硬盘、随机存取存储器(RAM)、只读存储器(ROM)、可擦除可编程只读存储器(EPROM或快闪存储器)、光纤、便捷式紧凑盘只读存储器(CD-ROM)、光学储存设备、磁储存设备、或上述内容的任何合适组合。
本公开实施例公开了一种投屏方法,所述方法由发送端执行,包括:
基于设定账号登录至投屏服务器;
基于发送端信息生成至少一种协议类型的推流地址,并将所述推流地址发送至所述投屏服务器;其中,所述发送端信息包含局域网地址信息、发送端端口信息及音视频路径信息;
根据所述推流地址将音视频流发送至目标接收端,使得所述目标接收端播放所述音视频流;其中,所述目标接收端为采用所述设定账号登录至所述投屏服务器的终端。
在一实施例中,根据所述推流地址将音视频流发送至目标接收端,包括:
对所述发送端执行录屏操作,获得音视频流;
判断所述发送端与所述目标接收端是否处于同一局域网;
若所述发送端与所述目标接收端处于同一局域网,则根据所述推流地址建立与所述目标接收端的数据通道,并通过所述数据通道将所述音视频流发送至所述目标接收端;
若所述发送端与所述目标接收端不处于同一局域网,则将所述音视频流发送至所述投屏服务器,使得所述投屏服务器将所述音视频流转发至所述目标接收端。
在一实施例中,判断所述发送端与所述目标接收端是否处于同一局域网,包括:
向所述目标接收端发送网络探索ping信息;
若接收到所述目标接收端的反馈信息,则所述发送端与所述目标接收端处于同一局域网。
本公开实施例还提供了一种投屏方法,所述方法由接收端执行,包括:
基于设定账号登录至投屏服务器;
通过投屏请求向所述投屏服务器获取推流地址列表;其中,所述推流地址 为采用所述设定账号登录至所述投屏服务器的发送端生成的;
根据用户选择的推流地址获取音视频流,并播放所述音视频流。
在一实施例中,通过投屏请求向所述投屏服务器获取推流地址列表,包括:
若所述接收端通过网页登录所述投屏服务器,则通过设定投屏网址向所述投屏服务器发送投屏请求,以获得推流地址列表。
在一实施例中,根据用户选择的推流地址获取音视频流,并播放所述音视频流,包括:
根据用户选择的推流地址确定目标发送端;
若所述接收端与所述目标发送端处于同一局域网,则接收所述目标发送端发送的音视频流;
若所述接收端与所述目标发送端处于不同的局域网,则接收所述投屏服务器发送的音视频流。
本公开实施例公开了一种投屏方法,所述方法由投屏服务器执行,包括:
检测到发送端及至少一个接收端基于同一设定账号登录至所述投屏服务器时,接收所述发送端发送的推流地址以及所述至少一个接收端发送的投屏请求;
根据所述投屏请求将所述推流地址发送至所述至少一个接收端,使得所述发送端将播放的音视频流投屏至所述至少一个接收端进行播放。
在一实施例中,在接收所述发送端发送的推流地址以及所述至少一个接收端发送的投屏请求之后,还包括:
若接收到所述发送端发送的音视频流,则将所述音视频流转发至所述至少一个接收端进行播放。
本公开实施例公开了一种投屏系统,包括:发送端、投屏服务器及至少一个接收端;
所述发送端设置为:基于同一设定账号登录至所述投屏服务器;将生成的推流地址发送至所述投屏服务器;根据所述推流地址将音视频流投屏至所述至少一个接收端进行播放;
所述投屏服务器设置为:根据所述投屏请求将所述推流地址发送至所述至少一个接收端;
所述至少一个接收端设置为:基于同一设定账号登录至所述投屏服务器;向所述投屏服务器发送投屏请求。

Claims (11)

  1. 一种投屏方法,所述方法由发送端执行,包括:
    基于设定账号登录至投屏服务器;
    基于发送端信息生成至少一种协议类型的推流地址,并将所述推流地址发送至所述投屏服务器;其中,所述发送端信息包含局域网地址信息、发送端端口信息及音视频路径信息;
    根据所述推流地址将音视频流发送至目标接收端,使得所述目标接收端播放所述音视频流;其中,所述目标接收端为采用所述设定账号登录至所述投屏服务器的终端。
  2. 根据权利要求1所述的方法,其中,所述根据所述推流地址将音视频流发送至目标接收端,包括:
    对所述发送端执行录屏操作,获得音视频流;
    判断所述发送端与所述目标接收端是否处于同一局域网;
    基于所述发送端与所述目标接收端处于同一局域网的判断结果,根据所述推流地址建立与所述目标接收端的数据通道,并通过所述数据通道将所述音视频流发送至所述目标接收端;
    基于所述发送端与所述目标接收端不处于同一局域网的判断结果,将所述音视频流发送至所述投屏服务器,使得所述投屏服务器将所述音视频流转发至所述目标接收端。
  3. 根据权利要求2所述的方法,其中,所述判断所述发送端与所述目标接收端是否处于同一局域网,包括:
    向所述目标接收端发送网络探索ping信息;
    响应于接收到所述目标接收端的反馈信息,所述发送端与所述目标接收端处于同一局域网。
  4. 一种投屏方法,所述方法由接收端执行,包括:
    基于设定账号登录至投屏服务器;
    通过投屏请求向所述投屏服务器获取推流地址列表;其中,推流地址为采用所述设定账号登录至所述投屏服务器的发送端生成的;
    根据用户选择的推流地址获取音视频流,并播放所述音视频流。
  5. 根据权利要求4所述的方法,其中,所述通过投屏请求向所述投屏服务器获取推流地址列表,包括:
    响应于确定所述接收端通过网页登录所述投屏服务器,通过设定投屏网址向所述投屏服务器发送投屏请求,以获得推流地址列表。
  6. 根据权利要求4所述的方法,其中,所述根据用户选择的推流地址获取音视频流,并播放所述音视频流,包括:
    根据用户选择的推流地址确定目标发送端;
    响应于确定所述接收端与所述目标发送端处于同一局域网,接收所述目标发送端发送的音视频流;
    响应于确定所述接收端与所述目标发送端处于不同的局域网,接收所述投屏服务器发送的音视频流。
  7. 一种投屏方法,所述方法由投屏服务器执行,包括:
    检测到发送端及至少一个接收端基于同一设定账号登录至所述投屏服务器时,接收所述发送端发送的推流地址以及所述至少一个接收端发送的投屏请求;
    根据所述投屏请求将所述推流地址发送至所述至少一个接收端,使得所述发送端将播放的音视频流投屏至所述至少一个接收端进行播放。
  8. 根据权利要求7所述的方法,在接收所述发送端发送的推流地址以及所述至少一个接收端发送的投屏请求之后,还包括:
    响应于接收到所述发送端发送的音视频流,将所述音视频流转发至所述至少一个接收端进行播放。
  9. 一种投屏系统,包括:发送端、投屏服务器及至少一个接收端;
    所述发送端设置为:基于同一设定账号登录至所述投屏服务器;将生成的推流地址发送至所述投屏服务器;根据所述推流地址将音视频流投屏至所述至少一个接收端进行播放;
    所述投屏服务器设置为:根据所述投屏请求将所述推流地址发送至所述至少一个接收端;
    所述至少一个接收端设置为:基于同一设定账号登录至所述投屏服务器;向所述投屏服务器发送投屏请求。
  10. 一种电子设备,包括:
    一个或多个处理装置;
    存储装置,设置为存储一个或多个程序;
    当所述一个或多个程序被所述一个或多个处理装置执行,使得所述一个或多个处理装置实现如权利要求1-8中任一所述的投屏方法。
  11. 一种计算机可读介质,其上存储有计算机程序,所述计算机程序被处理装置执行时实现如权利要求1-8中任一所述的投屏方法。
PCT/CN2023/081263 2022-04-08 2023-03-14 投屏方法、系统、设备及存储介质 WO2023193574A1 (zh)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN202210367043.8 2022-04-08
CN202210367043.8A CN114827682A (zh) 2022-04-08 2022-04-08 投屏方法、系统、设备及存储介质

Publications (1)

Publication Number Publication Date
WO2023193574A1 true WO2023193574A1 (zh) 2023-10-12

Family

ID=82533925

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2023/081263 WO2023193574A1 (zh) 2022-04-08 2023-03-14 投屏方法、系统、设备及存储介质

Country Status (2)

Country Link
CN (1) CN114827682A (zh)
WO (1) WO2023193574A1 (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114827682A (zh) * 2022-04-08 2022-07-29 北京字节跳动网络技术有限公司 投屏方法、系统、设备及存储介质

Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104519397A (zh) * 2013-09-29 2015-04-15 北大方正集团有限公司 音视频投屏播放方法、机顶盒和终端设备
US9134963B1 (en) * 2014-07-03 2015-09-15 U3D Limited Method of unifying information and tool from a plurality of information sources
CN110191350A (zh) * 2019-05-28 2019-08-30 上海哔哩哔哩科技有限公司 多端投屏方法、计算机设备及存储介质
CN112203126A (zh) * 2020-09-18 2021-01-08 北京小米松果电子有限公司 投屏方法、投屏装置及存储介质
CN114040232A (zh) * 2021-11-01 2022-02-11 北京奇艺世纪科技有限公司 投屏系统、方法、电子设备和存储介质
CN114827682A (zh) * 2022-04-08 2022-07-29 北京字节跳动网络技术有限公司 投屏方法、系统、设备及存储介质

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN105430433B (zh) * 2015-10-29 2019-02-19 小米科技有限责任公司 信息处理方法及装置
US20170171270A1 (en) * 2015-12-14 2017-06-15 Le Holdings (Beijing) Co., Ltd. Method and electronic device for controlling video playing
CN107135417B (zh) * 2017-06-08 2019-08-20 深圳市耐飞科技有限公司 一种hls协议的投屏方法及系统
CN112188277B (zh) * 2019-07-01 2022-08-26 腾讯科技(深圳)有限公司 投屏控制方法、装置、电子设备和计算机程序介质
CN112616065B (zh) * 2020-12-16 2023-06-13 深圳乐播科技有限公司 一种屏幕镜像发起方法、装置、系统及可读存储介质

Patent Citations (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104519397A (zh) * 2013-09-29 2015-04-15 北大方正集团有限公司 音视频投屏播放方法、机顶盒和终端设备
US9134963B1 (en) * 2014-07-03 2015-09-15 U3D Limited Method of unifying information and tool from a plurality of information sources
CN110191350A (zh) * 2019-05-28 2019-08-30 上海哔哩哔哩科技有限公司 多端投屏方法、计算机设备及存储介质
CN112203126A (zh) * 2020-09-18 2021-01-08 北京小米松果电子有限公司 投屏方法、投屏装置及存储介质
CN114040232A (zh) * 2021-11-01 2022-02-11 北京奇艺世纪科技有限公司 投屏系统、方法、电子设备和存储介质
CN114827682A (zh) * 2022-04-08 2022-07-29 北京字节跳动网络技术有限公司 投屏方法、系统、设备及存储介质

Also Published As

Publication number Publication date
CN114827682A (zh) 2022-07-29

Similar Documents

Publication Publication Date Title
WO2020233142A1 (zh) 多媒体文件播放方法、装置、电子设备和存储介质
WO2022262459A1 (zh) 投屏方法、装置、电子设备和存储介质
WO2021218518A1 (zh) 视频的处理方法、装置、设备及介质
JP2022542836A (ja) ノードデータ同期方法及び装置、システム、電子機器、記憶媒体並びにコンピュータプログラム
WO2020151599A1 (zh) 视频同步发布方法、装置、电子设备及可读存储介质
WO2020224482A1 (zh) 针对虚拟礼物的消息推送方法及电子设备
WO2023279891A1 (zh) 投屏设备的发现方法、装置、电子设备和存储介质
WO2022127523A1 (zh) 一种视频播放方法、装置、设备及介质
WO2021254168A1 (zh) 会议控制方法、装置、可读介质及电子设备
US11758087B2 (en) Multimedia conference data processing method and apparatus, and electronic device
WO2023193574A1 (zh) 投屏方法、系统、设备及存储介质
JP2019050554A (ja) 音声サービスを提供するための方法および装置
WO2024051518A1 (zh) 直播方法、装置、电子设备以及存储介质
CN112312222A (zh) 视频发送方法、装置和电子设备
WO2021233297A1 (zh) 资源分享方法、装置、电子设备及计算机可读介质
WO2019062667A1 (zh) 会议内容的传输方法及装置
JP2022536387A (ja) ビデオデータの処理方法、装置、電子機器およびコンピュータ可読媒体
WO2020220777A1 (zh) 一种信息推送的方法、装置、设备和介质
WO2020259153A1 (zh) 特效同步的方法、装置及存储介质
CN110913270B (zh) 直播方法和装置
CN108337556B (zh) 用于播放影音文件的方法和装置
CN112968871B (zh) 应用程序的登录方法、装置、可读介质和电子设备
WO2024083149A1 (zh) 媒体内容处理方法、装置和电子设备
WO2020233171A1 (zh) 歌单切换方法、装置、系统、终端和存储介质
WO2023226757A1 (zh) 视频缓存方法、装置、设备及存储介质

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: 23784138

Country of ref document: EP

Kind code of ref document: A1