WO2018171567A1 - Method, server, and terminal for playing back media stream - Google Patents

Method, server, and terminal for playing back media stream Download PDF

Info

Publication number
WO2018171567A1
WO2018171567A1 PCT/CN2018/079520 CN2018079520W WO2018171567A1 WO 2018171567 A1 WO2018171567 A1 WO 2018171567A1 CN 2018079520 W CN2018079520 W CN 2018079520W WO 2018171567 A1 WO2018171567 A1 WO 2018171567A1
Authority
WO
WIPO (PCT)
Prior art keywords
video stream
terminal
server
stream
fragment
Prior art date
Application number
PCT/CN2018/079520
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 WO2018171567A1 publication Critical patent/WO2018171567A1/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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/266Channel or content management, e.g. generation and management of keys and entitlement messages in a conditional access system, merging a VOD unicast channel into a multicast channel
    • H04N21/2662Controlling the complexity of the video stream, e.g. by scaling the resolution or bitrate of the video stream based on the client capabilities
    • 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
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/854Content authoring
    • H04N21/8547Content authoring involving timestamps for synchronizing content
    • 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/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet

Abstract

The present application relates to the field of communications. Disclosed are a method, server, and terminal for playing back a media stream. The method comprises: a terminal transmits an acquisition request carrying a fragment identifier of a video stream fragment, the video stream fragment being a video stream fragment that a video stream received by the terminal and transmitted by the server comprises; the server acquires the starting time of the video stream on the basis of the fragment identifier of the video stream fragment; the server acquires an audio stream corresponding to the video stream on the basis of the starting time; the server transmits the audio stream to the terminal; and the terminal receives the audio stream and plays back the video stream and the audio stream. The present application solves the problem in the prior art in which either audio cannot be played back by a terminal or the audio played is inconsistent with video picture and ensures the consistency between the audio and video picture played back by the terminal.

Description

