WO2023115906A1 - Video playing method and related device - Google Patents

Video playing method and related device Download PDF

Info

Publication number
WO2023115906A1
WO2023115906A1 PCT/CN2022/103770 CN2022103770W WO2023115906A1 WO 2023115906 A1 WO2023115906 A1 WO 2023115906A1 CN 2022103770 W CN2022103770 W CN 2022103770W WO 2023115906 A1 WO2023115906 A1 WO 2023115906A1
Authority
WO
WIPO (PCT)
Prior art keywords
fcc
target
server
channel
user equipment
Prior art date
Application number
PCT/CN2022/103770
Other languages
French (fr)
Chinese (zh)
Inventor
陈戈
唐宏
梁洁
叶何亮
庄一嵘
尹之帆
余媛
陈麒
Original Assignee
中国电信股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中国电信股份有限公司 filed Critical 中国电信股份有限公司
Publication of WO2023115906A1 publication Critical patent/WO2023115906A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/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

Definitions

  • the present disclosure relates to the field of communication technologies, and in particular, to a video playing method, a Fast Channel Change (FCC) scheduling server, user equipment, a target FCC server, and a computer-readable storage medium.
  • FCC Fast Channel Change
  • IPTV Internet Protocol Television, Internet Protocol Television, also known as Interactive Network Television
  • multicast stream also called multicast video stream
  • the client needs to wait for the I frame to decode, so the multicast switching delay is long (for example, more than 2 seconds), resulting in A black screen may appear when the user performs a channel switch. Therefore, the FCC scheme has appeared, adding an FCC server to cache the multicast stream for the last few seconds, and then sending I frames from the beginning in unicast form, so that the client does not need a black screen.
  • An embodiment of the present disclosure provides a video playing method, the method is executed by a fast channel switching FCC scheduling server, and the method includes: receiving a first FCC request message sent by a user equipment, and the first FCC request message includes the target channel channel identification; responding to the first FCC request message, generating FCC parameters, the FCC parameters including target FCC server identification; and returning the FCC parameters to the user equipment; the user equipment is used to send the target FCC
  • the server identifies the corresponding target FCC server and sends a second FCC request message, the second FCC request message includes the FCC parameters; and requests to join the multicast group of the target channel according to the FCC parameters, so as to receive video multicast from the video multicast source
  • the server receives the multicast video stream of the target channel; the target FCC server is configured to send 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 video playing method, the method is executed by a user equipment, and the method includes: sending a first FCC request message to a fast channel switching FCC scheduling server, where the first FCC request message includes the channel of the target channel identification, the FCC scheduling server is used to respond to the first FCC request message, generate FCC parameters, the FCC parameters include target FCC server identification; receive the FCC parameters returned by the FCC scheduling server; send the target FCC The target FCC server corresponding to the server identifier sends a second FCC request message, the second FCC request message includes the FCC parameter; receives the unicast video stream of the target channel sent by the target FCC server according to the FCC parameter; and requesting to join the multicast group of the target channel according to the FCC parameters, so as to receive the multicast video stream of the target channel from the video multicast source server.
  • An embodiment of the present disclosure provides a video playback method, 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, the second FCC request message including FCC parameters,
  • the FCC parameters include a target FCC server identifier of the target FCC server; and sending a unicast video stream of a target channel to the user equipment according to the FCC parameters.
  • An embodiment of the present disclosure 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 , used to respond to the first FCC request message to generate FCC parameters, where the FCC parameters include a target FCC server identifier; and a first sending unit, used to return the FCC parameters to the user equipment; the user equipment It is used to send a second FCC request message to the target FCC server corresponding to the target FCC server identifier, the second FCC request message includes the FCC parameter; and request to join the multicast group of the target channel according to the FCC parameter , to receive the multicast video stream of the target channel from the video multicast source server; the target FCC server is configured to send 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
  • the scheduling server is configured to respond to the first FCC request message and generate FCC parameters, the FCC parameters include a target FCC server identifier; the second receiving unit is configured to receive the FCC parameters returned by the FCC scheduling server; the first The second sending unit is also used to send a second FCC request message to the target FCC server corresponding to the target FCC server identifier, the second FCC request message includes the FCC parameters; the second receiving unit is also used to receive the the unicast video stream of the target channel sent by the target FCC server according to the FCC parameters; The broadcast source server receives the multicast video stream of the target channel.
  • An embodiment of the present disclosure 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 an FCC parameter, and the FCC parameter includes A target FCC server identifier of the target FCC server; and a third sending unit, configured to send a unicast video stream of a target channel to the user equipment according to the FCC parameters.
  • An embodiment of the present disclosure provides an IPTV system, including: the fast channel switching FCC scheduling server as described in the embodiment of the present disclosure; and the target fast channel switching FCC server as described in the embodiment of the present disclosure.
  • An embodiment of the present disclosure provides an electronic device, where the electronic device includes at least one processor and a communication interface.
  • the communication interface is used for information exchange between the electronic device and other communication devices, and when the program instructions are executed in the at least one processor, the method in any possible implementation manner in the embodiments of the present disclosure is implemented.
  • the electronic device may also include memory.
  • Memory is used to store programs and data.
  • An embodiment of the present disclosure provides a computer-readable storage medium on which is stored a computer program for execution by an electronic device.
  • the program is executed by the electronic device, the method in any possible implementation manner of the embodiments of the present disclosure is implemented. .
  • the computer-readable storage medium may store a computer program executed by the FCC scheduling server for fast channel switching. method of operation.
  • the computer-readable storage medium may store a computer program for execution by the user equipment.
  • the program is executed by a processor, operations of the method as executed by the user equipment in the embodiments of the present disclosure are implemented.
  • the computer-readable storage medium may store a computer program for execution by the target fast channel switching FCC server. method of operation.
  • Embodiments of the present disclosure provide a computer program product comprising instructions.
  • the computer program product is run on the electronic device, the electronic device is made to execute the operations of the methods in the various aspects of the present disclosure or any possible implementation manners of the various aspects of the present disclosure.
  • the FCC dispatching server is enabled to execute the operations of the methods in any possible implementation manners in the various embodiments of the present disclosure.
  • the user equipment when the computer program product is executed on the user equipment, the user equipment is made to perform the operations of the methods in any possible implementation manners in the various embodiments of the present disclosure.
  • the target FCC server is made to execute the operations of the methods in any possible implementation manners in the various embodiments of the present disclosure.
  • An embodiment of the present disclosure provides a system chip, the system chip includes an input and output interface and at least one processor, and the at least one processor is used to call instructions in the memory to perform any one of the above-mentioned possible implementations. method of operation.
  • system chip may further include at least one memory and a bus, and the at least one memory is used to store instructions executed by the processor.
  • Fig. 1 schematically shows a schematic diagram of the IPTV FCC scheme adopted in the related art.
  • Fig. 2 schematically shows a flowchart of a video playing method according to some embodiments of the present disclosure.
  • Fig. 3 schematically shows a schematic diagram of an FCC scheme according to some embodiments of the present disclosure.
  • Fig. 4 schematically shows a schematic diagram of functional modules of a multicast HTTP ALT-SVC server according to some embodiments of the present disclosure.
  • Fig. 5 schematically shows a schematic diagram of an FCC server according to some embodiments of the present disclosure.
  • Fig. 6 schematically shows a flow chart of new incoming channel FCC traffic according to some embodiments of the present disclosure.
  • Fig. 7 schematically shows a flowchart of a video playing method according to some other embodiments of the present disclosure.
  • Fig. 8 schematically shows a flowchart of a video playing method according to some other embodiments of the present disclosure.
  • Fig. 9 schematically shows a schematic block diagram of an electronic device according to some embodiments of the present disclosure.
  • Example embodiments will now be described more fully with reference to the accompanying drawings.
  • Example embodiments may, however, be embodied in many 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.
  • the FCC solution in the related technology uses RTSP (Real Time Streaming Protocol, real-time streaming protocol), it needs to establish a long connection, which is time-consuming, so it takes a long time to establish a connection, so it can only use a fixed configuration FCC parameters.
  • the fixedly configured FCC parameters specify the multicast FCC server, and the multicast client (also referred to as the live broadcast client) can only use the pre-configured FCC parameters to send the specified multicast FCC server (also referred to as the FCC server for short). ) initiates an FCC request based on the RTSP protocol. If the designated FCC server fails, the service will be interrupted; or the designated FCC server is overloaded, which will also lead to poor user experience.
  • the channel FCC and the multicast need to be bound in advance. Only fixed FCC parameters can be used to realize the synchronization between the unicast stream received from the FCC server and the multicast stream received from the video multicast source server, and the synchronization is complex and inflexible.
  • the video client i.e., the multicast client installed on the user equipment
  • the FCC server sends the FCC unicast stream according to the specified rate.
  • the FCC client (that is, the multicast client) synchronizes the sequence number of the RTP (Real-time Transport Protocol, Real-time Transport Protocol) message of the received FCC unicast stream and the sequence number of the RTP message of the received multicast stream .
  • the FCC client ends the connection with the FCC server, and only receives the multicast stream of the target channel.
  • the solution in the related art uses a fixed configuration, it is difficult to meet the requirements of different terminals and different networks for the FCC.
  • the synchronization method of the solution in the related art also relies on a specified video stream (such as RTP), and there are intercommunication and performance problems in existing network applications.
  • Embodiments of the present disclosure provide a video playing method, a fast channel switching FCC scheduling server, 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 above-mentioned related technologies.
  • the method provided in the embodiment of FIG. 2 may be executed by the fast channel switching FCC scheduling server, but the disclosure is not limited thereto.
  • the FCC scheduling server can be a single independent server, a server cluster, or a cloud server.
  • the FCC scheduling server and the FCC server may also be located in the same physical server, which is not limited in the present disclosure.
  • the method provided by the embodiment of the present disclosure may include the following steps.
  • step S210 a first FCC request message sent by the user equipment is received, and the first FCC request message includes a channel ID (channel ID (identity, identification)) of the target channel.
  • channel ID channel ID (identity, identification)
  • the target channel is the channel selected by the user to be switched to, for example, the channel selected by the user by operating the remote control, which may be any one of the selectable channels.
  • the first FCC request message is transmitted based on the QUIC transport layer protocol.
  • receiving the first FCC request message sent by the user equipment may include: receiving the first FCC request message sent by the user equipment based on the hypertext transfer protocol HTTP (Hyper Text Transfer Protocol) 3.0 application layer protocol, the The first FCC request message may include an HTTP message header and the first FCC request message.
  • HTTP Hyper Text Transfer Protocol
  • HTTP3.0 using UDP User Datagram Protocol, User Datagram Protocol
  • HTTP Over QUIC Quick UDP Internet Connection, fast UDP network connection
  • TCP Transmission Control Protocol
  • Some embodiments of the present disclosure propose a method for scheduling using HTTP3.0's ALT-SVC (alternative-Service, which can be abbreviated as ALT-SVC, which can also be referred to as an alternative service or an alternative service), and defines a new synchronization method.
  • ALT-SVC alternative-Service
  • the present disclosure is not limited thereto.
  • the solution provided by some embodiments of the present disclosure may be applicable to any service protocol capable of quickly establishing a connection and having low-latency characteristics, or may be a self-defined protocol, which is not limited in the present disclosure.
  • all use HTTP3.0 as an example for illustration.
  • the FCC scheduling server can also be called a multicast HTTP ALT-SVC server (as shown in FIG. 3 ).
  • step S220 FCC parameters are generated in response to the first FCC request message, and the FCC parameters include a target FCC server identifier.
  • the FCC parameters may also include the multicast address of the target channel, the purpose display time label PTS (Presentation Time Stamp, used to indicate the time when the display unit appears in the system target decoder, and specify a certain value for the decoder.
  • PTS Presentation Time Stamp
  • the display time of the unit and at least one of the target synchronization code (Synchronization Code).
  • the HTTP packet header may include user equipment type information.
  • the FCC parameter may also include a target PTS.
  • generating the FCC parameters in response to the first FCC request message, may include: determining an advance play time according to the user equipment type information; determining the target PTS according to the advance play time.
  • determining the target PTS according to the advance play time may include: obtaining the PTS corresponding to the target synchronization code of the target channel according to the channel identifier of the target channel; The PTS corresponding to the target synchronization code determines the target PTS.
  • generating the FCC parameters may include: selecting a synchronization code whose generation time is closest to the current time as the target synchronization code.
  • generating the FCC parameters may include: obtaining status information of each FCC server among the plurality of FCC servers; based on the status information of each FCC server among the plurality of FCC servers , determining the target FCC server from the plurality of FCC servers.
  • the FCC scheduling server can monitor the health status of each FCC server in real time, and receive status information reported by each FCC server.
  • the status information reported by each FCC server may include any one or more of information such as the geographic location, load, concurrent number, and failure 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 the FCC server closest to the user equipment as the target FCC according to the geographic location of the user equipment and the geographic locations of each FCC server. server.
  • the FCC scheduling server can select other servers with better health status for the user equipment.
  • the FCC server acts as the target FCC server.
  • the IP address of the target FCC server may be used as the target FCC server identifier, but the disclosure is not limited thereto. In some other embodiments, any identifier can be used as long as it can uniquely distinguish the target FCC server from other FCC servers.
  • the FCC scheduling server may monitor the health status of the FCC server, and select an FCC server that is close to the user equipment, has no failure, and is not too heavily loaded as the target FCC server.
  • the method may further include: receiving the multicast video stream of each channel from the video multicast source server; and generating the synchronization code and its Corresponding PTS.
  • the user equipment when the user equipment generates the first FCC request message based on HTTP3.0, the user equipment may encapsulate the first FCC request message, for example, encapsulate it into a first FCC request message.
  • the user equipment may also carry the user equipment type information of the user equipment in the HTTP header of the first FCC request message, and the user equipment type information may be any information related to the performance of the user equipment, for example, the Information such as the manufacturer and product model to which the user equipment belongs.
  • the FCC scheduling server can determine the performance of the user equipment (for example, the buffer size of the user equipment) according to the user equipment type information, and can determine the advance broadcast time of the target channel according to the performance of the user equipment.
  • the larger the buffer size of the user equipment the larger the play-in-advance time set by the FCC scheduling server; the smaller the cache size of the user equipment, the smaller the play-in-advance time set by the FCC scheduling server.
  • the selection range of the advance playback time may be preset, for example, between 5 seconds and 10 seconds, and within the selection range, the corresponding advance playback time may be selected according to the performance of the user equipment to determine the target PTS.
  • the FCC scheduling server selects the synchronization code closest to the current time according to the current time, that is, the latest synchronization code generated in the FCC scheduling server as the target synchronization code, and uses the PTS recorded corresponding to the target synchronization code as the target PTS.
  • the target PTS is 10:00 am on December 16, 2021
  • the FCC scheduling server determines that the broadcast time in advance is 5 seconds according to the user equipment type information, that is, it determines that the single broadcast of the target channel starts to be sent to the user equipment 5 seconds before the target PTS. If the video stream is broadcast (also called unicast stream), then the corresponding determined target PTS is 9:59:55 AM on December 16, 2021.
  • the target PTS may be equal to the target PTS minus the advance play time.
  • the target FCC server can find the file start position of the video file of the target channel according to the target PTS, and send the unicast stream of the target channel to the user equipment from the file start position.
  • the method provided by some embodiments of the present disclosure can change the FCC parameters according to the user equipment type information, for example, change the target PTS in the FCC parameters, so as to better adapt the performance of the user equipment.
  • step S230 the FCC parameter is returned 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 may include the FCC parameters; and according to the The FCC parameter requests to join the multicast group of the target channel, so as to receive the multicast video stream of the target channel from the video multicast source server.
  • the target FCC server may be configured to send the unicast video stream of the target channel to the user equipment according to the FCC parameter.
  • returning the FCC parameters to the user equipment may include: returning an HTTP3.0 redirection message including the FCC parameters to the user equipment, the HTTP3.0 redirection message including HTTP3. 0 response code 302, location field, and alternate service field.
  • the FCC parameters may also include the multicast address of the target channel, target PTS, target synchronization code, fast transmission rate and waiting time.
  • the location field may include an IP address of a target FCC server, and the target FCC server identification includes the IP address of the target FCC server.
  • the replacement service field may include the multicast address of the target channel, the target PTS, the target synchronization code, fast rate (FastRate) and waiting time (WaitingTime).
  • the fast sending rate may be used to indicate the rate at which the target FCC server sends the unicast video stream of the target channel to the user equipment.
  • the waiting time may be used to instruct the user equipment to request to join the multicast group of the target channel after waiting for the waiting time.
  • Fig. 3 to Fig. 6 exemplify the multicast fast channel switching method based on the HTTP replacement service, which can be applied to the technical field of video transmission and distribution in the field of network technology.
  • the method provided by some embodiments of the present disclosure can change the FCC parameter in real time according to the actual situation of the terminal (that is, the user equipment) and the network. For example, different advance play times can be determined for the terminal according to the cache size of the terminal, so that different target PTSs can be returned, and the IP address of the appropriate target FCC server can also be returned according to the load of multiple FCC servers.
  • the method provided by some embodiments of the present disclosure is simple and applicable to more application scenarios.
  • the IPTV system may include a multicast client, a multicast FCC server, a multicast HTTP ALT-SVC server and a video multicast source server installed on user equipment. Communication between multicast client, multicast FCC server, multicast HTTP ALT-SVC server and video multicast source server can be realized through IP network.
  • the multicast FCC server in FIG. 3 is the above-mentioned FCC server, which can 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 its corresponding PTS.
  • the multicast FCC server can store the multicast streams of each channel in the latest predetermined time period (which can be set according to actual needs, which is not limited in the present disclosure) in time order.
  • the multicast HTTP ALT-SVC server can 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 its corresponding PTS.
  • the multicast HTTP ALT-SVC server may not store the received multicast stream of each channel, but only store the generated synchronization code and its corresponding PTS. Both the multicast FCC server and the multicast HTTP ALT-SVC server can establish a channel index for each channel to uniquely identify each channel, and the channel index can also directly use the channel identifier of each channel.
  • the multicast HTTP ALT-SVC server can respond to this first FCC request message, to the multicast
  • the client returns an ALT-SVC message based on HTTP3.0, and the ALT-SVC message includes an ALT-SVC field.
  • the ALT-SVC field includes at least a part of the FCC parameters.
  • the FCC parameter returned by the multicast HTTP ALT-SVC server to the multicast client may also include the IP address of the target FCC server.
  • the multicast client can send an HTTP3.0-based FCC request to the target FCC server (ie, the multicast FCC server in FIG. 3 ), which is called the second FCC request message.
  • the multicast FCC server in FIG. 3 After the multicast FCC server in FIG. 3 receives the HTTP3.0-based FCC request, it can send the unicast stream of the target channel to the multicast client. Since it is based on HTTP3.0, the unicast stream of the target channel can also be called QUIC unicast stream.
  • FIG. 4 shows a schematic diagram of the functional modules of the multicast HTTP ALT-SVC server (that is, the FCC ALT-SVC scheduling server in FIG. 6 ) designed by some embodiments of the present disclosure.
  • 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.0 service module.
  • the ALT-SVC FCC scheduling signaling in Figure 4 is the HTTP3.0 ALT-SVC message in Figure 3, which is the HTTP3.0 302 response returned by the FCC ALT-SVC scheduling server to the multicast client in Figure 6.
  • the ALT-SVC carried in the HTTP3.0 302 response is the generated scheduling parameter, also known as the FCC parameter.
  • HTTP3.0 refers to the HTTP3.0 service module that provides HTTP3.0 services, and is responsible for responding to the FCC request sent by the multicast client in HTTP3.0 (ie, the first FCC request message). Since HTTP3.0 is based on UDP, it is faster. Meanwhile, HTTP3.0 has an ALT-SVC field, and some embodiments of the present disclosure may write at least part of the generated scheduling parameters into the ALT-SVC field.
  • the FCC synchronization code generation and storage module of the multicast HTTP ALT-SVC server can be used to compare the I frame start frame (such as AVS (Audio Video coding Standard, source coding standard) from the multicast stream of each channel received in real time Standard) encoding I frame start code is 0x000001B3), the next 32 bytes are used as the synchronization code, record the corresponding PTS, and generate the synchronization code index SN (serial number, also known as the serial number) in the following format :
  • the synchronization code index SN is generated by the multicast HTTP ALT-SVC server in sequence. For example, for any channel, when the first I frame of the channel is received, the first I frame is used as the first synchronization code, the corresponding SN is "1", and the first I frame is recorded Timestamp as the corresponding PTS.
  • the synchronization code index SN can be used for internal management and statistics.
  • the destination PTS is used to determine the start time of the unicast stream of the target channel required by the multicast client, or the start position of the file, or the start bit. Both the multicast HTTP ALT-SVC server and the multicast FCC server will generate synchronization codes. In the subsequent stage of the second FCC request message, the multicast FCC server can determine the file end position or end time of the sent unicast video stream of the target channel according to the target synchronization code in the synchronization code.
  • the FCC server and network status monitoring module of the multicast HTTP ALT-SVC server can be used to detect and collect status information such as the load and concurrent numbers of the FCC server and network equipment, and provide basic information for scheduling, such as determining the status information based on the status information of the FCC server The scheduled target FCC server.
  • the scheduling parameter generation module of the multicast HTTP ALT-SVC server can be used to generate corresponding scheduling parameters 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.
  • Fig. 5 is a schematic diagram of functional modules of an FCC server designed in some embodiments of the present disclosure.
  • the target FCC server may be any FCC server.
  • 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.0 service module.
  • the video stream storage module of the FCC server may be used to store the received multicast streams of each channel in time sequence.
  • the FCC synchronization code generation and storage module of the FCC server can be used to receive the multicast stream of each channel sent by the video multicast source server in real time, compare the I frame start frame from the multicast stream of each channel, and convert the following
  • the 32-bit byte is used as the synchronization code, records the corresponding PTS, and generates the synchronization code index SN.
  • the FCC synchronization code generation and storage module also adds the corresponding offset ByteRange parameter to each synchronization code index, and generates the following format
  • the synchronization code index SN :
  • the video stream storage module in the FCC server is stored in chronological order, for example, a video file is newly generated every hour, and the time stamp of each video file is recorded.
  • the offset is during the storage process.
  • the video stream storage module sends the byte distance/byte offset of the synchronization code in the video file relative to the beginning byte of the video file as the offset.
  • the FCC synchronization code generation and storage module records the synchronization code index.
  • the FCC server wants to send a unicast stream to the multicast client, it no longer needs to search for the target synchronization code in the video file, but directly determines the end position of the file according to the offset of the target synchronization code, which can improve performance .
  • the server and network status reporting module of the FCC server can be used to report status information to the multicast HTTP ALT-SVC server, such as load information of the FCC server.
  • the HTTP3.0 service module of the FCC server can be used to analyze the start time in the second FCC request message sent by the received multicast client, and find the target offset to send the unicast of the target channel to the multicast client Video streams until the end of the target sync code.
  • the startup time here refers to the destination PTS carried in the second FCC request message, which is specified by the multicast HTTP ALT-SVC server.
  • the multicast client establishes a link with the FCC ALT-SVC scheduling server (that is, the FCC scheduling server) when it starts (1-RTT (Round-Trip Time, round-trip time delay)).
  • the FCC ALT-SVC scheduling server that is, the FCC scheduling server
  • (1-RTT Red-Trip Time, round-trip time delay
  • the FCC ALT-SVC scheduling server receives the live channel play request (also called client request) sent by the multicast client, and generates scheduling parameters according to the client request.
  • the key fields of the interaction message between the multicast client and the FCC ALT-SVC scheduling server are as follows:
  • FCC request message // the first FCC request message
  • FCC response message (ie HTTP3.0 302 response in Figure 6):
  • HTTP3.0 response code 302//HTTP 302 refers to redirection
  • FCC Server IP //Location is the location field, and FCC Server IP is the IP address of the target FCC server
  • Multicast channel SDP information (useless, only for the integrity of the message)
  • IGMP is the abbreviation of Internet Group Management Protocol, that is, Internet Group Management Protocol.
  • the Multicast Destination IP is the multicast address of the target channel.
  • the Multicast Destination IP is used to notify the multicast client of the multicast address to join in the future.
  • the Multicast Destination IP can also be used to notify the target FCC server that the multicast client should query and respond. which target channel. Because the same FCC server can store the multicast video stream of each channel in multiple channels at the same time, the multicast address is used as the sign of the multicast video stream of each channel.
  • the PTS in the ALT-SVC field of the FCC response message is the above-mentioned target PTS, that is, the start time, which refers to the start time for the multicast client to play the unicast video stream of the target channel, which can be 5 to 10 seconds earlier than the target PTS.
  • the specific advance play time can be specified by the FCC ALT-SVC scheduling server according to the user equipment type information.
  • the user equipment type information is assumed to include the terminal model, and the FCC ALT-SVC scheduling server determines the terminal performance according to the terminal model. If the performance is good, it is determined that the playing time in advance is 10 seconds; if the performance is not good, the playing time in advance is determined to be 5 seconds.
  • the FCC server (the FCC server in FIG. 6 is the target FCC server) and the PTS indexed by the FCC ALT-SVC scheduling server are not necessarily completely consistent.
  • the clocks of the FCC server and the FCC ALT-SVC scheduling server are not synchronized, resulting in inconsistent PTSs recorded by the same synchronization code.
  • the FCC server receives the live channel play request (ie, the second FCC request message) sent by the multicast client, and searches for When there are multiple PTSs under the target channel, a matching PTS may not be found.
  • the FCC server may use the first PTS after the target PTS as the starting point, and determine it as the starting position of the file.
  • the first PTS here refers to the PTS corresponding to the synchronization code generated by the FCC server itself.
  • the FCC server can use the PTS that is after 9:59:55 am on December 16, 2021 and the closest to 9:59:55 am on December 16, 2021 as the start time, and start from here Send a QUIC unicast video stream.
  • the SynchronizationCode in the ALT-SVC field of the FCC response message is the above-mentioned target synchronization code, and the target synchronization code is a sign that the sending of the QUIC unicast video stream ends.
  • the FastRate in the ALT-SVC field of the FCC response message is the fast transmission rate, which refers to the multiple of the fast transmission rate, that is, the rate at which the FCC server sends QUIC unicast video streams to the multicast client.
  • the fast sending rate can be set according to actual needs, and this disclosure does not limit its value.
  • the fast transmission rate can be specified by the FCC ALT-SVC scheduling server according to the user equipment type information.
  • the WaitingTime in the ALT-SVC field of the FCC response message refers to the waiting time for the multicast client to request to join the multicast group of the target channel. If the channel is switched before the waiting time is up, the multicast client should not request to join the multicast group of the target channel, that is, request to join the multicast group of the target channel after waiting N seconds according to the scheduling parameters in Figure 6.
  • the waiting time can be set according to actual experience.
  • the FCC server sends the QUIC unicast video stream according to the live channel play request sent by the multicast client.
  • the FCC server shall stop sending QUIC unicast video streams. It generally appears in the scene where the user quickly switches channels. For example, the user may press the wrong channel number, or press the up and down keys to select the channel. During this process, the user stays on the target channel for a very short time, and it ends before the waiting time is up, so the multicast client should actively exit.
  • SDP is the abbreviation of Session Description Protocol, which is the protocol describing the session.
  • the SDP information of the multicast channel can maintain the integrity of the message and is optional.
  • the target sync code is the latest generated sync code in the FCC ALT-SVC dispatch server.
  • the FCC server stops sending the QUIC unicast video stream according to the target synchronization code
  • the multicast client starts playing the multicast video stream from the corresponding target synchronization code in the cached multicast video stream of the target channel, thereby realizing
  • the synchronization of the unicast video stream and the multicast video stream is the synchronization of the FCC cache after receiving the synchronization code (ie, the target synchronization code) in FIG. 6 .
  • the method provided by some embodiments of the present disclosure uses HTTP3.0ALT-SVC for scheduling, and can change the FCC parameters in real time according to the actual situation of the user equipment and the network. For example, different advance playback times are determined for the user equipment according to different buffer sizes of the user equipment. For example, the larger the buffer of the user equipment, the longer the playing time in advance, and the longer the buffer, the more sufficient time to join the multicast group. For another example, the IP address of a suitable target FCC server is returned according to the load of multiple FCC servers. On the other hand, a new synchronization method is adopted to make synchronization simple and applicable to more application scenarios.
  • the method provided in the embodiment of FIG. 7 may be executed by user equipment, and the user equipment may be any one or more of IPTV, set-top box, smart phone, tablet computer, notebook computer, desktop computer, etc., which is not limited in the present disclosure.
  • the method provided by some embodiments of the present disclosure may include the following steps.
  • a first FCC request message is sent to the FCC scheduling server, where the first FCC request message includes the channel identifier of the target channel.
  • the FCC scheduling server is configured to respond to the first FCC request message and generate FCC parameters, where the FCC parameters may include a target FCC server identifier.
  • the FCC parameters may also include the multicast address of the target channel, the target PTS, and the target synchronization code.
  • the first FCC request message may be transmitted based on the QUIC transport layer protocol.
  • sending the first FCC request message to the FCC scheduling server may include: sending a first FCC request message to the FCC scheduling server based on the HTTP3.0 application layer protocol, and the first FCC request message includes HTTP message header and the first FCC request message.
  • the HTTP packet header may include user equipment type information.
  • step S720 the FCC parameter returned by the FCC scheduling server is received.
  • receiving the FCC parameters returned by the FCC scheduling server may include: receiving an HTTP3.0 redirection message including the FCC parameters returned by the FCC scheduling server, the HTTP3.0 redirection message Including HTTP3.0 response code 302, location field and replacement service field.
  • the FCC parameters may also include the multicast address of the target channel, target PTS, target synchronization code, fast transmission rate and waiting time.
  • the location field includes the IP address of the target FCC server
  • the target FCC server identification includes the IP address of the target FCC server
  • the replacement service field includes the multicast address of the target channel, the target PTS, the target synchronization code, the fast transmission rate and the waiting time.
  • the fast sending rate is used to indicate the rate at which the target FCC server sends the unicast video stream of the target channel to the user equipment.
  • the waiting time is used to instruct the user equipment to request to join the multicast group of the target channel after waiting for the waiting time.
  • 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.
  • step S740 the unicast video stream of the target channel sent by the target FCC server according to the FCC parameters is received.
  • the target FCC server may be configured to determine, according to the target PTS and the target synchronization code, a file start position and a file end position for sending the unicast video stream of the target channel to the user equipment .
  • step S750 request to join the multicast group of the target channel according to the FCC parameters, so as to receive the multicast video stream of the target channel from the video multicast source server.
  • requesting to join the multicast group of the target channel according to the FCC parameters may include: if no shutdown request of the target channel is received within the waiting time, then during the waiting time Afterwards, a join request is sent to the video multicast source server to request to join the multicast group of the target channel.
  • the method provided in the embodiment of FIG. 8 may be executed by the target FCC server, and the target FCC server may be any one of multiple FCC servers.
  • the method provided by some embodiments of the present disclosure may include the following steps.
  • step S810 a second FCC request message sent by the user equipment is received, and the second FCC request message includes FCC parameters.
  • the FCC parameter includes a target FCC server identifier of the target FCC server.
  • the FCC parameters may further include at least one of the multicast address of the target channel, the target PTS, and the target synchronization code.
  • step S820 the unicast video stream of the target channel is sent to the user equipment according to the FCC parameter.
  • the FCC parameters may also include the multicast address and the destination PTS of the target channel.
  • sending the unicast video stream of the target channel to the user equipment according to the FCC parameters may include: determining the stored video stream of the target channel according to the target PTS and the multicast address of the target channel a file start position of the file; and sending the unicast video stream of the target channel to the user equipment from the file start position of the target channel.
  • determining the file start position of the stored video file of the target channel according to the target PTS and the multicast address of the target channel may include: retrieving the target PTS generated by the target FCC server according to the target PTS. multiple PTSs of the target channel; and if there is a PTS that matches the target PTS among the multiple PTSs of the target channel generated by the target FCC server, then use the matched PTS as the file start start position.
  • determining the file start position of the stored video file of the target channel according to the target PTS and the multicast address of the target channel may further include: if the target channel generated by the target FCC server If there is no PTS matching the target PTS among the multiple PTSs of the channel, the first PTS after the target PTS among the multiple PTSs of the target channel generated by the target FCC server is used as the file starting point.
  • sending the unicast video stream of the target channel to the user equipment according to the FCC parameters may include: determining the stored video of the target channel according to the target PTS and the multicast address of the target channel a file start position of the file; 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 synchronization code.
  • the method may further include: receiving the multicast video streams of each channel from the video multicast source server, and storing the multicast video streams of each channel in chronological order, and generating video files of each channel; and based on The multicast video stream of each channel is received, and the synchronization code of each channel and its corresponding PTS are generated.
  • generating the synchronization code of each channel and its corresponding PTS based on the received multicast video stream of each channel may include: generating the synchronization code of each channel based on the received multicast video stream of each channel and its corresponding PTS and offset.
  • the offset represents a byte offset between the synchronization code and the start byte of the video file of the corresponding channel.
  • the FCC parameters also include a target synchronization code.
  • sending the unicast video stream of the target channel to the user equipment according to the FCC parameters may further include: searching for a target offset corresponding to the target synchronization code according to the target synchronization code; The target offset determines the file end position of the video file of the target channel; and stops sending the unicast video stream of the target channel to the user equipment at the file end position.
  • the method may further include: reporting the status information of the target FCC server to the FCC scheduling server.
  • the electronic device 900 shown in FIG. 9 may include a processor 910 , a memory 920 and a transceiver 930 .
  • an embodiment of the present disclosure also provides an FCC scheduling server, 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 of a target channel An identifier; 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; and a first sending unit, configured to return the FCC parameters to the user equipment.
  • 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 of a target channel An identifier
  • 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 parameters 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 request to join the target channel according to the FCC parameter
  • the multicast group is used to receive the multicast video stream of the target channel from the video multicast source server.
  • the target FCC server may be configured to send the unicast video stream of the target channel to the user equipment according to the FCC parameter.
  • 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 an FCC scheduling server, where the first FCC request message includes a channel identifier of a target channel , the FCC scheduling server is configured to respond to the first FCC request message to generate an FCC parameter, the FCC parameter includes a target FCC server identifier; and a second receiving unit may be configured to receive the FCC returned by the FCC scheduling server FCC parameters.
  • the second sending unit may also 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.
  • the second receiving unit may also be configured to receive the unicast video stream of the target channel sent by the target FCC server according to the FCC parameters.
  • the second receiving unit may also be used to request to join the multicast group of the target channel according to the FCC parameter, so as to receive the multicast video stream of the target channel from the video multicast source server.
  • an embodiment of the present disclosure also provides a target 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 The FCC parameters include a target FCC server identifier of the target FCC server; and a third sending unit, configured to send the unicast video stream of the target channel to the user equipment according to the FCC parameters.
  • a target FCC server 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 The FCC parameters include a target FCC server identifier of the target FCC server; and a third sending unit, configured to send the unicast video stream of the target channel to the user equipment according to the FCC parameters.
  • an embodiment of the present disclosure also provides an IPTV system, which may include: the FCC scheduling server as described in any embodiment above; and the target FCC server as described in any embodiment.
  • the IPTV system may further include the user equipment as described in any embodiment.
  • An embodiment of the present disclosure also provides a processing device, including a processor and an interface; the processor is configured to execute the video playing method in any of the foregoing embodiments.
  • the above processing device may be a chip.
  • the processing device may be a Field-Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), or a System on Chip (SoC), or It can be a central processing unit (Central Processor Unit, CPU), a network processor (Network Processor, NP), a digital signal processing circuit (Digital Signal Processor, DSP), or a microcontroller (Micro Controller Unit, MCU), can also be a programmable controller (Programmable Logic Device, PLD) or other integrated chips.
  • FPGA Field-Programmable Gate Array
  • ASIC Application Specific Integrated Circuit
  • SoC System on Chip
  • CPU Central Processor Unit
  • NP Network Processor
  • DSP Digital Signal Processor
  • MCU Micro Controller Unit
  • PLD programmable Logic Device
  • each step of the above method may be implemented by an integrated logic circuit of hardware in a processor or an instruction in the form of software.
  • the steps of the methods disclosed in the embodiments of the present disclosure may be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules in the processor.
  • the software module may be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware. To avoid repetition, no detailed description is given here.
  • the processor in the embodiment of the present disclosure may be an integrated circuit chip having a signal processing capability.
  • the steps in the foregoing method embodiments may be implemented by an integrated logic circuit of hardware in a processor or instructions in the form of software.
  • the above-mentioned processor can be a general-purpose processor, a digital signal processor (digital signal processor, DSP), an application specific integrated circuit (application specific integrated circuit, ASIC), an off-the-shelf programmable gate array (field programmable gate array, FPGA) or other programmable Logic devices, discrete gate or transistor logic devices, discrete hardware components.
  • DSP digital signal processor
  • ASIC application specific integrated circuit
  • FPGA field programmable gate array
  • Various methods, steps and logic block diagrams disclosed in the embodiments of the present disclosure may be implemented or executed.
  • a general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like.
  • the steps of the methods disclosed in 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 can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register.
  • the storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware.
  • An embodiment of the present disclosure further 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 of the above-mentioned embodiments is implemented.
  • An embodiment of the present disclosure further provides a computer program product, which implements the video playing method in any of the foregoing embodiments when the computer program product is executed by an electronic device.
  • An embodiment of the present disclosure also provides a system chip, the system chip includes: a processing unit and a communication unit, the processing unit may be, for example, a processor, and the communication unit may be, for example, an input/output interface, a pin, or a circuit.
  • the processing unit may execute computer instructions, so that the chips in the FCC scheduling server, the user equipment, and the FCC server execute any video playing method provided by the foregoing embodiments of the present disclosure.
  • the computer instructions are stored in a memory unit.
  • the storage unit is a storage unit in the chip, such as a register, a cache, etc.
  • the storage unit can also be a storage unit located outside the chip in the terminal, such as a read-only memory (read-only memory) , ROM) or other types of static storage devices that can store static information and instructions, random access memory (random access memory, RAM), etc.
  • the processor mentioned above can be a CPU, a microprocessor, an ASIC, or one or more integrated circuits for controlling the program execution of the above-mentioned video playing method.
  • the processing unit and the storage unit can be decoupled, respectively arranged on different physical devices, and connected in a wired or wireless manner to realize the respective functions of the processing unit and the storage unit, so as to support the system chip to realize the above implementation Various functions in the example.
  • the processing unit and the memory can also be coupled to the same device.
  • all or part of them may be implemented by software, hardware, firmware or any combination thereof.
  • software When implemented using software, it 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. When the computer instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present disclosure will be generated in whole or in part.
  • the computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device.
  • the computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, e.g.
  • the computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media.
  • the available media can be magnetic media (for example, floppy disk, hard disk, magnetic tape), optical media (for example, high-density digital video disc (digital video disc, DVD)), or semiconductor media (for example, solid state disk (solid state disk, SSD) ))wait.
  • the disclosed system, device and method may be implemented in other ways.
  • the device embodiments described above are only illustrative.
  • the division of the units is only a logical function division. In actual implementation, there may be other division methods.
  • multiple units or components can be combined or can be Integrate into another system, or some features may be ignored, or not implemented.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
  • the units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solutions of the embodiments of the present disclosure.
  • each functional unit in each embodiment of the present disclosure may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.

