CN109413453B - Video playing method, device, terminal and storage medium - Google Patents

Video playing method, device, terminal and storage medium Download PDF

Info

Publication number
CN109413453B
CN109413453B CN201811223883.7A CN201811223883A CN109413453B CN 109413453 B CN109413453 B CN 109413453B CN 201811223883 A CN201811223883 A CN 201811223883A CN 109413453 B CN109413453 B CN 109413453B
Authority
CN
China
Prior art keywords
connection
server
terminal
connection object
video
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Active
Application number
CN201811223883.7A
Other languages
Chinese (zh)
Other versions
CN109413453A (en
Inventor
洪锐堉
谢导
曹伟鹏
唐日升
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Guangzhou Kugou Computer Technology Co Ltd
Original Assignee
Guangzhou Kugou Computer Technology Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by Guangzhou Kugou Computer Technology Co Ltd filed Critical Guangzhou Kugou Computer Technology Co Ltd
Priority to CN201811223883.7A priority Critical patent/CN109413453B/en
Publication of CN109413453A publication Critical patent/CN109413453A/en
Application granted granted Critical
Publication of CN109413453B publication Critical patent/CN109413453B/en
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/238Interfacing the downstream path of the transmission network, e.g. adapting the transmission rate of a video stream to network bandwidth; Processing of multiplex streams
    • H04N21/2385Channel allocation; Bandwidth allocation
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1069Session establishment or de-establishment
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/1066Session management
    • H04L65/1096Supplementary features, e.g. call forwarding or call holding
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • 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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • H04N21/4383Accessing a communication channel
    • H04N21/4384Accessing a communication channel involving operations to reduce the access time, e.g. fast-tuning for reducing channel switching latency

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • General Business, Economics & Management (AREA)
  • Information Transfer Between Computers (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

The invention discloses a video playing method, a video playing device, a video playing terminal and a video playing storage medium, and belongs to the technical field of networks. According to the invention, the terminal can directly acquire the connection object from the connection pool when the video needs to be played by pre-establishing the connection pool, and the video stream is pulled based on the connection indicated by the connection object, so that the video is played.

Description

Video playing method, device, terminal and storage medium
Technical Field
The present invention relates to the field of network technologies, and in particular, to a video playing method, apparatus, terminal, and storage medium.
Background
With the development of network technology and the diversification of terminal functions, a terminal can play various videos, for example, in a live webcast scene, the terminal can play videos in a live webcast when detecting a click operation in a certain live webcast.
Currently, in the process of video playing, when receiving a video playing instruction, a terminal performs a plurality of interactive processes such as handshaking with a server, establishing network connection, establishing network stream, and the like, thereby establishing connection with the server. After the connection between the terminal and the server is completed, the terminal may obtain a video stream corresponding to the video playing instruction from the server based on the established connection, and perform video playing based on the video stream.
When the method is adopted to play the video, after the terminal receives the video playing instruction, a long time is needed to establish connection with the server, so that the acquisition speed of the video stream is slow, and further the playing speed of the video is slow.
Disclosure of Invention
The embodiment of the invention provides a video playing method, a video playing device, a video playing terminal and a video playing storage medium, which can solve the problem that in the related art, the video playing speed is slow due to the fact that the video stream is slow in obtaining speed. The technical scheme is as follows:
in one aspect, a video playing method is provided, where the method includes:
generating a connection pool, wherein the connection pool is used for storing at least one connection object, and each connection object is used for indicating one connection between the terminal and a server;
when a video playing instruction is received, acquiring any connection object from the connection pool;
based on the connection indicated by the connection object, acquiring a video stream corresponding to the video playing instruction from the server;
and performing video playing based on the video stream.
Optionally, after acquiring any connection object from the connection pool, the method further includes:
generating a connection object;
establishing connection with the server based on the connection object;
adding the connection object to the connection pool.
Optionally, after the generating the connection pool, the method further includes:
for each connection object in the connection pool, keeping the connection indicated by the connection object in an available state.
Optionally, the maintaining the connection indicated by the connection object in an available state includes:
sending heartbeat messages to the server at intervals of preset time based on the connection indicated by the connection object;
receiving a heartbeat response of the server based on the connection indicated by the connection object.
Optionally, the method further comprises:
traversing at least one join object in the join pool;
and when the connections indicated by the at least one connection object are all in an unavailable state, establishing the connection with the server.
Optionally, the generating a connection pool includes:
generating at least one connection object according to the domain name of the server;
for each connection object in the at least one connection object, establishing a connection with the server based on the connection object;
adding the connection object to the connection pool.
Optionally, the establishing a connection with the server based on the connection object includes:
performing handshake with the server based on the connection object;
establishing network connection with the server based on the connection object;
and establishing a network flow with the server based on the connection object.
In another aspect, a video playback apparatus is provided, the apparatus including:
a generating module, configured to generate a connection pool, where the connection pool is configured to store at least one connection object, and each connection object is configured to indicate a connection between the terminal and a server;
the acquisition module is used for acquiring any connection object from the connection pool when a video playing instruction is received;
the obtaining module is further configured to obtain, from the server, a video stream corresponding to the video playing instruction based on the connection indicated by the connection object;
and the playing module is used for playing the video based on the video stream.
Optionally, the generating module is further configured to generate a connection object;
the device further comprises: the connection module is used for establishing connection with the server based on the connection object;
an adding module, configured to add the connection object to the connection pool.
Optionally, the apparatus further comprises:
and the maintaining module is used for maintaining the connection indicated by the connection object to be in an available state for each connection object in the connection pool.
Optionally, the maintaining module is configured to send a heartbeat message to the server every preset time interval based on the connection indicated by the connection object; receiving a heartbeat response of the server based on the connection indicated by the connection object.
Optionally, the apparatus further comprises:
a traversing module for traversing at least one connection object in the connection pool;
and the connection module is used for establishing connection with the server when the connections indicated by the at least one connection object are all in an unavailable state.
Optionally, the generating module is configured to generate at least one connection object according to the domain name of the server; for each connection object in the at least one connection object, establishing a connection with the server based on the connection object; adding the connection object to the connection pool.
Optionally, the generating module is configured to: performing handshake with the server based on the connection object; establishing network connection with the server based on the connection object; and establishing a network flow with the server based on the connection object.
In another aspect, a terminal is provided, where the terminal includes a processor and a memory, where the memory stores at least one instruction, and the instruction is loaded and executed by the processor to implement the operation performed by the video playing method.
In another aspect, a computer-readable storage medium is provided, in which at least one instruction is stored, and the instruction is loaded and executed by a processor to implement the operations performed by the above video playing method.
According to the video playing method, the video playing device, the video playing terminal and the storage medium, the terminal can directly acquire the connection object from the connection pool when the video needs to be played through the connection pool which is established in advance, and the video is played based on the connection indicated by the connection object, so that the terminal does not need to be connected with the server temporarily when the video is played, the time consumed for establishing the connection in the video playing process is saved, the time for acquiring the video stream is greatly shortened, the speed for acquiring the video stream is increased, the speed for playing the video is increased, and the user can watch the video quickly.
Drawings
In order to more clearly illustrate the technical solutions in the embodiments of the present invention, the drawings needed to be used in the description of the embodiments will be briefly introduced below, and it is obvious that the drawings in the following description are only some embodiments of the present invention, and it is obvious for those skilled in the art to obtain other drawings based on these drawings without creative efforts.
Fig. 1 is a system architecture diagram of a webcast according to an embodiment of the present invention;
fig. 2 is a flowchart of a video playing method according to an embodiment of the present invention;
fig. 3 is a flowchart of a video playing method according to an embodiment of the present invention;
fig. 4 is a schematic structural diagram of a video playing apparatus according to an embodiment of the present invention;
fig. 5 is a schematic structural diagram of a terminal according to an embodiment of the present invention.
Detailed Description
The technical solutions in the embodiments of the present invention will be clearly and completely described below with reference to the drawings in the embodiments of the present invention, and it is obvious that the described embodiments are some, not all, embodiments of the present invention. All other embodiments, which can be derived by a person skilled in the art from the embodiments given herein without making any creative effort, shall fall within the protection scope of the present invention.
Fig. 1 is a system architecture diagram of live streaming, which is an emerging social networking mode that multiple users can watch or listen to the same live content through a network at the same time according to an embodiment of the present invention.
Typically, a anchor may present audio-video content, such as singing, games, movies, and television shows, in a live room, which is an online virtual room that provides live barrage-style audio-video. The audience can enter the live broadcast room through the terminal, watch or listen to the display content of the anchor broadcast in the live broadcast room, and can also interact with the anchor broadcast, such as praise, present for the anchor broadcast, pay attention to or share the anchor broadcast, chat with the anchor broadcast, and the like.
As shown in fig. 1, the webcast system may include a plurality of terminals and a content distribution network, wherein the plurality of terminals may include a terminal of a main broadcast and terminals of n viewers. The content distribution network is used for providing audio and video services for the plurality of terminals. The terminal of the anchor can collect audio and video data in the anchor live broadcasting process, and obtains video streams based on the audio and video data, so that the video streams are sent to a content distribution network, the content distribution network forwards the video streams to the terminals of the n audiences, and then the terminals of the audiences can decode the video streams and play videos, so that the audiences can watch the live broadcasting contents of the anchor. Wherein n is a positive integer.
The content distribution network is a virtual network formed by a plurality of node servers, the node servers are distributed in all places of the network, and the content distribution network can send video streams to the node server closest to a user according to network flow, connection of each node server, load conditions, distance between the node servers and the user, response time and other factors, so that a video stream forwarding process is realized based on the node servers.
It should be noted that the anchor terminal may perform live broadcast through a live broadcast application on the terminal, or may perform live broadcast through a web portal, and similarly, the terminals of the n viewers may also obtain video streams through the live broadcast application or the web portal, which is not limited in the embodiment of the present invention.
Of course, the network live broadcast system may further include a message relay distribution server, where the message relay distribution server does not distinguish whether the terminal is a terminal of a viewer or a terminal of a main broadcast, and the message relay distribution server may broadcast a message sent by any terminal to other terminals, so that all terminals in the live broadcast room can see the message, where the message is usually interactive content of the viewer and the main broadcast.
Fig. 2 is a flowchart of a video playing method provided in an embodiment of the present invention, applied to a terminal, and referring to fig. 2, the method includes:
201. and generating a connection pool, wherein the connection pool is used for storing at least one connection object, and each connection object is used for indicating one connection between the terminal and the server.
202. And when a video playing instruction is received, acquiring any connection object from the connection pool.
203. And acquiring the video stream corresponding to the video playing instruction from the server based on the connection indicated by the connection object.
204. And performing video playing based on the video stream.
According to the method provided by the embodiment, the terminal can directly acquire the connection object from the connection pool when the video needs to be played through the pre-established connection pool, and the video is played based on the connection indicated by the connection object, so that the terminal does not need to be temporarily connected with the server when the video is played, the time consumed for establishing the connection is saved, the time for acquiring the video stream is greatly shortened, the speed for acquiring the video stream is increased, the speed for playing the video is increased, and the user can quickly watch the video.
Optionally, after obtaining any connection object from the connection pool, the method further includes:
generating a connection object;
establishing connection with the server based on the connection object;
the join object is added to the join pool.
Optionally, after the generating the connection pool, the method further includes:
for each connection object in the connection pool, keeping the connection indicated by the connection object available.
Optionally, the maintaining the connection indicated by the connection object in an available state includes:
sending heartbeat messages to the server at intervals of preset time based on the connection indicated by the connection object;
and receiving the heartbeat response of the server based on the connection indicated by the connection object.
Optionally, the method further comprises:
traversing at least one join object in the join pool;
and when the connections indicated by the at least one connection object are all in the unavailable state, establishing the connection with the server.
Optionally, the generating a connection pool includes:
generating at least one connection object according to the domain name of the server;
for each connection object in the at least one connection object, establishing a connection with the server based on the connection object;
the join object is added to the join pool.
Optionally, the establishing a connection with the server based on the connection object includes:
performing handshake with the server based on the connection object;
establishing network connection with the server based on the connection object;
and establishing a network flow with the server based on the connection object.
Fig. 3 is a flowchart of a video playing method according to an embodiment of the present invention. The execution subject of the embodiment of the present invention is a terminal, and referring to fig. 3, the method includes:
301. the terminal generates a connection pool.
The terminal can be a mobile phone, a tablet computer, a personal computer and the like, can be provided with a client of the video application, can communicate with a server of the video application through the client, and can play videos through the client.
The connection pool is used for storing at least one connection object between the terminal and the server. The connection pool may be an array, where each location in the array is used to store a connection object. The connection pool may be cached in the memory of the terminal. The maximum number of connection objects in the connection pool may be determined according to the setting operation, for example, 2 to 3 connection objects may be included in the connection pool.
The connection object is used to indicate a connection between the terminal and the server. In particular, the connection object may encapsulate a method for connection (english: method), such as an encapsulation handshake method, a network connection method, and a network flow method. The connection refers to a communication link between the terminal and the server, and may be a Real Time Messaging Protocol (RTMP) connection, which may be used to transmit a video stream.
Regarding the timing of generating the connection pool, for example, the terminal may generate the connection pool when receiving a start instruction for a video application. The start instruction may be triggered by a click operation on an icon of the video application. As another example, the terminal may generate the connection pool when displaying the interface of the video application. For another example, the terminal may generate the connection pool when starting power up, which is not limited in this embodiment. In addition, the process of generating the connection pool may be specifically performed by a client of a video application in the terminal.
Specifically, the generation process of the connection pool may include the following steps one to three:
step one, a terminal receives a domain name of a server.
The domain name is used to identify the address of the server, for example, if the terminal and the server communicate based on the RTMP protocol, the domain name of the server can be RTMP:// XXXX. Regarding the process of receiving a Domain Name, in one possible implementation, the terminal may send a Domain Name request to a Domain Name System (DNS) server, receiving the Domain Name of the server for the video application sent by the DNS server. In another possible implementation, the terminal may send a domain name request to the server of the video application, and receive the domain name sent by the server of the video application.
And step two, the terminal generates at least one connection object according to the domain name of the server.
Optionally, the process of generating any connection object may include: the terminal generates a flow identifier, adds the flow identifier to the domain name to obtain an identifier of a connection object, and encapsulates an object corresponding to the identifier of the connection object with a method for connection to obtain a connection object. In the process of generating the flow identifier, the terminal may generate a random number, use the random number as the flow identifier, and may also obtain a preset flow identifier, which is not limited in this embodiment.
And step three, for each connection object in the at least one connection object, the terminal establishes connection with the server based on the connection object.
Specifically, the connection between the terminal and the server may include a handshake connection, a network connection, and a network flow connection, and accordingly, step three may include the following steps 3.1 to 3.3.
And 3.1, the terminal performs handshake with the server based on the connection object.
The handshake refers to a process of mutually agreeing on the states of the operation modes before information exchange is performed, that is, a process of establishing communication parameters between the receiving end and the transmitting end. The terminal may establish communication parameters with the server before obtaining the live stream from the server.
Specifically, the handshake phase in the RTMP protocol is usually completed by the terminal and the server sending three blocks, where the blocks sent by the terminal are denoted as C0 block, C1 block, and C2 block, and the blocks sent by the server are denoted as S0 block, S1 block, and S2 block. Wherein a block refers to a message fragment. The specific interaction process of the terminal and the server in the handshake phase may include the following steps 3.1.1 to 3.1.4:
and 3.1.1, the terminal sends the C0 block and the C1 block to the server.
And 3.1.2, after receiving the C0 block or the C1 block of the terminal, the server sends an S0 block and an S1 block to the terminal.
And 3.1.3, after the terminal receives the S0 block and the S1 block of the server, sending the C2 block to the server. When the server gets the C0 block and the C1 block, the S2 block is sent to the terminal.
And 3.1.4, after the terminal receives the block S2, other data can be sent to the server, and after the server receives the block C2, other data can be sent to the terminal.
And 3.2, the terminal establishes network connection with the server based on the connection object.
Wherein the network connection is a basic connectivity between the terminal and the server. The terminal can establish a network connection with the server, and the server and the terminal establish the network connection but cannot support video streaming.
Specifically, the terminal may transmit a connection (english: connect) command message to the server, requesting the application of the server to establish a connection. After receiving the connection command message, the server may send a confirmation Window Size (english) protocol message to the terminal, and connect with the application indicated by the connection command message. The server may also send a set bandwidth protocol message to the terminal. After the terminal processes the message of setting the bandwidth protocol, the terminal can send a protocol message for confirming the size of the window to the server. The server may return a message of successful connection after connecting to the application program, and may also send a Stream start (english: Stream Begin) message in the user control message to the terminal, and the server may send a result message in the command message to the terminal, the result message being used to notify the status of the connection.
And 3.3, the terminal establishes a network flow with the server based on the connection object.
Wherein the network stream connection represents a channel for transmitting multimedia data, and the terminal can establish a plurality of network streams with the server.
Through the above process, the terminal can only perform basic message interaction with the application program of the server, but cannot transmit the video stream, so that the terminal can send a create stream (english: creatstreamable) command in the command message to the server at the stage of establishing the network stream connection, and after receiving the create stream command, the server can send a result (english: result) in the command message, wherein the result is used for notifying the terminal of the state of the network stream. A network stream connection has been established between the terminal and the server and a video stream can be transmitted between the terminal and the server.
Through the steps 3.1 to 3.3, the terminal executes three processes of handshaking, network connection establishment and network flow establishment in advance before pulling the stream, so that the three processes of handshaking, network connection establishment and network flow establishment are not required to be executed again during pulling the stream, and the time occupied by the three processes during pulling the stream is saved, so that the total duration of pulling the stream is reduced, the speed of acquiring the video stream is increased, and the speed of watching the video by a user is increased.
And step four, adding the connection object to the connection pool by the terminal.
Through the steps one to three, the terminal creates an available connection, and then a connection object corresponding to the connection can be added to the connection pool, so that the connection can be acquired from the connection pool when the video is played subsequently. By analogy, a plurality of connection objects can be added into the connection pool by executing the steps one to three for a plurality of times, so that the connection pool stores the plurality of connection objects.
Alternatively, the connection indicated by each connection object in the connection pool may be available status. In particular, for each connection object in the connection pool, the terminal can keep the connection indicated by the connection object available by interacting with the server, avoiding that the connection is released because it has not interacted with the server for too long. In one possible implementation, the process of maintaining the connection in the available state may include the following steps one to three:
step one, the terminal sends heartbeat messages to the server every other preset time length based on the connection indicated by the connection object.
The heartbeat message is used for maintaining the connection between the terminal and the server, and can test whether the server is in an online state or not. The heartbeat message may be, for example, a ping frame in a ping-pong (english: ping) communication. The preset time period may be 5 seconds.
And step two, the server receives the heartbeat message and sends a heartbeat response to the terminal.
The heartbeat response is used to confirm that the server is online, and may be, for example, a pong frame in a pingpong communication. Optionally, the content carried by the heartbeat response may be the same as the content carried by the heartbeat message, for example, a protocol field of the heartbeat message may be modified, and the modified heartbeat message is used as the heartbeat response.
And step three, the terminal receives the heartbeat response of the server based on the connection indicated by the connection object.
For the connection indicated by any connection object in the connection pool, when the terminal receives the heartbeat response of the server based on the connection, the connection between the terminal and the server is normal, and therefore the connection can be determined to be in an available state. And when the terminal does not receive the heartbeat response of the server based on the connection, the connection between the terminal and the server is disconnected, so that the connection can be determined to be in an unavailable state, and the corresponding connection object can be released.
Optionally, after the preset duration, the terminal may perform the first to third steps again, so as to interact with the server at regular time, so as to maintain the connection as a long connection.
302. And the terminal receives a video playing instruction.
The video playing instruction is used for indicating the playing of video streams and can be triggered by clicking operation of a live broadcast room. The video playing instruction may carry an identifier of the video stream, where the identifier of the video stream is used to indicate the video stream. The identification of the video stream may be, for example, a room number or stream name of a live room.
303. And the terminal acquires any connection object from the connection pool.
Alternatively, the terminal may traverse at least one connection object in the connection pool, determine whether the connection indicated by each connection object is in an available state, and when the connection indicated by any connection object is in the available state, obtain the connection object, so as to pull the video stream from the server based on the connection indicated by the connection object. When the connections indicated by at least one connection object in the connection pool are all in an unavailable state, the terminal can generate the connection object, and establish the connection with the server based on the connection object, so that the video stream is pulled from the server by reestablishing the connection with the server.
304. The terminal supplements the connection pool.
Specifically, the process of supplementing the connection pool may include the following steps one to two:
step one, a terminal generates a connection object.
And step two, the terminal establishes connection with the server based on the connection object.
And step three, adding the connection object to the connection pool by the terminal.
Further, considering that the terminal can play a plurality of videos in sequence, the terminal can obtain a plurality of connection objects from the connection pool, and then the terminal can generate a plurality of connection objects, establish a connection with the server based on the plurality of connection objects, and add the plurality of connection objects to the connection pool. Wherein, the number of the connection objects obtained from the connection pool can be equal to the number of the connection objects added to the connection pool. Expressed mathematically, assuming that the terminal has acquired n connection objects from the connection pool, the terminal may regenerate the n connection objects and add the n connection objects to the connection pool. Wherein n is a positive integer.
The effect that this step reaches can include at least:
after the connection objects are obtained from the connection pool, the number of the connection objects in the connection pool is reduced, and the connection pool is supplemented, so that the terminal can establish new connection objects and add the new connection objects to the connection pool, the number of the connection objects in the connection pool is recovered, the number of the connection objects in the connection pool can be guaranteed to be kept stable in real time, the situation of resource exhaustion of the connection pool along with video playing is avoided, and the usability of the connection pool is improved.
305. And the terminal acquires the video stream corresponding to the video playing instruction from the server based on the connection indicated by the connection object.
The terminal can obtain the stream identifier of the video stream in the video playing instruction, and pull the video stream corresponding to the stream identifier from the server based on the connection indicated by the connection object. Optionally, when the video stream is successfully pulled from the server, the connection indicated by the connection object may be released, so as to save the memory space occupied by the connection object.
The process of acquiring the video stream from the server may include the following steps (1) to (6):
(1) the terminal sends a play command in the command message to the server.
(2) And after receiving the playing command, the server sends a message for setting a chunk size (English) protocol to the terminal.
(3) And the server sends a stream start message (English) in the user control message to the terminal, wherein the stream start message carries the identification of the video stream.
(4) When the playing command is successful, the server sends a response state in the command message to the terminal to inform the terminal that the playing command is successfully executed.
(5) The server sends the video stream to the terminal.
(6) The terminal receives a video stream of the server.
306. And the terminal plays the video based on the video stream.
The terminal can decode the video stream to obtain a video and play the video. Optionally, the terminal may display a live-air interface in which the video is played.
According to the method provided by the embodiment, the terminal can directly acquire the connection object from the connection pool when the video needs to be played through the pre-established connection pool, and the video is played based on the connection indicated by the connection object, so that the terminal does not need to be temporarily connected with the server when the video is played, and the time consumed for establishing the connection in the video playing process is saved, so that the time for acquiring the video stream is greatly shortened, the speed for acquiring the video stream is increased, the speed for playing the video is further increased, and the user can quickly watch the video.
Fig. 4 is a schematic structural diagram of a video playing apparatus according to an embodiment of the present invention. Referring to fig. 4, the apparatus includes: a generating module 401, an obtaining module 402 and a playing module 403.
A generating module 401, configured to generate a connection pool, where the connection pool is used to store at least one connection object, and each connection object is used to indicate a connection between the terminal and the server;
an obtaining module 402, configured to obtain any connection object from the connection pool when a video playing instruction is received;
the obtaining module 402 is further configured to obtain, based on the connection indicated by the connection object, a video stream corresponding to the video playing instruction from the server;
and a playing module 403, configured to perform video playing based on the video stream.
Optionally, the generating module 401 is further configured to generate a connection object;
the device also includes: the connection module is used for establishing connection with the server based on the connection object;
and the adding module is used for adding the connection object to the connection pool.
Optionally, the apparatus further comprises:
and the maintaining module is used for maintaining the connection indicated by the connection object to be in an available state for each connection object in the connection pool.
Optionally, the maintaining module is configured to send a heartbeat message to the server every preset time interval based on the connection indicated by the connection object; and receiving the heartbeat response of the server based on the connection indicated by the connection object.
Optionally, the apparatus further comprises:
a traversing module for traversing at least one connection object in the connection pool;
and the connection module is used for establishing connection with the server when the connections indicated by the at least one connection object are all in an unavailable state.
Optionally, the generating module 401 is configured to generate at least one connection object according to the domain name of the server; for each connection object in the at least one connection object, establishing a connection with the server based on the connection object; the join object is added to the join pool.
Optionally, the generating module 401 is configured to: performing handshake with the server based on the connection object; establishing network connection with the server based on the connection object; and establishing a network flow with the server based on the connection object.
The device that this embodiment provided, the terminal is through establishing the connection pond in advance, can directly acquire the connection object from connecting the pond when needs broadcast video, based on the connection broadcast video that the connection object instructed, so, the terminal need not to establish the connection temporarily with the server when broadcast video, just also saved and establish the time that the connection will consume, thereby greatly reduced the length of time of acquireing the video stream, thereby improved the speed of acquireing the video stream, and then promoted the speed of broadcast video, can let the user watch the video fast.
All the above optional technical solutions may be combined arbitrarily to form the optional embodiments of the present disclosure, and are not described herein again.
It should be noted that: in the video playing apparatus provided in the foregoing embodiment, when playing a video, only the division of the functional modules is illustrated, and in practical applications, the function distribution may be completed by different functional modules according to needs, that is, the internal structure of the terminal is divided into different functional modules to complete all or part of the functions described above. In addition, the video playing apparatus and the video playing method provided by the above embodiments belong to the same concept, and specific implementation processes thereof are detailed in the method embodiments and are not described herein again.
Fig. 5 is a schematic structural diagram of a terminal according to an embodiment of the present invention. The terminal 500 may be: a smart phone, a tablet computer, an MP3 player (Moving Picture Experts Group Audio Layer III, motion video Experts compression standard Audio Layer 3), an MP4 player (Moving Picture Experts Group Audio Layer IV, motion video Experts compression standard Audio Layer 4), a notebook computer, or a desktop computer. Terminal 500 may also be referred to by other names such as user equipment, portable terminal, laptop terminal, desktop terminal, and the like.
In general, the terminal 500 includes: a processor 501 and a memory 502.
The processor 501 may include one or more processing cores, such as a 4-core processor, an 8-core processor, and so on. The processor 501 may be implemented in at least one hardware form of a DSP (Digital Signal Processing), an FPGA (Field-Programmable Gate Array), and a PLA (Programmable Logic Array). The processor 501 may also include a main processor and a coprocessor, where the main processor is a processor for Processing data in an awake state, and is also called a Central Processing Unit (CPU); a coprocessor is a low power processor for processing data in a standby state. In some embodiments, the processor 501 may be integrated with a GPU (Graphics Processing Unit), which is responsible for rendering and drawing the content required to be displayed on the display screen. In some embodiments, processor 501 may also include an AI (Artificial Intelligence) processor for processing computational operations related to machine learning.
Memory 502 may include one or more computer-readable storage media, which may be non-transitory. Memory 502 may also include high-speed random access memory, as well as non-volatile memory, such as one or more magnetic disk storage devices, flash memory storage devices. In some embodiments, a non-transitory computer readable storage medium in memory 502 is used to store at least one instruction for execution by processor 501 to implement the video playback method provided by method embodiments herein.
In some embodiments, the terminal 500 may further optionally include: a peripheral interface 503 and at least one peripheral. The processor 501, memory 502 and peripheral interface 503 may be connected by a bus or signal lines. Each peripheral may be connected to the peripheral interface 503 by a bus, signal line, or circuit board. Specifically, the peripheral device includes: at least one of radio frequency circuitry 504, touch screen display 505, camera 506, audio circuitry 507, positioning components 508, and power supply 509.
The peripheral interface 503 may be used to connect at least one peripheral related to I/O (Input/Output) to the processor 501 and the memory 502. In some embodiments, the processor 501, memory 502, and peripheral interface 503 are integrated on the same chip or circuit board; in some other embodiments, any one or two of the processor 501, the memory 502, and the peripheral interface 503 may be implemented on a separate chip or circuit board, which is not limited in this embodiment.
The Radio Frequency circuit 504 is used for receiving and transmitting RF (Radio Frequency) signals, also called electromagnetic signals. The radio frequency circuitry 504 communicates with communication networks and other communication devices via electromagnetic signals. The rf circuit 504 converts an electrical signal into an electromagnetic signal to transmit, or converts a received electromagnetic signal into an electrical signal. Optionally, the radio frequency circuit 504 includes: an antenna system, an RF transceiver, one or more amplifiers, a tuner, an oscillator, a digital signal processor, a codec chipset, a subscriber identity module card, and so forth. The radio frequency circuitry 504 may communicate with other terminals via at least one wireless communication protocol. The wireless communication protocols include, but are not limited to: the world wide web, metropolitan area networks, intranets, generations of mobile communication networks (2G, 3G, 4G, and 5G), Wireless local area networks, and/or WiFi (Wireless Fidelity) networks. In some embodiments, the rf circuit 504 may further include NFC (Near Field Communication) related circuits, which are not limited in this application.
The display screen 505 is used to display a UI (User Interface). The UI may include graphics, text, icons, video, and any combination thereof. When the display screen 505 is a touch display screen, the display screen 505 also has the ability to capture touch signals on or over the surface of the display screen 505. The touch signal may be input to the processor 501 as a control signal for processing. At this point, the display screen 505 may also be used to provide virtual buttons and/or a virtual keyboard, also referred to as soft buttons and/or a soft keyboard. In some embodiments, the display screen 505 may be one, providing the front panel of the terminal 500; in other embodiments, the display screens 505 may be at least two, respectively disposed on different surfaces of the terminal 500 or in a folded design; in still other embodiments, the display 505 may be a flexible display disposed on a curved surface or on a folded surface of the terminal 500. Even more, the display screen 505 can be arranged in a non-rectangular irregular figure, i.e. a shaped screen. The Display screen 505 may be made of LCD (Liquid Crystal Display), OLED (Organic Light-Emitting Diode), and other materials.
The camera assembly 506 is used to capture images or video. Optionally, camera assembly 506 includes a front camera and a rear camera. Generally, a front camera is disposed at a front panel of the terminal, and a rear camera is disposed at a rear surface of the terminal. In some embodiments, the number of the rear cameras is at least two, and each rear camera is any one of a main camera, a depth-of-field camera, a wide-angle camera and a telephoto camera, so that the main camera and the depth-of-field camera are fused to realize a background blurring function, and the main camera and the wide-angle camera are fused to realize panoramic shooting and VR (Virtual Reality) shooting functions or other fusion shooting functions. In some embodiments, camera assembly 506 may also include a flash. The flash lamp can be a monochrome temperature flash lamp or a bicolor temperature flash lamp. The double-color-temperature flash lamp is a combination of a warm-light flash lamp and a cold-light flash lamp, and can be used for light compensation at different color temperatures.
Audio circuitry 507 may include a microphone and a speaker. The microphone is used for collecting sound waves of a user and the environment, converting the sound waves into electric signals, and inputting the electric signals to the processor 501 for processing, or inputting the electric signals to the radio frequency circuit 504 to realize voice communication. For the purpose of stereo sound collection or noise reduction, a plurality of microphones may be provided at different portions of the terminal 500. The microphone may also be an array microphone or an omni-directional pick-up microphone. The speaker is used to convert electrical signals from the processor 501 or the radio frequency circuit 504 into sound waves. The loudspeaker can be a traditional film loudspeaker or a piezoelectric ceramic loudspeaker. When the speaker is a piezoelectric ceramic speaker, the speaker can be used for purposes such as converting an electric signal into a sound wave audible to a human being, or converting an electric signal into a sound wave inaudible to a human being to measure a distance. In some embodiments, audio circuitry 507 may also include a headphone jack.
The positioning component 508 is used for positioning the current geographic Location of the terminal 500 for navigation or LBS (Location Based Service). The Positioning component 508 may be a Positioning component based on the Global Positioning System (GPS) in the united states, the beidou System in china, or the galileo System in russia.
Power supply 509 is used to power the various components in terminal 500. The power source 509 may be alternating current, direct current, disposable or rechargeable. When power supply 509 includes a rechargeable battery, the rechargeable battery may be a wired rechargeable battery or a wireless rechargeable battery. The wired rechargeable battery is a battery charged through a wired line, and the wireless rechargeable battery is a battery charged through a wireless coil. The rechargeable battery may also be used to support fast charge technology.
In some embodiments, terminal 500 also includes one or more sensors 510. The one or more sensors 510 include, but are not limited to: acceleration sensor 511, gyro sensor 512, pressure sensor 513, fingerprint sensor 514, optical sensor 515, and proximity sensor 516.
The acceleration sensor 511 may detect the magnitude of acceleration on three coordinate axes of the coordinate system established with the terminal 500. For example, the acceleration sensor 511 may be used to detect components of the gravitational acceleration in three coordinate axes. The processor 501 may control the touch screen 505 to display the user interface in a landscape view or a portrait view according to the gravitational acceleration signal collected by the acceleration sensor 511. The acceleration sensor 511 may also be used for acquisition of motion data of a game or a user.
The gyro sensor 512 may detect a body direction and a rotation angle of the terminal 500, and the gyro sensor 512 may cooperate with the acceleration sensor 511 to acquire a 3D motion of the user on the terminal 500. The processor 501 may implement the following functions according to the data collected by the gyro sensor 512: motion sensing (such as changing the UI according to a user's tilting operation), image stabilization at the time of photographing, game control, and inertial navigation.
The pressure sensor 513 may be disposed on a side bezel of the terminal 500 and/or an underlying layer of the touch display screen 505. When the pressure sensor 513 is disposed on the side frame of the terminal 500, a user's holding signal of the terminal 500 may be detected, and the processor 501 performs left-right hand recognition or shortcut operation according to the holding signal collected by the pressure sensor 513. When the pressure sensor 513 is disposed at the lower layer of the touch display screen 505, the processor 501 controls the operability control on the UI interface according to the pressure operation of the user on the touch display screen 505. The operability control comprises at least one of a button control, a scroll bar control, an icon control and a menu control.
The fingerprint sensor 514 is used for collecting a fingerprint of the user, and the processor 501 identifies the identity of the user according to the fingerprint collected by the fingerprint sensor 514, or the fingerprint sensor 514 identifies the identity of the user according to the collected fingerprint. Upon recognizing that the user's identity is a trusted identity, the processor 501 authorizes the user to perform relevant sensitive operations including unlocking the screen, viewing encrypted information, downloading software, paying, and changing settings, etc. The fingerprint sensor 514 may be provided on the front, back, or side of the terminal 500. When a physical button or a vendor Logo is provided on the terminal 500, the fingerprint sensor 514 may be integrated with the physical button or the vendor Logo.
The optical sensor 515 is used to collect the ambient light intensity. In one embodiment, the processor 501 may control the display brightness of the touch display screen 505 based on the ambient light intensity collected by the optical sensor 515. Specifically, when the ambient light intensity is high, the display brightness of the touch display screen 505 is increased; when the ambient light intensity is low, the display brightness of the touch display screen 505 is turned down. In another embodiment, processor 501 may also dynamically adjust the shooting parameters of camera head assembly 506 based on the ambient light intensity collected by optical sensor 515.
A proximity sensor 516, also referred to as a distance sensor, is typically disposed on the front panel of the terminal 500. The proximity sensor 516 is used to collect the distance between the user and the front surface of the terminal 500. In one embodiment, when the proximity sensor 516 detects that the distance between the user and the front surface of the terminal 500 gradually decreases, the processor 501 controls the touch display screen 505 to switch from the bright screen state to the dark screen state; when the proximity sensor 516 detects that the distance between the user and the front surface of the terminal 500 becomes gradually larger, the processor 501 controls the touch display screen 505 to switch from the screen-rest state to the screen-on state.
Those skilled in the art will appreciate that the configuration shown in fig. 5 is not intended to be limiting of terminal 500 and may include more or fewer components than those shown, or some components may be combined, or a different arrangement of components may be used.
In an exemplary embodiment, a computer-readable storage medium, such as a memory, including instructions executable by a processor in a terminal to perform the video playing method in the above embodiments is also provided. For example, the computer-readable storage medium may be a Read-Only Memory (ROM), a Random Access Memory (RAM), a Compact Disc Read-Only Memory (CD-ROM), a magnetic tape, a floppy disk, an optical data storage device, and the like.
It will be understood by those skilled in the art that all or part of the steps for implementing the above embodiments may be implemented by hardware, or may be implemented by a program instructing relevant hardware, where the program may be stored in a computer-readable storage medium, and the above-mentioned storage medium may be a read-only memory, a magnetic disk or an optical disk, etc.
The above description is only for the purpose of illustrating the preferred embodiments of the present invention and is not to be construed as limiting the invention, and any modifications, equivalents, improvements and the like that fall within the spirit and principle of the present invention are intended to be included therein.

Claims (9)

1. A video playing method is applied to a terminal, and the method comprises the following steps:
generating at least one connection object according to the domain name of the server;
for each connection object in the at least one connection object, establishing a network flow with the server based on the each connection object, wherein the network flow is a channel for sending multimedia data;
adding the connection objects to a connection pool, the connection pool being used for storing at least one connection object, each connection object being used for indicating a connection between the terminal and the server;
when a video playing instruction is received, acquiring any connection object from the connection pool;
based on the connection indicated by the connection object, acquiring a video stream corresponding to the video playing instruction from the server;
and performing video playing based on the video stream.
2. The method according to claim 1, wherein after the obtaining of any connection object from the connection pool, the method further comprises:
generating a connection object;
establishing connection with the server based on the connection object;
adding the connection object to the connection pool.
3. The method of claim 1, wherein after the adding the connection object to the connection pool, the method further comprises:
for each connection object in the connection pool, keeping the connection indicated by the connection object in an available state.
4. The method of claim 3, wherein maintaining the connection indicated by the connection object as available comprises:
sending heartbeat messages to the server at intervals of preset time based on the connection indicated by the connection object;
receiving a heartbeat response of the server based on the connection indicated by the connection object.
5. The method of claim 1, further comprising:
traversing at least one join object in the join pool;
and when the connections indicated by the at least one connection object are all in an unavailable state, establishing the connection with the server.
6. The method of claim 1, further comprising:
performing handshake with the server based on the connection object;
and establishing network connection with the server based on the connection object.
7. A video playback apparatus, comprising:
the generating module is used for generating at least one connecting object according to the domain name of the server; for each connection object in the at least one connection object, establishing a network flow with the server based on the each connection object, wherein the network flow is a channel for sending multimedia data; adding the connection objects to a connection pool, the connection pool being used for storing at least one connection object, each connection object being used for indicating a connection between a terminal and a server;
the acquisition module is used for acquiring any connection object from the connection pool when a video playing instruction is received;
the obtaining module is further configured to obtain, from the server, a video stream corresponding to the video playing instruction based on the connection indicated by the connection object;
and the playing module is used for playing the video based on the video stream.
8. A terminal, characterized in that the terminal comprises a processor and a memory, wherein the memory stores at least one instruction, and the instruction is loaded and executed by the processor to implement the operation performed by the video playing method according to any one of claims 1 to 6.
9. A computer-readable storage medium having stored therein at least one instruction which is loaded and executed by a processor to perform operations performed by a video playback method as claimed in any one of claims 1 to 6.
CN201811223883.7A 2018-10-19 2018-10-19 Video playing method, device, terminal and storage medium Active CN109413453B (en)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201811223883.7A CN109413453B (en) 2018-10-19 2018-10-19 Video playing method, device, terminal and storage medium

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201811223883.7A CN109413453B (en) 2018-10-19 2018-10-19 Video playing method, device, terminal and storage medium

Publications (2)

Publication Number Publication Date
CN109413453A CN109413453A (en) 2019-03-01
CN109413453B true CN109413453B (en) 2021-08-27

Family

ID=65468517

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201811223883.7A Active CN109413453B (en) 2018-10-19 2018-10-19 Video playing method, device, terminal and storage medium

Country Status (1)

Country Link
CN (1) CN109413453B (en)

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110267053A (en) * 2019-06-27 2019-09-20 广州酷狗计算机科技有限公司 Live broadcasting method, apparatus and system
CN110620761B (en) * 2019-08-02 2022-01-11 重庆爱奇艺智能科技有限公司 Method and device for realizing multi-person virtual interaction
CN114650438A (en) * 2020-12-17 2022-06-21 阿里巴巴集团控股有限公司 Video playing data processing method and device and electronic equipment
CN112770124B (en) * 2020-12-22 2023-10-31 Oppo广东移动通信有限公司 Method and device for entering live broadcast room, storage medium and electronic equipment
CN113268214A (en) * 2021-06-08 2021-08-17 广州酷狗计算机科技有限公司 Picture display method and device, computer equipment and storage medium
CN113824915B (en) * 2021-08-10 2024-04-05 深圳Tcl新技术有限公司 Video picture acquisition method, apparatus and computer readable storage medium
CN114844870B (en) * 2022-03-25 2024-03-26 阿里巴巴(中国)有限公司 Media stream acquisition method and device, electronic equipment and storage medium

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202050442U (en) * 2010-12-31 2011-11-23 上海博泰悦臻电子设备制造有限公司 Automobile full-time on-line system
CN102523531A (en) * 2011-12-08 2012-06-27 深圳市同洲视讯传媒有限公司 Access entity which processes session in video on demand system and method thereof
CN104246737A (en) * 2011-12-01 2014-12-24 华为技术有限公司 Systems and methods for connection pooling for video streaming in content delivery networks
CN105025044A (en) * 2014-04-17 2015-11-04 ***通信集团广东有限公司 Device control method and device control system
CN105471869A (en) * 2015-11-23 2016-04-06 珠海全志科技股份有限公司 Internet television content request connection reuse method and system thereof
CN105956000A (en) * 2016-04-20 2016-09-21 广州华多网络科技有限公司 Data exchange method and client
CN107404480A (en) * 2017-07-24 2017-11-28 平安科技(深圳)有限公司 A kind of transmission method of stream medium data, storage medium and streaming media server

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US7746374B2 (en) * 2006-01-25 2010-06-29 Seiko Epson Corporation Videoconference data relay server
CN101309233B (en) * 2008-06-04 2010-09-08 腾讯科技(深圳)有限公司 Method realizing TCP connection reusing in instant communication
US8737202B2 (en) * 2012-05-29 2014-05-27 Alcatel Lucent Automatic connection recovery
CN103023987A (en) * 2012-11-27 2013-04-03 蓝盾信息安全技术股份有限公司 Multiplexing method based on transmission control protocol (TCP) connection
CN104954158B (en) * 2014-03-27 2019-04-19 金蝶智慧科技(深圳)有限公司 A kind of connection management method and connection pool control equipment
CN105007313B (en) * 2015-07-03 2019-05-14 许继集团有限公司 A kind of terminal access method and the mass data transfers system for energy conservation service
CN108271032B (en) * 2016-12-30 2020-10-16 武汉斗鱼网络科技有限公司 Live video switching method and device

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN202050442U (en) * 2010-12-31 2011-11-23 上海博泰悦臻电子设备制造有限公司 Automobile full-time on-line system
CN104246737A (en) * 2011-12-01 2014-12-24 华为技术有限公司 Systems and methods for connection pooling for video streaming in content delivery networks
CN102523531A (en) * 2011-12-08 2012-06-27 深圳市同洲视讯传媒有限公司 Access entity which processes session in video on demand system and method thereof
CN105025044A (en) * 2014-04-17 2015-11-04 ***通信集团广东有限公司 Device control method and device control system
CN105471869A (en) * 2015-11-23 2016-04-06 珠海全志科技股份有限公司 Internet television content request connection reuse method and system thereof
CN105956000A (en) * 2016-04-20 2016-09-21 广州华多网络科技有限公司 Data exchange method and client
CN107404480A (en) * 2017-07-24 2017-11-28 平安科技(深圳)有限公司 A kind of transmission method of stream medium data, storage medium and streaming media server

Also Published As

Publication number Publication date
CN109413453A (en) 2019-03-01

Similar Documents

Publication Publication Date Title
CN109413453B (en) Video playing method, device, terminal and storage medium
CN112291583B (en) Live broadcast and microphone connecting method and device, server, terminal and storage medium
CN108966008B (en) Live video playback method and device
CN108900859B (en) Live broadcasting method and system
CN110213636B (en) Method and device for generating video frame of online video, storage medium and equipment
CN111083507B (en) Method and system for connecting to wheat, first main broadcasting terminal, audience terminal and computer storage medium
CN111147878B (en) Stream pushing method and device in live broadcast and computer storage medium
CN109874043B (en) Video stream sending method, video stream playing method and video stream playing device
CN109348247B (en) Method and device for determining audio and video playing time stamp and storage medium
CN109194972B (en) Live stream acquisition method and device, computer equipment and storage medium
CN109246123B (en) Media stream acquisition method and device
CN111107389B (en) Method, device and system for determining live broadcast watching time length
CN108881286B (en) Multimedia playing control method, terminal, sound box equipment and system
CN107896337B (en) Information popularization method and device and storage medium
CN111586431B (en) Method, device and equipment for live broadcast processing and storage medium
CN108600778B (en) Media stream transmitting method, device, system, server, terminal and storage medium
CN112118477A (en) Virtual gift display method, device, equipment and storage medium
CN111918090A (en) Live broadcast picture display method and device, terminal and storage medium
CN113271470B (en) Live broadcast wheat connecting method, device, terminal, server and storage medium
CN111464830A (en) Method, device, system, equipment and storage medium for image display
CN110958464A (en) Live broadcast data processing method and device, server, terminal and storage medium
CN111294607B (en) Live broadcast interaction method and device, server and terminal
CN110149491B (en) Video encoding method, video decoding method, terminal and storage medium
CN111132214A (en) Voice call method, device, electronic equipment and medium
CN113204671A (en) Resource display method, device, terminal, server, medium and product

Legal Events

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