播放媒体流的方法、服务器及终端Method, server and terminal for playing media stream
本申请要求于2017年3月21日提交中国专利局、申请号为201710172615.6、发明名称为“播放媒体流的方法、服务器及终端”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。This application claims the priority of the Chinese Patent Application filed on March 21, 2017, the Chinese Patent Office, Application No. 201710172615.6, entitled "Methods, Servers and Terminals for Playing Media Streams", the entire contents of which are incorporated herein by reference. In the application.
技术领域Technical field
本申请涉及通信领域,特别涉及一种播放媒体流的方法、服务器及终端。The present application relates to the field of communications, and in particular, to a method, a server, and a terminal for playing a media stream.
背景技术Background technique
在交互式网络电视(Internet Protocol Television,IPTV)系统中,用户可以利用诸如电视机、手机、平板电脑等终端观看电视节目。用户在观看某个频道的电视节目时,常常需要切换到另一个频道,观看该另一个频道的电视节目。为了便于说明,称该另一个频道为目标频道,终端可以通过如下方式获取目标频道的媒体流进行播放。In an Internet Protocol Television (IPTV) system, a user can watch a television program using a terminal such as a television, a mobile phone, or a tablet. When a user watches a television program of a certain channel, it is often necessary to switch to another channel to watch the television program of the other channel. For convenience of description, the other channel is referred to as a target channel, and the terminal can obtain the media stream of the target channel for playing by the following manner.
目前出现了自适应码流的场景,终端可在该场景下切换到目标频道,该场景定义了每个频道的视频流包括高码率视频流和低码率视频流两种,且快速频道切换(Fast Channel Change,FCC)服务器中缓存有视频源发送的每个频道的高码率视频流和低码率视频流,这样在终端切换到目标频道时,FCC服务器可以根据需求选择一种视频流提供给终端播放。切换过程如下:FCC服务器接收该终端发送的用于切换到目标频道的播放请求后,为了使终端能够快速播放目标频道的电视节目,所以先向终端发送目标频道的低码率视频流,发送一段时间后为了提高终端播放画面的质量,再向终端发送目标频道的高码率视频流并通知终端加入目标频道的组播组。终端播放FCC服务器发送的高码率视频流,并加入目标频道的组播组,在接收到该组播组发送的音频流和视频流后播放该音频流和该视频流。At present, there is a scene of adaptive code stream, in which the terminal can switch to the target channel, and the scene defines that the video stream of each channel includes two types of high-rate video stream and low-rate video stream, and fast channel switching. (Fast Channel Change, FCC) The server caches the high-rate video stream and the low-rate video stream of each channel sent by the video source, so that when the terminal switches to the target channel, the FCC server can select a video stream according to requirements. Provided to the terminal for playback. The handover process is as follows: after receiving the play request sent by the terminal for switching to the target channel, in order to enable the terminal to quickly play the TV program of the target channel, the FCC server first sends the low-rate video stream of the target channel to the terminal, and sends a segment. After the time, in order to improve the quality of the playback picture of the terminal, the high-rate video stream of the target channel is sent to the terminal and the terminal is notified to join the multicast group of the target channel. The terminal plays the high-rate video stream sent by the FCC server, and joins the multicast group of the target channel, and plays the audio stream and the video stream after receiving the audio stream and the video stream sent by the multicast group.
在上述自适应码流的场景中FCC服务器向终端发送视频流,并没有涉及到音频流,这样可能导致终端无法播放出声音或者播放的声音与视频画面不一致的问题。In the above scenario of the adaptive code stream, the FCC server sends the video stream to the terminal, and the audio stream is not involved, which may cause the terminal to play the sound or the played sound is inconsistent with the video picture.
发明内容Summary of the invention
为了解决现有技术中可能会导致终端播放不出声音或者播放的声音与视频画面不一致的问题,本申请的实施例提供了一种播放媒体流的方法、服务器及终端。所述技术方案如下:In order to solve the problem in the prior art that the terminal may not play the sound or the played sound is inconsistent with the video picture, the embodiment of the present application provides a method, a server, and a terminal for playing the media stream. The technical solution is as follows:
第一方面,提供了一种播放媒体流的方法,该方法包括:服务器接收终端发送的获取请求,该获取请求携带有其已发送给终端的视频流中的视频流分片的分片标识;服务器根据该分片标识确定其已发送给终端的视频流的起始时间,根据该起始时间获取该视频流对应的音频流;服务器向该终端发送该音频流,以使该终端播放该视频流和该音频流。由于服务器接收到终端发送的获取请求后,能够根据该获取请求中携带的分片标识,确定出其已发送给终端的视频流对应的音频流,该音频流和该视频流的起始时间相同,因此,终端同时播放该视频流和音频流时能够保证音视频同步,解决了相关技术中终端播放不出声音或者播放的声音与视频画面不一致的问题。A first aspect provides a method for playing a media stream, the method comprising: receiving, by a server, an acquisition request sent by a terminal, where the acquisition request carries a fragmentation identifier of a video stream fragment in a video stream that has been sent to the terminal; The server determines, according to the fragment identifier, a start time of the video stream that has been sent to the terminal, and obtains an audio stream corresponding to the video stream according to the start time; the server sends the audio stream to the terminal, so that the terminal plays the video. Stream and the audio stream. After receiving the acquisition request sent by the terminal, the server can determine the audio stream corresponding to the video stream that has been sent to the terminal according to the fragment identifier carried in the acquisition request, and the audio stream has the same start time as the video stream. Therefore, when the terminal simultaneously plays the video stream and the audio stream, the audio and video can be synchronized, and the problem that the terminal does not play the sound or the played sound is inconsistent with the video picture is solved in the related art.
在第一方面的一种可能的实现方式中,服务器向终端发送的视频流中包括至少一路音频 流的描述信息,以便终端从中选择与自身能力相符的一路音频流的描述信息,这样使得终端向服务器发送的获取请求还包括该一路音频流的描述信息;服务器在接收到该获取请求后,根据该获取请求中的分片标识确定其已发送给终端的视频流的起始时间;还根据该获取请求中的一路音频流的描述信息确定一路音频流,根据该起始时间从确定出该路音频流中获取该视频流对应的音频流。如此终端可以根据自身的能力获取与自身能力相符的音频流进行播放。In a possible implementation manner of the first aspect, the video stream sent by the server to the terminal includes description information of the at least one audio stream, so that the terminal selects, from the audio stream, the description information of the audio stream that matches the capability of the terminal, so that the terminal The obtaining request sent by the server further includes description information of the one audio stream; after receiving the obtaining request, the server determines, according to the fragment identifier in the obtaining request, a start time of the video stream that has been sent to the terminal; The description information of the one audio stream in the request is determined to determine an audio stream, and the audio stream corresponding to the video stream is obtained from the determined audio stream according to the start time. In this way, the terminal can acquire an audio stream that matches its own capabilities for playback according to its own capabilities.
在第一方面的一种可能的实现方式中,服务器在接收终端发送的携带有分片标识的获取请求之前,向终端发送实时传输控制协议(Real-time Transport Control Protocol,RTCP)包,该RTCP包的分片时间戳字段携带该分片标识。服务器通过向终端发送RTCP包,该RTCP包的分片时间戳字段携带该分片标识,以便终端向该服务器发送携带有该分片标识的获取请求,该获取请求用于向服务器请求获取该终端已接收到的视频流对应的音频流。In a possible implementation manner of the first aspect, the server sends a Real-time Transport Control Protocol (RTCP) packet to the terminal before receiving the acquisition request that is sent by the terminal and carrying the fragment identifier. The fragment timestamp field of the packet carries the fragment identifier. The server sends an RTCP packet to the terminal, where the fragment timestamp field of the RTCP packet carries the fragment identifier, so that the terminal sends an acquisition request carrying the fragment identifier to the server, where the acquisition request is used to request the server to acquire the terminal. The audio stream corresponding to the received video stream.
在第一方面的一种可能的实现方式中,服务器已发送给终端的视频流为第一码率的第一视频流,该方法还包括:服务器在停止向终端发送第一视频流并向该终端发送第二码率的第二视频流时,第一码率小于第二码率,向终端发送通知消息,该通知消息携带第一视频流的最后一个数据包的序号和第二视频流的第一个数据包的序号。由于终端接收到第一视频流的最后一个数据包后,接收到的是第二视频流的第一个数据包,该最后一个数据包的序号与该第一个数据包的序号不连续,为避免终端误判成数据包丢失,停止播放第二数据流,服务器向终端发送通知消息,以便终端根据该通知消息确定该最后一个数据包和第一个数据包是连续的数据包,从而正常从该第一个数据包开始播放第二视频流。In a possible implementation manner of the first aspect, the video stream that the server has sent to the terminal is the first video stream of the first code rate, the method further includes: stopping, by the server, sending the first video stream to the terminal and When the terminal sends the second video stream of the second code rate, the first code rate is smaller than the second code rate, and the terminal sends a notification message, where the notification message carries the sequence number of the last data packet of the first video stream and the second video stream. The sequence number of the first packet. After receiving the last data packet of the first video stream, the terminal receives the first data packet of the second video stream, and the sequence number of the last data packet is not continuous with the sequence number of the first data packet. The terminal avoids the erroneous determination of the packet loss, stops playing the second data stream, and the server sends a notification message to the terminal, so that the terminal determines, according to the notification message, that the last data packet and the first data packet are consecutive data packets, so that the normal The first packet begins to play the second video stream.
在第一方面的一种可能的实现方式中,服务器向终端发送的通知消息为服务端终端通知(Server terminal notification,SCN)报文,该SCN报文包括旧序号字段和新序号字段,旧序号字段携带服务器向终端发送的第一视频流的最后一个数据包的序号,新序号字段携带服务器向终端发送的第二视频流的第一个数据包的序号。In a possible implementation manner of the first aspect, the notification message sent by the server to the terminal is a server terminal notification (SCN) message, where the SCN message includes an old sequence number field and a new sequence number field, and the old sequence number The field carries the sequence number of the last data packet of the first video stream sent by the server to the terminal, and the new sequence number field carries the sequence number of the first data packet of the second video stream sent by the server to the terminal.
第二方面,提供了一种播放媒体流的方法,该方法包括:终端向服务器发送获取请求,该获取请求携带有其已接收的视频流中视频流分片的分片标识,以便服务器根据该获取请求发送该视频流对应的音频流,该音频流的起始时间和该视频流的起始时间相同;终端接收服务器发送的音频流,播放其接收到的视频流以及音频流。由于该视频流以及该音频流的起始时间相同,因此终端同时播放该视频流和音频流时能够保证音视频同步,解决了相关技术中终端播放不出声音或者播放的声音与视频画面不一致的问题。A second aspect provides a method for playing a media stream, the method comprising: the terminal sending an acquisition request to the server, where the acquisition request carries a fragmentation identifier of the video stream fragment in the received video stream, so that the server according to the Acquiring to send an audio stream corresponding to the video stream, the start time of the audio stream is the same as the start time of the video stream; the terminal receives the audio stream sent by the server, and plays the video stream and the audio stream it receives. Since the video stream and the start time of the audio stream are the same, the terminal can ensure the audio and video synchronization when playing the video stream and the audio stream at the same time, and solves the problem that the terminal does not play the sound or the played sound is inconsistent with the video picture in the related art. problem.
在第二方面的一种可能的实现方式中,终端从服务器接收到的视频流中包括至少一路音频流的描述信息,终端还从这些描述信息中选择自身能力相符的一路音频流的描述信息,其向服务器发送的获取请求还包括该一路音频流的描述信息,以从服务器获取与自身能力相符的音频流进行播放。In a possible implementation manner of the second aspect, the terminal, the video stream received by the terminal, includes the description information of the at least one audio stream, and the terminal further selects, from the description information, the description information of the audio stream that matches the capability of the first channel. The acquisition request sent to the server further includes description information of the one audio stream to obtain an audio stream corresponding to its own capability from the server for playing.
在第二方面的一种可能的实现方式中,终端在向服务器发送携带有分片标识的获取请求之前,还接收到服务器发送的RTCP包,获取该RTCP包的分片时间戳字段携带该终端已接收到的视频流中视频流分片的分片标识,将该分片标识添加至该获取请求,使服务器接收到该获取请求后,根据该分片标识向该终端发送该终端已接收到的视频流对应的音频流。In a possible implementation manner of the second aspect, the terminal receives the RTCP packet sent by the server, and obtains the fragment timestamp field of the RTCP packet to carry the terminal, before sending the acquisition request that carries the fragment identifier to the server. The fragment identifier of the video stream fragment in the received video stream, the fragment identifier is added to the acquisition request, and after receiving the acquisition request, the server sends the terminal identifier to the terminal according to the fragment identifier. The video stream corresponds to the audio stream.
在第二方面的一种可能的实现方式中,终端已接收的视频流为第一码率的第一视频流,终端还接收服务器发送的第二码率的第二视频流,第二码率大于第一码率;终端还接收了服 务器发送的通知消息,该通知消息携带两个序号,其中一个序号该第一视频流的最后一个数据包的序号,另一个序号为该第二视频流的第一个数据包的序号;根据该通知消息播放其接收到的第二视频流。由于终端接收到第一视频流的最后一个数据包后,接收到第二视频流的第一个数据包,该最后一个数据包的序号与该第一个数据包的序号不连续,为避免终端误判成数据包丢失,停止播放第二数据流,服务器向终端发送通知消息,该通知消息中包含该最后一个数据包的序号以及该第一个数据包的序号。以便终端根据该通知消息确定该最后一个数据包和第一个数据包是连续的数据包,从而正常从该第一个数据包开始播放第二视频流。In a possible implementation manner of the second aspect, the video stream received by the terminal is the first video stream of the first code rate, and the terminal further receives the second video stream of the second code rate sent by the server, the second code rate. The terminal further receives the notification message sent by the server, where the notification message carries two serial numbers, one of which is the serial number of the last data packet of the first video stream, and the other serial number is the second video stream. The sequence number of the first data packet; the second video stream it receives is played according to the notification message. After receiving the last data packet of the first video stream, the terminal receives the first data packet of the second video stream, and the sequence number of the last data packet is not continuous with the sequence number of the first data packet, to avoid the terminal. If the data packet is lost, the second data stream is stopped, and the server sends a notification message to the terminal, where the notification message includes the sequence number of the last data packet and the sequence number of the first data packet. The terminal determines, according to the notification message, that the last data packet and the first data packet are consecutive data packets, so that the second video stream is normally played from the first data packet.
在第二方面的一种可能的实现方式中,终端接收到的服务器发送的通知消息为SCN报文,SCN报文包括旧序号字段和新序号字段,旧序号字段携带该终端从服务器接收到的第一视频流的最后一个数据包的序号,新序号字段携带该终端从服务器接收到的第二视频流的第一个数据包的序号。In a possible implementation manner of the second aspect, the notification message sent by the server received by the terminal is an SCN message, where the SCN message includes an old sequence number field and a new sequence number field, and the old sequence number field carries the terminal received from the server. The sequence number of the last data packet of the first video stream, and the new sequence number field carries the sequence number of the first data packet of the second video stream received by the terminal from the server.
第三方面,提供了一种播放媒体流的装置,该装置包括至少一个单元,该至少一个单元用于实现上述第一方面或第一方面中任意一种可能的实现方式所提供的播放媒体流的方法。A third aspect provides an apparatus for playing a media stream, the apparatus comprising at least one unit, the at least one unit configured to implement the play media stream provided by the foregoing first aspect or any one of the possible implementation manners of the first aspect Methods.
第四方面,提供了一种播放媒体流的装置,该装置包括至少一个单元,该至少一个单元用于实现上述第二方面或第二方面中任意一种可能的实现方式所提供的播放媒体流的方法。A fourth aspect provides an apparatus for playing a media stream, the apparatus comprising at least one unit, the at least one unit configured to implement the play media stream provided by any one of the foregoing second aspect or the second aspect Methods.
第五方面,提供了一种服务器,该服务器包括:处理器和网络端口,处理器被配置为通过执行指令来实现上述第一方面或第一方面中任意一种可能的实现方式所提供的播放媒体流的方法。In a fifth aspect, a server is provided, the server comprising: a processor and a network port, the processor being configured to implement the playback provided by any one of the first aspect or the first aspect of the first aspect by executing an instruction The method of media streaming.
第六方面,提供了一种终端,该终端包括:处理器和网络端口,处理器被配置为通过执行指令来实现上述第二方面或第二方面中任意一种可能的实现方式所提供的播放媒体流的方法。In a sixth aspect, a terminal is provided, the terminal comprising: a processor and a network port, the processor being configured to implement the playback provided by any one of the foregoing second aspect or the second aspect by executing an instruction The method of media streaming.
第七方面,提供了一种播放媒体流的系统,系统中包括如上述第三方面或第五方面所提供的服务器,以及,如上述第四方面或第六方面所提供的终端。The seventh aspect provides a system for playing a media stream, the system comprising the server provided by the third aspect or the fifth aspect, and the terminal provided by the fourth aspect or the sixth aspect.
第八方面,提供了一种计算机可读介质,该计算机可读介质存储用于实现第一方面或第一方面的任意一种可能的实现方式所提供的播放媒体流的指令,或者,该计算机可读介质存储用于实现第二方面或第二方面的任意一种可能的实现方式所提供的播放媒体流的指令。In an eighth aspect, a computer readable medium storing instructions for implementing a playback media stream provided by the first aspect or any one of the possible implementations of the first aspect, or the computer The readable medium stores instructions for playing a media stream provided by any one of the possible implementations of the second aspect or the second aspect.
附图说明DRAWINGS
图1是本发明一个示例性实施例提供的IPTV系统的结构示意图;1 is a schematic structural diagram of an IPTV system according to an exemplary embodiment of the present invention;
图2是本发明一个示例性实施例提供的视频流分片以及音频流分片示意图;FIG. 2 is a schematic diagram of video stream segmentation and audio stream segmentation according to an exemplary embodiment of the present invention; FIG.
图3是本发明一个示例性实施例提供的服务器的结构示意图;FIG. 3 is a schematic structural diagram of a server according to an exemplary embodiment of the present invention; FIG.
图4是本发明一个示例性实施例提供的终端的结构示意图;FIG. 4 is a schematic structural diagram of a terminal according to an exemplary embodiment of the present invention; FIG.
图5是本发明一个示例性实施例提供的播放媒体流的方法的流程图;FIG. 5 is a flowchart of a method for playing a media stream according to an exemplary embodiment of the present invention; FIG.
图6是本发明一个示例性实施例提供的RTCP包的结构示意图;FIG. 6 is a schematic structural diagram of an RTCP packet according to an exemplary embodiment of the present invention;
图7是本发明一个示例性实施例提供的SCN报文的结构示意图;FIG. 7 is a schematic structural diagram of an SCN message according to an exemplary embodiment of the present invention;
图8是本发明另一个示例性实施例提供的服务器的结构示意图;FIG. 8 is a schematic structural diagram of a server according to another exemplary embodiment of the present invention; FIG.
图9是本发明另一个示例性实施例提供的终端的结构示意图。FIG. 9 is a schematic structural diagram of a terminal according to another exemplary embodiment of the present invention.
具体实施方式detailed description
为使本申请的目的、技术方案和优点更加清楚,下面将结合附图对本申请实施方式作进一步地详细描述。In order to make the objects, technical solutions and advantages of the present application more clear, the embodiments of the present application will be further described in detail below with reference to the accompanying drawings.
请参考图1,其示出了本发明一个示例性实施例提供的IPTV系统的结构示意图。该IPTV系统包括:源服务器110、编码服务器120、组播服务器130、FCC服务器140以及终端150。Please refer to FIG. 1 , which is a schematic structural diagram of an IPTV system according to an exemplary embodiment of the present invention. The IPTV system includes: a source server 110, an encoding server 120, a multicast server 130, an FCC server 140, and a terminal 150.
源服务器110可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。源服务器110包括至少一个频道中的每个频道的媒体流,该媒体流包括第二视频流和该第二视频流对应的音频流等,还可以包括字幕流等。源服务器110通过有线网络或者无线网络与编码服务器120相连接,可以向编码服务器120发送每个频道的媒体流。其中,频道可以包括电视频道、直播频道以及轮播频道等等。The source server 110 can be a server, or a server cluster consisting of several servers, or a cloud computing service center. The source server 110 includes a media stream of each of at least one channel, the media stream includes a second video stream and an audio stream corresponding to the second video stream, and the like, and may further include a subtitle stream or the like. The source server 110 is connected to the encoding server 120 via a wired network or a wireless network, and the media stream of each channel can be transmitted to the encoding server 120. Among them, the channel may include a television channel, a live channel, a carousel channel, and the like.
通常来讲,源服务器110中的媒体流是技术人员事先制作并上传到源服务器110上的。技术人员在制作媒体流时,可以制作第二视频流和该第二视频流对应的至少一路音频流,并且设置每路音频流的描述信息,且制作的第二视频流中包括设置的每路音频流的描述信息。音频流的描述信息可以包括该路音频流对应的播放语言、流标识和码率等信息。举例来讲,技术人员在制作第二视频流A时,除了制作第二视频流A,还为第二视频流A制作了两路音频流,其中一路是播放语言为中文的音频流,另一路是播放语言为英文的音频流,且制作完的第二视频流A中包括该两路音频流的描述信息。Generally, the media stream in the source server 110 is previously created by the technician and uploaded to the source server 110. When the technician creates the media stream, the second video stream and the at least one audio stream corresponding to the second video stream may be created, and the description information of each audio stream is set, and the created second video stream includes each path set. Description of the audio stream. The description information of the audio stream may include information such as a playing language, a stream identifier, and a code rate corresponding to the audio stream of the channel. For example, when the second video stream A is created, the technician creates two audio streams for the second video stream A, one of which is an audio stream in which the language is Chinese, and the other is The audio stream in which the language is English is played, and the created second video stream A includes description information of the two audio streams.
其中,通常技术人员制作的第二视频流的码率较高,所以第二视频流的清晰度较高。为了便于说明,称第二视频流的码率为第二码率。Among them, the second video stream usually produced by a technician has a higher code rate, so the resolution of the second video stream is higher. For convenience of explanation, the code rate of the second video stream is referred to as the second code rate.
编码服务器120接收源服务器110发送的每个频道的媒体流。对于每个频道的媒体流,编码服务器120利用自适应码率(Adaptive Bit Rate,ABR)编码技术对该频道的媒体流包括的第二视频流进行降码生成至少一路第一视频流,该至少一路第一视频流中的每路第一视频流的第一码率互不相同,且均小于第二视频流的第二码率。所以每个频道对应一路第二视频流、至少一路第一视频流和至少一路音频流等。由于每路第一视频流都是通过对第二视频流进行降码得到的,所以第一视频流的清晰度小于第二视频流的清晰度。The encoding server 120 receives the media stream of each channel transmitted by the source server 110. For the media stream of each channel, the encoding server 120 uses an Adaptive Bit Rate (ABR) encoding technique to down-convert the second video stream included in the media stream of the channel to generate at least one first video stream, the at least one The first code rate of each of the first video streams in the first video stream is different from each other, and is smaller than the second code rate of the second video stream. Therefore, each channel corresponds to one second video stream, at least one first video stream, and at least one audio stream. Since each first video stream is obtained by downsampling the second video stream, the resolution of the first video stream is smaller than the resolution of the second video stream.
可选的,编码服务器120中存储有至少一个预设的第一码率,可以根据存储的至少一个第一码率,对该第二视频流进行降码得到至少一路第一视频流。Optionally, the encoding server 120 stores at least one preset first code rate, and the second video stream may be down-coded according to the stored at least one first code rate to obtain at least one first video stream.
编码服务器120通过有线网络或者无线网络与组播服务器130相连接,编码服务器120向组播服务器130发送每个频道的媒体流,向组播服务器130发送的每个频道的媒体流包括其从源服务器110接收到的一路第二视频流和至少一路音频流等内容外,还包括对该一路第二视频流进行降码得到的至少一路第一视频流。The encoding server 120 is connected to the multicast server 130 through a wired network or a wireless network, and the encoding server 120 transmits the media stream of each channel to the multicast server 130, and the media stream of each channel transmitted to the multicast server 130 includes its source. In addition to the content of the second video stream and the at least one audio stream, the server 110 further includes at least one first video stream obtained by down-converting the second video stream.
组播服务器130可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。组播服务器130通过有线网络或者无线网络分别与FCC服务器140以及终端150相连接。The multicast server 130 can be a server, or a server cluster consisting of several servers, or a cloud computing service center. The multicast server 130 is connected to the FCC server 140 and the terminal 150 via a wired network or a wireless network, respectively.
组播服务器130接收编码服务器120发送的每个频道的媒体流,将接收到的每个频道的媒体流实时转发给FCC服务器140。组播服务器130还针对每个频道维护一个组播组,向位于该组播组内的终端150发送该频道的媒体流。The multicast server 130 receives the media stream of each channel sent by the encoding server 120, and forwards the received media stream of each channel to the FCC server 140 in real time. The multicast server 130 also maintains a multicast group for each channel, and transmits the media stream of the channel to the terminal 150 located in the multicast group.
FCC服务器140可以是一台服务器,或者由若干台服务器组成的服务器集群,或者是一个云计算服务中心。FCC服务器140通过有线网络或者无线网络与终端150相连接。The FCC server 140 can be a server, or a server cluster consisting of several servers, or a cloud computing service center. The FCC server 140 is connected to the terminal 150 through a wired network or a wireless network.
终端150可以包括智能电视、机顶盒、智能手机、平板电脑、智能电视、膝上型便携计算机和台式计算机等等,在启动时或在切换频道时,向FCC服务器140发送携带有目标频道的频道标识的播放请求,请求FCC服务器140发送目标频道的媒体流。The terminal 150 may include a smart TV, a set top box, a smart phone, a tablet, a smart TV, a laptop portable computer, a desktop computer, etc., and transmits a channel identifier carrying the target channel to the FCC server 140 at startup or when switching channels. The play request requests the FCC server 140 to send the media stream of the target channel.
FCC服务器140,用于在接收到终端150发送播放请求后,根据该播放请求携带的目标频道的频道标识,向终端150发送目标频道对应的一路第一视频流和第一视频流包括的视频流分片的分片标识;接收终端150发送的携带有该分片标识的获取请求;根据该分片标识获取第一视频流对应的音频流,向终端150发送该音频流。The FCC server 140 is configured to: after receiving the play request by the terminal 150, send, according to the channel identifier of the target channel carried by the play request, the first video stream corresponding to the target channel and the video stream included in the first video stream to the terminal 150. The fragmentation identifier of the fragment is received by the receiving terminal 150, and the audio stream corresponding to the first video stream is obtained according to the fragment identifier, and the audio stream is sent to the terminal 150.
终端150,用于接收FCC服务器140发送的第一视频流和该分片标识,向FCC服务器140发送携带有该分片标识的获取请求,接收FCC服务器140发送第一视频流对应的音频流,播放该第一视频流和该音频流。由于第一视频流的第一码率较低,小于第二码率,所以终端150能够快速播放第一视频流。The terminal 150 is configured to receive the first video stream sent by the FCC server 140 and the fragment identifier, and send an acquisition request carrying the fragment identifier to the FCC server 140, and the receiving FCC server 140 sends the audio stream corresponding to the first video stream. The first video stream and the audio stream are played. Since the first code rate of the first video stream is lower than the second code rate, the terminal 150 can quickly play the first video stream.
FCC服务器140在开始发送该音频流之后的某个时间,会向终端150发送目标频道对应的第二视频流。由于第二视频流的第二码率大于第一视频流的第一码率,所以可以提高终端150播放视频画面的质量。At some time after the start of the transmission of the audio stream, the FCC server 140 transmits a second video stream corresponding to the target channel to the terminal 150. Since the second code rate of the second video stream is greater than the first code rate of the first video stream, the quality of the video picture played by the terminal 150 can be improved.
终端150,还用于接收FCC服务器140发送的目标频道的第二视频流并播放第二视频流,同时还申请加入组播服务器130中的该目标频道对应的组播组,并接收组播服务器130发送的目标频道的第二视频流;当播放FCC服务器140发送的第二视频流和组播服务器130发送的第二视频流相同时,播放组播服务器130发送的第二视频流。The terminal 150 is further configured to receive the second video stream of the target channel sent by the FCC server 140 and play the second video stream, and also apply to join the multicast group corresponding to the target channel in the multicast server 130, and receive the multicast server. The second video stream of the target channel is sent by 130; when the second video stream sent by the FCC server 140 is the same as the second video stream sent by the multicast server 130, the second video stream sent by the multicast server 130 is played.
需要说明的是:编码服务器120在接收源服务器110发送的某个频道的媒体流时,还可以对该媒体流包括的第二视频流进行分片,使该第二视频流包括多个视频流分片,为每个视频流分片生成分片标识。另外,编码服务器120对该第二视频流进行降码得到的每路第一视频流也是由视频流分片组成。It should be noted that, when receiving the media stream of a certain channel sent by the source server 110, the encoding server 120 may further slice the second video stream included in the media stream, so that the second video stream includes multiple video streams. Fragmentation, which generates a fragmentation identifier for each video stream fragment. In addition, each of the first video streams obtained by the encoding server 120 down-converting the second video stream is also composed of video stream fragments.
在第二视频流中的每个视频流分片对应第一视频流中的一个视频流分片。对于第二视频流中的任一个视频流分片,以及该视频流分片在第一视频流中对应的一个视频流分片,该两个视频流分片的起始时间、视频内容和分片标识均相同,但该两个视频流分片的清晰度不同以及包括的数据包的数目不同,位于第二视频流的视频流分片包括的数据包的数目多于位于第一视频流的视频流分片包括的数据包的数目。位于第二视频流的每个视频流分片包括的第一帧为用于解码视频流的关键帧,以及位于第一视频流的每个视频流分片包括的第一帧也为用于解码视频流的关键帧。该数据包可以为RTP数据包。Each video stream slice in the second video stream corresponds to one video stream slice in the first video stream. For the video stream segmentation of the second video stream, and the video stream segmentation corresponding to the one video stream segment in the first video stream, the start time, the video content, and the score of the two video stream segments The slice identifiers are all the same, but the resolutions of the two video stream fragments are different and the number of data packets included is different. The video stream fragments located in the second video stream include more data packets than the first video stream. The number of packets included in the video stream fragment. Each video stream segment located in the second video stream includes a first frame that is a key frame for decoding the video stream, and a first frame included in each video stream segment of the first video stream is also used for decoding. The key frame of the video stream. The data packet can be an RTP data packet.
请参见图2,以第一视频流中连续的4个视频流分片S11、S12、S13以及S14来举例说明,视频流分片S11在第二视频流中对应的视频流分片为S21,S11与S21的分片标识均为“1”;视频流分片S12在第二视频流中对应的视频流分片为S22,S12与S22的分片标识均为“2”;视频流分片S13在第二视频流中对应的视频流分片为S23,S13与S23的分片标识均为“3”;,视频流分片S14在第二视频流中对应的视频流分片为S24,S14在S24的分片标识均为“4”。Referring to FIG. 2, the following four video stream fragments S11, S12, S13, and S14 in the first video stream are used as an example. The video stream fragment S11 is corresponding to the video stream fragment in the second video stream. The fragment identifiers of S11 and S21 are both "1"; the video stream fragment S12 is corresponding to the video stream fragment in the second video stream, and the fragment identifiers of S12 and S22 are both "2"; the video stream is fragmented. S13, in the second video stream, the corresponding video stream fragment is S23, and the fragment identifiers of S13 and S23 are both “3”; and the corresponding video stream fragment of the video stream fragment S14 in the second video stream is S24. The slice identifier of S14 at S24 is "4".
在第二视频流中的每个视频分片包括的数据包数目大于该视频分片在一视频流中对应的视频流分片包括的数据包数目。举例来讲,仍旧参见图2,第一视频流中视频流分片S11包括的数据包的数量为2,小于视频流分片S21包括的数据包的数量4。Each video slice in the second video stream includes a greater number of data packets than the number of data packets included in the corresponding video stream segment of the video slice in a video stream. For example, referring to FIG. 2, the number of data packets included in the video stream segment S11 in the first video stream is 2, which is smaller than the number 4 of data packets included in the video stream segment S21.
另外,编码服务器120还可以将该媒体流包括的音频流进行分片,使该音频流包括多个 音频流分片,为该音频流分片生成分片标识。第一视频流和第二视频流中的每个视频流分片对应音频流中的音频流分片,视频流分片和其对应的音频流分片的起始时间相同。In addition, the encoding server 120 may further slice the audio stream included in the media stream, and the audio stream includes a plurality of audio stream fragments, and generate a fragment identifier for the audio stream fragment. Each of the first video stream and the second video stream corresponds to an audio stream fragment in the audio stream, and the video stream fragment has the same start time as its corresponding audio stream fragment.
编码服务器120对该媒体流包括的第一视频流、第二视频流和音频流进行分片后,才向组播服务器130发送该媒体流。The encoding server 120 fragments the first video stream, the second video stream, and the audio stream included in the media stream, and then sends the media stream to the multicast server 130.
还需要说明的是:组播服务器130在接收到编码服务器120发送的某个频道的媒体流后,可以给该媒体流中包括的第一视频流中的每个视频流分片添加时间戳,第二视频流中的每个视频流分片添加时间戳以及音频流包括的每个音频流分片添加时间戳。对于第一视频流中的任一视频流分片,该视频流分片和该视频流分片在第二视频流中对应的视频流分片,该两个视频流分片的时间戳相同,该视频流分片的时间戳和该视频流分片在音频流中对应的音频流分片的时间戳也相同。It should be noted that after receiving the media stream of a certain channel sent by the encoding server 120, the multicast server 130 may add a timestamp to each video stream segment in the first video stream included in the media stream. Each video stream slice in the second video stream adds a timestamp and each audio stream slice included in the audio stream adds a timestamp. For any video stream fragment in the first video stream, the video stream fragment and the video stream fragment are fragmented in a corresponding video stream in the second video stream, and the time stamps of the two video stream fragments are the same. The time stamp of the video stream fragment and the time stamp of the video stream fragment corresponding to the audio stream fragment in the audio stream are also the same.
仍旧参见图2,与视频流分片S11以及视频流分片S21对应的音频流分片为S31,S11、S21以及S31三者对应的时间戳相同,因此S11与S21的视频内容相同,S31中的音频内容与该视频内容相对应。Referring to FIG. 2, the audio stream segment corresponding to the video stream segment S11 and the video stream segment S21 is S31, and the timestamps corresponding to the three of S11, S21, and S31 are the same, so the video content of S11 and S21 is the same, in S31. The audio content corresponds to the video content.
组播服务器130对该媒体流包括的第一视频流中的每个视频流分片、第二视频流中的每个分片以及音频流中的每个音频流分片分别添加时间戳信息后,向FCC服务器140以及终端150发送该媒体流。The multicast server 130 adds timestamp information to each of the video stream segments in the first video stream, each of the second video streams, and each of the audio stream segments in the audio stream. The media stream is sent to the FCC server 140 and the terminal 150.
请参考图3,其示出了本发明一个示例性实施例提供的服务器的结构示意图,该服务器可以为图1所示实施例中的FCC服务器140,该服务器包括:处理器31、网络接口32、高速缓存器33以及存储器34。Please refer to FIG. 3 , which is a schematic structural diagram of a server provided by an exemplary embodiment of the present invention. The server may be the FCC server 140 in the embodiment shown in FIG. 1 , where the server includes: a processor 31 and a network interface 32. The cache 33 and the memory 34.
处理器31包括一个或者一个以上处理核心,处理器31通过运行软件程序以及模块,从而执行各种功能应用以及数据处理。The processor 31 includes one or more processing cores, and the processor 31 executes various functional applications and data processing by running software programs and modules.
网络接口32可以为多个,其中一部分网络接口32用于与组播服务器130进行通信,其中一部分网络接口32用于与终端150进行通信。There may be multiple network interfaces 32, some of which are used to communicate with the multicast server 130, with a portion of the network interface 32 being used to communicate with the terminal 150.
高速缓存器33与处理器31相连,用于缓存从组播服务器130接收到的至少一个频道的媒体流,可以通过总线与网络接口32相连。The cache 33 is coupled to the processor 31 for buffering media streams of at least one channel received from the multicast server 130 and may be coupled to the network interface 32 via a bus.
存储器34与处理器31相连,比如,存储器34可以通过总线与处理器31相连;存储器23可用于存储软件程序以及模块。The memory 34 is coupled to the processor 31. For example, the memory 34 can be coupled to the processor 31 via a bus; the memory 23 can be used to store software programs and modules.
存储器34可以存储至少一个功能所需的应用程序模块35,应用程序模块35可以包含发送模块351、处理模块352、接收模块353等。处理器31通过运行发送模块351、处理模块352和接收模块353以执行图5中FCC服务器执行的相应步骤,具体参见对图5的描述。The memory 34 can store an application module 35 required for at least one function, and the application module 35 can include a transmitting module 351, a processing module 352, a receiving module 353, and the like. The processor 31 executes the corresponding steps performed by the FCC server in FIG. 5 by running the transmitting module 351, the processing module 352, and the receiving module 353, as specifically described with respect to FIG.
存储器34可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如静态随机存取存储器(英文:static random access memory,SRAM),电可擦除可编程只读存储器(英文:electrically erasable programmable read-only memory,EEPROM),可擦除可编程只读存储器(英文:erasable programmable read only memory,EPROM),可编程只读存储器(英文:programmable read only memory,PROM),只读存储器(英文:read only memory image,ROM),磁存储器,快闪存储器,磁盘或光盘。The memory 34 can be implemented by any type of volatile or non-volatile storage device or a combination thereof, such as static random access memory (SRAM), electrically erasable programmable read only memory ( English: electrically erasable programmable read-only memory (EEPROM), erasable programmable read only memory (EPROM), programmable read only memory (English: programmable read only memory, PROM), only Read memory (English: read only memory image, ROM), magnetic memory, flash memory, disk or optical disk.
本领域技术人员可以理解,图3中所示出的服务器的结构并不构成对服务器的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。It will be understood by those skilled in the art that the structure of the server shown in FIG. 3 does not constitute a limitation to the server, and may include more or less components than those illustrated, or some components may be combined, or different component arrangements.
请参考图4,其示出了本发明一个示例性实施例提供的终端的结构示意图。该终端可以 图1所示实施例中的终端150。该终端包括:处理器41、网络接口42和存储器43。Please refer to FIG. 4, which is a schematic structural diagram of a terminal provided by an exemplary embodiment of the present invention. The terminal can be the terminal 150 in the embodiment shown in FIG. The terminal includes a processor 41, a network interface 42, and a memory 43.
处理器41包括一个或者一个以上处理核心,处理器41通过运行软件程序以及模块,从而执行各种功能应用以及数据处理。The processor 41 includes one or more processing cores, and the processor 41 executes various functional applications and data processing by running software programs and modules.
网络接口42可以为多个,其中一部分网络接口42用于与组播服务器130进行通信,其中一部分网络接口42用于与FCC服务器140进行通信。There may be multiple network interfaces 42, some of which are used to communicate with the multicast server 130, with a portion of the network interface 42 being used to communicate with the FCC server 140.
存储器43与处理器41相连,比如,存储器43可以通过总线与处理器41相连;存储器43可用于存储软件程序以及模块。The memory 43 is coupled to the processor 41. For example, the memory 43 can be coupled to the processor 41 via a bus; the memory 43 can be used to store software programs and modules.
存储器43可以存储至少一个功能所需的应用程序模块44,应用程序模块44可以包含发送模块441、处理模块442、接收模块443等。处理器41通过运行发送模块441、处理模块442和接收模块443以执行图5中终端执行的相应步骤,具体参见对图5的描述。The memory 43 can store an application module 44 required for at least one function, and the application module 44 can include a transmission module 441, a processing module 442, a receiving module 443, and the like. The processor 41 executes the corresponding steps performed by the terminal in FIG. 5 by running the transmitting module 441, the processing module 442, and the receiving module 443, with specific reference to the description of FIG.
存储器43可以由任何类型的易失性或非易失性存储设备或者它们的组合实现,如static SRAM,EEPROM,EPROM),PROM,ROM,磁存储器,快闪存储器,磁盘或光盘。 Memory 43 can be implemented by any type of volatile or non-volatile storage device, or a combination thereof, such as static SRAM, EEPROM, EPROM, PROM, ROM, magnetic memory, flash memory, magnetic or optical disk.
本领域技术人员可以理解,图4中所示出的终端的结构并不构成对终端的限定,可以包括比图示更多或更少的部件,或者组合某些部件,或者不同的部件布置。It will be understood by those skilled in the art that the structure of the terminal shown in FIG. 4 does not constitute a limitation of the terminal, and may include more or less components than those illustrated, or a combination of certain components, or different component arrangements.
请参考图5,其示出了本发明一个示例性实施例提供的播放媒体流的方法,该播放媒体流的方法应用于如图1所示的IPTV系统中,该播放媒体流的方法可以包括:Please refer to FIG. 5, which illustrates a method for playing a media stream according to an exemplary embodiment of the present invention. The method for playing a media stream is applied to an IPTV system as shown in FIG. 1. The method for playing a media stream may include :
步骤501,终端向FCC服务器发送携带有目标频道的频道标识的播放请求。Step 501: The terminal sends a play request carrying the channel identifier of the target channel to the FCC server.
终端可以在如下情况向FCC服务器发送播放请求,包括:The terminal can send a play request to the FCC server in the following situations, including:
第一、终端需要从当前播放的原频道切换到目标频道时向FCC服务器发送播放请求。First, the terminal needs to send a play request to the FCC server when switching from the currently playing original channel to the target channel.
在终端当前正在播放原频道的媒体流时,用户可以选择需要切换的目标频道。当终端检测到被选择的目标频道时,获取目标频道的频道标识,向FCC服务器发送携带有目标频道的频道标识的播放请求。When the terminal is currently playing the media stream of the original channel, the user can select the target channel that needs to be switched. When the terminal detects the selected target channel, the channel identifier of the target channel is acquired, and a play request carrying the channel identifier of the target channel is sent to the FCC server.
当终端在检测到被选择的目标频道时,终端还断开其与组播服务器之间连接,以停止接收组播服务器发送的原频道的媒体流。When the terminal detects the selected target channel, the terminal also disconnects its connection with the multicast server to stop receiving the media stream of the original channel sent by the multicast server.
第二、终端在启动时将预设的频道作为目标频道,并向FCC服务器发送播放请求,以请求加入目标频道。Second, the terminal uses the preset channel as the target channel when starting, and sends a play request to the FCC server to request to join the target channel.
预设的频道可以是终端在出厂时设置的默认频道,或者是终端在最近上一次关闭时播放的频道。所以终端在当前启动时可以获取默认频道的频道标识或最近上一次关闭时播放的频道的频道标识,将获取的频道标识作为目标频道的频道标识,向FCC服务器发送携带有目标频道的频道标识的播放请求。The preset channel can be the default channel set by the terminal at the factory, or the channel played by the terminal when it was last turned off. Therefore, the terminal can obtain the channel identifier of the default channel or the channel identifier of the channel played last time when the terminal is currently activated, and use the obtained channel identifier as the channel identifier of the target channel, and send the channel identifier carrying the target channel to the FCC server. Play the request.
步骤502,FCC服务器接收终端发送的播放请求,根据该播放请求携带的目标频道的频道标识向终端发送目标频道的第一视频流和该第一视频流包括的一个视频流分片的分片标识。Step 502: The FCC server receives the play request sent by the terminal, and sends the first video stream of the target channel to the terminal according to the channel identifier of the target channel carried by the play request, and the fragment identifier of a video stream segment included in the first video stream. .
FCC服务器实时接收并缓存组播服务器发送的每个频道的媒体流,每个频道的媒体流包括的第一视频流、第二视频流以及至少一路音频流等。The FCC server receives and caches the media stream of each channel sent by the multicast server in real time, and the media stream of each channel includes a first video stream, a second video stream, and at least one audio stream.
本步骤可以为:FCC服务器接收终端发送的播放请求,根据该播放请求中携带的目标频道的频道标识,确定FCC服务器缓存的目标频道的第一视频流,从FCC服务器缓存的目标频道的第一视频流中获取时间位于当前时间之前的一个关键帧,再从FCC服务器缓存的目标频道的第一视频流中获取该关键帧对应的时间至当前时间的第一视频流,并向终端发送获取的 第一视频流和播放响应,该播放响应携带获取的第一视频流包括的视频流分片的分片标识。The step may be: the FCC server receives the play request sent by the terminal, and determines, according to the channel identifier of the target channel carried in the play request, the first video stream of the target channel buffered by the FCC server, and the first target channel buffered from the FCC server. Obtaining a key frame in the video stream that is located before the current time, and acquiring the first video stream from the time corresponding to the key frame to the current time in the first video stream of the target channel buffered by the FCC server, and sending the acquired video to the terminal. a first video stream and a playback response, the playback response carrying a slice identifier of the video stream segment included in the acquired first video stream.
FCC服务器获取关键帧的方式有多种,例如,可以从FCC服务器缓存的目标频道的第一视频流中获取时间位于当前时间之前且离当前时间最近的一个关键帧,或者,随机获取一帧位于当前时间之前的关键帧。The FCC server can obtain key frames in multiple ways. For example, a key frame whose time is before the current time and is closest to the current time can be obtained from the first video stream of the target channel buffered by the FCC server, or a frame is randomly acquired. Keyframes before the current time.
FCC服务器在发送获取的第一视频流时,可以采用大于其接收目标频道的第一视频流的接收速率来发送获取的第一视频流。例如,在实现时,FCC服务器确定其当前接收组播服务器发送的目标频道的第一视频流的接收速率,根据预设的第一倍数和该接收速率计算出发送速率,按该发送速率向终端发送获取的第一视频流。第一倍数大于1,例如第一倍数可以为1.4、1.5、1.6等值,将该接收速率与第一倍数相乘得到该发送速率的大小。When transmitting the acquired first video stream, the FCC server may transmit the acquired first video stream by using a receiving rate of the first video stream that is greater than its receiving target channel. For example, in implementation, the FCC server determines the receiving rate of the first video stream of the target channel that is currently received by the multicast server, calculates the sending rate according to the preset first multiple and the receiving rate, and sends the sending rate to the terminal according to the sending rate. Send the acquired first video stream. The first multiple is greater than 1, for example, the first multiple may be 1.4, 1.5, 1.6, etc., and the reception rate is multiplied by the first multiple to obtain the size of the transmission rate.
FCC服务器发送获取的第一视频和发送播放响应的先后顺序,可以有如下几个种,一种是先发送播放响应,再发送获取的第一视频流;一种是同时向终端发送获取的第一视频流和播放响应。对于同时发送的情况,FCC服务器可以在开始发送获取的第一视频流的同时向终端发送该播放响应,或者在开始发送第一视频流之后的某个时刻向终端发送该播放响应。The order in which the FCC server sends the acquired first video and the sent playback response may be as follows: one is to first send a playback response, and then to send the obtained first video stream; A video stream and playback response. For the case of simultaneous transmission, the FCC server may transmit the playback response to the terminal while starting to transmit the acquired first video stream, or send the playback response to the terminal at some time after starting to send the first video stream.
该播放响应中携带的分片标识为获取的第一视频流所包括的第n个视频流分片的分片标识,n为大于或等于1的正整数。通常情况下,n取值为1,也可以为2或3等值。The fragment identifier carried in the playback response is a fragment identifier of the nth video stream segment included in the acquired first video stream, where n is a positive integer greater than or equal to 1. Usually, n is 1 or 2 or 3.
该播放响应可以为一个RTCP包,参见图6,该RTCP包中包括默认/自适应码率(Fault Bitrate/Adaptive Bitrate)字段、当前单播同步信源的标识(SSRC of Current Unicast Burst)字段、用户网络协议地址(User Internet Protocol,User IP)字段、用户RTCP端口(User RTCP Port)字段、保留(Reserved)字段、标识字段(Representation ID)、带宽(Bandwidth)字段,以及还包括扩展的分片时间戳(Fragment Time Stamp)字段,该分片时间戳字段用于携带获取的第一视频流包括的一个视频流分片的分片标识。The playback response may be an RTCP packet. Referring to FIG. 6, the RTCP packet includes a Default Bitrate/Adaptive Bitrate field, a current unicast synchronization source identifier (SSRC of Current Unicast Burst) field, User Internet Protocol (User IP) field, User RTCP Port field, Reserved field, Representation ID, Bandwidth field, and extended fragmentation A Fragment Time Stamp field is used to carry the fragment identifier of a video stream fragment included in the acquired first video stream.
步骤503,终端接收FCC服务器发送的第一视频流和视频流分片的分片标识,向FCC服务器发送携带有该分片标识的获取请求。Step 503: The terminal receives the fragmentation identifier of the first video stream and the video stream fragment sent by the FCC server, and sends an acquisition request carrying the fragment identifier to the FCC server.
本步骤的实现可以为:终端接收FCC服务器发送的第一视频流和播放响应,从该播放响应中提取该第一视频流包括的视频分片的分片标识,向FCC服务器发送携带有该分片标识的获取请求。The implementation of this step may be: the terminal receives the first video stream and the play response sent by the FCC server, and extracts, from the play response, the fragment identifier of the video fragment included in the first video stream, and sends the packet to the FCC server. Get the request for the slice ID.
第一视频流中包括至少一路音频流的描述信息。终端可以根据自身的能力信息从该至少一路音频流的描述信息中选择一路音频流的描述信息,该获取请求还可以携带选择的该音频流的描述信息。The first video stream includes description information of at least one audio stream. The terminal may select description information of an audio stream from the description information of the at least one audio stream according to the capability information of the terminal, and the acquiring request may further carry the selected description information of the audio stream.
终端的能力信息可以包括终端的带宽大小、终端解码能力和/或终端的硬件资源等。The capability information of the terminal may include a bandwidth size of the terminal, a terminal decoding capability, and/or a hardware resource of the terminal.
其中,如果第一视频流中包括一路音频流的描述信息或者终端选择的音频流为终端事先与FCC服务器默认的音频流,则该获取请求可以携带或不携带该一路音频流的描述信息,或该获取请求可以携带或不携带选择的默认音频流的描述信息。Wherein, if the description information of the audio stream included in the first video stream or the audio stream selected by the terminal is the default audio stream of the terminal and the FCC server, the acquisition request may or may not carry the description information of the audio stream of the one channel, or The acquisition request may or may not carry the description information of the selected default audio stream.
步骤504,FCC服务器接收终端发送的获取请求,根据该获取请求中的分片标识确定其已向终端发送的第一视频流的起始时间。Step 504: The FCC server receives the acquisition request sent by the terminal, and determines, according to the fragment identifier in the acquisition request, a start time of the first video stream that has been sent to the terminal.
本步骤可以为:FCC服务器接收终端发送的获取请求,提取该获取请求携带的分片标识,提取的分片标识为已向终端发送的第一视频流包括的第n个视频流分片的分片标识,根据提取的分片标识确定该第一视频流包括的第一个视频流分片的分片标识,根据该第一个视频流分片的分片标识获取该第一个视频流分片的时间戳,将第一个视频流分片的时间戳确定为已 向终端发送的该第一视频流的起始时间。In this step, the FCC server receives the acquisition request sent by the terminal, and extracts the fragment identifier carried by the acquisition request, and the extracted fragment identifier is the segment of the nth video stream segment included in the first video stream that has been sent to the terminal. a slice identifier, determining, according to the extracted slice identifier, a slice identifier of the first video stream segment included in the first video stream, and acquiring the first video stream segment according to the slice identifier of the first video stream segment The timestamp of the slice determines the timestamp of the first video stream fragment as the start time of the first video stream that has been sent to the terminal.
如果n=1,则可以将提取的分片标识作为第一个视频流分片的分片标识。如果n大于1,则根据提取的分片标识和数值n计算出第一个视频流分片的分片标识。If n=1, the extracted fragment identifier can be used as the fragment identifier of the first video stream fragment. If n is greater than 1, the slice identifier of the first video stream segment is calculated according to the extracted slice identifier and the value n.
通常情况下,该第一视频流中的视频流分片的分片标识是连续变化的,相邻两个视频流分片的分片标识的差值为数值1,所以对于上述计算分片标识的过程可以如下:若从获取请求中提取的分片标识为m,则该第一视频流中的第一个视频流分片的分片标识为m-n-1。Generally, the fragment identifier of the video stream fragment in the first video stream is continuously changed, and the difference between the fragment identifiers of the adjacent two video stream fragments is a value of 1, so that the fragment identifier is calculated for the foregoing. The process may be as follows: if the fragment identifier extracted from the acquisition request is m, the fragment identifier of the first video stream fragment in the first video stream is mn-1.
步骤505,FCC服务器根据该起始时间获取该第一视频流对应的音频流,向终端发送该音频流。Step 505: The FCC server acquires an audio stream corresponding to the first video stream according to the start time, and sends the audio stream to the terminal.
在FCC服务器接收的播放请求未携带音频流的描述信息时,表明存在两种情况,第一种为第一视频流只包括一路音频流的描述信息,即目标频道只对应一路音频流;第二种为终端选择了事先与FCC服务器约定的默认音频流的描述信息。When the play request received by the FCC server does not carry the description information of the audio stream, it indicates that there are two cases. The first type is that the first video stream only includes description information of one audio stream, that is, the target channel only corresponds to one audio stream; For the terminal, the description information of the default audio stream agreed with the FCC server in advance is selected.
此时本步骤可以为:当为上述第一种情况时,FCC服务器确定其缓存的目标频道对应的一路音频流,从其缓存该一路音频流中获取该起始时间至当前时间的音频流,向终端发送获取的音频流。当为上述第二种情况时,FCC服务器从其缓存的目标频道对应的至少一路音频流中,确定默认音频流的描述信息对应的默认音频流,从默认音频流中获取该起始时间至当前时间的音频流,向终端发送获取的音频流。In this case, the FCC server determines an audio stream corresponding to the cached target channel, and obtains the audio stream from the start time to the current time from the cached one audio stream. The acquired audio stream is sent to the terminal. In the second case, the FCC server determines the default audio stream corresponding to the description information of the default audio stream from the at least one audio stream corresponding to the cached target channel, and obtains the start time to the current source from the default audio stream. The audio stream of time sends the acquired audio stream to the terminal.
在FCC服务器接收的播放请求中携带音频流的描述信息时,本步骤可以为:FCC服务器从其缓存的目标频道对应的至少一路音频流中确定该音频流的描述信息对应的一路音频流,从确定的一路音频流中获取该起始时间至当前时间的音频流,向终端发送获取的音频流。When the description information of the audio stream is carried in the play request received by the FCC server, the step may be: the FCC server determines, according to the at least one audio stream corresponding to the cached target channel, the audio stream corresponding to the description information of the audio stream, The determined audio stream is obtained from the start time to the current time, and the acquired audio stream is sent to the terminal.
FCC服务器在发送获取的音频流时,可以采用大于其接收该音频流的接收速率来发送该音频流。例如,在实现时,FCC服务器确定其当前接收组播服务器发送的该音频流的接收速率,根据预设的第二倍数和该接收速率计算出发送速率,按该发送速率向终端发送该音频流。第二倍数大于1,例如第一倍数可以为1.4、1.5、1.6等值,将该接收速率与第二倍数相乘得到该发送速率的大小。第二倍数可以等于或不等于第一倍数。The FCC server, when transmitting the acquired audio stream, may transmit the audio stream with a reception rate greater than the frequency at which it received the audio stream. For example, in implementation, the FCC server determines the receiving rate of the audio stream that is currently received by the multicast server, calculates a sending rate according to the preset second multiple and the receiving rate, and sends the audio stream to the terminal according to the sending rate. . The second multiple is greater than 1, for example, the first multiple may be 1.4, 1.5, 1.6, etc., and the reception rate is multiplied by the second multiple to obtain the size of the transmission rate. The second multiple may be equal to or not equal to the first multiple.
步骤506,终端接收FCC服务器发送的音频流,将已接收到的视频流和音频流提供给该终端上的播放器进行播放。Step 506: The terminal receives the audio stream sent by the FCC server, and provides the received video stream and the audio stream to the player on the terminal for playing.
由于终端接收到的音频流与视频流的起始时间相同,终端同时开始播放音频流和视频流即可保证目标频道的声音与视频画面同步。Since the audio stream received by the terminal is the same as the start time of the video stream, the terminal simultaneously starts playing the audio stream and the video stream to ensure that the sound of the target channel is synchronized with the video picture.
步骤507,FCC服务器在停止向终端发送第一视频流且开始向终端发送目标频道的第二视频时向终端发送通知消息,该通知消息携带第一视频流的最后一个数据包的序号和第二视频流的第一个数据包的序号。Step 507: The FCC server sends a notification message to the terminal when stopping sending the first video stream to the terminal and starting to send the second video of the target channel to the terminal, where the notification message carries the sequence number and the second of the last data packet of the first video stream. The sequence number of the first packet of the video stream.
其中,FCC服务器在开始向终端发送目标频道的第一视频流后,会不断且连续地向终端发送该第一视频流,同时FCC服务器也接收组播服务器发送的该第一视频流。当FCC服务器当前向终端发送的该第一视频流包括的数据包和其当前接收组播服务器发送的该第一视频流包括的数据包相同时,FCC服务器确定当前向终端发送的数据包所属的视频流分片,并在确定的视频流分片发送完时停止向终端发送该第一视频流。同时FCC服务器向终端发送目标频道的第二视频流,且第二视频流包括的第一个视频流分片是确定的视频流分片的下一个视频流分片。The FCC server continuously and continuously sends the first video stream to the terminal after starting to send the first video stream of the target channel to the terminal, and the FCC server also receives the first video stream sent by the multicast server. When the data packet included in the first video stream currently sent by the FCC server to the terminal is the same as the data packet included in the first video stream sent by the current receiving multicast server, the FCC server determines that the data packet currently sent to the terminal belongs to The video stream is fragmented, and the first video stream is stopped from being sent to the terminal when the determined video stream fragment is sent. At the same time, the FCC server sends the second video stream of the target channel to the terminal, and the first video stream fragment included in the second video stream is the next video stream fragment of the determined video stream fragment.
例如,参见图2,假设FCC服务器当前向终端送的第一视频流的数据包是序号为4的数 据包,又假设FCC服务器当前接收到的第一视频流的数据包也是序号为4的数据包,则FCC服务器确定序号为4的数据包所属于的视频流分片为S12,视频流分片S12的分片标识为2;FCC服务器在发送完视频流分片S12时,向终端发送第二视频流,第二视频流的第一个视频流分片是S23,视频流分片S23的分片标识是3,是视频流分片S12(分片标识是2)的下一个视频流分片。For example, referring to FIG. 2, it is assumed that the data packet of the first video stream currently sent by the FCC server to the terminal is a data packet with sequence number 4, and it is assumed that the data packet of the first video stream currently received by the FCC server is also data with sequence number 4. The FCC server determines that the video stream fragment to which the data packet of sequence number 4 belongs is S12, and the fragmentation identifier of the video stream fragment S12 is 2; when the FCC server sends the video stream fragment S12, it sends the packet to the terminal. The second video stream, the first video stream fragment of the second video stream is S23, the fragment identifier of the video stream fragment S23 is 3, and the video stream fragment S12 (the fragment identifier is 2) is the next video stream. sheet.
由于位于第一视频流中的视频流分片包括的数据包数目与位于第二视频流中的视频流分片包括的数据包数目不同,所以第一视频流包括的最后一个数据包的序号和第二视频流包括的第一个数据包的序号不连续,这样终端在播放第二视频流时会误认为发生丢包现象,为了解决此问题,FCC服务器在开始向终端发送目标频道的第二视频时向终端发送通知消息,通过该通知消息携带的第一视频流的最后一个数据包的序号和第二视频流的第一个数据包的序号,告诉终端第一视频流的最后一个数据包和第二视频流的第一个数据包是连续的数据包。Since the number of data packets included in the video stream segment in the first video stream is different from the number of data packets included in the video stream segment located in the second video stream, the sequence number of the last data packet included in the first video stream is The sequence number of the first data packet included in the second video stream is discontinuous, so that the terminal mistakenly believes that packet loss occurs when playing the second video stream. To solve this problem, the FCC server starts to send the second channel of the target channel to the terminal. When the video is sent to the terminal, the notification message is sent to the terminal, and the sequence number of the last data packet of the first video stream and the sequence number of the first data packet of the second video stream carried by the notification message are used to notify the terminal of the last data packet of the first video stream. And the first packet of the second video stream is a contiguous packet.
例如,仍旧参见图2,视频流分片S12的最后一个数据包的序号为4,FCC服务器在发送完该数据包时,向终端发送第二视频流,第二视频流的第一个视频流分片是S23,视频流分片S23中的第一个数据包的序号为9。因此,终端接收到序号为4的数据包后,接收到了序号为9的数据包。由于终端还接收到了携带有序号4和序号9的通知消息,可根据该消息确定出其接收到的序号为4的数据包与序号为9的数据包是连续的数据包,并未发生丢失。For example, referring to FIG. 2, the last data packet of the video stream segment S12 has a sequence number of 4. When the FCC server sends the data packet, the second video stream is sent to the terminal, and the first video stream of the second video stream is sent. The fragmentation is S23, and the sequence number of the first packet in the video stream fragment S23 is 9. Therefore, after receiving the data packet with sequence number 4, the terminal receives the data packet with sequence number 9. Since the terminal also receives the notification message carrying the sequence number 4 and the sequence number 9, it can be determined according to the message that the data packet with the sequence number 4 and the data packet with the sequence number 9 are consecutive data packets, and no loss occurs.
FCC服务器在发送第二视频流时,可以采用小于其接收第二视频流的接收速率来发送第二视频流。例如,在实现时,FCC服务器确定其当前接收组播服务器发送的目标频道的第二视频流的接收速率,根据预设的第三倍数和该接收速率计算出发送速率,按该发送速率向终端发送获取的第二视频流。第三倍数小于1,例如第三倍数可以为0.6、0.7、0.8等值,将该接收速率与第三倍数相乘得到该发送速率的大小。The FCC server may transmit the second video stream when it transmits the second video stream, less than the receiving rate at which it receives the second video stream. For example, in implementation, the FCC server determines the receiving rate of the second video stream of the target channel that is currently received by the multicast server, calculates the sending rate according to the preset third multiple and the receiving rate, and sends the sending rate to the terminal according to the sending rate. Send the acquired second video stream. The third multiple is less than 1, for example, the third multiple may be 0.6, 0.7, 0.8, etc., and the reception rate is multiplied by the third multiple to obtain the size of the transmission rate.
可选的,该通知消息可以为SCN报文,参见图7,该SCN报文中包括最终自适应码率(Final Optimal Adaptive Bitrate)字段,以及扩展的旧序号(Last Sequence Number)字段和新序号(First Sequence Number)字段,旧序号字段用于携带该最后一个数据包的序号,该新序号字段用于携带该第一个数据包的序号。Optionally, the notification message may be an SCN message. Referring to FIG. 7, the SCN message includes a Final Optimal Adaptive Bitrate field, and an extended Last Sequence Number field and a new sequence number. (First Sequence Number) field, the old sequence number field is used to carry the sequence number of the last data packet, and the new sequence number field is used to carry the sequence number of the first data packet.
步骤508,终端接收FCC服务器发送的通知消息,根据该通知消息播放FCC发送的第二视频流以及加入目标频道的组播组,接收组播服务器发送的第二视频流以及音频流。Step 508: The terminal receives the notification message sent by the FCC server, and plays the second video stream sent by the FCC and the multicast group added to the target channel according to the notification message, and receives the second video stream and the audio stream sent by the multicast server.
终端接收FCC服务器发送的通知消息,同时还接收FCC服务器发送的第二视频流,获取该通知消息中携带的第一视频流的最后一个数据包的序号和第二视频流的第一个数据包的序号。终端根据第一视频流的最后一个数据包的序号和第二视频流的第一个数据包的序号,确定第一视频流的最后一个数据包和第二视频流的第一个数据包是连续的两个数据包,然后从第二视频流的第一个数据包开始播放第二视频流。The terminal receives the notification message sent by the FCC server, and also receives the second video stream sent by the FCC server, and obtains the sequence number of the last data packet of the first video stream carried in the notification message and the first data packet of the second video stream. Serial number. The terminal determines, according to the sequence number of the last data packet of the first video stream and the sequence number of the first data packet of the second video stream, that the last data packet of the first video stream and the first data packet of the second video stream are consecutive The two packets are then played from the first packet of the second video stream.
终端在播放第二视频流时,还向组播服务器发送携带有目标频道的频道标识的加入请求。组播服务器接收该加入请求,根据该目标频道的频道标识,将终端加入该目标频道的组播组,然后向终端发送目标频道的第二视频流和音频流。终端在开始播放FCC发送的第二视频流之后接收组播服务器发送的第二视频流和音频流并缓存。When the terminal plays the second video stream, the terminal also sends a join request carrying the channel identifier of the target channel to the multicast server. The multicast server receives the join request, adds the terminal to the multicast group of the target channel according to the channel identifier of the target channel, and then sends the second video stream and the audio stream of the target channel to the terminal. The terminal receives and caches the second video stream and the audio stream sent by the multicast server after starting to play the second video stream sent by the FCC.
步骤509,终端当前播放的第二视频流包括的数据包和组播服务器发送的第二视频流包括的第一数据包相同时,播放组播服务器发送的第二视频流和音频流。Step 509: When the data packet included in the second video stream currently played by the terminal is the same as the first data packet included in the second video stream sent by the multicast server, the second video stream and the audio stream sent by the multicast server are played.
终端在播放组播服务器发送的第二视频流和音频流时,终端完成从原频道切换到目标频 道或者终端完成启动后加入到目标频道。同时终端还可以断开与FCC服务器之间的连接,以停止接收FCC服务器发送目标频道的第二视频流和音频流。When the terminal plays the second video stream and the audio stream sent by the multicast server, the terminal completes switching from the original channel to the target channel or the terminal joins the target channel after completing the startup. At the same time, the terminal can also disconnect the connection with the FCC server to stop receiving the second video stream and the audio stream of the FCC server transmitting the target channel.
综上所述,本发明的一个实施例提供的播放媒体流的方法,终端通过向FCC服务器发送获取请求,该获取请求携带有其已接收到的FCC服务器发送的视频流中的视频流分片的分片标识;FCC服务器根据该分片标识确定其已发送给终端的视频流的起始时间,根据该起始时间获取该视频流对应的音频流,该音频流起始时间与该视频流起始时间相同,向终端发送该音频流;由于终端接收到了FCC服务器发送的起始时间相同的视频流以及音频流,因此终端同时播放该视频流和音频流时能够保证音视频同步,解决了相关技术中终端播放不出声音或者播放的声音与视频画面不一致的问题,保证终端播放的声音与视频画面一致。In summary, the method for playing a media stream is provided by the terminal, and the terminal sends an acquisition request to the FCC server, where the acquisition request carries the video stream fragmentation in the video stream sent by the FCC server that has been received by the terminal. And the FCC server determines, according to the fragment identifier, a start time of the video stream that has been sent to the terminal, and obtains an audio stream corresponding to the video stream according to the start time, the audio stream start time and the video stream. The start time is the same, the audio stream is sent to the terminal; since the terminal receives the video stream and the audio stream with the same start time sent by the FCC server, the terminal can ensure the audio and video synchronization when playing the video stream and the audio stream at the same time, and the solution is solved. In the related art, the terminal does not play the sound or the played sound is inconsistent with the video picture, and the sound played by the terminal is consistent with the video picture.
服务器向终端发送的视频流中包括至少一路音频流的描述信息,以便终端从中选择与自身能力相符的一路音频流的描述信息,向服务器发送的获取请求包括该一路音频流的描述信息。如此终端可以根据自身的能力获取与自身能力相符的音频流进行播放。The video stream sent by the server to the terminal includes description information of at least one audio stream, so that the terminal selects description information of an audio stream that matches its own capability, and the acquisition request sent to the server includes description information of the one audio stream. In this way, the terminal can acquire an audio stream that matches its own capabilities for playback according to its own capabilities.
服务器通过向终端发送RTCP包,该RTCP包的分片时间戳字段携带该分片标识,以便终端向该服务器发送携带有该分片标识的获取请求,从而从服务器获取该终端已接收到的视频流对应的音频流。The server sends the RTCP packet to the terminal, and the fragmentation timestamp field of the RTCP packet carries the fragment identifier, so that the terminal sends an acquisition request carrying the fragment identifier to the server, so that the video received by the terminal is obtained from the server. Streams the corresponding audio stream.
服务器通过在停止向终端发送第一视频流并向该终端发送第二码率的第二视频流时,向终端发送通知消息,该通知消息携带第一视频流的最后一个数据包的序号和第二视频流的第一个数据包的序号,使得终端根据该通知消息确定该最后一个数据包和第一个数据包是连续的数据包,避免终端误判成数据包流失,从而正常从该第一个数据包开始播放第二视频流。The server sends a notification message to the terminal by stopping sending the first video stream to the terminal and transmitting the second video stream of the second code rate to the terminal, where the notification message carries the sequence number and the number of the last data packet of the first video stream. The sequence number of the first data packet of the second video stream is such that the terminal determines, according to the notification message, that the last data packet and the first data packet are consecutive data packets, thereby preventing the terminal from being misjudged into a packet loss, thereby normalizing from the first A packet begins to play the second video stream.
请参考图8,其示出了本发明的另一个示例性实施例提供的服务器800,该服务器800可以为图1、图3和/或图5所示实施例中的FCC服务器,该服务器800包括:发送单元810、处理单元820以及接收单元830。Please refer to FIG. 8 , which illustrates a server 800 provided by another exemplary embodiment of the present invention. The server 800 may be an FCC server in the embodiment shown in FIG. 1 , FIG. 3 , and/or FIG. 5 . The transmission unit 810, the processing unit 820, and the receiving unit 830 are included.
发送单元810,用于上述步骤502、步骤505以及步骤507中至少一个步骤的功能。The sending unit 810 is configured to perform the functions of at least one of the foregoing steps 502, 505, and 507.
处理单元820,用于上述步骤504、步骤505中至少一个步骤的功能。The processing unit 820 is configured to perform the functions of at least one of the foregoing steps 504 and 505.
接收单元830,用于上述步骤502、步骤504、中至少一个步骤的功能。The receiving unit 830 is used for the function of at least one of the foregoing steps 502 and 504.
相关细节可结合参考上述方法实施例。Related details can be combined with reference to the above method embodiments.
需要说明的是:上述实施例提供的服务器在向终端提供该终端请求播放的目标频道的媒体流时,仅以上述各功能模块的划分进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将服务器的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的服务器与播放媒体流的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that, when the server provided by the foregoing embodiment provides the terminal with the media stream of the target channel that the terminal requests to play, only the division of the foregoing functional modules is illustrated. In actual applications, the foregoing functions may be performed according to requirements. The allocation is done by different functional modules, that is, the internal structure of the server is divided into different functional modules to complete all or part of the functions described above. In addition, the server provided in the above embodiment is the same as the method embodiment of the method for playing the media stream, and the specific implementation process is described in the method embodiment, and details are not described herein again.
请参考图9,其示出了本发明的另一个示例性实施例提供的终端900,该终端900可以为图1、图4和/或图5所示实施例中的终端900,该终端包括:发送单元910、处理单元920以及接收单元930。Please refer to FIG. 9 , which illustrates a terminal 900 provided by another exemplary embodiment of the present invention. The terminal 900 may be the terminal 900 in the embodiment shown in FIG. 1 , FIG. 4 and/or FIG. 5 , and the terminal includes : a transmitting unit 910, a processing unit 920, and a receiving unit 930.
发送单元910,用于上述步骤501、步骤503以及步骤508中至少一个步骤的功能。The sending unit 910 is configured to perform the functions of at least one of the foregoing steps 501, 503, and 508.
处理单元920,用于上述步骤506、步骤508以及步骤509中至少一个步骤的功能。The processing unit 920 is configured to perform the functions of at least one of the foregoing steps 506, 508, and 509.
接收单元930,用于上述步骤503、步骤506以及步骤508中至少一个步骤的功能。The receiving unit 930 is configured to perform the functions of at least one of the foregoing steps 503, 506, and 508.
相关细节可结合参考上述方法实施例。Related details can be combined with reference to the above method embodiments.
需要说明的是:上述实施例提供的终端在播放媒体流时时,仅以上述各功能模块的划分 进行举例说明,实际应用中,可以根据需要而将上述功能分配由不同的功能模块完成,即将终端的内部结构划分成不同的功能模块,以完成以上描述的全部或者部分功能。另外,上述实施例提供的终端与播放媒体流的方法实施例属于同一构思,其具体实现过程详见方法实施例,这里不再赘述。It should be noted that, when the terminal provided by the foregoing embodiment plays the media stream, only the division of the foregoing functional modules is illustrated. In actual applications, the function distribution may be completed by different functional modules according to requirements, that is, the terminal is The internal structure is divided into different functional modules to perform all or part of the functions described above. In addition, the method provided in the foregoing embodiment is the same as the method embodiment of the method for playing the media stream, and the specific implementation process is described in the method embodiment, and details are not described herein again.
上述本发明实施例序号仅仅为了描述,不代表实施例的优劣。The serial numbers of the embodiments of the present invention are merely for the description, and do not represent the advantages and disadvantages of the embodiments.
本领域普通技术人员可以理解实现上述实施例的全部或部分步骤可以通过硬件来完成,也可以通过程序来指令相关的硬件完成,所述的程序可以存储于一种计算机可读存储介质中,上述提到的存储介质可以是只读存储器,磁盘或光盘等。A person skilled in the art may understand that all or part of the steps of implementing the above embodiments may be completed by hardware, or may be instructed by a program to execute related hardware, and the program may be stored in a computer readable storage medium. The storage medium mentioned may be a read only memory, a magnetic disk or an optical disk or the like.
以上所述仅为本申请的可选实施例,并不用以限制本申请,凡在本申请的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本申请的保护范围之内。The above description is only an optional embodiment of the present application, and is not intended to limit the present application. Any modifications, equivalent replacements, improvements, etc. made within the spirit and principles of the present application are included in the protection of the present application. Within the scope.

