CN114363715A - Video playing method and related equipment - Google Patents

Video playing method and related equipment Download PDF

Info

Publication number
CN114363715A
CN114363715A CN202111583326.8A CN202111583326A CN114363715A CN 114363715 A CN114363715 A CN 114363715A CN 202111583326 A CN202111583326 A CN 202111583326A CN 114363715 A CN114363715 A CN 114363715A
Authority
CN
China
Prior art keywords
fcc
target
server
channel
request message
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.)
Pending
Application number
CN202111583326.8A
Other languages
Chinese (zh)
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.)
China Telecom Corp Ltd
Original Assignee
China Telecom Corp 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 China Telecom Corp Ltd filed Critical China Telecom Corp Ltd
Priority to CN202111583326.8A priority Critical patent/CN114363715A/en
Publication of CN114363715A publication Critical patent/CN114363715A/en
Priority to PCT/CN2022/103770 priority patent/WO2023115906A1/en
Pending legal-status Critical Current

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/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/64Addressing
    • H04N21/6408Unicasting
    • 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/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/64Addressing
    • H04N21/6405Multicasting
    • 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]
    • 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/65Transmission of management data between client and server
    • H04N21/654Transmission by server directed to the client

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)

Abstract

The embodiment of the disclosure provides a video playing method and related equipment, and belongs to the technical field of communication. The method is executed by a fast channel switching (FCC) scheduling server, and comprises the following steps: receiving a first FCC request message sent by user equipment, wherein the first FCC request message comprises a channel identifier of a target channel; generating FCC parameters in response to the first FCC request message, the FCC parameters including a target FCC server identifier; returning the FCC parameters to the user equipment; the user equipment is used for sending a second FCC request message to a target FCC server corresponding to the target FCC server identification, wherein the second FCC request message comprises FCC parameters; requesting to join a multicast group of a target channel according to the FCC parameter so as to receive a multicast video stream of the target channel from a video multicast source server; the target FCC server is used for sending the unicast video stream of the target channel to the user equipment according to the FCC parameters.

Description