Abstract

The embodiments of the present disclosure belong to the technical field of communications. Provided are a video playing method and a related device. The method is executed by a fast channel change (FCC) scheduling server. The method comprises: receiving a first FCC request message, which is sent by a user equipment, wherein the first FCC request message comprises a channel identity of a target channel; in response to the first FCC request message, generating an FCC parameter, wherein the FCC parameter comprises a target FCC server identity; and returning the FCC parameter to the user equipment, wherein the user equipment is used for sending a second FCC request message to a target FCC server corresponding to the target FCC server identity, the second FCC request message comprising the FCC parameter, and the user equipment is used for requesting, according to the FCC parameter, to join a multicast group of the target channel, so as to receive a multicast video stream of the target channel from a video multicast source server, wherein the target FCC server is used for sending a unicast video stream of the target channel to the user equipment according to the FCC parameter.

Description

视频播放方法及相关设备Video playback method and related equipment
相关申请的交叉引用Cross References to Related Applications
本申请是以CN申请号为202111583326.8,申请日为2021年12月22日的申请为基础,并主张其优先权,该CN申请的公开内容在此作为整体引入本申请中。This application is based on the application with CN application number 202111583326.8 and the application date is December 22, 2021, and claims its priority. The disclosure content of this CN application is hereby incorporated into this application as a whole.
技术领域technical field
本公开涉及通信技术领域,具体而言,涉及一种视频播放方法、快速频道切换(Fast Channel Change,FCC)调度服务器、用户设备、目标FCC服务器及计算机可读存储介质。The present disclosure relates to the field of communication technologies, and in particular, to a video playing method, a Fast Channel Change (FCC) scheduling server, user equipment, a target FCC server, and a computer-readable storage medium.
背景技术Background technique
IPTV(Internet Protocol Television,网际互联协议电视,也可称为交互式网络电视)广泛使用组播来承载直播视频业务。由于客户端接收到的组播流(也可称之为组播视频流)可能不是I帧(帧内编码帧,I帧表示关键帧,解码时只需要本帧数据就可以完成),而是B帧(双向预测内插编码帧)或者P帧(前向预测编码帧),客户端需要等待接收到I帧才可以解码,因此组播切换延时较长(例如2秒以上),从而导致用户执行频道切换时可能出现黑屏现象。因此出现了FCC方案,增加FCC服务器,用于缓存最近的几秒的组播流,然后以单播形式从一开始就发送I帧,这样客户端就不用黑屏。IPTV (Internet Protocol Television, Internet Protocol Television, also known as Interactive Network Television) widely uses multicast to carry live video services. Since 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 a key frame, only the data of this frame can be completed when decoding), but B frame (bidirectional predictive interpolation coded frame) or P frame (forward predictive coded frame), the client needs to wait for the I frame to decode, so the multicast switching delay is long (for example, more than 2 seconds), resulting in A black screen may appear when the user performs a channel switch. Therefore, the FCC scheme has appeared, adding an FCC server to cache the multicast stream for the last few seconds, and then sending I frames from the beginning in unicast form, so that the client does not need a black screen.
发明内容Contents of the invention
本公开实施例提供一种视频播放方法,所述方法由快速频道切换FCC调度服务器执行,所述方法包括:接收用户设备发送的第一FCC请求消息,所述第一FCC请求消息包括目标频道的频道标识;响应所述第一FCC请求消息,生成FCC参数,所述FCC参数包括目标FCC服务器标识;和将所述FCC参数返回至所述用户设备;所述用户设备用于向所述目标FCC服务器标识对应的目标FCC服务器发送第二FCC请求消息,所述第二FCC请求消息包括所述FCC参数;并根据所述FCC参数请求加入所述目标频道的组播组,以从视频组播源服务器接收所述目标频道的组播视频流;所述目标FCC服务器用于根据所述FCC参数向所述用户设备发送所述目标频道的单 播视频流。An embodiment of the present disclosure provides a video playing method, the method is executed by a fast channel switching FCC scheduling server, and the method includes: receiving a first FCC request message sent by a user equipment, and the first FCC request message includes the target channel channel identification; responding to the first FCC request message, generating FCC parameters, the FCC parameters including target FCC server identification; and returning the FCC parameters to the user equipment; the user equipment is used to send the target FCC The server identifies the corresponding target FCC server and sends a second FCC request message, the second FCC request message includes the FCC parameters; and requests to join the multicast group of the target channel according to the FCC parameters, so as to receive video multicast from the video multicast source The server receives the multicast video stream of the target channel; the target FCC server is configured to send the unicast video stream of the target channel to the user equipment according to the FCC parameters.
本公开实施例提供一种视频播放方法,所述方法由用户设备执行,所述方法包括:向快速频道切换FCC调度服务器发送第一FCC请求消息,所述第一FCC请求消息包括目标频道的频道标识,所述FCC调度服务器用于响应所述第一FCC请求消息,生成FCC参数,所述FCC参数包括目标FCC服务器标识;接收所述FCC调度服务器返回的所述FCC参数;向所述目标FCC服务器标识对应的目标FCC服务器发送第二FCC请求消息,所述第二FCC请求消息包括所述FCC参数;接收所述目标FCC服务器根据所述FCC参数发送的所述目标频道的单播视频流;和根据所述FCC参数请求加入所述目标频道的组播组,以从视频组播源服务器接收所述目标频道的组播视频流。An embodiment of the present disclosure provides a video playing method, the method is executed by a user equipment, and the method includes: sending a first FCC request message to a fast channel switching FCC scheduling server, where the first FCC request message includes the channel of the target channel identification, the FCC scheduling server is used to respond to the first FCC request message, generate FCC parameters, the FCC parameters include target FCC server identification; receive the FCC parameters returned by the FCC scheduling server; send the target FCC The target FCC server corresponding to the server identifier sends a second FCC request message, the second FCC request message includes the FCC parameter; receives the unicast video stream of the target channel sent by the target FCC server according to the FCC parameter; and requesting to join the multicast group of the target channel according to the FCC parameters, so as to receive the multicast video stream of the target channel from the video multicast source server.
本公开实施例提供一种视频播放方法,所述方法由目标快速频道切换FCC服务器执行,所述方法包括:接收用户设备发送的第二FCC请求消息,所述第二FCC请求消息包括FCC参数,所述FCC参数包括所述目标FCC服务器的目标FCC服务器标识;和根据所述FCC参数向所述用户设备发送目标频道的单播视频流。An embodiment of the present disclosure provides a video playback method, 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, the second FCC request message including FCC parameters, The FCC parameters include a target FCC server identifier of the target FCC server; and sending a unicast video stream of a target channel to the user equipment according to the FCC parameters.
本公开实施例提供一种快速频道切换FCC调度服务器,包括:第一接收单元,用于接收用户设备发送的第一FCC请求消息,所述第一FCC请求消息包括目标频道的频道标识;生成单元,用于响应所述第一FCC请求消息,生成FCC参数,所述FCC参数包括目标FCC服务器标识;和第一发送单元,用于将所述FCC参数返回至所述用户设备;所述用户设备用于向所述目标FCC服务器标识对应的目标FCC服务器发送第二FCC请求消息,所述第二FCC请求消息包括所述FCC参数;并根据所述FCC参数请求加入所述目标频道的组播组,以从视频组播源服务器接收所述目标频道的组播视频流;所述目标FCC服务器用于根据所述FCC参数向所述用户设备发送所述目标频道的单播视频流。An embodiment of the present disclosure 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 , used to respond to the first FCC request message to generate FCC parameters, where the FCC parameters include a target FCC server identifier; and a first sending unit, used to return the FCC parameters to the user equipment; the user equipment It is used to send a second FCC request message to the target FCC server corresponding to the target FCC server identifier, the second FCC request message includes the FCC parameter; and request to join the multicast group of the target channel according to the FCC parameter , to receive the multicast video stream of the target channel from the video multicast source server; the target FCC server is configured to send the unicast video stream of the target channel to the user equipment according to the FCC parameters.
本公开实施例提供一种用户设备,包括:第二发送单元,用于向快速频道切换FCC调度服务器发送第一FCC请求消息,所述第一FCC请求消息包括目标频道的频道标识,所述FCC调度服务器用于响应所述第一FCC请求消息,生成FCC参数,所述FCC参数包括目标FCC服务器标识;第二接收单元,用于接收所述FCC调度服务器返回的所述FCC参数;所述第二发送单元还用于向所述目标FCC服务器标识对应的目标FCC服务器发送第二FCC请求消息,所述第二FCC请求消息包括所述FCC参数;所述第二接收单元还用于接收所述目标FCC服务器根据所述FCC参数发送的所 述目标频道的单播视频流;和所述第二接收单元还用于根据所述FCC参数请求加入所述目标频道的组播组,以从视频组播源服务器接收所述目标频道的组播视频流。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 The scheduling server is configured to respond to the first FCC request message and generate FCC parameters, the FCC parameters include a target FCC server identifier; the second receiving unit is configured to receive the FCC parameters returned by the FCC scheduling server; the first The second sending unit is also used to send a second FCC request message to the target FCC server corresponding to the target FCC server identifier, the second FCC request message includes the FCC parameters; the second receiving unit is also used to receive the the unicast video stream of the target channel sent by the target FCC server according to the FCC parameters; The broadcast source server receives the multicast video stream of the target channel.
本公开实施例提供一种目标快速频道切换FCC服务器,包括:第三接收单元,用于接收用户设备发送的第二FCC请求消息,所述第二FCC请求消息包括FCC参数,所述FCC参数包括所述目标FCC服务器的目标FCC服务器标识;和第三发送单元,用于根据所述FCC参数向所述用户设备发送目标频道的单播视频流。An embodiment of the present disclosure 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 an FCC parameter, and the FCC parameter includes A target FCC server identifier of the target FCC server; and a third sending unit, configured to send a unicast video stream of a target channel to the user equipment according to the FCC parameters.
本公开实施例提供一种网际互联协议电视IPTV系统,包括:如本公开实施例所述的快速频道切换FCC调度服务器;和如本公开实施例所述的目标快速频道切换FCC服务器。An embodiment of the present disclosure provides an IPTV system, including: the fast channel switching FCC scheduling server as described in the embodiment of the present disclosure; and the target fast channel switching FCC server as described in the embodiment of the present disclosure.
本公开实施例提供一种电子设备,该电子设备包括至少一个处理器和通信接口。该通信接口用于该电子设备与其他通信设备进行信息交互,当程序指令在该至少一个处理器中执行时,实现本公开实施例中任意一种可能的实现方式中的方法。An embodiment of the present disclosure provides an electronic device, where the electronic device includes at least one processor and a communication interface. The communication interface is used for information exchange between the electronic device and other communication devices, and when the program instructions are executed in the at least one processor, the method in any possible implementation manner in the embodiments of the present disclosure is implemented.
在一些实施例中,该电子设备还可以包括存储器。存储器用于存储程序和数据。In some embodiments, the electronic device may also include memory. Memory is used to store programs and data.
本公开实施例提供了一种计算机可读存储介质,其上存储有用于电子设备执行的计算机程序,所述程序被电子设备执行时实现本公开实施例中任意一种可能的实现方式中的方法。An embodiment of the present disclosure provides a computer-readable storage medium on which is stored a computer program for execution by an electronic device. When the program is executed by the electronic device, the method in any possible implementation manner of the embodiments of the present disclosure is implemented. .
例如,该计算机可读存储介质中可以存储用于快速频道切换FCC调度服务器执行的计算机程序,所述程序被处理器执行时实现如本公开实施例中快速频道切换FCC调度服务器所执行的所述的方法的操作。For example, the computer-readable storage medium may store a computer program executed by the FCC scheduling server for fast channel switching. method of operation.
例如,该计算机可读存储介质中可以存储用于用户设备执行的计算机程序,所述程序被处理器执行时实现如本公开实施例中用户设备所执行的所述的方法的操作。For example, the computer-readable storage medium may store a computer program for execution by the user equipment. When the program is executed by a processor, operations of the method as executed by the user equipment in the embodiments of the present disclosure are implemented.
例如,该计算机可读存储介质中可以存储用于目标快速频道切换FCC服务器执行的计算机程序,所述程序被处理器执行时实现如本公开实施例中目标快速频道切换FCC服务器所执行的所述的方法的操作。For example, the computer-readable storage medium may store a computer program for execution by the target fast channel switching FCC server. method of operation.
本公开实施例提供了一种包含指令的计算机程序产品。当该计算机程序产品在电子设备上运行时,使得电子设备执行本公开各方或本公开各方中任意一种可能的实现方式中的方法的操作。Embodiments of the present disclosure provide a computer program product comprising instructions. When the computer program product is run on the electronic device, the electronic device is made to execute the operations of the methods in the various aspects of the present disclosure or any possible implementation manners of the various aspects of the present disclosure.
例如,该计算机程序产品在FCC调度服务器上执行时,使得FCC调度服务器执行本公开各实施例中任意一种可能的实现方式中的方法的操作。For example, when the computer program product is executed on the FCC dispatching server, the FCC dispatching server is enabled to execute the operations of the methods in any possible implementation manners in the various embodiments of the present disclosure.
例如,该计算机程序产品在用户设备上执行时,使得用户设备执行本公开各实施 例中任意一种可能的实现方式中的方法的操作。For example, when the computer program product is executed on the user equipment, the user equipment is made to perform the operations of the methods in any possible implementation manners in the various embodiments of the present disclosure.
例如,该计算机程序产品在目标FCC服务器上执行时,使得目标FCC服务器执行本公开各实施例中任意一种可能的实现方式中的方法的操作。For example, when the computer program product is executed on the target FCC server, the target FCC server is made to execute the operations of the methods in any possible implementation manners in the various embodiments of the present disclosure.
本公开实施例提供了一种系统芯片,该系统芯片包括输入输出接口和至少一个处理器,该至少一个处理器用于调用存储器中的指令,以进行上述各方中任意一种可能的实现方式中的方法的操作。An embodiment of the present disclosure provides a system chip, the system chip includes an input and output interface and at least one processor, and the at least one processor is used to call instructions in the memory to perform any one of the above-mentioned possible implementations. method of operation.
在一些实施例中,该系统芯片还可以包括至少一个存储器和总线,该至少一个存储器用于存储处理器执行的指令。In some embodiments, the system chip may further include at least one memory and a bus, and the at least one memory is used to store instructions executed by the processor.
附图说明Description of drawings
图1示意性示出了相关技术中采用的IPTV FCC方案的示意图。Fig. 1 schematically shows a schematic diagram of the IPTV FCC scheme adopted in the related art.
图2示意性示出了根据本公开的一些实施例的视频播放方法的流程图。Fig. 2 schematically shows a flowchart of a video playing method according to some embodiments of the present disclosure.
图3示意性示出了根据本公开的一些实施例的FCC方案的示意图。Fig. 3 schematically shows a schematic diagram of an FCC scheme according to some embodiments of the present disclosure.
图4示意性示出了根据本公开的一些实施例的组播HTTP ALT-SVC服务器的功能模块的示意图。Fig. 4 schematically shows a schematic diagram of functional modules of a multicast HTTP ALT-SVC server according to some embodiments of the present disclosure.
图5示意性示出了根据本公开的一些实施例的FCC服务器的示意图。Fig. 5 schematically shows a schematic diagram of an FCC server according to some embodiments of the present disclosure.
图6示意性示出了根据本公开的一些实施例的新进入频道FCC业务的流程图。Fig. 6 schematically shows a flow chart of new incoming channel FCC traffic according to some embodiments of the present disclosure.
图7示意性示出了根据本公开的另一些实施例的视频播放方法的流程图。Fig. 7 schematically shows a flowchart of a video playing method according to some other embodiments of the present disclosure.
图8示意性示出了根据本公开的又一些实施例的视频播放方法的流程图。Fig. 8 schematically shows a flowchart of a video playing method according to some other embodiments of the present disclosure.
图9示意性示出了根据本公开的一些实施例的电子设备的示意性框图。Fig. 9 schematically shows a schematic block diagram of an electronic device according to some embodiments of the present disclosure.
具体实施方式Detailed ways
现在将参考附图更全面地描述示例实施方式。然而,示例实施方式能够以多种形式实施,且不应被理解为限于在此阐述的范例;相反,提供这些实施方式使得本公开将更加全面和完整,并将示例实施方式的构思全面地传达给本领域的技术人员。Example embodiments will now be described more fully with reference to the accompanying drawings. Example embodiments may, however, be embodied in many 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.
在本公开的描述中,除非另有说明,“/”表示“或”的意思,例如,A/B可以表示A或B。本文中的“和/或”仅仅是一种描述关联对象的关联关系,表示可以存在三种关系,例如,A和/或B,可以表示:单独存在A,同时存在A和B,单独存在B这三种情况。此外,“至少一个”是指一个或多个,“多个”是指两个或两个以上。“第一”、“第二”等字样并不对数量和执行次序进行限定,并且“第一”、“第二”等 字样也并不限定一定不同。In the description of the present disclosure, unless otherwise specified, "/" means "or", for example, A/B may mean A or B. The "and/or" in this article is just an association relationship describing associated objects, which means that there can be three relationships, for example, A and/or B, which can mean: A exists alone, A and B exist at the same time, and B exists alone These three situations. In addition, "at least one" means one or more, and "plurality" means two or more. Words such as "first" and "second" do not limit the number and order of execution, and words such as "first" and "second" do not necessarily limit the difference.
如图1所示,相关技术中的FCC方案因为使用RTSP(Real Time Streaming Protocol,实时流传输协议),需要建立长连接,比较耗时,因此建立链接时间较长,因此只能采用固定配置的FCC参数。例如,该固定配置的FCC参数指定了组播FCC服务器,组播客户端(也可以称为直播客户端)只能使用提前配置的FCC参数向指定的组播FCC服务器(也可简称为FCC服务器)发起基于RTSP协议的FCC请求。如果该指定的FCC服务器发生故障,则会导致服务中断;或者该指定的FCC服务器负载过高,也会导致用户体验不佳。As shown in Figure 1, because the FCC solution in the related technology uses RTSP (Real Time Streaming Protocol, real-time streaming protocol), it needs to establish a long connection, which is time-consuming, so it takes a long time to establish a connection, so it can only use a fixed configuration FCC parameters. For example, the fixedly configured FCC parameters specify the multicast FCC server, and the multicast client (also referred to as the live broadcast client) can only use the pre-configured FCC parameters to send the specified multicast FCC server (also referred to as the FCC server for short). ) initiates an FCC request based on the RTSP protocol. If the designated FCC server fails, the service will be interrupted; or the designated FCC server is overloaded, which will also lead to poor user experience.
同时,图1所示的方案中,频道FCC与组播需提前绑定。只能使用固定的FCC参数来实现从FCC服务器接收到的单播流与从视频组播源服务器接收到的组播流之间的同步,同步复杂而且不灵活。Meanwhile, in the scheme shown in FIG. 1 , the channel FCC and the multicast need to be bound in advance. Only fixed FCC parameters can be used to realize the synchronization between the unicast stream received from the FCC server and the multicast stream received from the video multicast source server, and the synchronization is complex and inflexible.
例如,如图1的FCC方案,视频客户端(即组播客户端,安装于用户设备上)在新进入或切换组播频道前,根据视频客户端提前固定配置的FCC参数(机顶盒开机时下发),向FCC服务器发起RTSP FCC请求,同时加入所请求切换的目标频道的组播组接收该目标频道的组播流;FCC服务器根据指定速率发送FCC单播流。FCC客户端(即组播客户端)根据接收到的FCC单播流的RTP(Real-time Transport Protocol,实时传输协议)报文顺序号和接收到的组播流的RTP报文顺序号进行同步。当两者的RTP报文顺序号同步时,则FCC客户端中断与FCC服务器的连接,并仅接收目标频道的组播流。For example, in the FCC scheme shown in Figure 1, before the video client (i.e., the multicast client installed on the user equipment) newly enters or switches the multicast channel, according to the FCC parameters fixedly configured in advance by the video client (issued when the set-top box is powered on), ), initiate an RTSP FCC request to the FCC server, and join the multicast group of the target channel to receive the multicast stream of the target channel at the same time; the FCC server sends the FCC unicast stream according to the specified rate. The FCC client (that is, the multicast client) synchronizes the sequence number of the RTP (Real-time Transport Protocol, Real-time Transport Protocol) message of the received FCC unicast stream and the sequence number of the RTP message of the received multicast stream . When the sequence numbers of the two RTP packets are synchronized, the FCC client ends the connection with the FCC server, and only receives the multicast stream of the target channel.
由此可见,相关技术中的方案由于使用固定配置,难以满足不同终端、不同网络对FCC的要求。同时,相关技术中的方案的同步方法也依赖指定视频流(如RTP),现网应用存在互通及性能问题。It can be seen that, because the solution in the related art uses a fixed configuration, it is difficult to meet the requirements of different terminals and different networks for the FCC. At the same time, the synchronization method of the solution in the related art also relies on a specified video stream (such as RTP), and there are intercommunication and performance problems in existing network applications.
本公开实施例提供一种视频播放方法、快速频道切换FCC调度服务器、用户设备、目标快速频道切换FCC服务器及计算机可读存储介质,能够至少部分解决上述相关技术中存在的技术问题。Embodiments of the present disclosure provide a video playing method, a fast channel switching FCC scheduling server, 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 above-mentioned related technologies.
图2实施例中提供的方法,可以由快速频道切换FCC调度服务器执行,但本公开并不限定于此。FCC调度服务器可以是一个单一的独立的服务器,也可以是一个服务器集群,还可以是云端服务器。FCC调度服务器也可以与FCC服务器处于同一物理服务器中,本公开对此不做限定。The method provided in the embodiment of FIG. 2 may be executed by the fast channel switching FCC scheduling server, but the disclosure is not limited thereto. The FCC scheduling server can be a single independent server, a server cluster, or a cloud server. The FCC scheduling server and the FCC server may also be located in the same physical server, which is not limited in the present disclosure.
如图2所示,本公开实施例提供的方法可以包括如下步骤。As shown in FIG. 2 , the method provided by the embodiment of the present disclosure may include the following steps.
在步骤S210中,接收用户设备发送的第一FCC请求消息,所述第一FCC请求消息包括目标频道的频道标识(channel ID(identity,标识))。In step S210, a first FCC request message sent by the user equipment is received, and the first FCC request message includes a channel ID (channel ID (identity, identification)) of the target channel.
本公开一些实施例中,目标频道即用户所选择的准备切换到的频道,例如用户通过操作遥控器所选择的频道,其可以是可选的频道中的任意一个频道。In some embodiments of the present disclosure, the target channel is the channel selected by the user to be switched to, for example, the channel selected by the user by operating the remote control, which may be any one of the selectable channels.
在一些实施例中,所述第一FCC请求消息基于快速用户数据包协议网络连接QUIC传输层协议传输。In some embodiments, the first FCC request message is transmitted based on the QUIC transport layer protocol.
在一些实施例中,接收用户设备发送的第一FCC请求消息可以包括:接收所述用户设备基于超文本传输协议HTTP(Hyper Text Transfer Protocol)3.0应用层协议发送的第一FCC请求报文,所述第一FCC请求报文可以包括HTTP报文头和所述第一FCC请求消息。In some embodiments, receiving the first FCC request message sent by the user equipment may include: receiving the first FCC request message sent by the user equipment based on the hypertext transfer protocol HTTP (Hyper Text Transfer Protocol) 3.0 application layer protocol, the The first FCC request message may include an HTTP message header and the first FCC request message.
使用UDP(User Datagram Protocol,用户数据包协议)的HTTP3.0又称为HTTP Over QUIC(Quick UDP Internet Connection,快速UDP网络连接),其弃用TCP(Transmission Control Protocol,传输控制协议),改为使用基于UDP的QUIC协议来实现。由于其具备低延时特性,HTTP3.0具有在互联网进行规模应用的能力。HTTP3.0 using UDP (User Datagram Protocol, User Datagram Protocol), also known as HTTP Over QUIC (Quick UDP Internet Connection, fast UDP network connection), which abandons TCP (Transmission Control Protocol, Transmission Control Protocol), changed to It is implemented using the UDP-based QUIC protocol. Due to its low-latency characteristics, HTTP3.0 has the ability to be applied on a large scale on the Internet.
本公开一些实施例提出了使用HTTP3.0的ALT-SVC(alternative-Service,可以简写为ALT-SVC,也可称之为备选服务或替代服务)替换服务进行调度的方法,并定义了新的同步方法。但本公开并不限定于此。本公开一些实施例提供的方案可以适用于任意能够快速建立连接、具有低时延特性的服务协议,也可以是自定义的协议,本公开对此不做限定。下面的实施例中,均以采用HTTP3.0进行举例说明,此时FCC调度服务器也可以称之为组播HTTP ALT-SVC服务器(如图3所示)。Some embodiments of the present disclosure propose a method for scheduling using HTTP3.0's ALT-SVC (alternative-Service, which can be abbreviated as ALT-SVC, which can also be referred to as an alternative service or an alternative service), and defines a new synchronization method. However, the present disclosure is not limited thereto. The solution provided by some embodiments of the present disclosure may be applicable to any service protocol capable of quickly establishing a connection and having low-latency characteristics, or may be a self-defined protocol, which is not limited in the present disclosure. In the following embodiments, all use HTTP3.0 as an example for illustration. At this time, the FCC scheduling server can also be called a multicast HTTP ALT-SVC server (as shown in FIG. 3 ).
在步骤S220中,响应所述第一FCC请求消息,生成FCC参数,所述FCC参数包括目标FCC服务器标识。In step S220, FCC parameters are generated in response to the first FCC request message, and the FCC parameters include a target FCC server identifier.
在一些实施例中,所述FCC参数还可以包括目标频道的组播地址、目的显示时间标签PTS(Presentation Time Stamp,用于表明显示单元出现在系统目标解码器的时间,为解码器规定某个单元的显示时间)以及目标同步码(Synchronization Code)等中的至少一项。In some embodiments, the FCC parameters may also include the multicast address of the target channel, the purpose display time label PTS (Presentation Time Stamp, used to indicate the time when the display unit appears in the system target decoder, and specify a certain value for the decoder. The display time of the unit) and at least one of the target synchronization code (Synchronization Code).
在一些实施例中,所述HTTP报文头可以包括用户设备类型信息。In some embodiments, the HTTP packet header may include user equipment type information.
在一些实施例中,所述FCC参数还可以包括目的PTS。在这些实施例中,响应所述第一FCC请求消息,生成FCC参数可以包括:根据所述用户设备类型信息确定提前播放时间;根据所述提前播放时间确定所述目的PTS。In some embodiments, the FCC parameter may also include a target PTS. In these embodiments, in response to the first FCC request message, generating the FCC parameters may include: determining an advance play time according to the user equipment type information; determining the target PTS according to the advance play time.
在一些实施例中,根据所述提前播放时间确定所述目的PTS可以包括:根据所述目标频道的频道标识获得所述目标频道的目标同步码对应的PTS;根据所述提前播放时间和所述目标同步码对应的PTS确定所述目的PTS。In some embodiments, determining the target PTS according to the advance play time may include: obtaining the PTS corresponding to the target synchronization code of the target channel according to the channel identifier of the target channel; The PTS corresponding to the target synchronization code determines the target PTS.
在一些实施例中,响应所述第一FCC请求消息,生成FCC参数可以包括:选择生成时间距离当前时间最近的同步码作为所述目标同步码。In some embodiments, in response to the first FCC request message, generating the FCC parameters may include: selecting a synchronization code whose generation time is closest to the current time as the target synchronization code.
在一些实施例中,响应所述第一FCC请求消息,生成FCC参数可以包括:获取多个FCC服务器中每个FCC服务器的状态信息;基于所述多个FCC服务器中每个FCC服务器的状态信息,从所述多个FCC服务器中确定所述目标FCC服务器。In some embodiments, in response to the first FCC request message, generating the FCC parameters may include: obtaining status information of each FCC server among the plurality of FCC servers; based on the status information of each FCC server among the plurality of FCC servers , determining the target FCC server from the plurality of FCC servers.
本公开一些实施例中,FCC调度服务器可以实时监测各个FCC服务器的健康状态,并接收各个FCC服务器上报的状态信息。各个FCC服务器上报的状态信息可以包括各个FCC服务器所处的地理位置、负载、并发数、是否发生故障等信息中的任意一种或者多种。第一FCC请求报文中还可以携带该用户设备的地理位置,FCC调度服务器可以根据该用户设备的地理位置和各个FCC服务器所处的地理位置,选择距离该用户设备最近的FCC服务器作为目标FCC服务器。若距离该用户设备最近的FCC服务器的健康状态不佳(例如,负载较高、并发数较多、或者发生了故障等情况),则FCC调度服务器可以为该用户设备选择其它健康状态较佳的FCC服务器作为目标FCC服务器。可以将目标FCC服务器的IP地址作为目标FCC服务器标识,但本公开并不限定于此。在一些其它实施例中,只要是能够将目标FCC服务器与其它FCC服务器唯一区别开来的任意标识均可。In some embodiments of the present disclosure, the FCC scheduling server can monitor the health status of each FCC server in real time, and receive status information reported by each FCC server. The status information reported by each FCC server may include any one or more of information such as the geographic location, load, concurrent number, and failure 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 the FCC server closest to the user equipment as the target FCC according to the geographic location of the user equipment and the geographic locations of each FCC server. server. If the health status of the FCC server closest to the user equipment is not good (for example, the load is high, the number of concurrency is high, or a fault occurs), the FCC scheduling server can select other servers with better health status for the user equipment. The FCC server acts as the target FCC server. The IP address of the target FCC server may be used as the target FCC server identifier, but the disclosure is not limited thereto. In some other embodiments, any identifier can be used as long as it can uniquely distinguish the target FCC server from other FCC servers.
本公开一些实施例提供的方法中,FCC调度服务器可以通过监测FCC服务器的健康状态,选择距离用户设备较近且未发生故障、负载不是太高的FCC服务器作为目标FCC服务器。In the method provided by some embodiments of the present disclosure, the FCC scheduling server may monitor the health status of the FCC server, and select an FCC server that is close to the user equipment, has no failure, and is not too heavily loaded as the target FCC server.
在一些实施例中,该方法还可以包括:从所述视频组播源服务器接收各个频道的组播视频流;和基于接收到的各个频道的组播视频流,生成各个频道的同步码及其对应的PTS。In some embodiments, the method may further include: receiving the multicast video stream of each channel from the video multicast source server; and generating the synchronization code and its Corresponding PTS.
本公开一些实施例中,当用户设备基于HTTP3.0生成第一FCC请求消息时,用户设备可以对第一FCC请求消息进行封装,例如,封装成第一FCC请求报文。此外,用户设备也可以在该第一FCC请求报文的HTTP报文头中携带该用户设备的用户设备类型信息,该用户设备类型信息可以是与该用户设备的性能相关的任意信息,例如该用户设备所属的生产厂商、产品型号等信息。FCC调度服务器可以根据该用户设备 类型信息确定该用户设备的性能(例如,该用户设备的缓存大小),并且根据该用户设备的性能可以确定目标频道的提前播放时间。例如,该用户设备的缓存大小越大,则FCC调度服务器设置的提前播放时间越大;该用户设备的缓存大小越小,则FCC调度服务器设置的提前播放时间越小。可以预先设置提前播放时间的选择范围,例如5秒至10秒之间,并在该选择范围内根据用户设备的性能,选择相应的提前播放时间,以用来确定目的PTS。In some embodiments of the present disclosure, when the user equipment generates the first FCC request message based on HTTP3.0, the user equipment may encapsulate the first FCC request message, for example, encapsulate it into a first FCC request message. In addition, the user equipment may also carry the user equipment type information of the user equipment in the HTTP header of the first FCC request message, and the user equipment type information may be any information related to the performance of the user equipment, for example, the Information such as the manufacturer and product model to which the user equipment belongs. The FCC scheduling server can determine the performance of the user equipment (for example, the buffer size of the user equipment) according to the user equipment type information, and can determine the advance broadcast time of the target channel according to the performance of the user equipment. For example, the larger the buffer size of the user equipment, the larger the play-in-advance time set by the FCC scheduling server; the smaller the cache size of the user equipment, the smaller the play-in-advance time set by the FCC scheduling server. The selection range of the advance playback time may be preset, for example, between 5 seconds and 10 seconds, and within the selection range, the corresponding advance playback time may be selected according to the performance of the user equipment to determine the target PTS.
例如,FCC调度服务器根据当前时间,选择距离当前时间最近的同步码,即FCC调度服务器中最新生成的同步码作为目标同步码,并将该目标同步码对应记录的PTS作为目标PTS。假设目标PTS为2021年12月16日上午10点,并假设FCC调度服务器根据用户设备类型信息确定提前播放时间为5秒,即确定在该目标PTS之前5秒开始向用户设备发送目标频道的单播视频流(也可称之为单播流),那么对应确定的目的PTS为2021年12月16日上午9点59分55秒。即目的PTS可以等于目标PTS减去提前播放时间。目标FCC服务器可以根据该目的PTS找到目标频道的视频文件的文件起始位置,并从该文件起始位置向该用户设备发送该目标频道的单播流。For example, the FCC scheduling server selects the synchronization code closest to the current time according to the current time, that is, the latest synchronization code generated in the FCC scheduling server as the target synchronization code, and uses the PTS recorded corresponding to the target synchronization code as the target PTS. Assume that the target PTS is 10:00 am on December 16, 2021, and the FCC scheduling server determines that the broadcast time in advance is 5 seconds according to the user equipment type information, that is, it determines that the single broadcast of the target channel starts to be sent to the user equipment 5 seconds before the target PTS. If the video stream is broadcast (also called unicast stream), then the corresponding determined target PTS is 9:59:55 AM on December 16, 2021. That is, the target PTS may be equal to the target PTS minus the advance play time. The target FCC server can find the file start position of the video file of the target channel according to the target PTS, and send the unicast stream of the target channel to the user equipment from the file start position.
本公开一些实施例提供的方法,可以根据用户设备类型信息改变FCC参数,例如改变FCC参数中的目的PTS,从而能够更好的适配用户设备的性能。The method provided by some embodiments of the present disclosure can change the FCC parameters according to the user equipment type information, for example, change the target PTS in the FCC parameters, so as to better adapt the performance of the user equipment.
在步骤S230中,将所述FCC参数返回至所述用户设备。In step S230, the FCC parameter is returned to the user equipment.
在一些实施例中,所述用户设备可以用于向所述目标FCC服务器标识对应的目标FCC服务器发送第二FCC请求消息,所述第二FCC请求消息可以包括所述FCC参数;并根据所述FCC参数请求加入目标频道的组播组,以从视频组播源服务器接收所述目标频道的组播视频流。In some embodiments, 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 may include the FCC parameters; and according to the The FCC parameter requests to join the multicast group of the target channel, so as to receive the multicast video stream of the target channel from the video multicast source server.
在一些实施例中,所述目标FCC服务器可以用于根据所述FCC参数向所述用户设备发送所述目标频道的单播视频流。In some embodiments, the target FCC server may be configured to send the unicast video stream of the target channel to the user equipment according to the FCC parameter.
在一些实施例中,将所述FCC参数返回至所述用户设备可以包括:向所述用户设备返回包括所述FCC参数的HTTP3.0重定向消息,所述HTTP3.0重定向消息包括HTTP3.0响应码302、位置字段和替换服务字段。In some embodiments, returning the FCC parameters to the user equipment may include: returning an HTTP3.0 redirection message including the FCC parameters to the user equipment, the HTTP3.0 redirection message including HTTP3. 0 response code 302, location field, and alternate service field.
在一些实施例中,所述FCC参数还可以包括所述目标频道的组播地址、目的PTS、目标同步码、快发速率和等待时间。In some embodiments, the FCC parameters may also include the multicast address of the target channel, target PTS, target synchronization code, fast transmission rate and waiting time.
在一些实施例中,所述位置字段可以包括目标FCC服务器的IP地址,并且所述目标FCC服务器标识包括所述目标FCC服务器的IP地址。In some embodiments, the location field may include an IP address of a target FCC server, and the target FCC server identification includes the IP address of the target FCC server.
在一些实施例中,所述替换服务字段可以包括所述目标频道的组播地址、所述目的PTS、所述目标同步码、快发速率(FastRate)和等待时间(WaitingTime)。In some embodiments, the replacement service field may include the multicast address of the target channel, the target PTS, the target synchronization code, fast rate (FastRate) and waiting time (WaitingTime).
所述快发速率可以用于指示所述目标FCC服务器向所述用户设备发送所述目标频道的单播视频流的速率。The fast sending rate may be used to indicate the rate at which the target FCC server sends the unicast video stream of the target channel to the user equipment.
所述等待时间可以用于指示所述用户设备等待所述等待时间之后请求加入所述目标频道的组播组。The waiting time may be used to instruct the user equipment to request to join the multicast group of the target channel after waiting for the waiting time.
下面结合图3至图6对本公开一些实施例提供的方法进行举例说明,但本公开并不限定于此。The methods provided by some embodiments of the present disclosure are illustrated below with reference to FIG. 3 to FIG. 6 , but the present disclosure is not limited thereto.
图3至图6以基于HTTP替换服务的组播快速频道切换方法进行举例说明,可以应用于网络技术领域中的视频传输分发技术领域。Fig. 3 to Fig. 6 exemplify the multicast fast channel switching method based on the HTTP replacement service, which can be applied to the technical field of video transmission and distribution in the field of network technology.
本公开一些实施例提供的方法,一方面,可根据终端(即用户设备)及网络实际情况,实时变化FCC参数。例如,可根据终端的缓存大小不同为终端确定不同的提前播放时间,从而可以返回不同的目的PTS,并且还可以根据多个FCC服务器的负载返回合适的目标FCC服务器的IP地址。The method provided by some embodiments of the present disclosure, on the one hand, can change the FCC parameter in real time according to the actual situation of the terminal (that is, the user equipment) and the network. For example, different advance play times can be determined for the terminal according to the cache size of the terminal, so that different target PTSs can be returned, and the IP address of the appropriate target FCC server can also be returned according to the load of multiple FCC servers.
另一方面,本公开一些实施例提供的方法同步简单,可以适用于更多应用场景。On the other hand, the method provided by some embodiments of the present disclosure is simple and applicable to more application scenarios.
如图3所示,IPTV系统可以包括安装于用户设备上的组播客户端、组播FCC服务器、组播HTTP ALT-SVC服务器以及视频组播源服务器。组播客户端、组播FCC服务器、组播HTTP ALT-SVC服务器以及视频组播源服务器之间可以通过IP网实现通信。As shown in Figure 3, the IPTV system may include a multicast client, a multicast FCC server, a multicast HTTP ALT-SVC server and a video multicast source server installed on user equipment. Communication between multicast client, multicast FCC server, multicast HTTP ALT-SVC server and video multicast source server can be realized through IP network.
图3中的组播FCC服务器即上述的FCC服务器,其可以实时地从视频组播源服务器接收各个频道的组播流,并生成每个频道的组播流的同步码及其对应的PTS。同时,组播FCC服务器可以将最新的预定时长(可以根据实际需要设置,本公开对此不做限定)内的各个频道的组播流按时间顺序存储起来。组播HTTP ALT-SVC服务器也可以实时地不断地从视频组播源服务器接收每个频道的组播流,并生成每个频道的组播流的同步码及其对应的PTS。与组播FCC服务器不同的是,组播HTTP ALT-SVC服务器可以不存储接收到的各个频道的组播流,而只存储所生成的同步码及其对应的PTS。组播FCC服务器和组播HTTP ALT-SVC服务器均可以为每个频道分别建立一个频道索引,以用于唯一标识每个频道,并且,该频道索引也可直接采用每个频道的频道标识。The multicast FCC server in FIG. 3 is the above-mentioned FCC server, which can 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 its corresponding PTS. At the same time, the multicast FCC server can store the multicast streams of each channel in the latest predetermined time period (which can be set according to actual needs, which is not limited in the present disclosure) in time order. The multicast HTTP ALT-SVC server can 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 its corresponding PTS. Different from the multicast FCC server, the multicast HTTP ALT-SVC server may not store the received multicast stream of each channel, but only store the generated synchronization code and its corresponding PTS. Both the multicast FCC server and the multicast HTTP ALT-SVC server can establish a channel index for each channel to uniquely identify each channel, and the channel index can also directly use the channel identifier of each channel.
继续参考图3,当组播客户端基于HTTP3.0向组播HTTP ALT-SVC服务器发送 第一FCC请求消息时,组播HTTP ALT-SVC服务器可以响应该第一FCC请求消息,向该组播客户端返回基于HTTP3.0的ALT-SVC消息,该ALT-SVC消息中包括ALT-SVC字段。该ALT-SVC字段中包括FCC参数的至少一部分。Continue to refer to Fig. 3, when the multicast client sends the first FCC request message to the multicast HTTP ALT-SVC server based on HTTP3.0, the multicast HTTP ALT-SVC server can respond to this first FCC request message, to the multicast The client returns an ALT-SVC message based on HTTP3.0, and the ALT-SVC message includes an ALT-SVC field. The ALT-SVC field includes at least a part of the FCC parameters.
如图3所示,组播HTTP ALT-SVC服务器返回给组播客户端的FCC参数还可以包括目标FCC服务器的IP地址。组播客户端根据该目标FCC服务器的IP地址,可以向目标FCC服务器(即图3中的组播FCC服务器)发送基于HTTP3.0的FCC请求,称之为第二FCC请求消息。As shown in Figure 3, the FCC parameter returned by the multicast HTTP ALT-SVC server to the multicast client may also include the IP address of the target FCC server. According to the IP address of the target FCC server, the multicast client can send an HTTP3.0-based FCC request to the target FCC server (ie, the multicast FCC server in FIG. 3 ), which is called the second FCC request message.
图3中的组播FCC服务器接收到该基于HTTP3.0的FCC请求之后,可以向该组播客户端发送目标频道的单播流。由于其是基于HTTP3.0的,因此,目标频道的单播流也可以称之为QUIC单播流。After the multicast FCC server in FIG. 3 receives the HTTP3.0-based FCC request, it can send the unicast stream of the target channel to the multicast client. Since it is based on HTTP3.0, the unicast stream of the target channel can also be called QUIC unicast stream.
图4示出了本公开一些实施例设计的组播HTTP ALT-SVC服务器(即图6中的FCC ALT-SVC调度服务器)的功能模块的示意图。如图4所示,组播HTTP ALT-SVC服务器可以包括FCC同步码生成与存储模块、FCC服务器与网络状态监测模块、调度参数生成模块以及HTTP3.0服务模块。FIG. 4 shows a schematic diagram of the functional modules of the multicast HTTP ALT-SVC server (that is, the FCC ALT-SVC scheduling server in FIG. 6 ) designed by some embodiments of the present disclosure. As shown in Figure 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.0 service module.
图4中的ALT-SVC FCC调度信令即图3中的HTTP3.0ALT-SVC消息,即图6中FCC ALT-SVC调度服务器返回给组播客户端的HTTP3.0 302响应。HTTP3.0 302响应携带的ALT-SVC就是生成的调度参数,也称之为FCC参数。The ALT-SVC FCC scheduling signaling in Figure 4 is the HTTP3.0 ALT-SVC message in Figure 3, which is the HTTP3.0 302 response returned by the FCC ALT-SVC scheduling server to the multicast client in Figure 6. The ALT-SVC carried in the HTTP3.0 302 response is the generated scheduling parameter, also known as the FCC parameter.
本公开一些实施例使用HTTP3.0作为服务协议。图4中的HTTP3.0服务模块是指提供HTTP3.0服务的HTTP3.0服务模块,负责响应组播客户端以HTTP3.0发送的FCC请求(即第一FCC请求消息)。由于HTTP3.0是基于UDP的,所以速度更快。同时,HTTP3.0有ALT-SVC字段,本公开一些实施例可以将生成的至少部分调度参数写入该ALT-SVC字段。Some embodiments of the present disclosure use HTTP3.0 as the service protocol. The HTTP3.0 service module in FIG. 4 refers to the HTTP3.0 service module that provides HTTP3.0 services, and is responsible for responding to the FCC request sent by the multicast client in HTTP3.0 (ie, the first FCC request message). Since HTTP3.0 is based on UDP, it is faster. Meanwhile, HTTP3.0 has an ALT-SVC field, and some embodiments of the present disclosure may write at least part of the generated scheduling parameters into the ALT-SVC field.
组播HTTP ALT-SVC服务器的FCC同步码生成与存储模块,可以用于从实时接收到的各个频道的组播流中,对比I帧起始帧(如AVS(Audio Video coding Standard,信源编码标准)编码I帧起始码为0x000001B3),把接下来的32位字节作为同步码,记录相应的PTS,并生成如下格式的同步码索引SN(serial number,也可称之为序列号):The FCC synchronization code generation and storage module of the multicast HTTP ALT-SVC server can be used to compare the I frame start frame (such as AVS (Audio Video coding Standard, source coding standard) from the multicast stream of each channel received in real time Standard) encoding I frame start code is 0x000001B3), the next 32 bytes are used as the synchronization code, record the corresponding PTS, and generate the synchronization code index SN (serial number, also known as the serial number) in the following format :
SN|PTS|Synchronization Code;SN|PTS|Synchronization Code;
同步码索引SN是组播HTTP ALT-SVC服务器自行按顺序生成的。例如对应任意一个频道而言,当接收到该频道的第一个I帧时,将第一个I帧作为第一个同步码, 对应的SN为“1”,并记录第一个I帧的时间戳作为对应的PTS。同步码索引SN可以在内部管理、统计时使用。目的PTS用于确定组播客户端所需的目标频道的单播流的起始时间,或者是文件起始位置,或者起始位。组播HTTP ALT-SVC服务器和组播FCC服务器均会生成同步码。在后续的第二FCC请求消息阶段,组播FCC服务器根据同步码中的目标同步码可以确定所发送的目标频道的单播视频流的文件结束位置,或者结束时间。The synchronization code index SN is generated by the multicast HTTP ALT-SVC server in sequence. For example, for any channel, when the first I frame of the channel is received, the first I frame is used as the first synchronization code, the corresponding SN is "1", and the first I frame is recorded Timestamp as the corresponding PTS. The synchronization code index SN can be used for internal management and statistics. The destination PTS is used to determine the start time of the unicast stream of the target channel required by the multicast client, or the start position of the file, or the start bit. Both the multicast HTTP ALT-SVC server and the multicast FCC server will generate synchronization codes. In the subsequent stage of the second FCC request message, the multicast FCC server can determine the file end position or end time of the sent unicast video stream of the target channel according to the target synchronization code in the synchronization code.
组播HTTP ALT-SVC服务器的FCC服务器与网络状态监测模块可以用于探测及收集FCC服务器及网络设备的负载、并发数等状态信息,并为调度提供基础信息,例如根据FCC服务器的状态信息确定所调度的目标FCC服务器。The FCC server and network status monitoring module of the multicast HTTP ALT-SVC server can be used to detect and collect status information such as the load and concurrent numbers of the FCC server and network equipment, and provide basic information for scheduling, such as determining the status information based on the status information of the FCC server The scheduled target FCC server.
组播HTTP ALT-SVC服务器的调度参数生成模块可以用于根据从组播客户端所接收到的第一FCC请求消息,实时生成相应的调度参数。调度参数即FCC应答消息中携带的FCC参数。The scheduling parameter generation module of the multicast HTTP ALT-SVC server can be used to generate corresponding scheduling parameters 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.
图5为本公开一些实施例设计的FCC服务器的功能模块的示意图。目标FCC服务器可以是任意一个FCC服务器。如图5所示,FCC服务器可以包括FCC同步码生成与存储模块、服务器与网络状态上报模块、视频流存储模块以及HTTP3.0服务模块。Fig. 5 is a schematic diagram of functional modules of an FCC server designed in some embodiments of the present disclosure. The target FCC server may be any FCC server. As shown in Figure 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.0 service module.
FCC服务器的视频流存储模块可以用于按时间顺序存储所接收到的各个频道的组播流。The video stream storage module of the FCC server may be used to store the received multicast streams of each channel in time sequence.
FCC服务器的FCC同步码生成与存储模块可以用于实时接收视频组播源服务器发送的每个频道的组播流,从每个频道的组播流中对比I帧起始帧,把接下来的32位字节作为同步码,记录相应PTS,并生成同步码索引SN。进一步地,为便于HTTP3.0服务模块从视频流模块读取所存储的视频文件,FCC同步码生成与存储模块还给每个同步码索引增加了对应的偏移量ByteRange参数,并生成如下格式的同步码索引SN:The FCC synchronization code generation and storage module of the FCC server can be used to receive the multicast stream of each channel sent by the video multicast source server in real time, compare the I frame start frame from the multicast stream of each channel, and convert the following The 32-bit byte is used as the synchronization code, records the corresponding PTS, and generates the synchronization code index SN. Furthermore, in order to facilitate the HTTP3.0 service module to read the stored video files from the video stream module, the FCC synchronization code generation and storage module also adds the corresponding offset ByteRange parameter to each synchronization code index, and generates the following format The synchronization code index SN:
SN|PTS|Synchronization Code|ByteRange;SN|PTS|Synchronization Code|ByteRange;
FCC服务器中的视频流存储模块是按时间顺序进行存储的,如每小时新生成一个视频文件,记录每个视频文件的时间戳。偏移量是在存储过程中,当出现了同步码后,视频流存储模块把该同步码在该视频文件相对于视频文件开始字节的字节距离/字节偏移量作为偏移量发送回FCC同步码生成与存储模块,由FCC同步码生成与存储模块进行同步码索引的记录。这样,当FCC服务器要往组播客户端发送单播流时,不再需要去视频文件中查找目标同步码,而是直接根据目标同步码的偏移量确定文件结束位置,以此可以提高性能。The video stream storage module in the FCC server is stored in chronological order, for example, a video file is newly generated every hour, and the time stamp of each video file is recorded. The offset is during the storage process. When the synchronization code appears, the video stream storage module sends the byte distance/byte offset of the synchronization code in the video file relative to the beginning byte of the video file as the offset. Back to the FCC synchronization code generation and storage module, the FCC synchronization code generation and storage module records the synchronization code index. In this way, when the FCC server wants to send a unicast stream to the multicast client, it no longer needs to search for the target synchronization code in the video file, but directly determines the end position of the file according to the offset of the target synchronization code, which can improve performance .
FCC服务器的服务器与网络状态上报模块可以用于向组播HTTP ALT-SVC服务器上报状态信息,例如FCC服务器的负载信息。The server and network status reporting module of the FCC server can be used to report status information to the multicast HTTP ALT-SVC server, such as load information of the FCC server.
FCC服务器的HTTP3.0服务模块可以用于根据接收到的组播客户端发送的第二FCC请求消息,解析其中的启动时间,查找目标偏移量来向组播客户端发送目标频道的单播视频流,直至目标同步码结束。这里的启动时间是指第二FCC请求消息中携带的目的PTS,由组播HTTP ALT-SVC服务器指定。The HTTP3.0 service module of the FCC server can be used to analyze the start time in the second FCC request message sent by the received multicast client, and find the target offset to send the unicast of the target channel to the multicast client Video streams until the end of the target sync code. The startup time here refers to the destination PTS carried in the second FCC request message, which is specified by the multicast HTTP ALT-SVC server.
如图6所示,示出了新进入频道FCC业务流程。As shown in FIG. 6 , the FCC service flow of the newly entered channel is shown.
如图6所示,组播客户端启动时即与FCC ALT-SVC调度服务器(即FCC调度服务器)建立链接(1-RTT(Round-Trip Time,往返时延))。这样在组播客户端基于HTTP3.0向FCC ALT-SVC调度服务器发送直播频道播放请求(即第一FCC请求消息)时,可使用0-RTT特性,减少时延。As shown in Figure 6, the multicast client establishes a link with the FCC ALT-SVC scheduling server (that is, the FCC scheduling server) when it starts (1-RTT (Round-Trip Time, round-trip time delay)). In this way, when the multicast client sends a live channel play request (that is, the first FCC request message) to the FCC ALT-SVC scheduling server based on HTTP3.0, the 0-RTT feature can be used to reduce the delay.
FCC ALT-SVC调度服务器接收组播客户端发送的直播频道播放请求(也可称之为客户端请求),根据该客户端请求生成调度参数。The FCC ALT-SVC scheduling server receives the live channel play request (also called client request) sent by the multicast client, and generates scheduling parameters according to the client request.
以上流程中,组播客户端和FCC ALT-SVC调度服务器的交互消息关键字段如下:In the above process, the key fields of the interaction message between the multicast client and the FCC ALT-SVC scheduling server are as follows:
FCC请求消息://即第一FCC请求消息FCC request message: // the first FCC request message
Get https://FCC ALT-SVC Hostname/channel ID//以目标频道的频道标识为请求参数,查询向哪个FCC服务器发请求,携带哪些参数Get https://FCC ALT-SVC Hostname/channel ID//Using the channel ID of the target channel as the request parameter, query which FCC server to send the request to and which parameters to carry
FCC应答消息(即图6中的HTTP3.0 302响应):FCC response message (ie HTTP3.0 302 response in Figure 6):
HTTP3.0响应码302//HTTP 302指重定向HTTP3.0 response code 302//HTTP 302 refers to redirection
Location:FCC Server IP//Location是标识位置字段,FCC Server IP是目标FCC服务器的IP地址Location: FCC Server IP //Location is the location field, and FCC Server IP is the IP address of the target FCC server
ALT-SVC:IGMP="Multicast Destination IP/?PTS=***&SynchronizationCode=***&FastRate=***&WaitingTime=***"ALT-SVC:IGMP="Multicast Destination IP/?PTS=***&SynchronizationCode=***&FastRate=***&WaitingTime=***"
HTTP3.0Body(可选)HTTP3.0Body (optional)
组播频道SDP信息(没作用,仅为了报文的完整性)Multicast channel SDP information (useless, only for the integrity of the message)
说明:illustrate:
IGMP是Internet Group Management Protocol的简写,即Internet组管理协议。IGMP is the abbreviation of Internet Group Management Protocol, that is, Internet Group Management Protocol.
Multicast Destination IP是目标频道的组播地址,通过该Multicast Destination IP通知组播客户端后续要加入的组播地址;还可以利用该Multicast Destination IP,通知目标FCC服务器,组播客户端要查询响应的是哪个目标频道。因为同一台FCC服 务器可同时存储多个频道中每个频道的组播视频流,以组播地址为各个频道的组播视频流的标志。The Multicast Destination IP is the multicast address of the target channel. The Multicast Destination IP is used to notify the multicast client of the multicast address to join in the future. The Multicast Destination IP can also be used to notify the target FCC server that the multicast client should query and respond. which target channel. Because the same FCC server can store the multicast video stream of each channel in multiple channels at the same time, the multicast address is used as the sign of the multicast video stream of each channel.
FCC应答消息的ALT-SVC字段中的PTS即上述的目的PTS,即启动时间,是指组播客户端播放目标频道的单播视频流的开始时间,可以相对目标PTS提前5~10秒。具体的提前播放时间可以由FCC ALT-SVC调度服务器根据用户设备类型信息指定。例如,用户设备类型信息假设包括终端型号,FCC ALT-SVC调度服务器根据终端型号确定终端性能。性能好,则确定提前播放时间为10秒;性能不好,则确定提前播放时间为5秒。The PTS in the ALT-SVC field of the FCC response message is the above-mentioned target PTS, that is, the start time, which refers to the start time for the multicast client to play the unicast video stream of the target channel, which can be 5 to 10 seconds earlier than the target PTS. The specific advance play time can be specified by the FCC ALT-SVC scheduling server according to the user equipment type information. For example, the user equipment type information is assumed to include the terminal model, and the FCC ALT-SVC scheduling server determines the terminal performance according to the terminal model. If the performance is good, it is determined that the playing time in advance is 10 seconds; if the performance is not good, the playing time in advance is determined to be 5 seconds.
本公开一些实施例中,FCC服务器(图6中的FCC服务器即目标FCC服务器)与FCC ALT-SVC调度服务器索引的PTS不一定完全一致。例如,FCC服务器与FCC ALT-SVC调度服务器的时钟不同步,导致同一同步码所记录的PTS不一致。此时,当FCC服务器接收到组播客户端发送的直播频道播放请求(即第二FCC请求消息),并根据该直播频道播放请求中携带的ATL-SVC字段中的PTS(即目的PTS)查找该目标频道下的多个PTS时,可能会出现找不到匹配的PTS的情况。此时,FCC服务器可以以目的PTS后的第一个PTS作为起始点,并将其确定为文件起始位置。这里的第一个PTS是指FCC服务器自身生成的同步码对应的PTS。In some embodiments of the present disclosure, the FCC server (the FCC server in FIG. 6 is the target FCC server) and the PTS indexed by the FCC ALT-SVC scheduling server are not necessarily completely consistent. For example, the clocks of the FCC server and the FCC ALT-SVC scheduling server are not synchronized, resulting in inconsistent PTSs recorded by the same synchronization code. At this time, when the FCC server receives the live channel play request (ie, the second FCC request message) sent by the multicast client, and searches for When there are multiple PTSs under the target channel, a matching PTS may not be found. At this time, the FCC server may use the first PTS after the target PTS as the starting point, and determine it as the starting position of the file. The first PTS here refers to the PTS corresponding to the synchronization code generated by the FCC server itself.
例如,假设目的PTS为2021年12月16日上午9点59分55秒,由于FCC服务器与FCC ALT-SVC调度服务器的时钟不同步,在FCC服务器生成的目标频道下的多个PTS中找不到这个时间,则FCC服务器可以将2021年12月16日上午9点59分55秒之后且距离2021年12月16日上午9点59分55秒最近的一个PTS作为启动时间,并从这里开始发送QUIC单播视频流。For example, assuming that the target PTS is 9:59:55 am on December 16, 2021, because the clocks of the FCC server and the FCC ALT-SVC scheduling server are not synchronized, the PTS cannot be found in the multiple PTSs under the target channel generated by the FCC server. At this time, the FCC server can use the PTS that is after 9:59:55 am on December 16, 2021 and the closest to 9:59:55 am on December 16, 2021 as the start time, and start from here Send a QUIC unicast video stream.
FCC应答消息的ALT-SVC字段中的SynchronizationCode即上述的目标同步码,目标同步码是结束发送QUIC单播视频流的标志。The SynchronizationCode in the ALT-SVC field of the FCC response message is the above-mentioned target synchronization code, and the target synchronization code is a sign that the sending of the QUIC unicast video stream ends.
FCC应答消息的ALT-SVC字段中的FastRate即快发速率,是指快发的倍数,即FCC服务器向组播客户端发送QUIC单播视频流的速率。快发速率可以根据实际需求进行设置,本公开不对其取值进行限定。快发速率可以由FCC ALT-SVC调度服务器根据用户设备类型信息指定。The FastRate in the ALT-SVC field of the FCC response message is the fast transmission rate, which refers to the multiple of the fast transmission rate, that is, the rate at which the FCC server sends QUIC unicast video streams to the multicast client. The fast sending rate can be set according to actual needs, and this disclosure does not limit its value. The fast transmission rate can be specified by the FCC ALT-SVC scheduling server according to the user equipment type information.
FCC应答消息的ALT-SVC字段中的WaitingTime指组播客户端请求加入目标频道的组播组的等待时间。如在等待时间未到又切换频道,则组播客户端不应请求加入该目标频道的组播组,即图6中的根据调度参数等待N秒后请求加入目标频道的组播 组。等待时间可以根据实际经验进行设定。The WaitingTime in the ALT-SVC field of the FCC response message refers to the waiting time for the multicast client to request to join the multicast group of the target channel. If the channel is switched before the waiting time is up, the multicast client should not request to join the multicast group of the target channel, that is, request to join the multicast group of the target channel after waiting N seconds according to the scheduling parameters in Figure 6. The waiting time can be set according to actual experience.
图6实施例中,FCC服务器根据组播客户端发送的直播频道播放请求,发送QUIC单播视频流。当接收到组播客户端发送的关断请求时,FCC服务器应停止发送QUIC单播视频流。一般出现在用户快速进行频道切换的场景中。例如,用户可能是按错频道号、或上下键选频道。在这过程中,用户在目标频道停留的时间非常小,没等到等待时间到达即结束了,因此组播客户端应主动退出。In the embodiment in FIG. 6 , the FCC server sends the QUIC unicast video stream according to the live channel play request sent by the multicast client. When receiving a shutdown request from a multicast client, the FCC server shall stop sending QUIC unicast video streams. It generally appears in the scene where the user quickly switches channels. For example, the user may press the wrong channel number, or press the up and down keys to select the channel. During this process, the user stays on the target channel for a very short time, and it ends before the waiting time is up, so the multicast client should actively exit.
SDP是Session Description Protocol的简写,即描述会话的协议。组播频道SDP信息可以保持报文的完整性,是可选的。SDP is the abbreviation of Session Description Protocol, which is the protocol describing the session. The SDP information of the multicast channel can maintain the integrity of the message and is optional.
目标同步码是FCC ALT-SVC调度服务器中最新生成的同步码。当FCC服务器根据该目标同步码停止发送QUIC单播视频流时,则组播客户端从缓存的该目标频道的组播视频流中相应的目标同步码开始播放组播视频流,由此实现了单播视频流和组播视频流的同步,即图6中的接收到同步码(即目标同步码)后FCC缓存同步。The target sync code is the latest generated sync code in the FCC ALT-SVC dispatch server. When the FCC server stops sending the QUIC unicast video stream according to the target synchronization code, the multicast client starts playing the multicast video stream from the corresponding target synchronization code in the cached multicast video stream of the target channel, thereby realizing The synchronization of the unicast video stream and the multicast video stream is the synchronization of the FCC cache after receiving the synchronization code (ie, the target synchronization code) in FIG. 6 .
本公开一些实施例提供的方法,一方面,使用HTTP3.0ALT-SVC进行调度,可根据用户设备及网络实际情况,实时变化FCC参数。例如,根据用户设备的缓存大小不同为用户设备确定不同的提前播放时间。例如用户设备的缓存越大,则提前播放时间可以越大,越长的缓存,则加入组播组的时间可更充足。又例如,根据多个FCC服务器的负载返回合适的目标FCC服务器的IP地址。另一方面,还采用了新的同步方法,使得同步简单,可以适用于更多应用场景。The method provided by some embodiments of the present disclosure, on the one hand, uses HTTP3.0ALT-SVC for scheduling, and can change the FCC parameters in real time according to the actual situation of the user equipment and the network. For example, different advance playback times are determined for the user equipment according to different buffer sizes of the user equipment. For example, the larger the buffer of the user equipment, the longer the playing time in advance, and the longer the buffer, the more sufficient time to join the multicast group. For another example, the IP address of a suitable target FCC server is returned according to the load of multiple FCC servers. On the other hand, a new synchronization method is adopted to make synchronization simple and applicable to more application scenarios.
图7实施例提供的方法可以由用户设备执行,用户设备可以是IPTV、机顶盒、智能手机、平板电脑、笔记本电脑、台式计算机等中的任意一种或者多种,本公开对此不做限定。The method provided in the embodiment of FIG. 7 may be executed by user equipment, and the user equipment may be any one or more of IPTV, set-top box, smart phone, tablet computer, notebook computer, desktop computer, etc., which is not limited in the present disclosure.
如图7所示,本公开一些实施例提供的方法可以包括如下步骤。As shown in FIG. 7 , the method provided by some embodiments of the present disclosure may include the following steps.
在步骤S710中,向FCC调度服务器发送第一FCC请求消息,所述第一FCC请求消息包括目标频道的频道标识。所述FCC调度服务器用于响应所述第一FCC请求消息,生成FCC参数,所述FCC参数可以包括目标FCC服务器标识。In step S710, a first FCC request message is sent to the FCC scheduling server, where the first FCC request message includes the channel identifier of the target channel. The FCC scheduling server is configured to respond to the first FCC request message and generate FCC parameters, where the FCC parameters may include a target FCC server identifier.
在一些实施例中,所述FCC参数还可以包括目标频道的组播地址、目的PTS以及目标同步码。In some embodiments, the FCC parameters may also include the multicast address of the target channel, the target PTS, and the target synchronization code.
在一些实施例中,所述第一FCC请求消息可以基于QUIC传输层协议传输。In some embodiments, the first FCC request message may be transmitted based on the QUIC transport layer protocol.
在一些实施例中,向FCC调度服务器发送第一FCC请求消息可以包括:基于HTTP3.0应用层协议,向所述FCC调度服务器发送第一FCC请求报文,所述第一 FCC请求报文包括HTTP报文头和所述第一FCC请求消息。In some embodiments, sending the first FCC request message to the FCC scheduling server may include: sending a first FCC request message to the FCC scheduling server based on the HTTP3.0 application layer protocol, and the first FCC request message includes HTTP message header and the first FCC request message.
在一些实施例中,所述HTTP报文头可以包括用户设备类型信息。In some embodiments, the HTTP packet header may include user equipment type information.
在步骤S720中,接收所述FCC调度服务器返回的所述FCC参数。In step S720, the FCC parameter returned by the FCC scheduling server is received.
在一些实施例中,接收所述FCC调度服务器返回的所述FCC参数可以包括:接收所述FCC调度服务器返回的包括所述FCC参数的HTTP3.0重定向消息,所述HTTP3.0重定向消息包括HTTP3.0响应码302、位置字段和替换服务字段。In some embodiments, receiving the FCC parameters returned by the FCC scheduling server may include: receiving an HTTP3.0 redirection message including the FCC parameters returned by the FCC scheduling server, the HTTP3.0 redirection message Including HTTP3.0 response code 302, location field and replacement service field.
在一些实施例中,所述FCC参数还可以包括所述目标频道的组播地址、目的PTS、目标同步码、快发速率和等待时间。In some embodiments, the FCC parameters may also include the multicast address of the target channel, target PTS, target synchronization code, fast transmission rate and waiting time.
在一些实施例中,所述位置字段包括目标FCC服务器的IP地址,所述目标FCC服务器标识包括所述目标FCC服务器的IP地址。In some embodiments, the location field includes the IP address of the target FCC server, and the target FCC server identification includes the IP address of the target FCC server.
在一些实施例中,所述替换服务字段包括所述目标频道的组播地址、所述目的PTS、所述目标同步码、所述快发速率和所述等待时间。In some embodiments, the replacement service field includes the multicast address of the target channel, the target PTS, the target synchronization code, the fast transmission rate and the waiting time.
在一些实施例中,所述快发速率用于指示所述目标FCC服务器向所述用户设备发送所述目标频道的单播视频流的速率。In some embodiments, the fast sending rate is used to indicate the rate at which the target FCC server sends the unicast video stream of the target channel to the user equipment.
在一些实施例中,所述等待时间用于指示所述用户设备等待所述等待时间之后请求加入所述目标频道的组播组。In some embodiments, the waiting time is used to instruct the user equipment to request to join the multicast group of the target channel after waiting for the waiting time.
在步骤S730中,向所述目标FCC服务器标识对应的目标FCC服务器发送第二FCC请求消息,所述第二FCC请求消息包括所述FCC参数。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.
在步骤S740中,接收所述目标FCC服务器根据所述FCC参数发送的目标频道的单播视频流。In step S740, the unicast video stream of the target channel sent by the target FCC server according to the FCC parameters is received.
在一些实施例中,所述目标FCC服务器可以用于根据所述目的PTS和所述目标同步码确定向所述用户设备发送所述目标频道的单播视频流的文件起始位置和文件结束位置。In some embodiments, the target FCC server may be configured to determine, according to the target PTS and the target synchronization code, a file start position and a file end position for sending the unicast video stream of the target channel to the user equipment .
在步骤S750中,根据所述FCC参数请求加入目标频道的组播组,以从视频组播源服务器接收所述目标频道的组播视频流。In step S750, request to join the multicast group of the target channel according to the FCC parameters, so as to receive the multicast video stream of the target channel from the video multicast source server.
在一些实施例中,根据所述FCC参数请求加入所述目标频道的组播组可以包括:若在所述等待时间之内没有接收到所述目标频道的关断请求,则在所述等待时间之后,向所述视频组播源服务器发送加入请求,以请求加入所述目标频道的组播组。In some embodiments, requesting to join the multicast group of the target channel according to the FCC parameters may include: if no shutdown request of the target channel is received within the waiting time, then during the waiting time Afterwards, a join request is sent to the video multicast source server to request to join the multicast group of the target channel.
图7实施例的其它内容可以参照上述其它实施例的描述。For other content of the embodiment in FIG. 7 , reference may be made to the descriptions of other embodiments above.
图8实施例提供的方法可以由目标快速频道切换FCC服务器执行,目标FCC服 务器可以是多个FCC服务器中的任意一个。The method provided in the embodiment of FIG. 8 may be executed by the target FCC server, and the target FCC server may be any one of multiple FCC servers.
如图8所示,本公开一些实施例提供的方法可以包括如下步骤。As shown in FIG. 8 , the method provided by some embodiments of the present disclosure may include the following steps.
在步骤S810中,接收用户设备发送的第二FCC请求消息,所述第二FCC请求消息包括FCC参数。所述FCC参数包括所述目标FCC服务器的目标FCC服务器标识。In step S810, a second FCC request message sent by the user equipment is received, and the second FCC request message includes FCC parameters. The FCC parameter includes a target FCC server identifier of the target FCC server.
在一些实施例中,所述FCC参数还可以包括目标频道的组播地址、目的PTS以及目标同步码等中的至少一项。In some embodiments, the FCC parameters may further include at least one of the multicast address of the target channel, the target PTS, and the target synchronization code.
在步骤S820中,根据所述FCC参数向所述用户设备发送目标频道的单播视频流。In step S820, the unicast video stream of the target channel is sent to the user equipment according to the FCC parameter.
在一些实施例中,所述FCC参数还可以包括所述目标频道的组播地址和目的PTS。在这些实施例中,根据所述FCC参数向所述用户设备发送目标频道的单播视频流可以包括:根据所述目的PTS和所述目标频道的组播地址确定存储的所述目标频道的视频文件的文件起始位置;和从所述目标频道的文件起始位置向所述用户设备发送所述目标频道的单播视频流。In some embodiments, the FCC parameters may also include the multicast address and the destination PTS of the target channel. In these embodiments, sending the unicast video stream of the target channel to the user equipment according to the FCC parameters may include: determining the stored video stream of the target channel according to the target PTS and the multicast address of the target channel a file start position of the file; and sending the unicast video stream of the target channel to the user equipment from the file start position of the target channel.
在一些实施例中,根据所述目的PTS和所述目标频道的组播地址确定存储的所述目标频道的视频文件的文件起始位置可以包括:根据所述目的PTS检索所述目标FCC服务器生成的所述目标频道的多个PTS;和若所述目标FCC服务器生成的所述目标频道的多个PTS中存在与所述目的PTS匹配的PTS,则将所述匹配的PTS作为所述文件起始位置。In some embodiments, determining the file start position of the stored video file of the target channel according to the target PTS and the multicast address of the target channel may include: retrieving the target PTS generated by the target FCC server according to the target PTS. multiple PTSs of the target channel; and if there is a PTS that matches the target PTS among the multiple PTSs of the target channel generated by the target FCC server, then use the matched PTS as the file start start position.
在一些实施例中,根据所述目的PTS和所述目标频道的组播地址确定存储的所述目标频道的视频文件的文件起始位置还可以包括:若所述目的FCC服务器生成的所述目标频道的多个PTS中不存在与所述目的PTS匹配的PTS,则将所述目标FCC服务器生成的所述目标频道的多个PTS中位于所述目的PTS之后的第一个PTS作为所述文件起始位置。In some embodiments, determining the file start position of the stored video file of the target channel according to the target PTS and the multicast address of the target channel may further include: if the target channel generated by the target FCC server If there is no PTS matching the target PTS among the multiple PTSs of the channel, the first PTS after the target PTS among the multiple PTSs of the target channel generated by the target FCC server is used as the file starting point.
在一些实施例中,根据所述FCC参数向所述用户设备发送目标频道的单播视频流可以包括:根据所述目的PTS和所述目标频道的组播地址确定存储的所述目标频道的视频文件的文件起始位置;和从所述目标频道的视频文件的文件起始位置向所述用户设备发送所述目标频道的单播视频流,直至所述目标同步码。In some embodiments, sending the unicast video stream of the target channel to the user equipment according to the FCC parameters may include: determining the stored video of the target channel according to the target PTS and the multicast address of the target channel a file start position of the file; 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 synchronization code.
在一些实施例中,所述方法还可以包括:从视频组播源服务器接收各个频道的组播视频流,并按时间顺序存储各个频道的组播视频流,生成各个频道的视频文件;和基于接收到的各个频道的组播视频流,生成各个频道的同步码及其对应的PTS。In some embodiments, the method may further include: receiving the multicast video streams of each channel from the video multicast source server, and storing the multicast video streams of each channel in chronological order, and generating video files of each channel; and based on The multicast video stream of each channel is received, and the synchronization code of each channel and its corresponding PTS are generated.
在一些实施例中,基于接收到的各个频道的组播视频流,生成各个频道的同步码及其对应的PTS可以包括:基于接收到的各个频道的组播视频流,生成各个频道的同步码及其对应的PTS和偏移量。所述偏移量表示同步码与对应频道的视频文件的开始字节之间的字节偏移量。In some embodiments, generating the synchronization code of each channel and its corresponding PTS based on the received multicast video stream of each channel may include: generating the synchronization code of each channel based on the received multicast video stream of each channel and its corresponding PTS and offset. The offset represents a byte offset between the synchronization code and the start byte of the video file of the corresponding channel.
在一些实施例中,所述FCC参数还包括目标同步码。在这些实施例中,根据所述FCC参数向所述用户设备发送目标频道的单播视频流还可以包括:根据所述目标同步码查找所述目标同步码对应的目标偏移量;根据所述目标偏移量确定所述目标频道的视频文件的文件结束位置;和在所述文件结束位置停止向所述用户设备发送所述目标频道的单播视频流。In some embodiments, the FCC parameters also include a target synchronization code. In these embodiments, sending the unicast video stream of the target channel to the user equipment according to the FCC parameters may further include: searching for a target offset corresponding to the target synchronization code according to the target synchronization code; The target offset determines the file end position of the video file of the target channel; and stops sending the unicast video stream of the target channel to the user equipment at the file end position.
在一些实施例中,所述方法还可以包括:向FCC调度服务器上报所述目标FCC服务器的状态信息。In some embodiments, the method may further include: reporting the status information of the target FCC server to the FCC scheduling server.
图8实施例的其它内容可以参照上述其它实施例的描述。For other content of the embodiment in FIG. 8 , reference may be made to the descriptions of other embodiments above.
如图9所示的电子设备900(可以是FCC调度服务器、用户设备或者目标FCC服务器)可以包括处理器910、存储器920以及收发器930。The electronic device 900 shown in FIG. 9 (which may be an FCC scheduling server, a user equipment or a target FCC server) may include a processor 910 , a memory 920 and a transceiver 930 .
进一步地,本公开实施例还提供了一种FCC调度服务器,可以包括:第一接收单元,可以用于接收用户设备发送的第一FCC请求消息,所述第一FCC请求消息包括目标频道的频道标识;生成单元,可以用于响应所述第一FCC请求消息,生成FCC参数,所述FCC参数包括目标FCC服务器标识;和第一发送单元,可以用于将所述FCC参数返回至所述用户设备。Further, an embodiment of the present disclosure also provides an FCC scheduling server, 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 of a target channel An identifier; 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; and a first sending unit, configured to return the FCC parameters to the user equipment.
所述用户设备可以用于向所述目标FCC服务器标识对应的目标FCC服务器发送第二FCC请求消息,所述第二FCC请求消息包括所述FCC参数;并根据所述FCC参数请求加入目标频道的组播组,以从视频组播源服务器接收所述目标频道的组播视频流。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 request to join the target channel according to the FCC parameter The multicast group is used to receive the multicast video stream of the target channel from the video multicast source server.
所述目标FCC服务器可以用于根据所述FCC参数向所述用户设备发送所述目标频道的单播视频流。The target FCC server may be configured to send the unicast video stream of the target channel to the user equipment according to the FCC parameter.
进一步地,本公开实施例还提供了一种用户设备,可以包括:第二发送单元,可以用于向FCC调度服务器发送第一FCC请求消息,所述第一FCC请求消息包括目标频道的频道标识,所述FCC调度服务器用于响应所述第一FCC请求消息,生成FCC参数,所述FCC参数包括目标FCC服务器标识;和第二接收单元,可以用于接收所述FCC调度服务器返回的所述FCC参数。所述第二发送单元还可以用于向所述目标 FCC服务器标识对应的目标FCC服务器发送第二FCC请求消息,所述第二FCC请求消息包括所述FCC参数。所述第二接收单元还可以用于接收所述目标FCC服务器根据所述FCC参数发送的目标频道的单播视频流。所述第二接收单元还可以用于根据所述FCC参数请求加入目标频道的组播组,以从视频组播源服务器接收所述目标频道的组播视频流。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 an FCC scheduling server, where the first FCC request message includes a channel identifier of a target channel , the FCC scheduling server is configured to respond to the first FCC request message to generate an FCC parameter, the FCC parameter includes a target FCC server identifier; and a second receiving unit may be configured to receive the FCC returned by the FCC scheduling server FCC parameters. The second sending unit may also 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. The second receiving unit may also be configured to receive the unicast video stream of the target channel sent by the target FCC server according to the FCC parameters. The second receiving unit may also be used to request to join the multicast group of the target channel according to the FCC parameter, so as to receive the multicast video stream of the target channel from the video multicast source server.
进一步地,本公开实施例还提供了一种目标FCC服务器,可以包括:第三接收单元,可以用于接收用户设备发送的第二FCC请求消息,所述第二FCC请求消息包括FCC参数,所述FCC参数包括所述目标FCC服务器的目标FCC服务器标识;和第三发送单元,可以用于根据所述FCC参数向所述用户设备发送所述目标频道的单播视频流。Further, an embodiment of the present disclosure also provides a target 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 The FCC parameters include a target FCC server identifier of the target FCC server; and a third sending unit, configured to send the unicast video stream of the target channel to the user equipment according to the FCC parameters.
进一步地,本公开实施例还提供了一种IPTV系统,可以包括:如上述任意实施例中所述的FCC调度服务器;和如任意实施例中所述的目标FCC服务器。Further, an embodiment of the present disclosure also provides an IPTV system, which may include: the FCC scheduling server as described in any embodiment above; and the target FCC server as described in any embodiment.
在一些实施例中,该IPTV系统还可以包括如任意实施例中所述的用户设备。In some embodiments, the IPTV system may further include the user equipment as described in any embodiment.
本领域技术人员可以清楚地了解到,当终端和网络设备所执行的步骤以及相应的有益效果可以参考上述方法中终端和网络设备的相关描述,为了简洁,在此不再赘述。Those skilled in the art can clearly understand that the steps performed by the terminal and the network device and the corresponding beneficial effects can refer to the relevant description of the terminal and the network device in the above method, and for the sake of brevity, details are not repeated here.
应理解,上述各个单元的划分仅仅是功能上的划分,实际实现时可能会有其它的划分方法。It should be understood that the division of the above units is only a functional division, and there may be other division methods in actual implementation.
本公开实施例还提供了一种处理装置,包括处理器和接口;该处理器,用于执行上述任一实施例中的视频播放方法。An embodiment of the present disclosure also provides a processing device, including a processor and an interface; the processor is configured to execute the video playing method in any of the foregoing embodiments.
应理解,上述处理装置可以是一个芯片。例如,该处理装置可以是现场可编程门阵列(Field-Programmable Gate Array,FPGA),可以是专用集成芯片(Application Specific Integrated Circuit,ASIC),还可以是系统芯片(System on Chip,SoC),还可以是中央处理器(Central Processor Unit,CPU),还可以是网络处理器(Network Processor,NP),还可以是数字信号处理电路(Digital Signal Processor,DSP),还可以是微控制器(Micro Controller Unit,MCU),还可以是可编程控制器(Programmable Logic Device,PLD)或其他集成芯片。It should be understood that the above processing device may be a chip. For example, the processing device may be a Field-Programmable Gate Array (FPGA), an Application Specific Integrated Circuit (ASIC), or a System on Chip (SoC), or It can be a central processing unit (Central Processor Unit, CPU), a network processor (Network Processor, NP), a digital signal processing circuit (Digital Signal Processor, DSP), or a microcontroller (Micro Controller Unit, MCU), can also be a programmable controller (Programmable Logic Device, PLD) or other integrated chips.
在一些实现过程中,上述方法的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。结合本公开实施例所公开的方法的步骤可以直接体现为硬件处理器执行完成,或者用处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、 寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。为避免重复,这里不再详细描述。In some implementation processes, each step of the above method may be implemented by an integrated logic circuit of hardware in a processor or an instruction in the form of software. The steps of the methods disclosed in the embodiments of the present disclosure may be directly implemented by a hardware processor, or implemented by a combination of hardware and software modules in the processor. The software module may be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register. The storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware. To avoid repetition, no detailed description is given here.
应注意,本公开实施例中的处理器可以是一种集成电路芯片,具有信号的处理能力。在一些实现过程中,上述方法实施例的各步骤可以通过处理器中的硬件的集成逻辑电路或者软件形式的指令完成。上述的处理器可以是通用处理器、数字信号处理器(digitalsignal processor,DSP)、专用集成电路(application specific integrated crcuit,ASIC)、现成可编程门阵列(field programmable gate array,FPGA)或者其他可编程逻辑器件、分立门或者晶体管逻辑器件、分立硬件组件。可以实现或者执行本公开实施例中的公开的各方法、步骤及逻辑框图。通用处理器可以是微处理器或者该处理器也可以是任何常规的处理器等。结合本公开实施例所公开的方法的步骤可以直接体现为硬件译码处理器执行完成,或者用译码处理器中的硬件及软件模块组合执行完成。软件模块可以位于随机存储器,闪存、只读存储器,可编程只读存储器或者电可擦写可编程存储器、寄存器等本领域成熟的存储介质中。该存储介质位于存储器,处理器读取存储器中的信息,结合其硬件完成上述方法的步骤。It should be noted that the processor in the embodiment of the present disclosure may be an integrated circuit chip having a signal processing capability. In some implementations, the steps in the foregoing method embodiments may be implemented by an integrated logic circuit of hardware in a processor or instructions in the form of software. The above-mentioned processor can be a general-purpose processor, a digital signal processor (digital signal processor, DSP), an application specific integrated circuit (application specific integrated circuit, ASIC), an off-the-shelf programmable gate array (field programmable gate array, FPGA) or other programmable Logic devices, discrete gate or transistor logic devices, discrete hardware components. Various methods, steps and logic block diagrams disclosed in the embodiments of the present disclosure may be implemented or executed. A general-purpose processor may be a microprocessor, or the processor may be any conventional processor, or the like. The steps of the methods disclosed in 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 can be located in a mature storage medium in the field such as random access memory, flash memory, read-only memory, programmable read-only memory or electrically erasable programmable memory, register. The storage medium is located in the memory, and the processor reads the information in the memory, and completes the steps of the above method in combination with its hardware.
本公开实施例还提供了一种计算机可读介质,其上存储有计算机程序,该计算机程序被电子设备执行时实现上述任一实施例中的视频播放方法。An embodiment of the present disclosure further 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 of the above-mentioned embodiments is implemented.
本公开实施例还提供了一种计算机程序产品,该计算机程序产品被电子设备执行时实现上述任一实施例中的视频播放方法。An embodiment of the present disclosure further provides a computer program product, which implements the video playing method in any of the foregoing embodiments when the computer program product is executed by an electronic device.
本公开实施例还提供了一种系统芯片,该系统芯片包括:处理单元和通信单元,该处理单元,例如可以是处理器,该通信单元例如可以是输入/输出接口、管脚或电路等。该处理单元可执行计算机指令,以使该FCC调度服务器、用户设备和FCC服务器内的芯片执行上述本公开实施例提供的任一种视频播放方法。An embodiment of the present disclosure also provides a system chip, the system chip includes: a processing unit and a communication unit, the processing unit may be, for example, a processor, and the communication unit may be, for example, an input/output interface, a pin, or a circuit. The processing unit may execute computer instructions, so that the chips in the FCC scheduling server, the user equipment, and the FCC server execute any video playing method provided by the foregoing embodiments of the present disclosure.
在一些实施例中,该计算机指令被存储在存储单元中。In some embodiments, the computer instructions are stored in a memory unit.
在一些实施例中,该存储单元为该芯片内的存储单元,如寄存器、缓存等,该存储单元还可以是该终端内的位于该芯片外部的存储单元,如只读存储器(read-only memory,ROM)或可存储静态信息和指令的其他类型的静态存储设备,随机存取存储器(random access memory,RAM)等。上述任一处提到的处理器可以是一个CPU,微处理器,ASIC,或一个或多个用于控制上述的视频播放方法的程序执行的集成电路。该处理单元和该存储单元可以解耦,分别设置在不同的物理设备上,并通过有线或者无线的方式连接来实现该处理单元和该存储单元的各自的功能,以支持该系统芯片实 现上述实施例中的各种功能。或者,该处理单元和该存储器也可以耦合在同一个设备上。In some embodiments, the storage unit is a storage unit in the chip, such as a register, a cache, etc., and the storage unit can also be a storage unit located outside the chip in the terminal, such as a read-only memory (read-only memory) , ROM) or other types of static storage devices that can store static information and instructions, random access memory (random access memory, RAM), etc. The processor mentioned above can be a CPU, a microprocessor, an ASIC, or one or more integrated circuits for controlling the program execution of the above-mentioned video playing method. The processing unit and the storage unit can be decoupled, respectively arranged on different physical devices, and connected in a wired or wireless manner to realize the respective functions of the processing unit and the storage unit, so as to support the system chip to realize the above implementation Various functions in the example. Alternatively, the processing unit and the memory can also be coupled to the same device.
在上述实施例中,可以全部或部分地通过软件、硬件、固件或者其任意组合来实现。当使用软件实现时,可以全部或部分地以计算机程序产品的形式实现。该计算机程序产品包括一个或多个计算机指令。在计算机上加载和执行该计算机指令时,全部或部分地产生按照本公开实施例的流程或功能。该计算机可以是通用计算机、专用计算机、计算机网络、或者其他可编程装置。该计算机指令可以存储在计算机可读存储介质中,或者从一个计算机可读存储介质向另一个计算机可读存储介质传输,例如,该计算机指令可以从一个网站站点、计算机、服务器或数据中心通过有线(例如同轴电缆、光纤、数字用户线(digital subscriber line,DSL))或无线(例如红外、无线、微波等)方式向另一个网站站点、计算机、服务器或数据中心进行传输。该计算机可读存储介质可以是计算机能够存取的任何可用介质或者是包含一个或多个可用介质集成的服务器、数据中心等数据存储设备。该可用介质可以是磁性介质(例如,软盘、硬盘、磁带)、光介质(例如,高密度数字视频光盘(digital video disc,DVD))、或者半导体介质(例如,固态硬盘(solid state disk,SSD))等。In the above embodiments, all or part of them may be implemented by software, hardware, firmware or any combination thereof. When implemented using software, it 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. When the computer instructions are loaded and executed on the computer, the processes or functions according to the embodiments of the present disclosure will be generated in whole or in part. The computer can be a general purpose computer, a special purpose computer, a computer network, or other programmable device. The computer instructions may be stored in or transmitted from one computer-readable storage medium to another computer-readable storage medium, e.g. (such as coaxial cable, optical fiber, digital subscriber line (DSL)) or wireless (such as infrared, wireless, microwave, etc.) to another website site, computer, server or data center. The computer-readable storage medium may be any available medium that can be accessed by a computer, or a data storage device such as a server or a data center integrated with one or more available media. The available media can be magnetic media (for example, floppy disk, hard disk, magnetic tape), optical media (for example, high-density digital video disc (digital video disc, DVD)), or semiconductor media (for example, solid state disk (solid state disk, SSD) ))wait.
在本公开所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,该单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。In the several embodiments provided in the present disclosure, it should be understood that the disclosed system, device and method may be implemented in other ways. For example, the device embodiments described above are only illustrative. For example, the division of the units is only a logical function division. In actual implementation, there may be other division methods. For example, multiple units or components can be combined or can be Integrate into another system, or some features may be ignored, or not implemented. In another point, the mutual coupling or direct coupling or communication connection shown or discussed may be through some interfaces, and the indirect coupling or communication connection of devices or units may be in electrical, mechanical or other forms.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本公开实施例方案的目的。The units described as separate components may or may not be physically separated, and the components shown as units may or may not be physical units, that is, they may be located in one place, or may be distributed to multiple network units. Part or all of the units can be selected according to actual needs to achieve the purpose of the solutions of the embodiments of the present disclosure.
另外,在本公开各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以两个或两个以上单元集成在一个单元中。In addition, each functional unit in each embodiment of the present disclosure may be integrated into one processing unit, each unit may exist separately physically, or two or more units may be integrated into one unit.
在本公开中可能出现的对各种消息/信息/设备/网元/系统/装置/动作/操作/流程/概念等各类客体进行了赋名。可以理解的是,这些具体的名称并不构成对相关客体的限定,所赋名称可随着场景,语境或者使用习惯等因素而变更。对本公开中技术术语的 技术含义的理解应主要从其在技术方案中所体现/执行的功能和技术效果来确定。Various objects such as various messages/information/equipment/network elements/systems/apparatus/actions/operations/processes/concepts that may appear in this disclosure are named. It can be understood that these specific names do not constitute a limitation on related objects, and the assigned names can be changed with factors such as scenes, contexts, or usage habits. The understanding of the technical meaning of the technical terms in the present disclosure should be mainly determined from the functions and technical effects embodied/executed in the technical solutions.
在本公开的各个实施例中,如果没有特殊说明以及逻辑冲突,不同的实施例之间的术语和/或描述具有一致性、且可以相互引用,不同的实施例中的技术特征根据其内在的逻辑关系可以组合形成新的实施例。In each embodiment of the present disclosure, if there is no special explanation and logical conflict, the terms and/or descriptions between different embodiments are consistent and can be referred to each other, and the technical features in different embodiments are based on their inherent Logical relationships can be combined to form new embodiments.
以上所述,仅为本公开的具体实施方式,但本公开的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本公开揭露的技术范围内,可轻易想到变化或替换,都应涵盖在本公开的保护范围之内。因此,本公开的保护范围应以所述权利要求的保护范围为准。The above is only a specific implementation of the present disclosure, but the scope of protection of the present disclosure is not limited thereto. Anyone skilled in the art can easily think of changes or substitutions within the technical scope of the present disclosure. should fall within the protection scope of the present disclosure. Therefore, the protection scope of the present disclosure should be determined by the protection scope of the claims.