Claims (20)

  1. 一种播放媒体流的方法,其特征在于,所述方法包括:A method for playing a media stream, the method comprising:
    服务器接收终端发送的携带有视频流分片的分片标识的获取请求,所述视频流分片是所述服务器已发送给所述终端的视频流中包括的视频流分片;The server receives the acquisition request of the fragment identifier that carries the video stream fragment sent by the terminal, where the video stream fragment is a video stream fragment included in the video stream that the server has sent to the terminal;
    所述服务器根据所述视频流分片的分片标识,获取所述视频流的起始时间;Determining, by the server, a start time of the video stream according to the fragment identifier of the video stream fragment;
    所述服务器根据所述起始时间获取所述视频流对应的音频流;Obtaining, by the server, an audio stream corresponding to the video stream according to the start time;
    所述服务器向所述终端发送所述音频流,以使所述终端播放所述视频流和所述音频流。The server sends the audio stream to the terminal to cause the terminal to play the video stream and the audio stream.
  2. 如权利要求1所述的方法,其特征在于,所述视频流包括至少一路音频流的描述信息,所述获取请求还携带一路音频流的描述信息;The method according to claim 1, wherein the video stream includes description information of at least one audio stream, and the acquisition request further carries description information of an audio stream;
    所述服务器根据所述起始时间获取所述视频流对应的音频流,包括:Obtaining, by the server, the audio stream corresponding to the video stream according to the start time, including:
    所述服务器根据所述一路音频流的描述信息确定所述一路音频流;Determining, by the server, the one audio stream according to the description information of the one audio stream;
    所述服务器根据所述起始时间,从所述一路音频流中获取所述视频流对应的音频流。And obtaining, by the server, an audio stream corresponding to the video stream from the one audio stream according to the start time.
  3. 如权利要求1或2所述的方法,其特征在于,所述服务器接收终端发送的携带有视频流分片的分片标识的获取请求之前,所述方法还包括:The method according to claim 1 or 2, wherein before the server receives the acquisition request of the fragment identifier of the video stream fragment sent by the terminal, the method further includes:
    所述服务器向所述终端发送实时传输控制协议RTCP包,所述RTCP包的分片时间戳字段携带所述视频流分片的分片标识。The server sends a real-time transmission control protocol (RTCP) packet to the terminal, and the fragmentation timestamp field of the RTCP packet carries a fragmentation identifier of the video stream fragment.
  4. 如权利要求1或2所述的方法,其特征在于,所述服务器已发送给所述终端的视频流为第一码率的第一视频流;The method according to claim 1 or 2, wherein the video stream that the server has sent to the terminal is a first video stream of a first code rate;
    所述方法还包括:The method further includes:
    在所述服务器停止向所述终端发送所述第一视频流并向所述终端发送第二码率的第二视频流时,所述服务器向所述终端发送通知消息,所述通知消息携带所述第一视频流的最后一个数据包的序号和所述第二视频流的第一个数据包的序号,所述第一码率小于所述第二码率。When the server stops sending the first video stream to the terminal and sends a second video stream of the second code rate to the terminal, the server sends a notification message to the terminal, where the notification message carries The sequence number of the last data packet of the first video stream and the sequence number of the first data packet of the second video stream, the first code rate being less than the second code rate.
  5. 如权利要求4所述的方法,其特征在于,所述通知消息为服务端终端通知SCN报文,所述SCN报文包括旧序号字段和新序号字段,所述旧序号字段携带所述最后一个数据包的序号,所述新序号字段携带所述第一个数据包的序号。The method according to claim 4, wherein the notification message is for the server terminal to notify the SCN message, the SCN message includes an old serial number field and a new serial number field, and the old serial number field carries the last one The sequence number of the data packet, the new sequence number field carrying the sequence number of the first data packet.
  6. 一种频道切换的方法,其特征在于,所述方法包括:A method for channel switching, characterized in that the method comprises:
    终端向服务器发送携带有视频流分片的分片标识的获取请求,所述视频流分片是所述终端已接收的所述服务器发送的视频流中包括的视频流分片;The terminal sends, to the server, an acquisition request that carries a fragment identifier of the video stream fragment, where the video stream fragment is a video stream fragment included in the video stream sent by the server that is received by the terminal;
    所述终端接收所述服务器根据所述分片标识发送的音频流,所述音频流的起始时间和所述视频流的起始时间相同;Receiving, by the terminal, an audio stream that is sent by the server according to the fragment identifier, where a start time of the audio stream is the same as a start time of the video stream;
    所述终端播放所述视频流和所述音频流。The terminal plays the video stream and the audio stream.
  7. 如权利要求6所述的方法,其特征在于,所述视频流包括至少一路音频流的描述信息;The method according to claim 6, wherein said video stream comprises description information of at least one audio stream;
    所述终端向所述服务器发送携带有视频流分片的分片标识的获取请求,包括:Sending, by the terminal, the acquiring request of the fragment identifier carrying the video stream fragment to the server, including:
    所述终端从所述至少一路音频流中选择的一路音频流的描述信息;Descriptive information of an audio stream selected by the terminal from the at least one audio stream;
    所述终端向所述服务器发送携带有所述视频流分片的分片标识和所述一路音频流的描述信息的获取请求。The terminal sends, to the server, an acquisition request that carries a fragment identifier of the video stream segment and description information of the one channel audio stream.
  8. 如权利要求6或7所述的方法,其特征在于,在所述终端向所述服务器发送携带有视频流分片的分片标识的获取请求之前,还包括:The method according to claim 6 or 7, wherein before the terminal sends the acquisition request of the fragment identifier carrying the video stream fragment to the server, the method further includes:
    所述终端接收所述服务器发送的实时传输控制协议RTCP包,获取所述RTCP包的分片时间戳字段携带的所述视频流分片的分片标识。The terminal receives the real-time transmission control protocol (RTCP) packet sent by the server, and acquires the fragmentation identifier of the video stream fragment carried in the fragmentation timestamp field of the RTCP packet.
  9. 如权利要求6或7所述的方法,其特征在于,所述终端已接收的视频流为第一码率的第一视频流;The method according to claim 6 or 7, wherein the video stream received by the terminal is a first video stream of a first code rate;
    所述方法还包括:The method further includes:
    所述终端接收所述服务器发送的第二码率的第二视频流和通知消息,所述第二码率大于所述第一码率,所述通知消息携带所述第一视频流的最后一个数据包的序号和所述第二视频流的第一个数据包的序号;Receiving, by the terminal, a second video stream and a notification message of a second code rate sent by the server, where the second code rate is greater than the first code rate, and the notification message carries a last one of the first video stream a sequence number of the data packet and a sequence number of the first data packet of the second video stream;
    所述终端根据所述通知消息播放所述第二视频流。The terminal plays the second video stream according to the notification message.
  10. 如权利要求9所述的方法,其特征在于,所述通知消息为服务端终端通知SCN报文,所述SCN报文包括旧序号字段和新序号字段,所述旧序号字段携带所述最后一个数据包的序号,所述新序号字段携带所述第一个数据包的序号。The method according to claim 9, wherein the notification message is for the server terminal to notify the SCN message, the SCN message includes an old sequence number field and a new sequence number field, and the old sequence number field carries the last one The sequence number of the data packet, the new sequence number field carrying the sequence number of the first data packet.
  11. 一种服务器,其特征在于,所述服务器包括:A server, wherein the server comprises:
    接收单元,用于接收终端发送的携带有视频流分片的分片标识的获取请求,所述视频流分片是所述服务器已发送给所述终端的视频流中包括的视频流分片;a receiving unit, configured to receive, by the terminal, an acquisition request of a fragment identifier that carries a video stream fragment, where the video stream fragment is a video stream fragment included in a video stream that the server has sent to the terminal;
    处理单元,用于根据所述视频流分片的分片标识,获取所述视频流的起始时间;根据所述起始时间获取所述视频流对应的音频流;a processing unit, configured to acquire a start time of the video stream according to the fragment identifier of the video stream segment, and acquire an audio stream corresponding to the video stream according to the start time;
    发送单元,用于向所述终端发送所述音频流,以使所述终端播放所述视频流和所述音频流。And a sending unit, configured to send the audio stream to the terminal, so that the terminal plays the video stream and the audio stream.
  12. 如权利要求11所述的服务器,其特征在于,所述视频流包括至少一路音频流的描述信息,所述获取请求还携带一路音频流的描述信息;The server according to claim 11, wherein the video stream includes description information of at least one audio stream, and the acquisition request further carries description information of an audio stream;
    所述处理单元,还用于:The processing unit is further configured to:
    根据所述一路音频流的描述信息确定所述一路音频流;Determining the one audio stream according to the description information of the one audio stream;
    根据所述起始时间,从所述一路音频流中获取所述视频流对应的音频流。Obtaining, according to the start time, an audio stream corresponding to the video stream from the one audio stream.
  13. 如权利要求11或12所述的服务器,其特征在于,所述发送单元,还用于向所述终端发送实时传输控制协议RTCP包,所述RTCP包的分片时间戳字段携带所述视频流分片的分片标识。The server according to claim 11 or 12, wherein the sending unit is further configured to send a real-time transmission control protocol RTCP packet to the terminal, where a fragment timestamp field of the RTCP packet carries the video stream The fragmentation identifier of the fragment.
  14. 如权利要求11或12所述的服务器,其特征在于,所述服务器已发送给所述终端的视频流为第一码率的第一视频流;The server according to claim 11 or 12, wherein the video stream that the server has sent to the terminal is the first video stream of the first code rate;
    所述发送单元,还用于在停止向所述终端发送所述第一视频流并向所述终端发送第二码率的第二视频流时,向所述终端发送通知消息,所述通知消息携带所述第一视频流的最后一个数据包的序号和所述第二视频流的第一个数据包的序号,所述第一码率小于所述第二码率。The sending unit is further configured to: when stopping sending the first video stream to the terminal and sending a second video stream of a second code rate to the terminal, sending a notification message to the terminal, where the notification message is sent And carrying a sequence number of a last data packet of the first video stream and a sequence number of a first data packet of the second video stream, where the first code rate is smaller than the second code rate.
  15. 如权利要求14所述的服务器,其特征在于,所述通知消息为服务端终端通知SCN报文,所述SCN报文包括旧序号字段和新序号字段,所述旧序号字段携带所述最后一个数据包的序号,所述新序号字段携带所述第一个数据包的序号。The server according to claim 14, wherein the notification message is for the server terminal to notify the SCN message, the SCN message includes an old serial number field and a new serial number field, and the old serial number field carries the last one The sequence number of the data packet, the new sequence number field carrying the sequence number of the first data packet.
  16. 一种终端,其特征在于,所述终端包括:A terminal, wherein the terminal comprises:
    发送单元,用于向服务器发送携带有视频流分片的分片标识的获取请求,所述视频流分片是所述终端已接收的所述服务器发送的视频流中包括的视频流分片;a sending unit, configured to send, to the server, an acquisition request that carries a fragment identifier of the video stream fragment, where the video stream fragment is a video stream fragment included in the video stream sent by the server that is received by the terminal;
    接收单元,用于接收所述服务器根据所述分片标识发送的音频流,所述音频流的起始时间和所述视频流的起始时间相同;a receiving unit, configured to receive an audio stream sent by the server according to the fragment identifier, where a start time of the audio stream is the same as a start time of the video stream;
    处理单元,用于播放所述视频流和所述音频流。And a processing unit, configured to play the video stream and the audio stream.
  17. 如权利要求16所述的终端,其特征在于,所述视频流包括至少一路音频流的描述信息;The terminal according to claim 16, wherein the video stream includes description information of at least one audio stream;
    所述处理单元,还用于从所述至少一路音频流中选择的一路音频流的描述信息;The processing unit is further configured to: describe information of an audio stream selected from the at least one audio stream;
    所述发送单元,还用于向所述服务器发送携带有所述视频流分片的分片标识和所述一路音频流的描述信息的获取请求。The sending unit is further configured to send, to the server, an acquisition request that carries the fragment identifier of the video stream segment and the description information of the one channel audio stream.
  18. 如权利要求16或17所述的终端,其特征在于,所述接收单元,还用于接收所述服务器发送的实时传输控制协议RTCP包,获取所述RTCP包的分片时间戳字段携带的所述视频流分片的分片标识。The terminal according to claim 16 or 17, wherein the receiving unit is further configured to receive a real-time transmission control protocol RTCP packet sent by the server, and acquire a location carried by a fragment timestamp field of the RTCP packet. The fragmentation identifier of the video stream fragment.
  19. 如权利要求16或17所述的终端,其特征在于,已接收的视频流为第一码率的第一视频流;The terminal according to claim 16 or 17, wherein the received video stream is a first video stream of a first code rate;
    所述接收单元,还用于接收所述服务器发送的第二码率的第二视频流和通知消息,所述第二码率大于所述第一码率,所述通知消息携带所述第一视频流的最后一个数据包的序号和所述第二视频流的第一个数据包的序号;The receiving unit is further configured to receive a second video stream and a notification message of the second code rate sent by the server, where the second code rate is greater than the first code rate, and the notification message carries the first The sequence number of the last data packet of the video stream and the sequence number of the first data packet of the second video stream;
    所述处理单元,还用于根据所述通知消息播放所述第二视频流。The processing unit is further configured to play the second video stream according to the notification message.
  20. 如权利要求19所述的终端,其特征在于,所述通知消息为服务端终端通知SCN报文,所述SCN报文包括旧序号字段和新序号字段,所述旧序号字段携带所述最后一个数据包的序号,所述新序号字段携带所述第一个数据包的序号。The terminal according to claim 19, wherein the notification message is for the server terminal to notify the SCN message, the SCN message includes an old serial number field and a new serial number field, and the old serial number field carries the last one The sequence number of the data packet, the new sequence number field carrying the sequence number of the first data packet.