Video playing method and related equipment
Technical Field
The present disclosure relates to the field of communications technologies, and in particular, to a video playing method, a fast channel switching FCC scheduling server, a user equipment, a target fast channel switching FCC server, and a computer-readable storage medium.
Background
IPTV (Internet Protocol Television, also called interactive network Television) widely uses multicast to carry live video service, because the multicast stream (also called multicast video stream) received by the client may not be an I-frame (intra-frame coded frame, I-frame represents key frame, decoding can be completed only by the frame data), but B frames (bi-directional predictive interpolated frames) or P frames (forward predictive coded frames), the client needs to wait for the reception of the I frame before decoding, so the multicast switching delay is long (e.g. more than 2 seconds), thereby causing a black screen phenomenon when a user performs Channel switching, and thus a Fast Channel switching (FCC) scheme has been developed, an FCC server has been added, for buffering the last few seconds of the multicast stream and then sending the I-frame from the beginning in unicast form, so that the client does not have to blank the screen.
As shown in fig. 1, in the related art, since a Real Time Streaming Protocol (RTSP) Protocol is used, it is necessary to establish a long connection, which is Time-consuming, and therefore, the link establishment Time is long, and therefore, only fixed FCC parameters can be adopted, for example, the fixed FCC parameters specify a multicast FCC server, and a multicast client (also referred to as a live broadcast client) can only initiate an FCC request based on the RTSP Protocol to the specified multicast FCC server (also referred to as an FCC server for short) by using FCC parameters configured in advance, and if the specified FCC server fails, service interruption may be caused; or the designated FCC server is too heavily loaded, the user experience may also be poor.
Meanwhile, in the scheme shown in fig. 1, the channel FCC and the multicast need to be bound in advance, and only fixed FCC parameters can be used to implement synchronization between the unicast stream received from the FCC server and the multicast stream received from the video multicast source server, which is complex and inflexible in synchronization.
For example, as in the FCC scheme of fig. 1, before a video client (i.e., a multicast client installed on a user equipment) newly enters or switches a multicast channel, according to FCC parameters (issued when a set-top box is turned on) fixedly configured in advance by the video client, an RTSP FCC request is initiated to an FCC server, and a multicast group joining a target channel requested to be switched receives a multicast stream of the target channel; the method comprises the steps that an FCC server sends FCC unicast streams according to an appointed speed, an FCC client (namely a multicast client) synchronizes according to RTP (Real-time Transport Protocol) message sequence numbers of received FCC unicast streams and RTP message sequence numbers of received multicast streams, and when the RTP message sequence numbers of the FCC unicast streams and the RTP message sequence numbers of the received multicast streams are synchronized, the connection with the FCC server is interrupted, and only the multicast stream of a target channel is received.
Therefore, the scheme in the related art is difficult to meet the requirements of different terminals and different networks on the FCC due to the use of fixed configuration, and meanwhile, the synchronization method also depends on the specified video stream (such as RTP), so that the existing network application has the problems of intercommunication and performance.
Disclosure of Invention
Embodiments of the present disclosure provide a video playing method, a fast channel switching FCC scheduling server, a user equipment, a target fast channel switching FCC server, and a computer-readable storage medium, which can at least partially solve the technical problems in the related art.
The embodiment of the present disclosure provides a video playing method, where the method is executed by an FCC scheduling server for fast channel switching, and the method includes: receiving a first FCC request message sent by user equipment, wherein the first FCC request message comprises a channel identifier of a target channel; generating FCC parameters in response to the first FCC request message, the FCC parameters including a target FCC server identification; returning the FCC parameters to the user equipment; the user equipment is used for sending a second FCC request message to a target FCC server corresponding to the target FCC server identification, wherein the second FCC request message comprises the FCC parameters; requesting to join a multicast group of a target channel according to the FCC parameter so as to receive a multicast video stream of the target channel from a video multicast source server; and the target FCC server is used for sending the unicast video stream of the target channel to the user equipment according to the FCC parameters.
The embodiment of the present disclosure provides a video playing method, where the method is executed by a user equipment, and the method includes: transmitting a first FCC request message to a fast channel switching FCC scheduling server, wherein the first FCC request message comprises a channel identifier of a target channel, and the FCC scheduling server is used for responding to the first FCC request message and generating FCC parameters, and the FCC parameters comprise the target FCC server identifier; receiving the FCC parameters returned by the FCC scheduling server; sending a second FCC request message to a target FCC server corresponding to the target FCC server identification, wherein the second FCC request message comprises the FCC parameters; receiving a unicast video stream of a target channel sent by the target FCC server according to the FCC parameters; and requesting to join a multicast group of a target channel according to the FCC parameter so as to receive the multicast video stream of the target channel from a video multicast source server.
The embodiment of the present disclosure provides a video playing method, where the method is executed by a target fast channel switching FCC server, and the method includes: receiving a second FCC request message sent by a user equipment, wherein the second FCC request message comprises FCC parameters, and the FCC parameters comprise a target FCC server identification of the target FCC server; and sending the unicast video stream of the target channel to the user equipment according to the FCC parameter.
The disclosed embodiment provides a fast channel switching FCC scheduling server, including: a first receiving unit, configured to receive a first FCC request message sent by a user equipment, where the first FCC request message includes a channel identifier of a target channel; a generating unit, configured to generate FCC parameters in response to the first FCC request message, where the FCC parameters include a target FCC server identifier; a first sending unit, configured to return the FCC parameter to the user equipment; the user equipment is used for sending a second FCC request message to a target FCC server corresponding to the target FCC server identification, wherein the second FCC request message comprises the FCC parameters; requesting to join a multicast group of a target channel according to the FCC parameter so as to receive a multicast video stream of the target channel from a video multicast source server; and the target FCC server is used for sending the unicast video stream of the target channel to the user equipment according to the FCC parameters.
An embodiment of the present disclosure provides a user equipment, including: a second sending unit, configured to send a first FCC request message to a fast channel switching FCC scheduling server, where the first FCC request message includes a channel identifier of a target channel, and the FCC scheduling server is configured to generate FCC parameters in response to the first FCC request message, where the FCC parameters include the target FCC server identifier; a second receiving unit, configured to receive the FCC parameter returned by the FCC scheduling server; the second sending unit is further configured to send a second FCC request message to the target FCC server corresponding to the target FCC server identifier, where the second FCC request message includes the FCC parameter; the second receiving unit is further configured to receive a unicast video stream of a target channel sent by the target FCC server according to the FCC parameter; the second receiving unit is further configured to request to join a multicast group of a target channel according to the FCC parameter, so as to receive a multicast video stream of the target channel from a video multicast source server.
The disclosed embodiment provides a target fast channel switching FCC server, including: a third receiving unit, configured to receive a second FCC request message sent by a user equipment, where the second FCC request message includes FCC parameters, and the FCC parameters include a target FCC server identifier of the target FCC server; and a third sending unit, configured to send a unicast video stream of the target channel to the user equipment according to the FCC parameter.
An embodiment of the present disclosure provides an internet protocol television IPTV system, including: the fast channel switching FCC scheduling server according to the embodiments of the present disclosure; and a targeted fast channel change FCC server as described in embodiments of the present disclosure.
An embodiment of the present disclosure provides an electronic device including at least one processor and a communication interface. The communication interface is used for the electronic device to perform information interaction with other communication devices, and when the program instructions are executed in the at least one processor, the method in any one of the possible implementation manners in the embodiment of the disclosure is implemented.
Optionally, the electronic device may further comprise a memory. The memory is used for storing programs and data.
The disclosed embodiments provide a computer-readable storage medium on which a computer program for an electronic device to execute is stored, where the computer program, when executed by the electronic device, implements the method in any one of the possible implementations of the disclosed embodiments.
For example, the computer readable storage medium may have stored therein a computer program for execution by a fast channel change FCC scheduling server, said program when executed by a processor implementing the instructions of the method as described as performed by the fast channel change FCC scheduling server in the embodiments of the present disclosure.
For example, the computer readable storage medium may have stored therein a computer program for execution by a user equipment, the program, when executed by a processor, implementing instructions of the method as described for execution by the user equipment in embodiments of the present disclosure.
For example, the computer readable storage medium may have stored therein a computer program for execution by a target fast channel change FCC server, said program when executed by a processor implementing the instructions of the method as described as performed by the target fast channel change FCC server in embodiments of the present disclosure.
The disclosed embodiments provide a computer program product containing instructions. The computer program product, when run on an electronic device, causes the electronic device to perform the instructions of the methods of the various aspects of the disclosure or any possible implementation thereof.
For example, the computer program product, when executed on a fast channel change FCC scheduler server, causes the fast channel change FCC scheduler server to execute the instructions of the method of any one of the possible implementations of the embodiments of the disclosure.
For example, the computer program product, when executed on a user equipment, causes the user equipment to execute the instructions of the method in any one of the possible implementations in the embodiments of the present disclosure.
For example, the computer program product, when executed on a target fast channel switching FCC server, causes the target fast channel switching FCC server to execute the instructions of the method of any one of the possible implementations of the embodiments of the present disclosure.
The disclosed embodiment provides a system chip, which includes an input/output interface and at least one processor, where the at least one processor is configured to call instructions in a memory to perform operations of the method in any one of the above-mentioned possible implementation manners.
Optionally, the system-on-chip may further include at least one memory for storing instructions for execution by the processor and a bus.
Drawings
Fig. 1 schematically shows a schematic diagram of an IPTV FCC scheme employed in the related art.
Fig. 2 schematically shows a flow chart of a video playing method according to an embodiment of the present disclosure.
Fig. 3 schematically illustrates a schematic diagram of an FCC scheme according to an embodiment of the present disclosure.
Fig. 4 schematically shows a schematic diagram of functional modules of a multicast HTTP ALT-SVC server according to an embodiment of the present disclosure.
Fig. 5 schematically illustrates a schematic diagram of an FCC server according to an embodiment of the present disclosure.
Fig. 6 schematically shows a flow chart of a new incoming channel FCC service according to an embodiment of the present disclosure.
Fig. 7 schematically shows a flow chart of a video playing method according to another embodiment of the present disclosure.
Fig. 8 schematically shows a flowchart of a video playback method according to still another embodiment of the present disclosure.
Fig. 9 schematically shows a schematic block diagram of an electronic device according to an embodiment of the present disclosure.
Detailed Description
Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many different forms and should not be construed as limited to the examples set forth herein; rather, these embodiments are provided so that this disclosure will be thorough and complete, and will fully convey the concept of example embodiments to those skilled in the art.
In the description of the present disclosure, "/" denotes "or" means, for example, a/B may denote a or B, unless otherwise specified. "and/or" herein is merely an association describing an associated object, and means that there may be three relationships, e.g., a and/or B, which may mean: a exists alone, A and B exist simultaneously, and B exists alone. Further, "at least one" means one or more, "a plurality" means two or more. The terms "first", "second", and the like do not necessarily limit the number and execution order, and the terms "first", "second", and the like do not necessarily limit the difference.
The method provided in the embodiment of fig. 2 may be performed by the FCC scheduling server for fast channel switching, but the disclosure is not limited thereto. The FCC scheduling server may be a single independent server, may also be a server cluster, and may also be a cloud server, and the FCC scheduling server may also be located in the same physical server as the FCC server, which is not limited by the disclosure.
As shown in fig. 2, the method provided by the embodiment of the present disclosure may include the following steps.
In step S210, a first FCC request message sent by a user equipment is received, where the first FCC request message includes a channel ID (identity) of a target channel.
In the embodiment of the present disclosure, the target channel is a channel to which the user selects to be switched, for example, a channel selected by the user by operating a remote controller, which may be any one of selectable channels.
In an exemplary embodiment, said first FCC request message is transmitted based on the fast user packet protocol network connection QUIC transport layer protocol.
In an exemplary embodiment, receiving a first FCC request message sent by a user equipment may include: receiving a first FCC request message sent by the user equipment based on a hypertext Transfer protocol HTTP (hyper Text Transfer protocol)3.0 application layer protocol, where the first FCC request message may include an HTTP message header and the first FCC request message.
HTTP3.0 using UDP (User data packet Protocol) is also called HTTP Over QUIC (Quick UDP Internet Connection), which is implemented by replacing TCP (Transmission Control Protocol) Protocol with a QUIC Protocol based on UDP Protocol. HTTP3.0 has the capability for scale applications on the internet due to its low latency characteristics.
The embodiment of the disclosure provides a method for scheduling by using an HTTP3.0 protocol and using an ALT-SVC (alternate-Service, which may be abbreviated as ALT-SVC, and may also be referred to as an alternative Service or an alternative Service) alternative Service, and defines a new synchronization method. However, the present disclosure is not limited thereto, and the scheme provided in the embodiment of the present disclosure may be applicable to any service protocol that can establish a connection quickly and has a low latency characteristic, or may be a self-defined protocol, which is not limited in the present disclosure. In the following embodiments, the HTTP3.0 protocol is used for illustration, and in this case, the FCC schedule server may also be referred to as a multicast HTTP ALT-SVC server (as shown in fig. 3).
In step S220, in response to the first FCC request message, FCC parameters are generated, where the FCC parameters include a target FCC server identifier.
In an exemplary embodiment, the FCC parameter may further include at least one of a multicast address, a destination display time stamp PTS, a destination synchronization code, and the like of the destination channel.
In an exemplary embodiment, the HTTP header may include user equipment type information.
In an exemplary embodiment, the FCC parameter may further include a destination display time stamp PTS. Wherein generating FCC parameters in response to the first FCC request message may include: determining the playing time in advance according to the user equipment type information; and determining the destination PTS according to the advanced playing time.
In an exemplary embodiment, determining the destination PTS according to the advance play time may include: obtaining a target PTS corresponding to a target synchronous code of the target channel according to the channel identifier of the target channel; and determining the destination PTS according to the advanced playing time and the target PTS.
In an exemplary embodiment, generating FCC parameters in response to the first FCC request message may include: and selecting the synchronization code with the generation time closest to the current time as the target synchronization code.
In an exemplary embodiment, generating FCC parameters in response to the first FCC request message may include: acquiring state information of an FCC server; determining the target FCC server from the FCC server based on the state information of the FCC server.
In the embodiment of the disclosure, the FCC scheduling server may monitor the health state of each FCC server in real time, and receive the state information reported by each FCC server, where the state information reported by each FCC server may include any one or more of the information of the geographic location, load, concurrency number, whether a fault occurs, and the like of each FCC server, the first FCC request message may also carry the geographic location of the user equipment, and the FCC scheduling server may select, as a target FCC server, an FCC server closest to the user equipment according to the geographic location of the user equipment and the geographic location of each FCC server; if the FCC server closest to the ue has a high load, a high number of concurrent FCC servers, or a failure, the FCC scheduling server may select another FCC server with a better health status as the target FCC server for the ue. The target FCC server IP address of the target FCC server may be used as the target FCC server identifier, but the present disclosure is not limited thereto, and in other embodiments, any identifier may be used as long as the identifier uniquely distinguishes the target FCC server from other FCC servers.
In the method provided by the embodiment of the disclosure, the FCC scheduling server may send the second FCC request message of the user equipment to the FCC server which is close in distance, has no fault, and is not too high in load by monitoring the health state of the FCC server.
In an exemplary embodiment, the method may further include: receiving multicast video streams of all channels from the video multicast source server; and generating the synchronous codes of the channels and the corresponding PTS thereof based on the received multicast video streams of the channels.
In this embodiment of the disclosure, when the user equipment generates the first FCC request message based on the HTTP3.0 protocol, the first FCC request message may be encapsulated to form the first FCC request message, or the HTTP header of the first FCC request message may carry the user equipment type information of the user equipment, where the user equipment type information may be any information related to the performance of the user equipment, such as information of a manufacturer, a product model, and the like to which the user equipment belongs, and the FCC scheduling server may determine the performance of the user equipment, such as the cache size of the user equipment, and may determine the early playing time of the target channel according to the performance of the user equipment, for example, the larger the cache size of the user equipment is, the larger the early playing time set by the FCC scheduling server is; the smaller the buffer size of the user equipment is, the smaller the pre-playing time set by the FCC scheduling server is. A selection range of the advance play Time, for example, between 5 seconds and 10 seconds, may be preset, and in the selection range, according to the performance of the user equipment, the corresponding advance play Time is selected to determine the destination PTS (Presentation Time Stamp, a Presentation Time Stamp indicating the Time when the display unit appears in the system target decoder, and specifying the display Time of a certain unit for the decoder).
For example, assuming that the FCC scheduling server selects a synchronization code closest to the current time, i.e. newly generated in the FCC scheduling server, as a target synchronization code according to the current time, and uses a PTS time corresponding to the target synchronization code as a target PTS, assuming that the target PTS is 10 am at 12/16/2021, and assuming that the FCC scheduling server determines the early play time to be 5 seconds according to the user equipment type information, i.e. determines that a unicast video stream (also called a unicast stream) of the target channel starts to be transmitted to the user equipment 5 seconds before the target PTS, the target PTS corresponding to the determination is 59 minutes and 55 seconds at 9 am at 12/16/2021, i.e. the target PTS may be equal to the target PTS minus the early play time. The target FCC server may find a file start position of the video file of the target channel according to the target PTS, and transmit a unicast stream of the target channel from the file start position to the user equipment.
The method provided by the embodiment of the disclosure can change the FCC parameters according to the type information of the user equipment, for example, change the target PTS in the FCC parameters, thereby better adapting the performance of the user equipment.
In step S230, the FCC parameter is returned to the user equipment.
In an exemplary embodiment, the user equipment may be configured to send a second FCC request message to the target FCC server to identify the corresponding target FCC server, where the second FCC request message may include the FCC parameters; and requesting to join a multicast group of a target channel according to the FCC parameter so as to receive a multicast video stream of the target channel from a video multicast source server.
In an exemplary embodiment, the target FCC server may be configured to transmit a unicast video stream of the target channel to the user equipment in accordance with the FCC parameters.
In an exemplary embodiment, returning the FCC parameter to the user equipment may include: returning an HTTP3 redirect message including the FCC parameters to the user equipment, the HTTP3 redirect message including an HTTP3 response code 302, a location field, and an alternate service field.
In an exemplary embodiment, the FCC parameters may also include a multicast address, a destination PTS, a destination sync code, a fast transmission rate, and a latency of the destination channel.
In an exemplary embodiment, the location field may include a target FCC server IP address, and the target FCC server identification includes the target FCC server IP address.
In an exemplary embodiment, the replacement services field may include a multicast address of the destination channel, the destination PTS and the destination sync code, a fast transmission rate (FastRate), and a latency (WaitingTime).
The fast sending rate may be used to instruct the target FCC server on the rate at which to send the unicast video stream of the target channel to the user device.
The waiting time may be used to instruct the user equipment to join the multicast group of the target channel after waiting the waiting time.
The method provided by the embodiment of the present disclosure is illustrated with reference to fig. 3 to 6, but the present disclosure is not limited thereto.
Fig. 3 to fig. 6 illustrate a multicast fast channel switching method based on HTTP replacement service, which can be applied to the technical field of video transmission and distribution in the technical field of networks.
On one hand, the method provided by the embodiment of the disclosure can change the FCC parameters in real time according to the reality of the terminal (i.e. the user equipment) and the network, for example, different play-ahead times can be determined for the terminal according to the difference of the buffer size of the terminal, so that different target PTS can be returned, and a suitable target FCC server IP address can be returned according to the load of the FCC server.
On the other hand, the method provided by the embodiment of the disclosure is simple in synchronization and can be applied to more application scenes.
As shown in fig. 3, the system may include a multicast client installed on the user equipment, a multicast FCC server, a multicast HTTP ALT-SVC server, and a video multicast source server, and communication between the multicast client, the multicast FCC server, the multicast HTTP ALT-SVC server, and the video multicast source server may be implemented through an IP network.
The multicast FCC server in fig. 3, that is, the above FCC server, may receive the multicast stream of each channel from the video multicast source server in real time, generate the synchronization code of the multicast stream of each channel and its corresponding PTS, and at the same time, the multicast FCC server may store the multicast stream of each channel in the latest predetermined time (which may be set according to actual needs, and is not limited by this disclosure) according to a time sequence; the multicast HTTP ALT-SVC server may also continuously receive the multicast stream of each channel from the video multicast source server in real time, and generate the synchronization code of the multicast stream of each channel and the PTS corresponding thereto, and unlike the multicast FCC server, the multicast HTTP ALT-SVC server may store only the generated synchronization code and the PTS corresponding thereto without storing the received multicast stream of each channel. The multicast FCC server and the multicast HTTP ALT-SVC server can respectively establish a channel index for each channel to uniquely identify each channel, and the channel index can also directly adopt the channel identification of each channel.
With continued reference to fig. 3, when the multicast client sends a first FCC request message to the multicast HTTP ALT-SVC server based on the HTTP3.0 protocol, the multicast HTTP ALT-SVC server may return an ALT-SVC message based on the HTTP3.0 protocol to the multicast client in response to the first FCC request message, the ALT-SVC message including an ALT-SVC field including at least a portion of the FCC parameters.
As shown in fig. 3, the FCC parameters returned by the multicast HTTP ALT-SVC server to the multicast client may further include a target FCC server IP address, and the multicast client may send an FCC request based on the HTTP3.0 protocol, referred to as a second FCC request message, to the target FCC server (i.e., the multicast FCC server in fig. 3) according to the target FCC server IP address.
After receiving the FCC request based on the HTTP3.0 protocol, the multicast FCC server in fig. 3 may send a unicast stream of the target channel to the multicast client, which may also be referred to as a QUIC unicast stream because it is based on the HTTP3.0 protocol.
Fig. 4 shows a schematic diagram of functional modules of a multicast HTTP ALT-SVC server (i.e., the FCC ALT-SVC scheduling server in fig. 6) designed by an embodiment of this disclosure. As shown in fig. 4, the multicast HTTP ALT-SVC server may include an FCC synchronization code generation and storage module, an FCC server and network status monitoring module, a scheduling parameter generation module, and an HTTP3 service module.
The ALT-SVC FCC schedule signaling in fig. 4 is the HTTP3 ALT-SVC message in fig. 3, that is, the HTTP 3302 response returned by the FCC ALT-SVC schedule server in fig. 6 to the live broadcast client, and the carried ALT-SVC is the generated schedule parameter, which is also referred to as the FCC parameter.
The disclosed embodiment uses HTTP3.0 as a service protocol, and the HTTP3 service in fig. 4 refers to an HTTP3 service module providing an HTTP3 service, and is responsible for responding to an FCC request (i.e., a first FCC request message) sent by a multicast client in the HTTP3 protocol. The HTTP3.0 protocol is based on the UDP protocol, so the speed is faster. Meanwhile, the HTTP3.0 protocol has an ALT-SVC field, which may be written by embodiments of the present disclosure with at least some of the generated scheduling parameters.
The FCC Synchronization Code generation and storage module of the multicast HTTP ALT-SVC server may be configured to compare an I-frame start frame (e.g., AVS (Audio Video coding Standard, source coding Standard) encoded I-frame start Code of 0x000001B3) with a next 32-bit byte as a Synchronization Code (Synchronization Code) and record a corresponding PTS time from a multicast stream of each channel received in real time, and generate a Synchronization Code index SN (serial number, also referred to as a serial number) in the following format:
SN|PTS|Synchronization Code;
the synchronization code index SN is generated by the multicast HTTP ALT-SVC server in sequence, for example, for any channel, when receiving the first I frame of the channel, the synchronization code index SN is used as the first synchronization code, the corresponding SN is "1", and the timestamp thereof is recorded as the corresponding PTS time. The synchronization code index SN may be used for internal management, statistics. The PTS is used to determine the start time, or file start position, or start bit of the unicast stream of the target channel required by the multicast client. And the multicast HTTP ALT-SVC server and the multicast FCC server both generate synchronous codes, and in the subsequent second FCC request message phase, the file end position or the end time of the unicast video stream of the transmitted target channel can be determined according to the target synchronous code in the synchronous codes.
The FCC server and the network status monitoring module of the multicast HTTP ALT-SVC server may be configured to detect and collect health information of the FCC server and the network device, such as load and concurrency, and provide basic information for scheduling, for example, determine a scheduled target FCC server according to the status information of the FCC server.
The scheduling parameter generating module of the multicast HTTP ALT-SVC server may be configured to generate a corresponding scheduling parameter in real time according to the first FCC request message received from the multicast client. The scheduling parameter is the FCC parameter carried in the FCC response message.
As shown in fig. 5, a schematic diagram of functional modules of FCC servers designed for the embodiment of the present disclosure, the target FCC server is any one of the FCC servers. As shown in fig. 5, the FCC server may include an FCC synchronization code generation and storage module, a server and network status reporting module, a video stream storage module, and an HTTP3 service module.
The video stream storage module of the FCC server may be configured to store the received multicast streams of the channels in time sequence.
The FCC synchronization code generation and storage module of the FCC server may be configured to receive multicast streams of each channel sent by the video multicast source server in real time, compare an I-frame start frame in each multicast channel stream, use the next 32-bit byte as a synchronization code, record corresponding PTS time, and generate a synchronization code index SN, and further, in order to facilitate the HTTP3 service module to read a stored video file from the video stream module, add a corresponding offset ByteRange parameter to each synchronization code index, and generate a synchronization code index SN in the following format:
SN|PTS|Synchronization Code|ByteRange;
the video stream storage module in the FCC server stores the video stream in time sequence, such as newly generating a video file every hour, recording the time stamp of each video file, and when the offset ByteRange is stored, when the sync code occurs, the video stream storage module sends the sync code back as ByteRange the byte distance/byte offset of the video file from the start of the video file, and the sync code index is recorded by the ByteRange. Therefore, when the FCC server sends the unicast stream to the multicast client, the FCC server does not need to search the target synchronization code in the video file any more, but directly determines the end position of the file according to the ByteRange of the target synchronization code, thereby improving the performance.
The server and network status reporting module of the FCC server may be configured to report status information, such as load information of each FCC server, to the multicast HTTP ALT-SVC server;
the HTTP3 service module of the FCC server may be configured to interpret the start time according to the received second FCC request message sent by the multicast client, and search for a target offset to send the unicast video stream of the target channel to the multicast client until the target synchronization code is finished. The start time here refers to the destination PTS time carried in the second FCC request message, and is specified by the multicast HTTP ALT-SVC server.
As shown in fig. 6, the new incoming channel FCC service flow is shown.
As shown in fig. 6, when the live broadcast client starts, a link (1-RTT) is established with the FCC ALT-SVC dispatch server (i.e., FCC dispatch server), so that when the live broadcast client sends a live broadcast channel play request (i.e., a first FCC request message) to the FCC ALT-SVC dispatch server based on the HTTP3.0 protocol, the 0-RTT characteristic can be used to reduce the delay.
The FCC ALT-SVC scheduling server receives a live broadcast channel playing request (also called as a client request) sent by a live broadcast client, and generates scheduling parameters according to the client request.
In the above flow, the key fields of the interactive messages of the live broadcast client and the FCC ALT-SVC scheduling server are as follows:
FCC request message: // first FCC request message
Get https:// FCC ALT-SVC Hostname/channel ID// query which FCC server to send request with channel identification of target channel as request parameter, which parameters are carried
FCC answer message (i.e. HTTP 3302 response in fig. 6):
HTTP3 response code 302// HTTP 302 refers to redirect
Location is FCC Server IP/Location identification position field, FCC Server IP is target FCC Server IP address
ALT-SVC:IGMP=”Multicast Destination IP/?PTS=***&SynchronizationCode=***&FastRate=***&WaitingTime=***“
HTTP3 Body (optional)
Multicast channel SDP information (no action, only for message integrity.)
Description of the drawings:
IGMP is a shorthand for Internet Group Management Protocol, the Internet Group Management Protocol.
The Multicast Destination IP is a Multicast address of a target channel, and the Multicast Destination IP informs a Multicast client of a Multicast address to be added subsequently; the Multicast Destination IP may also be used to notify the target FCC server of which target channel the Multicast client wants to query and respond to. Because the same FCC server can simultaneously store a plurality of multicast video streams of a plurality of channels, the multicast address is used as the mark of the multicast video stream of each channel.
The PTS in the ALT-SVC field of the FCC response message, i.e., the target PTS, i.e., the start time, is a start time for the multicast client to play the unicast video stream of the target channel, and may be 5 to 10 seconds ahead of the current time, and the specific advance play time may be specified by the FCC ALT-SVC scheduling server according to the user equipment type information. For example, the ue type information includes a terminal model, and the terminal performance is determined according to the terminal model, and if the performance is good, the upcast time is determined to be 10 seconds, and if the performance is not good, the upcast time is determined to be 5 seconds.
In the disclosed embodiment, the FCC server (i.e., the target FCC server in fig. 6) does not necessarily coincide exactly with the PTS indexed by the FCC ALT-SVC dispatch server, for example, the FCC server is out of sync with the FCC ALT-SVC dispatch server's clocks, resulting in inconsistent PTS recorded by the same synchronization code, at which point, when the FCC server receives a live channel play request (i.e. a second FCC request message) sent by the live client, when searching each PTS under the target channel according to the PTS (namely the target PTS) in the ATL-SVC field carried in the live channel playing request, a matching PTS may not be found, and the FCC server may determine the first PTS after the destination PTS time as the starting point, as the file start position, the first PTS herein is a PTS corresponding to a synchronization code generated by the FCC server itself.
For example, assuming that the destination PTS is 59 minutes 55 seconds at 9 am on day 16 of 2021, since the FCC server is not synchronized with the FCC ALT-SVC schedule server's clock, and this time cannot be found in the PTS under the target channel generated by the FCC server, a PTS that is 59 minutes 55 seconds after 9 am on day 16 of 2021 and that is closest to 59 minutes 55 seconds at 9 am on day 16 of 2021 may be used as the start time from which the QUIC unicast video stream is transmitted.
The SynchronicationCode in the ALT-SVC field of the FCC reply message is the above-mentioned target synchronization code, which is a flag to end transmission of the QUIC unicast video stream.
FastRate, i.e. a fast sending rate, in the ALT-SVC field of the FCC response message is a multiple of fast sending, i.e. a rate at which the FCC server sends a QUIC unicast video stream to the live broadcast client, and may be set according to actual requirements, and the value of the fast sending rate is not limited by the present disclosure. It may be that the FCC ALT-SVC scheduling server is specified according to the user equipment type information.
The waittime in the ALT-SVC field of the FCC response message indicates the waiting time for the multicast client to join the multicast group of the target channel, and if the channel is switched again before the waiting time is reached, the multicast group of the target channel should not be joined, that is, the multicast group of the target channel is joined after waiting for N seconds according to the scheduling parameter in fig. 6. WaitingTime can be set based on practical experience.
In the embodiment of fig. 6, the FCC server sends the QUIC unicast video stream according to the live channel play request sent by the multicast client, and when receiving the shutdown request sent by the multicast client, the sending of the QUIC unicast video stream should be stopped, which generally occurs in a scenario where the user quickly switches channels, for example, the user may press an incorrect channel number or key up or down to select a channel, during this process, the time that the user stays in the target channel is very small, and the termination is not reached until waittime arrives, so the user should actively exit.
SDP is a shorthand of Session Description Protocol, that is, a Protocol describing a Session, and is optional, and can maintain the integrity of a message.
The target synchronization code is a synchronization code newly generated in the FCC ALT-SVC scheduling server, and when the FCC server stops sending the QUIC unicast video stream according to the target synchronization code, the multicast video stream is started to be played from the corresponding target synchronization code in the multicast video stream of the target channel cached in the multicast client, so that synchronization of the unicast video stream and the multicast video stream is realized, that is, the FCC cache is synchronized after receiving the synchronization code (i.e., the target synchronization code) in fig. 6.
In the method provided by the embodiment of the present disclosure, on one hand, using HTTP3.0 ALT-SVC for scheduling may change FCC parameters in real time according to the actual user equipment and network, for example, different play-ahead times may be determined for the user equipment according to different cache sizes of the user equipment, for example, the larger the cache of the user equipment is, the longer the PTS time that can be advanced may be, and the longer the cache is, the more leisurely the time for joining the multicast group may be; and returning the proper target FCC server IP address according to the load of the FCC server. On the other hand, a new synchronization method is adopted, so that the synchronization is simple, and the method can be suitable for more application scenes.
The method provided in the embodiment of fig. 7 may be performed by a user equipment, and the user equipment may be any one or more of an IPTV, a set-top box, a smart phone, a tablet computer, a notebook computer, a desktop computer, and the like, which is not limited in this disclosure.
As shown in fig. 7, the method provided by the embodiment of the present disclosure may include the following steps.
In step S710, a first FCC request message is sent to a fast channel switching FCC scheduling server, where the first FCC request message includes a channel identifier of a target channel, and the FCC scheduling server is configured to generate FCC parameters in response to the first FCC request message, where the FCC parameters may include the target FCC server identifier, a multicast address of the target channel, a destination display time tag PTS and a target synchronization code.
In an exemplary embodiment, the FCC parameters may further include a multicast address, a destination display time stamp PTS, and a destination synchronization code of the destination channel.
In an exemplary embodiment, the first FCC request message may be transmitted based on the fast user packet protocol network connection QUIC transport layer protocol.
In an exemplary embodiment, transmitting the first FCC request message to the fast channel change FCC scheduling server may include: and sending the first FCC request message to the FCC scheduling server based on a hypertext transfer protocol (HTTP) 3.0 application layer protocol, wherein the first FCC request message comprises an HTTP message header and the first FCC request message.
In an exemplary embodiment, the HTTP header may include user equipment type information.
In step S720, the FCC parameter returned by the FCC scheduling server is received.
In an exemplary embodiment, receiving the FCC parameter returned by the FCC scheduling server may include: receiving an HTTP3 redirect message including the FCC parameters returned by the FCC scheduling server, the HTTP3 redirect message including an HTTP3 response code 302, a location field, and an alternate service field.
In an exemplary embodiment, the FCC parameters may also include a multicast address, a destination PTS, a destination sync code, a fast transmission rate, and a latency of the destination channel.
In an exemplary embodiment, the location field includes a target FCC server IP address, and the target FCC server identification includes the target FCC server IP address.
In an exemplary embodiment, the replacement services field includes the multicast address of the destination channel, the destination PTS and the destination sync code, the fast-forwarding rate, and the latency.
In an exemplary embodiment, the fast sending rate is used to instruct the target FCC server to send the unicast video stream of the target channel to the user equipment.
In an exemplary embodiment, the waiting time is used to instruct the ue to join the multicast group of the target channel after waiting the waiting time.
In step S730, a second FCC request message is sent to the target FCC server corresponding to the target FCC server identifier, where the second FCC request message includes the FCC parameter.
In step S740, a unicast video stream of the target channel sent by the target FCC server according to the FCC parameter is received.
In an exemplary embodiment, the target FCC server may be configured to determine a file start location and a file end location of a unicast video stream for transmitting the target channel to the user equipment according to the destination PTS and the target synchronization code.
In step S750, a multicast group of a target channel is requested to join according to the FCC parameter, so as to receive a multicast video stream of the target channel from a video multicast source server.
In an exemplary embodiment, requesting to join the multicast group of the target channel according to the FCC parameter may include: and if the shutdown request of the target channel is not received within the waiting time, sending a joining request to the video multicast source server after the waiting time so as to request to join the multicast group of the target channel.
Further details of the embodiment of fig. 7 may be found in relation to the description of other embodiments described above.
The method provided by the embodiment of fig. 8 may be performed by a target fast channel change FCC server, which may be any one of the FCC servers.
As shown in fig. 8, the method provided by the embodiment of the present disclosure may include the following steps.
In step S810, a second FCC request message sent by the user equipment is received, where the second FCC request message includes FCC parameters, and the FCC parameters include a target FCC server identifier of the target FCC server.
In an exemplary embodiment, the FCC parameter may further include at least one of a multicast address, a destination display time stamp PTS, a destination synchronization code, and the like of the destination channel.
In step S820, a unicast video stream of the target channel is transmitted to the user equipment according to the FCC parameter.
In an exemplary embodiment, the FCC parameter may further include a multicast address and a destination display time stamp PTS of the target channel. The sending a unicast video stream of a target channel to the user equipment according to the FCC parameter may include: determining the file starting position of the stored video file of the target channel according to the target PTS and the multicast address of the target channel; and sending the unicast video stream of the target channel to the user equipment from the file starting position of the target channel.
In an exemplary embodiment, determining a file start position of a stored video file of the target channel according to the destination PTS and the multicast address of the target channel may include: retrieving each PTS of the target channel generated by the target FCC server according to the target PTS; and if the PTS matched with the target PTS exists in all PTSs of the target channel generated by the target FCC server, taking the matched PTS as the starting position of the file.
In an exemplary embodiment, determining a file start position of a stored video file of the target channel according to the destination PTS and the multicast address of the target channel may further include: and if the PTS which is matched with the target PTS does not exist in the PTS of the target channel generated by the target FCC server, taking the first PTS which is positioned after the target PTS in the PTS of the target channel generated by the target FCC server as the starting position of the file.
In an exemplary embodiment, transmitting a unicast video stream of a target channel to the user equipment according to the FCC parameters may include: determining the file starting position of the stored video file of the target channel according to the target PTS and the multicast address of the target channel; and sending the unicast video stream of the target channel to the user equipment from the file start position of the video file of the target channel until the target synchronous code.
In an exemplary embodiment, the method may further include: receiving multicast video streams of all channels from a video multicast source server, storing the multicast video streams of all channels according to a time sequence, and generating video files of all channels; and generating the synchronous codes of the channels and the corresponding PTS thereof based on the received multicast video streams of the channels.
In an exemplary embodiment, generating the synchronization codes of the respective channels and their corresponding PTSs based on the received multicast video streams of the respective channels may include: and generating a synchronous code of each channel and a corresponding PTS thereof and an offset corresponding to the synchronous code of each channel based on the received multicast video stream of each channel, wherein the offset represents the byte distance between the synchronous code and the start of the video file of the corresponding channel.
Wherein the FCC parameter further comprises a target synchronization code. Wherein, sending the unicast video stream of the target channel to the user equipment according to the FCC parameter may further include: searching a target offset corresponding to the target synchronous code according to the target synchronous code; determining the file end position of the video file of the target channel according to the target offset; and stopping sending the unicast video stream of the target channel to the user equipment at the file end position.
In an exemplary embodiment, the method may further include: and reporting the state information of the target FCC server to an FCC scheduling server.
Further details of the embodiment of fig. 8 may be found in relation to the description of other embodiments described above.
An electronic device 900 (which may be a fast channel change FCC scheduling server, a user equipment, or a target fast channel change FCC server) as shown in fig. 9 may include a processor 910, a memory 920, and a transceiver 930.
Further, an embodiment of the present disclosure further provides an FCC scheduling server for fast channel switching, which may include: a first receiving unit, configured to receive a first FCC request message sent by a user equipment, where the first FCC request message includes a channel identifier of a target channel; a generating unit operable to generate FCC parameters in response to the first FCC request message, the FCC parameters including a target FCC server identifier; a first sending unit, configured to return the FCC parameter to the user equipment.
The user equipment may be configured to send a second FCC request message to a target FCC server corresponding to the target FCC server identifier, where the second FCC request message includes the FCC parameter; and requesting to join a multicast group of a target channel according to the FCC parameter so as to receive a multicast video stream of the target channel from a video multicast source server.
The target FCC server may be configured to transmit a unicast video stream of the target channel to the user equipment according to the FCC parameters.
Further, an embodiment of the present disclosure also provides a user equipment, which may include: a second sending unit, configured to send a first FCC request message to a fast channel switching FCC scheduling server, where the first FCC request message includes a channel identifier of a target channel, and the FCC scheduling server is configured to generate FCC parameters in response to the first FCC request message, where the FCC parameters include the target FCC server identifier; a second receiving unit, configured to receive the FCC parameter returned by the FCC scheduling server. The second sending unit may be further configured to send a second FCC request message to the target FCC server corresponding to the target FCC server identifier, where the second FCC request message includes the FCC parameter. The second receiving unit may be further configured to receive a unicast video stream of a target channel transmitted by the target FCC server according to the FCC parameter. The second receiving unit may be further configured to request to join a multicast group of a target channel according to the FCC parameter, so as to receive a multicast video stream of the target channel from a video multicast source server.
Further, an embodiment of the present disclosure also provides a target fast channel switching FCC server, which may include: a third receiving unit, configured to receive a second FCC request message sent by a user equipment, where the second FCC request message includes FCC parameters, and the FCC parameters include a target FCC server identifier of the target FCC server; a third sending unit, configured to send a unicast video stream of the target channel to the user equipment according to the FCC parameter.
Further, an embodiment of the present disclosure provides an internet protocol television IPTV system, which includes: the FCC scheduling server for fast channel change as described in any of the embodiments above; and a targeted fast zapping FCC server as described in any of the embodiments.
In an exemplary embodiment, the IPTV system may further include: a user equipment as claimed in any of the embodiments.
It can be clearly understood by those skilled in the art that, when the steps executed by the terminal and the network device and the corresponding beneficial effects can refer to the related descriptions of the terminal and the network device in the above method, the descriptions thereof are omitted here for brevity.
It should be understood that the above division of the units is only a functional division, and other division methods may be possible in actual implementation.
The embodiment of the present disclosure further provides a processing apparatus, which includes a processor and an interface; the processor is configured to execute the video playing method in any of the above method embodiments.
It should be understood that the processing means may be a chip. For example, the processing Device may be a Field-Programmable Gate Array (FPGA), an Application-Specific Integrated Circuit (ASIC), a System on Chip (SoC), a Central Processing Unit (CPU), a Network Processor (NP), a Digital Signal processing Circuit (DSP), a Microcontroller (MCU), a Programmable Logic Device (PLD), or other Integrated chips.
In implementation, the steps of the above method may be performed by integrated logic circuits of hardware in a processor or instructions in the form of software. The steps of a method disclosed in connection with the embodiments of the present disclosure may be embodied directly in a hardware processor, or in a combination of hardware and software modules. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in a memory, and a processor reads information in the memory and completes the steps of the method in combination with hardware of the processor. To avoid repetition, it is not described in detail here.
It should be noted that the processor in the embodiments of the present disclosure may be an integrated circuit chip having signal processing capability. In implementation, the steps of the above method embodiments may be performed by integrated logic circuits of hardware in a processor or instructions in the form of software. The processor may be a general purpose processor, a Digital Signal Processor (DSP), an Application Specific Integrated Circuit (ASIC), an off-the-shelf programmable gate array (FPGA) or other programmable logic device, discrete gate or transistor logic device, or discrete hardware components. The various methods, steps, and logic blocks disclosed in the embodiments of the present disclosure may be implemented or performed. A general purpose processor may be a microprocessor or the processor may be any conventional processor or the like. The steps of the method disclosed in connection with the embodiments of the present disclosure may be directly implemented by a hardware decoding processor, or implemented by a combination of hardware and software modules in the decoding processor. The software module may be located in ram, flash memory, rom, prom, or eprom, registers, etc. storage media as is well known in the art. The storage medium is located in a memory, and a processor reads information in the memory and completes the steps of the method in combination with hardware of the processor.
The disclosed embodiment also provides a computer readable medium, on which a computer program is stored, and when the computer program is executed by an electronic device, the video playing method in any one of the above method embodiments is implemented.
The embodiment of the present disclosure further provides a computer program product, and when executed by an electronic device, the computer program product implements the video playing method in any of the above method embodiments.
The embodiment of the present disclosure further provides a system chip, which includes: a processing unit, which may be, for example, a processor, and a communication unit, which may be, for example, an input/output interface, a pin or a circuit, etc. The processing unit may execute computer instructions to cause the FCC scheduling server, the user equipment and chips in the FCC server to execute any one of the video playing methods provided by the embodiments of the present disclosure.
Optionally, the computer instructions are stored in a storage unit.
Optionally, the storage unit is a storage unit in the chip, such as a register, a cache, and the like, and the storage unit may also be a storage unit located outside the chip in the terminal, such as a read-only memory (ROM) or another type of static storage device that can store static information and instructions, a Random Access Memory (RAM), and the like. The processor mentioned in any of the above may be a CPU, a microprocessor, an ASIC, or one or more integrated circuits for controlling the execution of the programs of the video playing method. The processing unit and the storage unit may be decoupled, and are respectively disposed on different physical devices, and are connected in a wired or wireless manner to implement respective functions of the processing unit and the storage unit, so as to support the system chip to implement various functions in the foregoing embodiments. Alternatively, the processing unit and the memory may be coupled to the same device.
In the above embodiments, the implementation may be wholly or partially realized by software, hardware, firmware, or any combination thereof. When implemented in software, may be implemented in whole or in part in the form of a computer program product. The computer program product includes one or more computer instructions. The processes or functions according to the embodiments of the present disclosure are produced in whole or in part when the computer instructions are loaded and executed on a computer. The computer may be a general purpose computer, a special purpose computer, a network of computers, or other programmable device. The computer instructions may be stored on a computer readable storage medium or transmitted from one computer readable storage medium to another, for example, from one website, computer, server, or data center to another website, computer, server, or data center via wire (e.g., coaxial cable, fiber optic, Digital Subscriber Line (DSL)) or wireless (e.g., infrared, wireless, microwave, etc.). The computer-readable storage medium can be any available medium that can be accessed by a computer or a data storage device, such as a server, a data center, etc., that includes one or more of the available media. The usable medium may be a magnetic medium (e.g., a floppy disk, a hard disk, a magnetic tape), an optical medium (e.g., a Digital Video Disk (DVD)), or a semiconductor medium (e.g., a Solid State Disk (SSD)), among others.
In the several embodiments provided in the present disclosure, it should be understood that the disclosed system, apparatus, and method may be implemented in other ways. For example, the above-described apparatus embodiments are merely illustrative, and for example, the division of the unit is only one logical functional division, and other divisions may be realized in practice, for example, a plurality of units or components may be combined or integrated into another system, or some features may be omitted, or not executed. In addition, the shown or discussed mutual coupling or direct coupling or communication connection may be an indirect coupling or communication connection through some interfaces, devices or units, and may be in an electrical, mechanical or other form.
The units described as separate parts may or may not be physically separate, and parts displayed as units may or may not be physical units, may be located in one place, or may be distributed on a plurality of network units. Some or all of the units can be selected according to actual needs to achieve the purpose of the solution of the embodiment.
In addition, functional units in the embodiments of the present disclosure may be integrated into one processing unit, or each unit may exist alone physically, or two or more units are integrated into one unit.
Various objects such as various messages/information/devices/network elements/systems/devices/actions/operations/procedures/concepts may be named in the present disclosure, it is to be understood that these specific names do not constitute limitations on related objects, and the named names may vary according to circumstances, contexts, or usage habits, and the understanding of the technical meaning of the technical terms in the present disclosure should be mainly determined by the functions and technical effects embodied/performed in the technical solutions.
In various embodiments of the present disclosure, terms and/or descriptions in different embodiments have consistency and may be mutually cited if not specifically stated or logically conflicting, and technical features in different embodiments may be combined to form a new embodiment according to their inherent logical relationships.
The above description is only for the specific embodiments of the present disclosure, but the scope of the present disclosure is not limited thereto, and any person skilled in the art can easily conceive of the changes or substitutions within the technical scope of the present disclosure, and all the changes or substitutions should be covered within the scope of the present disclosure. Therefore, the protection scope of the present disclosure shall be subject to the protection scope of the claims.