Claims (36)

  1. 一种视频播放方法,其特征在于,所述方法由快速频道切换FCC调度服务器执行,所述方法包括:A video playback method, characterized in that the method is performed by a fast channel switching FCC scheduling server, the method comprising:
    接收用户设备发送的第一FCC请求消息,所述第一FCC请求消息包括目标频道的频道标识;receiving a first FCC request message sent by the user equipment, where the first FCC request message includes a channel identifier of a target channel;
    响应所述第一FCC请求消息,生成FCC参数,所述FCC参数包括目标FCC服务器标识;和generating FCC parameters in response to the first FCC request message, the FCC parameters including a target FCC server identifier; and
    将所述FCC参数返回至所述用户设备;returning the FCC parameters to the user equipment;
    所述用户设备用于向所述目标FCC服务器标识对应的目标FCC服务器发送第二FCC请求消息,所述第二FCC请求消息包括所述FCC参数;并根据所述FCC参数请求加入所述目标频道的组播组,以从视频组播源服务器接收所述目标频道的组播视频流;The user equipment is 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 request to join the target channel according to the FCC parameter to receive the multicast video stream of the target channel from the video multicast source server;
    所述目标FCC服务器用于根据所述FCC参数向所述用户设备发送所述目标频道的单播视频流。The target FCC server is configured to send the unicast video stream of the target channel to the user equipment according to the FCC parameter.
  2. 根据权利要求1所述的方法,其特征在于,所述第一FCC请求消息基于快速用户数据包协议网络连接QUIC传输层协议传输。The method according to claim 1, wherein the first FCC request message is transmitted based on the QUIC transport layer protocol.
  3. 根据权利要求1或2所述的方法,其特征在于,接收用户设备发送的第一FCC请求消息包括:The method according to claim 1 or 2, wherein receiving the first FCC request message sent by the user equipment comprises:
    接收所述用户设备基于超文本传输协议HTTP3.0应用层协议发送的第一FCC请求报文,所述第一FCC请求报文包括HTTP报文头和所述第一FCC请求消息。Receiving a first FCC request message sent by the user equipment based on a hypertext transfer protocol HTTP3.0 application layer protocol, where the first FCC request message includes an HTTP message header and the first FCC request message.
  4. 根据权利要求3所述的方法,其特征在于,所述HTTP报文头包括用户设备类型信息;所述FCC参数还包括目的显示时间标签PTS;The method according to claim 3, wherein the HTTP message header includes user equipment type information; the FCC parameter also includes a purpose display time label PTS;
    其中,响应所述第一FCC请求消息,生成FCC参数包括:Wherein, in response to the first FCC request message, generating the FCC parameters includes:
    根据所述用户设备类型信息确定提前播放时间;和determining an advance play time according to the user equipment type information; and
    根据所述提前播放时间确定所述目的PTS。The target PTS is determined according to the advance play time.
  5. 根据权利要求4所述的方法,其特征在于,所述用户设备类型信息与所述用户设备的性能相关,所述用户设备的性能越好,所述提前播放时间越大。The method according to claim 4, wherein the user equipment type information is related to the performance of the user equipment, and the better the performance of the user equipment, the greater the advance play time.
  6. 根据权利要求4所述的方法,其特征在于,根据所述提前播放时间确定所述目的PTS包括:The method according to claim 4, wherein determining the target PTS according to the advance play time comprises:
    根据所述目标频道的频道标识获得所述目标频道的目标同步码对应的PTS;和Obtaining the PTS corresponding to the target synchronization code of the target channel according to the channel identifier of the target channel; and
    根据所述提前播放时间和所述目标同步码对应的PTS确定所述目的PTS。The target PTS is determined according to the advance play time and the PTS corresponding to the target synchronization code.
  7. 根据权利要求6所述的方法,其特征在于,所述目的PTS等于所述目标同步码对应的PTS减所述提前播放时间。The method according to claim 6, wherein the target PTS is equal to the PTS corresponding to the target synchronization code minus the advance play time.
  8. 根据权利要求6所述的方法,其特征在于,还包括:The method according to claim 6, further comprising:
    从所述视频组播源服务器接收各个频道的组播视频流;和receiving the multicast video stream of each channel from the video multicast source server; and
    基于接收到的各个频道的组播视频流,生成各个频道的同步码及其对应的PTS。Based on the received multicast video stream of each channel, the synchronization code of each channel and its corresponding PTS are generated.
  9. 根据权利要求1或2所述的方法,其特征在于,所述FCC参数还包括目标同步码;The method according to claim 1 or 2, wherein the FCC parameter also includes a target synchronization code;
    其中,响应所述第一FCC请求消息,生成FCC参数包括:Wherein, in response to the first FCC request message, generating the FCC parameters includes:
    选择生成时间距离当前时间最近的同步码作为所述目标同步码。A synchronization code whose generation time is closest to the current time is selected as the target synchronization code.
  10. 根据权利要求1或2所述的方法,其特征在于,响应所述第一FCC请求消息,生成FCC参数包括:The method according to claim 1 or 2, wherein generating FCC parameters in response to the first FCC request message comprises:
    获取多个FCC服务器中每个的状态信息;和obtain status information for each of the plurality of FCC servers; and
    基于所述状态信息,从所述多个FCC服务器中确定所述目标FCC服务器。The target FCC server is determined from the plurality of FCC servers based on the state information.
  11. 根据权利要求1或2所述的方法,其特征在于,将所述FCC参数返回至所述用户设备包括:The method according to claim 1 or 2, wherein returning the FCC parameters to the user equipment comprises:
    向所述用户设备返回包括所述FCC参数的HTTP3.0重定向消息,所述HTTP3.0重定向消息包括HTTP3.0响应码302、位置字段和替换服务字段。Return an HTTP3.0 redirection message including the FCC parameter to the user equipment, where the HTTP3.0 redirection message includes an HTTP3.0 response code 302, a location field, and a replacement service field.
  12. 根据权利要求11所述的方法,其特征在于,所述FCC参数还包括所述目标频道的组播地址、目的PTS、目标同步码、快发速率和等待时间;The method according to claim 11, wherein the FCC parameters also include the multicast address of the target channel, the target PTS, target synchronization code, fast sending rate and waiting time;
    所述位置字段包括所述目标FCC服务器的IP地址,所述目标FCC服务器标识包括所述目标FCC服务器的IP地址;The location field includes the IP address of the target FCC server, and the target FCC server identifier includes the IP address of the target FCC server;
    所述替换服务字段包括所述目标频道的组播地址、所述目的PTS、所述目标同步码、所述快发速率和所述等待时间;The replacement service field includes the multicast address of the target channel, the target PTS, the target synchronization code, the fast sending rate and the waiting time;
    所述快发速率用于指示所述目标FCC服务器向所述用户设备发送所述目标频道的单播视频流的速率;和The fast sending rate is used to indicate the rate at which the target FCC server sends the unicast video stream of the target channel to the user equipment; and
    所述等待时间用于指示所述用户设备等待所述等待时间之后请求加入所述目标频道的组播组。The waiting time is used to instruct the user equipment to request to join the multicast group of the target channel after waiting for the waiting time.
  13. 一种视频播放方法,其特征在于,所述方法由用户设备执行,所述方法包括:A video playback method, characterized in that the method is executed by a user equipment, and the method includes:
    向快速频道切换FCC调度服务器发送第一FCC请求消息,所述第一FCC请求消息包括目标频道的频道标识,所述FCC调度服务器用于响应所述第一FCC请求消息,生成FCC参数,所述FCC参数包括目标FCC服务器标识;Sending 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 used to generate FCC parameters in response to the first FCC request message, the The FCC parameters include the identity of the target FCC server;
    接收所述FCC调度服务器返回的所述FCC参数;receiving the FCC parameters returned by the FCC scheduling server;
    向所述目标FCC服务器标识对应的目标FCC服务器发送第二FCC请求消息,所述第二FCC请求消息包括所述FCC参数;Sending 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;
    接收所述目标FCC服务器根据所述FCC参数发送的所述目标频道的单播视频流;和receiving the unicast video stream of the target channel sent by the target FCC server according to the FCC parameters; and
    根据所述FCC参数请求加入所述目标频道的组播组,以从视频组播源服务器接收所述目标频道的组播视频流。Requesting to join the multicast group of the target channel according to the FCC parameters, so as to receive the multicast video stream of the target channel from the video multicast source server.
  14. 根据权利要求13所述的方法,其特征在于,所述第一FCC请求消息基于快速用户数据包协议网络连接QUIC传输层协议传输。The method according to claim 13, wherein the first FCC request message is transmitted based on the QUIC transport layer protocol.
  15. 根据权利要求13或14所述的方法,其特征在于,向快速频道切换FCC调度服务器发送第一FCC请求消息包括:The method according to claim 13 or 14, wherein sending the first FCC request message to the fast channel switching FCC scheduling server comprises:
    基于超文本传输协议HTTP3.0应用层协议,向所述FCC调度服务器发送第一FCC请求报文,所述第一FCC请求报文包括HTTP报文头和所述第一FCC请求消息。Sending a first FCC request message to the FCC scheduling server based on a hypertext transfer protocol HTTP3.0 application layer protocol, where the first FCC request message includes an HTTP message header and the first FCC request message.
  16. 根据权利要求15所述的方法,其特征在于,所述HTTP报文头包括用户设备类型信息。The method according to claim 15, wherein the HTTP message header includes user equipment type information.
  17. 根据权利要求13或14所述的方法,其特征在于,接收所述FCC调度服务器返回的所述FCC参数包括:The method according to claim 13 or 14, wherein receiving the FCC parameters returned by the FCC scheduling server comprises:
    接收所述FCC调度服务器返回的包括所述FCC参数的HTTP3.0重定向消息,所述HTTP3.0重定向消息包括HTTP3.0响应码302、位置字段和替换服务字段。Receive an HTTP3.0 redirection message including the FCC parameter returned by the FCC scheduling server, where the HTTP3.0 redirection message includes an HTTP3.0 response code 302, a location field, and a replacement service field.
  18. 根据权利要求17所述的方法,其特征在于,所述FCC参数还包括所述目标频道的组播地址、目的PTS、目标同步码、快发速率和等待时间;The method according to claim 17, wherein the FCC parameters also include the multicast address of the target channel, the target PTS, target synchronization code, fast sending rate and waiting time;
    所述位置字段包括所述目标FCC服务器的IP地址,所述目标FCC服务器标识包括所述目标FCC服务器的IP地址;The location field includes the IP address of the target FCC server, and the target FCC server identifier includes the IP address of the target FCC server;
    所述替换服务字段包括所述目标频道的组播地址、所述目的PTS、所述目标同步码、所述快发速率和所述等待时间;The replacement service field includes the multicast address of the target channel, the target PTS, the target synchronization code, the fast sending rate and the waiting time;
    所述快发速率用于指示所述目标FCC服务器向所述用户设备发送所述目标频道 的单播视频流的速率;和The fast sending rate is used to indicate the rate at which the target FCC server sends the unicast video stream of the target channel to the user equipment; and
    所述等待时间用于指示所述用户设备等待所述等待时间之后请求加入所述目标频道的组播组。The waiting time is used to instruct the user equipment to request to join the multicast group of the target channel after waiting for the waiting time.
  19. 根据权利要求18所述的方法,其特征在于,根据所述FCC参数请求加入所述目标频道的组播组包括:The method according to claim 18, wherein the request to join the multicast group of the target channel according to the FCC parameters comprises:
    若在所述等待时间之内没有接收到所述目标频道的关断请求,则在所述等待时间之后,向所述视频组播源服务器发送加入请求,以请求加入所述目标频道的组播组。If the shutdown request of the target channel is not received within the waiting time, after the waiting time, send a join request to the video multicast source server to request to join the multicast of the target channel Group.
  20. 一种视频播放方法,其特征在于,所述方法由目标快速频道切换FCC服务器执行,所述方法包括:A video playback method, characterized in that the method is performed by a target fast channel switching FCC server, and the method includes:
    接收用户设备发送的第二FCC请求消息,所述第二FCC请求消息包括FCC参数,所述FCC参数包括所述目标FCC服务器的目标FCC服务器标识;和receiving a second FCC request message sent by the user equipment, where the second FCC request message includes an FCC parameter, and the FCC parameter includes a target FCC server identifier of the target FCC server; and
    根据所述FCC参数向所述用户设备发送目标频道的单播视频流。Sending the unicast video stream of the target channel to the user equipment according to the FCC parameters.
  21. 根据权利要求20所述的方法,其特征在于,所述FCC参数还包括所述目标频道的组播地址和目的显示时间标签PTS;The method according to claim 20, wherein the FCC parameters further include the multicast address of the target channel and the purpose display time label PTS;
    其中,根据所述FCC参数向所述用户设备发送目标频道的单播视频流包括:Wherein, sending the unicast video stream of the target channel to the user equipment according to the FCC parameters includes:
    根据所述目的PTS和所述目标频道的组播地址确定存储的所述目标频道的视频文件的文件起始位置;和Determine the file start 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 starting position of the file of the target channel.
  22. 根据权利要求21所述的方法,其特征在于,根据所述目的PTS和所述目标频道的组播地址确定存储的所述目标频道的视频文件的文件起始位置包括:The method according to claim 21, wherein determining the file start position of the stored video file of the target channel according to the target PTS and the multicast address of the target channel comprises:
    根据所述目的PTS检索所述目标FCC服务器生成的所述目标频道的多个PTS;和Retrieving a plurality of PTSs for the target channel generated by the target FCC server based on the target PTS; and
    若所述目标FCC服务器生成的所述目标频道的多个PTS中存在与所述目的PTS匹配的PTS,则将所述匹配的PTS作为所述文件起始位置。If there is a PTS that matches the target PTS among the multiple PTSs of the target channel generated by the target FCC server, use the matched PTS as the file start position.
  23. 根据权利要求22所述的方法,其特征在于,根据所述目的PTS和所述目标频道的组播地址确定存储的所述目标频道的视频文件的文件起始位置还包括:The method according to claim 22, wherein, determining the file start position of the stored video file of the target channel according to the target PTS and the multicast address of the target channel further comprises:
    若所述目标FCC服务器生成的所述目标频道的多个PTS中不存在与所述目的PTS匹配的PTS,则将所述目标FCC服务器生成的所述目标频道的多个PTS中位于所述目的PTS之后的第一个PTS作为所述文件起始位置。If there is no PTS that matches the target PTS among the multiple PTSs of the target channel generated by the target FCC server, place the multiple PTSs of the target channel generated by the target FCC server at the target The first PTS after the PTS is used as the starting position of the file.
  24. 根据权利要求22或23所述的方法,其特征在于,还包括:The method according to claim 22 or 23, further comprising:
    从视频组播源服务器接收各个频道的组播视频流,并按时间顺序存储各个频道的组播视频流,生成各个频道的视频文件;和receiving the multicast video streams of each channel from the video multicast source server, and storing the multicast video streams of each channel in chronological order, and generating video files of each channel; and
    基于接收到的各个频道的组播视频流,生成各个频道的同步码及其对应的PTS。Based on the received multicast video stream of each channel, the synchronization code of each channel and its corresponding PTS are generated.
  25. 根据权利要求24所述的方法,其特征在于,基于接收到的各个频道的组播视频流,生成各个频道的同步码及其对应的PTS包括:The method according to claim 24, wherein, based on the received multicast video streams of each channel, generating the synchronization code of each channel and its corresponding PTS comprises:
    基于接收到的各个频道的组播视频流,生成各个频道的同步码及其对应的PTS、以及各个频道的同步码对应的偏移量,所述偏移量表示同步码与对应频道的视频文件的开始字节之间的字节偏移量。Based on the received multicast video stream of each channel, generate the synchronization code of each channel and its corresponding PTS, and the offset corresponding to the synchronization code of each channel, the offset represents the synchronization code and the video file of the corresponding channel The byte offset between the start bytes of .
  26. 根据权利要求25所述的方法,其特征在于,所述FCC参数还包括目标同步码;The method according to claim 25, wherein the FCC parameter also includes a target synchronization code;
    其中,根据所述FCC参数向所述用户设备发送目标频道的单播视频流还包括:Wherein, sending the unicast video stream of the target channel to the user equipment according to the FCC parameters further includes:
    根据所述目标同步码查找所述目标同步码对应的目标偏移量;Searching for a target offset corresponding to the target synchronization code according to the target synchronization code;
    根据所述目标偏移量确定所述目标频道的视频文件的文件结束位置;和determining the file end position of the video file of the target channel according to the target offset; and
    在所述文件结束位置停止向所述用户设备发送所述目标频道的单播视频流。Stop sending the unicast video stream of the target channel to the user equipment at the end position of the file.
  27. 根据权利要求20所述的方法,其特征在于,还包括:The method according to claim 20, further comprising:
    向FCC调度服务器上报所述目标FCC服务器的状态信息。Report the state information of the target FCC server to the FCC scheduling server.
  28. 一种快速频道切换FCC调度服务器,其特征在于,包括:A fast channel switching FCC scheduling server is characterized in that it comprises:
    第一接收单元,用于接收用户设备发送的第一FCC请求消息,所述第一FCC请求消息包括目标频道的频道标识;The first receiving unit is configured to receive a first FCC request message sent by the user equipment, where the first FCC request message includes a channel identifier of a target channel;
    生成单元,用于响应所述第一FCC请求消息,生成FCC参数,所述FCC参数包括目标FCC服务器标识;和a generating unit, configured to generate an FCC parameter in response to the first FCC request message, where the FCC parameter includes a target FCC server identifier; and
    第一发送单元,用于将所述FCC参数返回至所述用户设备;a first sending unit, configured to return the FCC parameter to the user equipment;
    所述用户设备用于向所述目标FCC服务器标识对应的目标FCC服务器发送第二FCC请求消息,所述第二FCC请求消息包括所述FCC参数;并根据所述FCC参数请求加入所述目标频道的组播组,以从视频组播源服务器接收所述目标频道的组播视频流;The user equipment is 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 request to join the target channel according to the FCC parameter to receive the multicast video stream of the target channel from the video multicast source server;
    所述目标FCC服务器用于根据所述FCC参数向所述用户设备发送所述目标频道的单播视频流。The target FCC server is configured to send the unicast video stream of the target channel to the user equipment according to the FCC parameter.
  29. 一种快速频道切换FCC调度服务器,其特征在于,包括:A fast channel switching FCC scheduling server is characterized in that it comprises:
    存储器;以及storage; and
    处理器,被配置为调用存储在所述存储器中的指令,以执行权利要求1-12任意一项所述的方法的操作。A processor configured to invoke instructions stored in the memory to perform the operations of the method according to any one of claims 1-12.
  30. 一种用户设备,其特征在于,包括:A user equipment, characterized by comprising:
    第二发送单元,用于向快速频道切换FCC调度服务器发送第一FCC请求消息,所述第一FCC请求消息包括目标频道的频道标识,所述FCC调度服务器用于响应所述第一FCC请求消息,生成FCC参数,所述FCC参数包括目标FCC服务器标识;The second sending unit is configured to send a first FCC request message to a fast channel switching FCC dispatch server, the first FCC request message includes a channel identifier of a target channel, and the FCC dispatch server is configured to respond to the first FCC request message , generating FCC parameters, where the FCC parameters include a target FCC server identifier;
    第二接收单元,用于接收所述FCC调度服务器返回的所述FCC参数;a second receiving unit, configured to receive the FCC parameters returned by the FCC scheduling server;
    所述第二发送单元还用于向所述目标FCC服务器标识对应的目标FCC服务器发送第二FCC请求消息,所述第二FCC请求消息包括所述FCC参数;The second sending unit is further 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;
    所述第二接收单元还用于接收所述目标FCC服务器根据所述FCC参数发送的所述目标频道的单播视频流;和The second receiving unit is further configured to receive the unicast video stream of the target channel sent by the target FCC server according to the FCC parameters; and
    所述第二接收单元还用于根据所述FCC参数请求加入所述目标频道的组播组,以从视频组播源服务器接收所述目标频道的组播视频流。The second receiving unit is further configured to request to join the multicast group of the target channel according to the FCC parameter, so as to receive the multicast video stream of the target channel from the video multicast source server.
  31. 一种用户设备,其特征在于,包括:A user equipment, characterized by comprising:
    存储器;以及storage; and
    处理器,被配置为调用存储在所述存储器中的指令,以执行权利要求13-19任意一项所述的方法的操作。A processor configured to call instructions stored in the memory to perform the operations of the method according to any one of claims 13-19.
  32. 一种目标快速频道切换FCC服务器,其特征在于,包括:A target fast channel switching FCC server, characterized in that it comprises:
    第三接收单元,用于接收用户设备发送的第二FCC请求消息,所述第二FCC请求消息包括FCC参数,所述FCC参数包括所述目标FCC服务器的目标FCC服务器标识;和A third receiving unit, configured to receive a second FCC request message sent by the user equipment, where the second FCC request message includes an FCC parameter, and the FCC parameter includes a target FCC server identifier of the target FCC server; and
    第三发送单元,用于根据所述FCC参数向所述用户设备发送目标频道的单播视频流。A third sending unit, configured to send a unicast video stream of a target channel to the user equipment according to the FCC parameter.
  33. 一种目标快速频道切换FCC服务器,其特征在于,包括:A target fast channel switching FCC server, characterized in that it comprises:
    存储器;以及storage; and
    处理器,被配置为调用存储在所述存储器中的指令,以执行权利要求20-27任意一项所述的方法的操作。A processor configured to call instructions stored in the memory to perform the operations of the method according to any one of claims 20-27.
  34. 一种网际互联协议电视IPTV系统,其特征在于,包括:An Internet protocol television IPTV system is characterized in that it comprises:
    如权利要求28或29所述的快速频道切换FCC调度服务器;和A Fast Channel Switching FCC dispatch server as claimed in claim 28 or 29; and
    如权利要求32或33所述的目标快速频道切换FCC服务器。A target fast channel switching FCC server as claimed in claim 32 or 33.
  35. 根据权利要求34所述的系统,其特征在于,还包括:The system of claim 34, further comprising:
    如权利要求30或31所述的用户设备。A user equipment as claimed in claim 30 or 31.
  36. 一种计算机可读存储介质,所述计算机可读存储介质存储有计算机程序,其特征在于,所述计算机程序被电子设备执行时实现如权利要求1至12中任一项所述的方法或者如权利要求13至19中任一项所述的方法或者如权利要求20至27中任一项所述的方法。A computer-readable storage medium, the computer-readable storage medium stores a computer program, characterized in that, when the computer program is executed by an electronic device, the method according to any one of claims 1 to 12 or as described in A method as claimed in any one of claims 13 to 19 or a method as claimed in any one of claims 20 to 27.