PCT/CN2018/079520 2017-03-21 2018-03-20 Method, server, and terminal for playing back media stream WO2018171567A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201710172615.6 2017-03-21
CN201710172615.6A CN108632681B (en) 2017-03-21 2017-03-21 Method, server and terminal for playing media stream

Publications (1)

Publication Number Publication Date
WO2018171567A1 true WO2018171567A1 (en) 2018-09-27

Family

ID=63586208

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2018/079520 WO2018171567A1 (en) 2017-03-21 2018-03-20 Method, server, and terminal for playing back media stream

Country Status (2)

Country Link
CN (1) CN108632681B (en)
WO (1) WO2018171567A1 (en)

Families Citing this family (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111741314A (en) * 2020-06-18 2020-10-02 聚好看科技股份有限公司 Video playing method and display equipment
CN115474083B (en) * 2022-11-02 2023-03-14 灵长智能科技(杭州)有限公司 Multi-channel audio and video synchronous live broadcast method and system

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102802044A (en) * 2012-06-29 2012-11-28 华为终端有限公司 Video processing method, terminal and subtitle server
WO2015008490A1 (en) * 2013-07-19 2015-01-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Transmission method, reception method, transmission device, and reception device
CN105872583A (en) * 2015-11-20 2016-08-17 乐视网信息技术(北京)股份有限公司 Multifunctional media playing method and device
CN106210846A (en) * 2016-08-15 2016-12-07 深圳Tcl新技术有限公司 Audio and video playing method and system

Family Cites Families (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US6587985B1 (en) * 1998-11-30 2003-07-01 Matsushita Electric Industrial Co., Ltd. Data transmission method, data transmission apparatus, data receiving apparatus, and packet data structure
CN102611894B (en) * 2012-03-02 2015-01-07 华为技术有限公司 Method, device and system for detecting video transmission packet loss
CN103167359B (en) * 2013-03-27 2016-03-02 华为技术有限公司 The transmission method of RTP Media Stream and device
CN106488265A (en) * 2016-10-12 2017-03-08 广州酷狗计算机科技有限公司 A kind of method and apparatus sending Media Stream

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102802044A (en) * 2012-06-29 2012-11-28 华为终端有限公司 Video processing method, terminal and subtitle server
WO2015008490A1 (en) * 2013-07-19 2015-01-22 パナソニック インテレクチュアル プロパティ コーポレーション オブ アメリカ Transmission method, reception method, transmission device, and reception device
CN105872583A (en) * 2015-11-20 2016-08-17 乐视网信息技术(北京)股份有限公司 Multifunctional media playing method and device
CN106210846A (en) * 2016-08-15 2016-12-07 深圳Tcl新技术有限公司 Audio and video playing method and system

Also Published As

Publication number Publication date
CN108632681B (en) 2020-04-03
CN108632681A (en) 2018-10-09

Similar Documents

Publication Publication Date Title
US10743038B2 (en) Live broadcast processing method, apparatus, device, and storage medium
US11800200B2 (en) Low latency media ingestion system, devices and methods
WO2023024834A9 (en) Game data processing method and apparatus, and storage medium
KR102280134B1 (en) Video playback methods, devices and systems
CN107409234B (en) Streaming based on file format using DASH format based on LCT
KR102387161B1 (en) Video screen projection method and apparatus, computer equipment, and storage medium
US20240040178A1 (en) Facilitating WATCH PARTIES
US10645447B2 (en) Fast channel change method and server, and IPTV system
CN108347622B (en) Multimedia data pushing method and device, storage medium and equipment
EP3515083B1 (en) Method and apparatus for performing synchronization operation on contents
US11109092B2 (en) Synchronizing processing between streams
CN112771877A (en) Service description for streaming media data
CN110324580B (en) Monitoring video playing method and device based on video network
CN113141522B (en) Resource transmission method, device, computer equipment and storage medium
WO2023115906A1 (en) Video playing method and related device
US9049481B2 (en) Fine-tuning the time for leaving/joining a multicast session during channel changes
WO2018028547A1 (en) Channel switching method and device
EP3748983B1 (en) Video playback method, terminal apparatus, and storage medium
US20230045876A1 (en) Video Playing Method, Apparatus, and System, and Computer Storage Medium
CN108494792A (en) A kind of flash player plays the converting system and its working method of hls video flowings
CN111866526B (en) Live broadcast service processing method and device
WO2018171567A1 (en) Method, server, and terminal for playing back media stream
CN110022286B (en) Method and device for requesting multimedia program
CN110798725A (en) Data processing method and device
Haems et al. Enabling adaptive and reliable video delivery over hybrid unicast/broadcast networks

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

Country of ref document: EP

Kind code of ref document: A1

NENP Non-entry into the national phase

Ref country code: DE

122 Ep: pct application non-entry in european phase

Ref document number: 18770489

Country of ref document: EP

Kind code of ref document: A1