Claims (31)

1. A video playing method, wherein the method is performed by a fast channel change FCC scheduling server, and wherein the method comprises:
receiving a first FCC request message sent by user equipment, wherein the first FCC request message comprises a channel identifier of a target channel;
generating FCC parameters in response to the first FCC request message, the FCC parameters including a target FCC server identification;
returning the FCC parameters to the user equipment;
the user equipment is used for sending a second FCC request message to a target FCC server corresponding to the target FCC server identification, wherein the second FCC request message comprises the FCC parameters; requesting to join a multicast group of a target channel according to the FCC parameter so as to receive a multicast video stream of the target channel from a video multicast source server;
and the target FCC server is used for sending the unicast video stream of the target channel to the user equipment according to the FCC parameters.
2. The method according to claim 1, characterized in that said first FCC request message is transmitted based on the fast user data protocol network connection QUIC transport layer protocol.
3. The method of claim 1 or 2, wherein receiving the first FCC request message sent by the user equipment comprises:
receiving a first FCC request message sent by the user equipment based on a hypertext transfer protocol HTTP3.0 application layer protocol, wherein the first FCC request message comprises an HTTP message header and the first FCC request message.
4. The method of claim 3, wherein the HTTP header includes user equipment type information; the FCC parameters further include a destination display time stamp PTS;
wherein generating FCC parameters in response to the first FCC request message comprises:
determining the playing time in advance according to the user equipment type information;
and determining the destination PTS according to the advanced playing time.
5. The method according to claim 4, wherein determining the destination PTS according to the lead time comprises:
obtaining a target PTS corresponding to a target synchronous code of the target channel according to the channel identifier of the target channel;
and determining the destination PTS according to the advanced playing time and the target PTS.
6. The method of claim 5, further comprising:
receiving multicast video streams of all channels from the video multicast source server;
and generating the synchronous codes of the channels and the corresponding PTS thereof based on the received multicast video streams of the channels.
7. The method of claim 1 or 2, wherein the FCC parameters further include a target synchronization code;
wherein generating FCC parameters in response to the first FCC request message comprises:
and selecting the synchronization code with the generation time closest to the current time as the target synchronization code.
8. The method of claim 1 or 2, wherein generating FCC parameters in response to the first FCC request message comprises:
acquiring state information of an FCC server;
determining the target FCC server from the FCC server based on the state information of the FCC server.
9. The method of claim 1 or 2, wherein returning the FCC parameters to the user equipment comprises:
returning an HTTP3 redirect message including the FCC parameters to the user equipment, the HTTP3 redirect message including an HTTP3 response code 302, a location field, and an alternate service field.
10. The method of claim 9, wherein the FCC parameters further include a multicast address, a destination PTS, a destination sync code, a fast transmission rate, and a latency of the destination channel;
the location field includes a target FCC server IP address, the target FCC server identification including the target FCC server IP address;
the replacement service field includes the multicast address of the target channel, the destination PTS and the target synchronization code, the fast-sending rate, and the waiting time;
the fast sending rate is used for indicating the rate of the target FCC server sending the unicast video stream of the target channel to the user equipment;
the waiting time is used for indicating the user equipment to join the multicast group of the target channel after waiting for the waiting time.
11. A video playback method, the method being performed by a user equipment, the method comprising:
transmitting a first FCC request message to a fast channel switching FCC scheduling server, wherein the first FCC request message comprises a channel identifier of a target channel, and the FCC scheduling server is used for responding to the first FCC request message and generating FCC parameters, and the FCC parameters comprise the target FCC server identifier;
receiving the FCC parameters returned by the FCC scheduling server;
sending a second FCC request message to a target FCC server corresponding to the target FCC server identification, wherein the second FCC request message comprises the FCC parameters;
receiving a unicast video stream of a target channel sent by the target FCC server according to the FCC parameters;
and requesting to join a multicast group of a target channel according to the FCC parameter so as to receive the multicast video stream of the target channel from a video multicast source server.
12. The method according to claim 11, characterized in that said first FCC request message is transmitted based on the fast user data protocol network connection QUIC transport layer protocol.
13. The method of claim 11 or 12, wherein sending the first FCC request message to the fast channel change FCC scheduling server comprises:
and sending the first FCC request message to the FCC scheduling server based on a hypertext transfer protocol (HTTP) 3.0 application layer protocol, wherein the first FCC request message comprises an HTTP message header and the first FCC request message.
14. The method of claim 13, wherein the HTTP header includes user equipment type information.
15. The method of claim 11 or 12, wherein receiving the FCC parameter returned by the FCC schedule server comprises:
receiving an HTTP3 redirect message including the FCC parameters returned by the FCC scheduling server, the HTTP3 redirect message including an HTTP3 response code 302, a location field, and an alternate service field.
16. The method of claim 15, wherein the FCC parameters further include a multicast address, a destination PTS, a destination sync code, a fast transmission rate, and a latency of the destination channel;
the location field includes a target FCC server IP address, the target FCC server identification including the target FCC server IP address;
the replacement service field includes the multicast address of the target channel, the destination PTS and the target synchronization code, the fast-sending rate, and the waiting time;
the fast sending rate is used for indicating the rate of the target FCC server sending the unicast video stream of the target channel to the user equipment;
the waiting time is used for indicating the user equipment to join the multicast group of the target channel after waiting for the waiting time.
17. The method of claim 16, wherein requesting to join the multicast group of the target channel according to the FCC parameter comprises:
and if the shutdown request of the target channel is not received within the waiting time, sending a joining request to the video multicast source server after the waiting time so as to request to join the multicast group of the target channel.
18. A video playing method, wherein the method is performed by a target fast channel change FCC server, and wherein the method comprises:
receiving a second FCC request message sent by a user equipment, wherein the second FCC request message comprises FCC parameters, and the FCC parameters comprise a target FCC server identification of the target FCC server;
and sending the unicast video stream of the target channel to the user equipment according to the FCC parameter.
19. The method of claim 18, wherein the FCC parameters further include a multicast address and a destination display time stamp PTS of the target channel;
wherein sending the unicast video stream of the target channel to the user equipment according to the FCC parameter includes:
determining the file starting position of the stored video file of the target channel according to the target PTS and the multicast address of the target channel;
and sending the unicast video stream of the target channel to the user equipment from the file starting position of the target channel.
20. The method of claim 19, wherein determining a file start location of the stored video file of the target channel based on the destination PTS and the multicast address of the target channel comprises:
retrieving each PTS of the target channel generated by the target FCC server according to the target PTS;
and if the PTS matched with the target PTS exists in all PTSs of the target channel generated by the target FCC server, taking the matched PTS as the starting position of the file.
21. The method according to claim 20, wherein determining a file start position of the stored video file of the target channel according to the destination PTS and the multicast address of the target channel, further comprises:
and if the PTS which is matched with the target PTS does not exist in the PTS of the target channel generated by the target FCC server, taking the first PTS which is positioned after the target PTS in the PTS of the target channel generated by the target FCC server as the starting position of the file.
22. The method of claim 20 or 21, further comprising:
receiving multicast video streams of all channels from a video multicast source server, storing the multicast video streams of all channels according to a time sequence, and generating video files of all channels;
and generating the synchronous codes of the channels and the corresponding PTS thereof based on the received multicast video streams of the channels.
23. The method of claim 22, wherein generating the synchronization codes of the respective channels and their corresponding PTSs based on the received multicast video streams of the respective channels comprises:
and generating a synchronous code of each channel and a corresponding PTS thereof and an offset corresponding to the synchronous code of each channel based on the received multicast video stream of each channel, wherein the offset represents the byte distance between the synchronous code and the start of the video file of the corresponding channel.
24. The method of claim 23, wherein the FCC parameters further include a target synchronization code;
wherein, according to the FCC parameter, sending a unicast video stream of a target channel to the user equipment, further comprises:
searching a target offset corresponding to the target synchronous code according to the target synchronous code;
determining the file end position of the video file of the target channel according to the target offset;
and stopping sending the unicast video stream of the target channel to the user equipment at the file end position.
25. The method of claim 18, further comprising:
and reporting the state information of the target FCC server to an FCC scheduling server.
26. An FCC dispatch server for fast channel change, comprising:
a first receiving unit, configured to receive a first FCC request message sent by a user equipment, where the first FCC request message includes a channel identifier of a target channel;
a generating unit, configured to generate FCC parameters in response to the first FCC request message, where the FCC parameters include a target FCC server identifier;
a first sending unit, configured to return the FCC parameter to the user equipment;
the user equipment is used for sending a second FCC request message to a target FCC server corresponding to the target FCC server identification, wherein the second FCC request message comprises the FCC parameters; requesting to join a multicast group of a target channel according to the FCC parameter so as to receive a multicast video stream of the target channel from a video multicast source server;
and the target FCC server is used for sending the unicast video stream of the target channel to the user equipment according to the FCC parameters.
27. A user device, comprising:
a second sending unit, configured to send a first FCC request message to a fast channel switching FCC scheduling server, where the first FCC request message includes a channel identifier of a target channel, and the FCC scheduling server is configured to generate FCC parameters in response to the first FCC request message, where the FCC parameters include the target FCC server identifier;
a second receiving unit, configured to receive the FCC parameter returned by the FCC scheduling server;
the second sending unit is further configured to send a second FCC request message to the target FCC server corresponding to the target FCC server identifier, where the second FCC request message includes the FCC parameter;
the second receiving unit is further configured to receive a unicast video stream of a target channel sent by the target FCC server according to the FCC parameter;
the second receiving unit is further configured to request to join a multicast group of a target channel according to the FCC parameter, so as to receive a multicast video stream of the target channel from a video multicast source server.
28. A targeted fast channel change FCC server, comprising:
a third receiving unit, configured to receive a second FCC request message sent by a user equipment, where the second FCC request message includes FCC parameters, and the FCC parameters include a target FCC server identifier of the target FCC server;
and a third sending unit, configured to send a unicast video stream of the target channel to the user equipment according to the FCC parameter.
29. An internet protocol television, IPTV, system comprising:
the fast channel change FCC scheduling server of claim 26; and
the targeted fast channel switching FCC server of claim 28.
30. The method of claim 29, further comprising:
the user equipment of claim 27.
31. A computer-readable storage medium, in which a computer program is stored, which, when being executed by an electronic device, carries out the method of any one of claims 1 to 10 or the method of any one of claims 11 to 17 or the method of any one of claims 18 to 25.
CN202111583326.8A 2021-12-22 2021-12-22 Video playing method and related equipment Pending CN114363715A (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN202111583326.8A CN114363715A (en) 2021-12-22 2021-12-22 Video playing method and related equipment
PCT/CN2022/103770 WO2023115906A1 (en) 2021-12-22 2022-07-05 Video playing method and related device

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202111583326.8A CN114363715A (en) 2021-12-22 2021-12-22 Video playing method and related equipment

Publications (1)

Publication Number Publication Date
CN114363715A true CN114363715A (en) 2022-04-15

Family

ID=81101168

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202111583326.8A Pending CN114363715A (en) 2021-12-22 2021-12-22 Video playing method and related equipment

Country Status (2)

Country Link
CN (1) CN114363715A (en)
WO (1) WO2023115906A1 (en)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN115086396A (en) * 2022-04-29 2022-09-20 阿里巴巴(中国)有限公司 Method and system for transmitting media data
CN115550736A (en) * 2022-12-02 2022-12-30 浙江宇视科技有限公司 Video privacy area acquisition and transmission method and device, electronic equipment and medium
WO2023071277A1 (en) * 2021-10-29 2023-05-04 中国电信股份有限公司 Video transmission method and system, and related device
WO2023115906A1 (en) * 2021-12-22 2023-06-29 中国电信股份有限公司 Video playing method and related device
CN116647707A (en) * 2023-07-27 2023-08-25 中国电信股份有限公司 Multicast scheduling method, device and system

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008037218A1 (en) * 2006-09-25 2008-04-03 Huawei Technologies Co., Ltd. Method, system and media server for iptv channel quickly switching
US20080109557A1 (en) * 2006-11-02 2008-05-08 Vinay Joshi Method and system for reducing switching delays between digital video feeds using personalized unicast transmission techniques
CN101742175A (en) * 2008-11-18 2010-06-16 华为技术有限公司 Method and device for finding quick channel switching service
US20110302604A1 (en) * 2009-03-31 2011-12-08 Halen Joacim Methods and arrangements for system providing media via multicast distribution
US20120155280A1 (en) * 2010-12-20 2012-06-21 Wu Xingfen Method and device for fast pushing unicast stream in fast channel change
CN104144359A (en) * 2013-05-10 2014-11-12 中国电信股份有限公司 Method and system for fast channel change of IPTV multicast
CN105376613A (en) * 2015-12-10 2016-03-02 华为技术有限公司 Fast channel switching method, server and IPTV system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100115566A1 (en) * 2008-10-30 2010-05-06 Raziel Haimi-Cohen Fast Channel Change Request Processing
EP3879769B1 (en) * 2019-02-02 2023-08-30 Huawei Technologies Co., Ltd. Method and apparatus for transmitting data
CN113824540B (en) * 2021-10-29 2023-04-07 中国电信股份有限公司 Multicast retransmission method, device, server and storage medium
CN114363715A (en) * 2021-12-22 2022-04-15 中国电信股份有限公司 Video playing method and related equipment

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2008037218A1 (en) * 2006-09-25 2008-04-03 Huawei Technologies Co., Ltd. Method, system and media server for iptv channel quickly switching
US20080109557A1 (en) * 2006-11-02 2008-05-08 Vinay Joshi Method and system for reducing switching delays between digital video feeds using personalized unicast transmission techniques
CN101742175A (en) * 2008-11-18 2010-06-16 华为技术有限公司 Method and device for finding quick channel switching service
US20110302604A1 (en) * 2009-03-31 2011-12-08 Halen Joacim Methods and arrangements for system providing media via multicast distribution
US20120155280A1 (en) * 2010-12-20 2012-06-21 Wu Xingfen Method and device for fast pushing unicast stream in fast channel change
CN104144359A (en) * 2013-05-10 2014-11-12 中国电信股份有限公司 Method and system for fast channel change of IPTV multicast
CN105376613A (en) * 2015-12-10 2016-03-02 华为技术有限公司 Fast channel switching method, server and IPTV system

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2023071277A1 (en) * 2021-10-29 2023-05-04 中国电信股份有限公司 Video transmission method and system, and related device
WO2023115906A1 (en) * 2021-12-22 2023-06-29 中国电信股份有限公司 Video playing method and related device
CN115086396A (en) * 2022-04-29 2022-09-20 阿里巴巴(中国)有限公司 Method and system for transmitting media data
CN115550736A (en) * 2022-12-02 2022-12-30 浙江宇视科技有限公司 Video privacy area acquisition and transmission method and device, electronic equipment and medium
CN116647707A (en) * 2023-07-27 2023-08-25 中国电信股份有限公司 Multicast scheduling method, device and system
CN116647707B (en) * 2023-07-27 2023-10-20 中国电信股份有限公司 Multicast scheduling method, device and system

Also Published As

Publication number Publication date
WO2023115906A1 (en) 2023-06-29

Similar Documents

Publication Publication Date Title
WO2023115906A1 (en) Video playing method and related device
KR101616152B1 (en) Delivering cacheable streaming media presentations
TWI602415B (en) Method and apparatus for flexible caching of delivered media
US11838563B2 (en) Switching between transmitting a preauthored video frame and a composited video frame
JP2020519094A (en) Video playback method, device, and system
JP2015053677A (en) Enhanced block-request streaming system using signaling or block creation
JP2015519813A (en) Improved block request streaming system for handling low latency streaming
US20140109156A1 (en) Method, terminal, server and system for playing media file
JPWO2016203850A1 (en) Reception device, transmission device, and data processing method
CN113141522B (en) Resource transmission method, device, computer equipment and storage medium
EP1806870A1 (en) Method for providing data and data transmission system
US11457051B2 (en) Streaming media data processing method, processing system and storage server
JPWO2016174960A1 (en) Reception device, transmission device, and data processing method
CN108259998B (en) Player, play control method and device, electronic equipment and play system
EP3151574A1 (en) System and method for maintaining connection channel in multi-device interworking service
US20220248079A1 (en) Content-modification system with testing and reporting feature
US10917675B2 (en) System and method for intelligent delivery of segmented media streams
CN112243158B (en) Media file processing method and device, computer readable medium and electronic equipment
WO2019061256A1 (en) Streaming media-based audio and video playback method and device
US10015219B2 (en) Multicasting adaptive bitrate streams
EP2312826A2 (en) Network device, information processing apparatus, stream switching method, information processing method, program, and content distribution system
US11825136B2 (en) Video transcoding method and apparatus
CN110225370B (en) Timeline control method for personalized presentation of multimedia content
WO2015089790A1 (en) Service processing method, apparatus, and system
WO2018171567A1 (en) Method, server, and terminal for playing back media stream

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