PCT/CN2022/103770 2021-12-22 2022-07-05 Video playing method and related device WO2023115906A1 (en)

Applications Claiming Priority (2)

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

Publications (1)

Publication Number Publication Date
WO2023115906A1 true WO2023115906A1 (en) 2023-06-29

Family

ID=81101168

Family Applications (1)

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

Country Status (2)

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

Families Citing this family (5)

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

Citations (7)

* 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
CN101742175A (en) * 2008-11-18 2010-06-16 华为技术有限公司 Method and device for finding quick channel switching service
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
CN112438038A (en) * 2019-02-02 2021-03-02 华为技术有限公司 Method and device for transmitting data
CN113824540A (en) * 2021-10-29 2021-12-21 中国电信股份有限公司 Multicast retransmission method, device, server and storage medium
CN114363715A (en) * 2021-12-22 2022-04-15 中国电信股份有限公司 Video playing method and related equipment

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155298B (en) * 2006-09-25 2012-07-04 华为技术有限公司 Method and system for implementing fast switching television channel
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
US8732327B2 (en) * 2009-03-31 2014-05-20 Telefonaktiebolaget Lm Ericsson (Publ) Methods and arrangements for system providing media via multicast distribution
CN102137275B (en) * 2010-12-20 2012-12-19 华为技术有限公司 Method and device for rapidly pushing unicast stream in rapid channel switching

Patent Citations (7)

* 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
CN101742175A (en) * 2008-11-18 2010-06-16 华为技术有限公司 Method and device for finding quick channel switching service
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
CN112438038A (en) * 2019-02-02 2021-03-02 华为技术有限公司 Method and device for transmitting data
CN113824540A (en) * 2021-10-29 2021-12-21 中国电信股份有限公司 Multicast retransmission method, device, server and storage medium
CN114363715A (en) * 2021-12-22 2022-04-15 中国电信股份有限公司 Video playing method and related equipment

Also Published As

Publication number Publication date
CN114363715A (en) 2022-04-15

Similar Documents

Publication Publication Date Title
WO2023115906A1 (en) Video playing method and related device
KR102305064B1 (en) Video live broadcasting method and device
US9967161B2 (en) Coordinating analytics between media player and server
CN105338425B (en) A kind of system and method for realizing video seamless switching between multi-screen
KR101616152B1 (en) Delivering cacheable streaming media presentations
TWI602415B (en) Method and apparatus for flexible caching of delivered media
US20090106288A1 (en) Method and system for supporting media data of various coding formats
WO2020192152A1 (en) Video transmission method, root node, child node, p2p server, and system
US20160337424A1 (en) Transferring media data using a websocket subprotocol
CN108347622B (en) Multimedia data pushing method and device, storage medium and equipment
US20140109156A1 (en) Method, terminal, server and system for playing media file
CN109672857B (en) Information processing method and device for monitoring resources
CN113141522B (en) Resource transmission method, device, computer equipment and storage medium
US9485331B2 (en) Program switching method, apparatus, and media server
CN109660753B (en) Resource synchronization method and device
CN112752115A (en) Live broadcast data transmission method, device, equipment and medium
WO2023061060A1 (en) Audio and video code stream scheduling method, system, medium and electronic apparatus
CN112770122A (en) Method and system for synchronizing videos on cloud director
WO2019061256A1 (en) Streaming media-based audio and video playback method and device
CN110022286B (en) Method and device for requesting multimedia program
US11825136B2 (en) Video transcoding method and apparatus
CN111131788B (en) Monitoring resource state detection method and device and computer readable storage medium
WO2018171567A1 (en) Method, server, and terminal for playing back media stream
WO2012094992A1 (en) Method and system for data acquisition
US10523409B2 (en) Method of synchronization during the processing, by a multimedia player, of an item of multimedia content transmitted by an MBMS service

Legal Events

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

Ref document number: 22909237

Country of ref document: EP

Kind code of ref document: A1