WO2016112641A1 - 客户端、流媒体数据接收方法和流媒体数据传输系统 - Google Patents

客户端、流媒体数据接收方法和流媒体数据传输系统 Download PDF

Info

Publication number
WO2016112641A1
WO2016112641A1 PCT/CN2015/081931 CN2015081931W WO2016112641A1 WO 2016112641 A1 WO2016112641 A1 WO 2016112641A1 CN 2015081931 W CN2015081931 W CN 2015081931W WO 2016112641 A1 WO2016112641 A1 WO 2016112641A1
Authority
WO
WIPO (PCT)
Prior art keywords
fragment
server
code rate
slice
client
Prior art date
Legal status (The legal status is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the status listed.)
Ceased
Application number
PCT/CN2015/081931
Other languages
English (en)
French (fr)
Inventor
张楚雄
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
BOE Technology Group Co Ltd
Original Assignee
BOE Technology Group Co Ltd
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by BOE Technology Group Co Ltd filed Critical BOE Technology Group Co Ltd
Priority to EP15877556.9A priority Critical patent/EP3247124B1/en
Priority to US15/124,059 priority patent/US10200433B2/en
Publication of WO2016112641A1 publication Critical patent/WO2016112641A1/zh
Anticipated expiration legal-status Critical
Ceased legal-status Critical Current

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/613Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for the control of the source by the destination
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • H04L65/764Media network packet handling at the destination 
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • 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/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4405Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video stream decryption
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/442Monitoring of processes or resources, e.g. detecting the failure of a recording device, monitoring the downstream bandwidth, the number of times a movie has been viewed, the storage space available from the internal hard disk
    • H04N21/44209Monitoring of downstream path of the transmission network originating from a server, e.g. bandwidth variations of a wireless network
    • 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/637Control signals issued by the client directed to the server or network components
    • H04N21/6377Control signals issued by the client directed to the server or network components directed to server
    • 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
    • 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
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]

Definitions

  • the present invention relates to streaming media technologies, and in particular, to a client, a streaming media data receiving method, and a streaming media data transmission system.
  • the transmitted streaming media data needs to pass through a firewall and requires professional media server support to achieve complex implementation. Therefore, Internet streaming media technology for transmitting streaming media data through the Internet has emerged, which does not impose additional requirements on the existing Internet system, and can modify the storage and information description manner of the media file, so that the streaming media can be transmitted through the existing HTTP protocol. data.
  • the Dynamic Adaptive Streaming (DASH) standard hereinafter referred to as the MPEG DASH standard, developed by Moving Pictures Experts Group (MPEG), provides a standardized solution for streaming media data using Internet streaming technology.
  • MPEG DASH Moving Pictures Experts Group
  • the hierarchical structure model of Media Presentation Description (MPD) defined by the MPEG DASH standard is shown in Figure 1.
  • a period is used to describe media content that can be played for a period of time, and media content described in an order of adjacent time periods is continuous in time.
  • a time period includes a plurality of adaptation sets, each of which describes media content adapted to a plurality of code rates, and each code rate corresponds to one representation (Representation). Presenting information describing the specific encapsulation format, code rate, codec parameters, and the like of the media content.
  • a Uniform Resoure Locator (URL) containing a plurality of segments is used to indicate a storage location of the corresponding slice, and the slice includes specific media content, that is, audio, video, subtitle, and complex. Use audio and video, etc.
  • FIG. 2 a workflow for a client to acquire and display media content is shown in FIG. 2, and the process includes the following steps:
  • S201 The client requests the MPD from the server.
  • S202 The server sends an MPD to the client.
  • S203 The client parses the MPD, and obtains information about the URL of the relevant fragment and the presentation order.
  • S204 The client requests fragmentation from the server according to the obtained information.
  • S205 The server sends the fragment to the client.
  • the client displays the media content according to the received fragment, including: calling the fragment parsing module to decode the received fragment, obtaining the media content, and then submitting the content to the media player.
  • the network between the client and the server is constantly changing.
  • the client collects information such as: content acquisition duration, decoding duration, cache media content playable time, etc., determining network conditions with the server according to these parameters, and combining the information in the MPD to dynamically determine that the request acquisition code rate is high, Lower or constant shards.
  • the embodiment of the invention provides a client, a streaming media data receiving method and a streaming media data transmission system, which are used to solve the problem that the network situation between the client and the server is suddenly deteriorated, and the client does not have time to adjust the code rate and obtain the media content. The time is too long, and even the problem of media playback is interrupted.
  • an embodiment of the present invention provides a client, including:
  • transceiver module configured to request fragmentation from a server, and receive a fragment sent by the server
  • a processing module configured to determine whether the transceiver module receives the first fragment sent by the server within a preset time threshold after requesting the first fragment from the server; if not received, controlling The transceiver module requests a second slice from the server;
  • the first fragment is the same as the media content included in the second fragment, and the code rate of the first fragment is greater than the code rate of the second fragment.
  • an embodiment of the present invention provides a streaming media data receiving method, including:
  • the first fragment is the same as the media content included in the second fragment, and the code rate of the first fragment is greater than the code rate of the second fragment.
  • an embodiment of the present invention provides a streaming media data transmission system, including:
  • a server configured to send a fragment to the client based on a request from a client
  • the client is configured to request a first fragment from the server, and determine whether the first fragment sent by the server is received within a preset time threshold after requesting the first fragment from the server. If not received, requesting the second fragment from the server;
  • the first fragment is the same as the media content included in the second fragment, and the code rate of the first fragment is greater than the code rate of the second fragment.
  • the client when the client does not receive the fragment sent by the server within a preset time threshold, the client requests the server to have the same media content and a lower code rate.
  • the preset time threshold By setting the preset time threshold, if the time threshold is exceeded, the fragment with lower code rate is obtained, so that the client can adjust the code rate in time, obtain the media content as soon as possible, and ensure the continuity of the media playback.
  • Figure 1 is a diagram of an MPD hierarchy model defined by the MPEG DASH standard
  • FIG. 2 is a flow chart of a process for a client to acquire and display media content under the framework shown in FIG. 1;
  • 3A is a schematic structural diagram of a streaming media data transmission system according to an embodiment of the present invention.
  • FIG. 3B is a schematic structural diagram of a client according to an embodiment of the present disclosure.
  • FIG. 4 is a time information diagram of a media playing by a client according to an embodiment of the present invention.
  • FIG. 5 is a schematic diagram of a code rate switching manner
  • FIG. 6 is a flowchart of a method for receiving streaming media data according to an embodiment of the present invention.
  • the embodiment of the present invention provides a client, a streaming media data receiving method, and a streaming media data transmission system, which are used to solve the problem that when the network condition between the client and the server suddenly deteriorates, the client does not have time to adjust the code rate and obtain the media content. Too long, and even caused the problem of media playback interruption.
  • the client When the client does not receive the fragment sent by the server within the preset time threshold, the client in the embodiment of the present invention requests the server to have the same media content and a lower code rate.
  • the server By setting the preset time threshold, if the time threshold is exceeded, the fragment with lower code rate is obtained, so that the client can adjust the code rate in time, obtain the media content as soon as possible, and ensure the continuity of the media playback.
  • FIG. 3A is a schematic structural diagram of a streaming media data transmission system 10 according to an embodiment of the present invention.
  • the streaming media data transmission system 10 includes a client 30 and a server 20, wherein the server 20 transmits a fragment to the client 30 in response to a request from the client 30.
  • FIG. 3B is a schematic structural diagram of a client 30 according to an embodiment of the present invention. As shown in Figure 3B, The client 30 includes a transceiver module 301 and a processing module 302.
  • the transceiver module 301 requests fragmentation from the server 20 and receives the fragments sent by the server 20.
  • the processing module 302 determines whether the transceiver module 301 receives the first fragment sent by the server 20 within a preset time threshold after requesting the first fragment from the server 20; if not, controls the transceiver module 301 to the server 20 Request the second shard.
  • the first fragment and the second fragment comprise the same media content, and the code rate of the first fragment is greater than the code rate of the second fragment.
  • FIG. 4 shows a time information diagram of the client 30 performing media playback.
  • the media content buffered by the client 30 can be played to the T3 time, that is, the cache media content can be played for: T3-T0.
  • Figure 4 also shows the steps performed by the client at various times.
  • the client 30 performs step S401: requesting the first fragment from the server, and starting timer counting, the timer duration is a preset time threshold.
  • step S402 requesting the second fragment.
  • step S403 successfully acquiring the second slice.
  • the client 30 successfully acquires the second fragment before the cached media content is played, thereby avoiding the interruption of the media playback and ensuring the continuity of the playback.
  • client 30 discards the request for the first slice after time T1.
  • the fragmentation reception timeout occurs.
  • the client 30 abandons the request for the first fragment, which can effectively alleviate the network congestion and restore the network to normal as soon as possible.
  • the client 30 determines that the first fragment sent by the server 20 is not received within the preset time threshold after requesting the first fragment from the server 20, the client 30 gives up receiving the first fragment. For example, the client 30 may send a message to the server indicating that the request for the first slice is abandoned at the time T1, while requesting the second slice from the server. After receiving the message of the client requesting the first fragment, the server no longer attempts to send the first fragment to the client.
  • the client 30 may preset the preset time threshold according to the following factors:
  • N is a positive integer.
  • the code rate of a slice before the first slice obtained by the client 30 is BWs, that is, the value of the bandwidth attribute of the slice to which the slice belongs, as shown in Table 1 below;
  • the length of time taken by the client 30 to obtain a fragment before the first fragment is Ts, that is, the duration of requesting the fragment to successfully acquire the fragment;
  • the code rate of the first fragment to be obtained by the client 30 is BWx, that is, the value of the bandwidth attribute of the presentation to which the fragment belongs. For details, refer to Table 1 below.
  • the preset time threshold Tx can be calculated as
  • the code rates of the three fragments before the first fragment obtained by the client 30 are BW1, BW2, and BW3, respectively;
  • the durations used by the client 30 to obtain the three fragments are T1, T2, and T3, respectively;
  • the code rate of the first slice to be acquired by the client 30 is BWx.
  • An optional calculation method is: the preset time threshold Tx satisfies:
  • the transmission condition of several fragments before the first fragment is comprehensively considered, and the preset time threshold is set to reflect the long-term variation factor of the network between the client 30 and the server 20.
  • Another optional calculation method is: the preset time threshold Tx satisfies:
  • the method considers the transmission of several fragments before the first fragment, and selects the shortest duration as the preset time threshold, which can effectively shorten the delay caused by the failure of the first fragment to be acquired normally.
  • the client 30 may also consider the playable duration of the cached media content, that is, T3-T0 in FIG. 4, specifically, an optional calculation manner is:
  • the time taken to acquire the second slice is longer than the time taken to obtain the first slice. In this manner, the timer expires. After that, the client 30 has enough time to acquire the second slice to avoid interruption of media playback.
  • the server 20 is requested. Before the second fragment is obtained, the client 30 selects the second fragment from one or more specific fragments with different code rates according to the network congestion condition with the server 20;
  • the media content included in the one or more specific fragments is the same as the media content included in the first fragment, and the code rate is lower than the code rate of the first fragment.
  • the client 30 determines that the presentation of the first fragment that has been abandoned is recorded as R1; the client 30 reads the value of the bandwidth attribute of R1, denoted as BW1; and determines other presentations belonging to an adaptation set with R1, read Take the values of these rendered bandwidth attributes and find the presentation R2 with a lower code rate than R1.
  • the fragment described by R2 is requested from the server, which is the second fragment.
  • the client 30 may further select one of the plurality of slices according to the network congestion condition with the server 20.
  • a slice with a lower code rate can be selected from multiple slices, otherwise a slice with a higher code rate can be selected.
  • the client 30 may determine a network congestion condition according to parameters such as a round trip time between requesting the server 20 to receive the response from the server 20, a playable duration of the cached media content, and the like.
  • the client 30 can switch the code rate by using the method shown in FIG. 5:
  • the client 30 finds in the MPD the presentation to which the slice currently being played belongs (herein referred to as "presentation 1" for clarity of description), according to the value of the startNumber attribute in the presentation 1 and the SegmentURL corresponding to the slice currently being played.
  • the sequence number of the element (denoted as N) is calculated, and the sequence number of the current slice is calculated as startNumber+N; next, the display that belongs to the same adaptation set and contains the same content, different code rate, and is ready to switch past is found.
  • the client 30 requests the server 20 to present the fragment N+ in the presentation 2.
  • an embodiment of the present invention further provides a streaming media data receiving method. Because the method solves the technical problem and the client and the streaming media provided by the embodiment of the present invention
  • the volume data transmission system is similar, and its implementation can refer to the implementation of the client and the system, and the details are not repeated here.
  • FIG. 6 is a flowchart of a method for receiving streaming media data according to an embodiment of the present invention. As shown in FIG. 6, the method includes the following steps:
  • S602 Determine whether the first fragment sent by the server is received within a preset time threshold after requesting the first fragment from the server.
  • the first fragment and the second fragment comprise the same media content, and the code rate of the first fragment is greater than the code rate of the second fragment.
  • the method before determining whether the first fragment sent by the server is received within a preset time threshold after the first fragment is requested from the server, the method further includes:
  • N is a positive integer.
  • determining a preset time threshold includes:
  • the playable duration determines the preset time threshold.
  • the preset time threshold is determined according to one of the following formulas:
  • Tx is a preset time threshold
  • BWi is the code rate of the i-th slice before the first slice
  • BWx is the code rate of the first slice
  • Ti is the i-th before the transceiver module acquires the first slice.
  • the length of time used for fragmentation, i, N is a positive integer, 1 ⁇ i ⁇ N
  • Ts is the length of time used by the transceiver module to obtain the previous fragment of the first fragment
  • BWs is the first fragment obtained by the transceiver module.
  • the bit rate of a slice T0 is the time when the transceiver module requests the first slice from the server
  • T3 is the time at which the cached media content can be played at time T0
  • min(.) is the minimum value.
  • the method further includes:
  • the media content included in the one or more specific fragments is the same as the media content included in the first fragment, and the code rate is lower than the code rate of the first fragment.
  • the method further includes:
  • the client when the client does not receive the fragment sent by the server within a preset time threshold, the client requests the server to have the same media content and a lower code rate.
  • the preset time threshold By setting the preset time threshold, if the time threshold is exceeded, the fragment with lower code rate is obtained, so that the client can adjust the code rate in time, obtain the media content as soon as possible, and ensure the continuity of the media playback.
  • embodiments of the present invention can be provided as a method, system, Or a computer program product. Accordingly, the present invention may take the form of an entirely hardware embodiment, an entirely software embodiment, or a combination of software and hardware. Moreover, the invention can take the form of a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • a computer program product embodied on one or more computer-usable storage media (including but not limited to disk storage, CD-ROM, optical storage, etc.) including computer usable program code.
  • the computer program instructions can also be stored in a computer readable memory that can direct a computer or other programmable data processing device to operate in a particular manner, such that the instructions stored in the computer readable memory produce an article of manufacture comprising the instruction device.
  • the apparatus implements the functions specified in one or more blocks of the flowchart or in a block or blocks of the flowchart.
  • These computer program instructions can also be loaded onto a computer or other programmable data processing device such that a series of operational steps are performed on a computer or other programmable device to produce computer-implemented processing for execution on a computer or other programmable device.
  • the instructions provide steps for implementing the functions specified in one or more blocks of a flow or a flow and/or block diagram of the flowchart.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Data Exchanges In Wide-Area Networks (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明涉及流媒体技术,尤其涉及一种客户端、流媒体数据接收方法和流媒体数据传输系统,用以解决客户端和服务器之间的网络情况突然恶化时,客户端获取媒体内容的时间过长的问题。在本发明实施例提供的客户端中,收发模块向服务器请求分片,接收服务器发送的分片;处理模块若判断收发模块在在向服务器请求第一分片之后的预设的时间阈值内,未接收到服务器发送的第一分片,则控制收发模块向服务器请求与第一分片的媒体内容相同,但码率更低的第二分片,使得客户端能够及时调整码率,尽快获取媒体内容,保证了媒体播放的连续性。

Description

客户端、流媒体数据接收方法和流媒体数据传输系统 技术领域
本发明涉及流媒体技术,尤其涉及一种客户端、流媒体数据接收方法和流媒体数据传输系统。
背景技术
采用传统流媒体技术中,传输的流媒体数据需要经过防火墙,且需要专业的媒体服务器支撑,实现复杂。因此出现了通过互联网传输流媒体数据的互联网流媒体技术,其不对现有互联网体系提出额外的要求,可通过对媒体文件的存储、信息描述方式进行修改,使得通过现有的HTTP协议传输流媒体数据。
移动图像专家组(Moving Pictures Experts Group,MPEG)制定的动态自适应流媒体(Dynamic Adaptive Streaming,DASH)标准,简称MPEG DASH标准,提供了采用互联网流媒体技术传输流媒体数据的标准化方案。
MPEG DASH标准定义的媒体展现描述(Media Presentation Description,MPD)的层次结构模型如图1所示。
该层次结构模型中,时段(Period)用于描述可播放一段时间的媒体内容,次序相邻的时段描述的媒体内容在时间上是连续的。一个时段包含多个适配集合(Adaptation Set),每个适配集合描述适配多个码率的媒体内容,每个码率对应一个呈现(Representation)。呈现描述媒体内容的具体封装格式、码率、编解码参数等信息。一个呈现包含多个分片(Segment)的统一资源定位器(Uniform Resoure Locator,URL),用于指示对应的分片的存储位置,分片包含具体的媒体内容,即音频、视频、字幕、复用的音频和视频等。
在图1所示的MPEG DASH标准定义的MPD层次结构模型下,一种客户端获取并展现媒体内容的工作流程如图2所示,该流程包括如下步骤:
S201:客户端向服务器请求MPD;
S202:服务器向客户端发送MPD;
S203:客户端解析MPD,从中获取相关分片的URL以及展现顺序等信息;
S204:客户端根据获取的信息,向服务器请求分片;
S205:服务器向客户端发送分片;
S206:客户端根据接收到的分片,展现媒体内容,包括:调用分片解析模块对接收到的分片进行解码,得到媒体内容,然后交由媒体播放器进行展现。
在客户端获取媒体内容的过程中,客户端与服务器之间的网络情况是不断变化的。客户端会收集诸如:内容获取时长、解码时长、缓存媒体内容可播放时间等信息,根据这些参数确定与服务器之间的网络情况,并结合MPD中的信息,动态确定请求获取码率较高、较低或者不变的分片。
若在客户端获取媒体内容的过程中,网络情况突然恶化,比如:网络可用带宽突然变小,客户端来不及调整码率,这将使得客户端获取媒体内容的时间过长,甚至导致媒体播放中断。目前,还没有一种能解决该问题的方法。
发明内容
本发明实施例提供一种客户端、流媒体数据接收方法和流媒体数据传输系统,用以解决客户端和服务器之间的网络情况发生突然恶化时,客户端来不及调整码率,获取媒体内容的时间过长,甚至导致媒体播放中断的问题。
根据第一方面,本发明实施例提供一种客户端,包括:
收发模块,配置用于向服务器请求分片,以及接收所述服务器发送的分片;
处理模块,配置用于判断所述收发模块是否在向服务器请求第一分片之后的预设的时间阈值内,接收到所述服务器发送的所述第一分片;若未接收到,则控制所述收发模块向所述服务器请求第二分片;
其中,所述第一分片与所述第二分片包含的媒体内容相同,所述第一分片的码率大于所述第二分片的码率。
根据第二方面,本发明实施例提供一种流媒体数据接收方法,包括:
向服务器请求第一分片;
判断是否在向所述服务器请求第一分片之后的预设的时间阈值内,接收到所述服务器发送的所述第一分片;
若未接收到,则向所述服务器请求第二分片;
其中,所述第一分片与所述第二分片包含的媒体内容相同,所述第一分片的码率大于所述第二分片的码率。
根据第三方面,本发明实施例提供一种流媒体数据传输系统,包括:
服务器,配置用于根据来自客户端的请求向所述客户端发送分片;以及
所述客户端,配置用于向服务器请求第一分片,判断是否在向所述服务器请求第一分片之后的预设的时间阈值内,接收到所述服务器发送的所述第一分片;若未接收到,则向所述服务器请求第二分片;
其中,所述第一分片与所述第二分片包含的媒体内容相同,所述第一分片的码率大于所述第二分片的码率。
综上,本发明实施例中,客户端在预设的时间阈值内未接收到服务器发送的分片时,向服务器请求媒体内容相同,码率更低的分片。通过设置该预设的时间阈值,超过该时间阈值则获取码率更低的分片,使得客户端能够及时调整码率,尽快获取媒体内容,保证媒体播放的连续性。
附图说明
图1为MPEG DASH标准定义的MPD层次结构模型图;
图2为在图1所示的框架下客户端获取并展现媒体内容的过程的流程图;
图3A为本发明实施例提供的流媒体数据传输系统的结构示意图;
图3B为本发明实施例提供的客户端的结构示意图;
图4为本发明实施例中,客户端进行媒体播放的时间信息图;
图5为码率切换方式示意图;
图6为本发明实施例提供的流媒体数据接收方法的流程图。
具体实施方式
本发明实施例提供一种客户端、流媒体数据接收方法和流媒体数据传输系统,用以解决客户端和服务器之间的网络情况突然恶化时,客户端来不及调整码率,获取媒体内容的时间过长,甚至导致媒体播放中断的问题。
本发明实施例提供的客户端在预设的时间阈值内未收到服务器发送的分片时,向服务器请求媒体内容相同,码率更低的分片。通过设置该预设的时间阈值,超过该时间阈值则获取码率更低的分片,使得客户端能够及时调整码率,尽快获取媒体内容,保证媒体播放的连续性。
下面,结合附图对本发明实施例进行详细说明。首先,介绍本发明实施例提供的流媒体数据传输系统及客户端;然后介绍本发明实施例提供的流媒体数据接收方法。
图3A为本发明实施例提供的流媒体数据传输系统10的结构示意图。如图3A所示,流媒体数据传输系统10包括:客户端30和服务器20,其中,服务器20根据来自客户端30的请求向客户端30发送分片。
图3B为本发明实施例提供的客户端30的结构示意图。如图3B所示, 客户端30包括:收发模块301和处理模块302。
收发模块301向服务器20请求分片,以及接收服务器20发送的分片。
处理模块302判断收发模块301是否在向服务器20请求第一分片之后的预设的时间阈值内,接收到服务器20发送的第一分片;若未接收到,则控制收发模块301向服务器20请求第二分片。
其中,第一分片与第二分片包含的媒体内容相同,第一分片的码率大于第二分片的码率。
图4示出了客户端30进行媒体播放的时间信息图。如图4所示,在T0时刻,客户端30缓存的媒体内容可播放至T3时刻,即缓存媒体内容可播放时长为:T3-T0。
图4还示出了客户端在各个时刻所执行的步骤。在T0时刻,客户端30执行步骤S401:向服务器请求第一分片,并启动定时器计时,定时器时长为预设的时间阈值。
在T1时刻,定时器超时,客户端30执行步骤S402:请求第二分片。
在T2时刻,客户端30执行步骤S403:成功获取第二分片。
由于T2在T3之前,因此,客户端30在缓存媒体内容播放完毕之前,成功获取了第二分片,因此避免了媒体播放中断,保证了播放的连续性。
可选地,客户端30在T1时刻之后,放弃请求第一分片。
通常在网络拥塞的情况下,才会出现分片接收超时,此时,客户端30放弃请求第一分片,可有效缓解网络拥塞情况,使网络尽快恢复正常。
即:若客户端30判断出在向服务器20请求第一分片之后的预设的时间阈值内,未接收到服务器20发送的第一分片,则客户端30放弃接收第一分片。例如,客户端30可在T1时刻,在向服务器请求第二分片的同时,向服务器发送表明放弃请求第一分片的消息。服务器在接收到客户端的放弃请求第一分片的消息之后,不再尝试向客户端发送第一分片。
可选地,客户端30可根据如下因素,预先设定该预设的时间阈值:
获取的第一分片之前的N个分片中的每一个分片的码率;
获取第一分片之前的N个分片中的每一个分片所用的时长;
第一分片的码率;
其中,N为正整数。
比如:以N=1为例,客户端30获取的第一分片之前的一个分片的码率为BWs,即分片所属的呈现的bandwidth属性的值,具体可参见下面的表1;
客户端30获取第一分片之前的一个分片所用的时长为Ts,即请求该分片到成功获取该分片的时长;
客户端30要获取的第一分片的码率为BWx,即分片所属的呈现的bandwidth属性的值,具体可参见下面的表1。
则该预设的时间阈值Tx可以计算为
Figure PCTCN2015081931-appb-000001
再比如:以N=3为例,客户端30获取的第一分片之前的3个分片的码率为分别为BW1、BW2和BW3;
客户端30获取该3个分片所用的时长分别为T1、T2和T3;
客户端30要获取的第一分片的码率为BWx。
则一种可选的计算方式为:该预设的时间阈值Tx满足:
Figure PCTCN2015081931-appb-000002
该方式中综合考虑了第一分片之前的若干个分片的传输情况,设置的该预设的时间阈值更能反映客户端30与服务器20之间网络情况的长期变化因素。
另一种可选的计算方式为:该预设的时间阈值Tx满足:
Figure PCTCN2015081931-appb-000003
该方式综合考虑了第一分片之前的若干个分片的传输情况,选择了最短的时长作为该预设的时间阈值,更能有效缩短第一分片无法正常获取造成的时延。
进一步地,客户端30在设置该预设的时间阈值时,还可考虑缓存媒体内容的可播放时长,即:图4中的T3-T0,具体地,一种可选的计算方式为:
Figure PCTCN2015081931-appb-000004
由于第二分片的码率比第一分片的码率低,通常,获取第二分片所用的时长比获取第一分片所用的时长更长,采用该方式,可保证在定时器超时后,客户端30有足够的时间获取第二分片,避免媒体播放中断。
表1、MPD中描述的分片所属的呈现的属性
Figure PCTCN2015081931-appb-000005
可选地,在客户端30判断出在向服务器20请求第一分片之后的预设的时间阈值内,未接收到服务器20发送的第一分片之后,向服务器20请 求第二分片之前,客户端30根据与服务器20之间的网络拥塞情况,从码率不同的一个或多个特定分片中,选择第二分片;
其中,该一个或多个特定分片包含的媒体内容与第一分片包含的媒体内容相同,且码率均低于第一分片的码率。
客户端30确定已放弃接收的第一分片所属的呈现,记为R1;客户端30读取R1的bandwidth属性的值,记为BW1;确定与R1同属于一个适配集合的其他呈现,读取这些呈现的bandwidth属性的值,找到码率比R1低的呈现R2。向服务器请求R2描述的分片,即为第二分片。
若找到多个码率比R1低的呈现,则客户端30可进一步根据与服务器20之间的网络拥塞情况,从多个分片中选择一个分片。
具体地,网络堵塞情况严重,则可从多个分片中选择码率较低的分片,否则可选择码率较高的分片。
可选地,客户端30可根据向服务器20请求分片到接收到服务器20的响应之间的往返时间、缓存媒体内容的可播放时长等参数确定网络拥塞情况。
本发明实施例中,客户端30可通过图5所示的方式进行码率的切换:
客户端30在MPD中找到当前正在播放的分片所属的呈现(为描述清楚起见,这里记为“呈现1”),根据呈现1中的startNumber属性的值和当前正在播放的分片对应的SegmentURL元素的排列序号(记为N),计算得出当前分片的序号为startNumber+N;接下来找到属于同一个适配集合的、包含相同内容、不同码率的、准备切换过去的呈现(记为“呈现2”),并在呈现2中找到序号为startNumber+N+1的分片(记为分片N+1);随后,客户端30向服务器20请求呈现2中的分片N+1。
基于相同的发明构思,本发明实施例还提供了一种流媒体数据接收方法。由于该方法解决技术问题的原理与本发明实施例提供的客户端和流媒 体数据传输系统相似,其实施可参照该客户端和系统的实施,重复之处不再赘述。
图6为本发明实施例提供的流媒体数据接收方法的流程图。如图6所示,该方法包括如下步骤:
S601:向服务器请求第一分片;
S602:判断是否在向服务器请求第一分片之后的预设的时间阈值内,接收到服务器发送的第一分片;
S603:若未接收到,则向服务器请求第二分片;
其中,第一分片与第二分片包含的媒体内容相同,第一分片的码率大于第二分片的码率。
可选地,在判断是否在向服务器请求第一分片之后的预设的时间阈值内,接收到服务器发送的第一分片之前,还包括:
根据获取的第一分片之前的N个分片中每一个分片的码率和获取该N个分片中每一个分片所用的时长,以及第一分片的码率,确定预设的时间阈值;
其中,N为正整数。
可选地,确定预设的时间阈值,包括:
根据获取的第一分片之前的N个分片中每一个分片的码率、获取该N个分片中每一个分片所用的时长、第一分片的码率,以及缓存媒体内容的可播放时长,确定预设的时间阈值。
可选地,根据如下公式之一确定预设的时间阈值:
Figure PCTCN2015081931-appb-000006
Figure PCTCN2015081931-appb-000007
Figure PCTCN2015081931-appb-000008
其中,Tx为预设的时间阈值,BWi为第一分片之前的第i个分片的码率,BWx为第一分片的码率,Ti为收发模块获取第一分片之前的第i个分片所用的时长,i、N为正整数,1≤i≤N;Ts为收发模块获取第一分片的前一个分片所用的时长,BWs为收发模块获取的第一分片的前一个分片的码率,T0为收发模块向服务器请求第一分片的时刻,T3为在T0时刻,缓存的媒体内容可播放到的时刻,min(.)为取最小值。
可选地,在判断出在向服务器请求第一分片之后的预设的时间阈值内,未接收到服务器发送的第一分片之后,向服务器请求第二分片之前,还包括:
根据与服务器之间的网络拥塞情况,从码率不同的一个或多个特定分片中,选择第二分片;
其中,一个或多个特定分片包含的媒体内容与第一分片包含的媒体内容相同,且码率均低于第一分片的码率。
可选地,若判断出在向服务器请求第一分片之后的预设的时间阈值内,未接收到服务器发送的第一分片,则还包括:
向服务器发送放弃请求第一分片的消息。
综上,本发明实施例中,客户端在预设的时间阈值内未接收到服务器发送的分片时,向服务器请求媒体内容相同,码率更低的分片。通过设置该预设的时间阈值,超过该时间阈值则获取码率更低的分片,使得客户端能够及时调整码率,尽快获取媒体内容,保证媒体播放的连续性。
本领域内的技术人员应明白,本发明的实施例可提供为方法、系统、 或计算机程序产品。因此,本发明可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本发明可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本发明是参照根据本发明实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图的一个流程或多个流程和/或方框图的一个方框或多个方框中指定的功能的步骤。
尽管已描述了本发明的优选实施例,但本领域内的技术人员一旦得知了基本创造性概念,则可对这些实施例作出另外的变更和修改。所以,所附权利要求意欲解释为包括优选实施例以及落入本发明范围的所有变更 和修改。
显然,本领域的技术人员可以对本发明进行各种改动和变型而不脱离本发明的精神和范围。这样,倘若本发明的这些修改和变型落入本发明权利要求及其等同技术的范围之内,则本发明也意图包含这些改动和变型在内。

Claims (13)

  1. 一种客户端,包括:
    收发模块,配置用于向服务器请求分片,以及接收所述服务器发送的分片;
    处理模块,配置用于判断所述收发模块是否在向服务器请求第一分片之后的预设的时间阈值内,接收到所述服务器发送的所述第一分片;若未接收到,则控制所述收发模块向所述服务器请求第二分片;
    其中,所述第一分片与所述第二分片包含的媒体内容相同,所述第一分片的码率大于所述第二分片的码率。
  2. 如权利要求1所述的客户端,其中,所述处理模块还配置用于:
    在判断是否在向服务器请求第一分片之后的预设的时间阈值内,接收到所述服务器发送的所述第一分片之前,根据所述收发模块获取的所述第一分片之前的N个分片中每一个分片的码率和获取该N个分片中每一个分片所用的时长,以及所述第一分片的码率,确定所述预设的时间阈值;
    其中,N为正整数。
  3. 如权利要求1所述的客户端,其中,所述处理模块还配置用于:
    在判断是否在向服务器请求第一分片之后的预设的时间阈值内,接收到所述服务器发送的所述第一分片之前,根据所述收发模块获取的所述第一分片之前的N个分片中每一个分片的码率、获取该N个分片中每一个分片所用的时长、所述第一分片的码率,以及所述客户端缓存媒体内容的可播放时长,确定所述预设的时间阈值。
  4. 如权利要求3所述的客户端,其中,所述处理模块配置用于根据如下公式之一确定所述预设的时间阈值:
    Figure PCTCN2015081931-appb-100001
    Figure PCTCN2015081931-appb-100002
    Figure PCTCN2015081931-appb-100003
    其中,Tx为所述预设的时间阈值,BWi为所述第一分片之前的第i个分片的码率,BWx为所述第一分片的码率,Ti为所述收发模块获取所述第一分片之前的第i个分片所用的时长,i、N为正整数,1≤i≤N;TS为所述收发模块获取所述第一分片的前一个分片所用的时长,BWs为所述收发模块获取的所述第一分片的前一个分片的码率,T0为所述收发模块向所述服务器请求所述第一分片的时刻,T3为在T0时刻,所述客户端缓存的媒体内容可播放到的时刻,min(.)为取最小值。
  5. 如权利要求1所述的客户端,其中,所述处理模块还配置用于:判断出在向服务器请求第一分片之后的预设的时间阈值内,未接收到所述服务器发送的所述第一分片之后,向所述服务器请求第二分片之前,
    根据所述客户端与所述服务器之间的网络拥塞情况,从码率不同的一个或多个特定分片中,选择所述第二分片;
    其中,所述一个或多个特定分片包含的媒体内容与所述第一分片包含的媒体内容相同,且码率均低于所述第一分片的码率。
  6. 如权利要求1~5中任一项所述的客户端,其中,所述处理模块还配置用于:
    若判断出在向服务器请求第一分片之后的预设的时间阈值内,未收到 所述服务器发送的所述第一分片,则控制所述收发模块向服务器发送放弃请求所述第一分片的消息。
  7. 一种流媒体数据接收方法,包括:
    向服务器请求第一分片;
    判断是否在向所述服务器请求第一分片之后的预设的时间阈值内,接收到所述服务器发送的所述第一分片;
    若未接收到,则向所述服务器请求第二分片;
    其中,所述第一分片与所述第二分片包含的媒体内容相同,所述第一分片的码率大于所述第二分片的码率。
  8. 如权利要求7所述的方法,其中,在判断是否在向服务器请求第一分片之后的预设的时间阈值内,接收到所述服务器发送的所述第一分片之前,所述方法还包括:
    根据获取的所述第一分片之前的N个分片中每一个分片的码率和获取该N个分片中每一个分片所用的时长,以及所述第一分片的码率,确定所述预设的时间阈值;
    其中,N为正整数。
  9. 如权利要求7所述的方法,其中,在判断是否在向服务器请求第一分片之后的预设的时间阈值内,接收到所述服务器发送的所述第一分片之前,所述方法还包括:
    根据获取的所述第一分片之前的N个分片中每一个分片的码率、获取该N个分片中每一个分片所用的时长、所述第一分片的码率,以及所述客户端缓存媒体内容的可播放时长,确定所述预设的时间阈值。
  10. 如权利要求9所述的方法,其中,确定所述预设的时间阈值包括:根据如下公式之一确定所述预设的时间阈值:
    Figure PCTCN2015081931-appb-100004
    Figure PCTCN2015081931-appb-100005
    Figure PCTCN2015081931-appb-100006
    其中,Tx为所述预设的时间阈值,BWi为所述第一分片之前的第i个分片的码率,BWx为所述第一分片的码率,Ti为所述收发模块获取所述第一分片之前的第i个分片所用的时长,i、N为正整数,1≤i≤N;TS为所述收发模块获取所述第一分片的前一个分片所用的时长,BWs为所述收发模块获取的所述第一分片的前一个分片的码率,T0为所述收发模块向所述服务器请求所述第一分片的时刻,T3为在T0时刻,缓存的媒体内容可播放到的时刻,min(.)为取最小值。
  11. 如权利要求7所述的方法,其中,在判断出在向服务器请求第一分片之后的预设的时间阈值内,未接收到所述服务器发送的所述第一分片之后,向所述服务器请求第二分片之前,所述方法还包括:
    根据与所述服务器之间的网络拥塞情况,从码率不同的一个或多个特定分片中,选择所述第二分片;
    其中,所述一个或多个特定分片包含的媒体内容与所述第一分片包含的媒体内容相同,且码率均低于所述第一分片的码率。
  12. 如权利要求7~11中任一项所述的方法,其中,若判断出在向服务器请求第一分片之后的预设的时间阈值内,未接收到所述服务器发送的所述第一分片,则所述方法还包括:
    向服务器发送放弃请求所述第一分片的消息。
  13. 一种流媒体数据传输系统,包括
    服务器,配置用于根据来自客户端的请求向所述客户端发送媒体分片;
    所述客户端,配置用于向服务器请求第一分片,判断是否在向所述服务器请求第一分片之后的预设的时间阈值内,接收到所述服务器发送的所述第一分片;若未收到,则向所述服务器请求第二分片;
    其中,所述第一分片与所述第二分片包含的媒体内容相同,所述第一分片的码率大于所述第二分片的码率。
PCT/CN2015/081931 2015-01-16 2015-06-19 客户端、流媒体数据接收方法和流媒体数据传输系统 Ceased WO2016112641A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP15877556.9A EP3247124B1 (en) 2015-01-16 2015-06-19 Client, streaming media data receiving method and streaming media data transmission system
US15/124,059 US10200433B2 (en) 2015-01-16 2015-06-19 Client device, a method for receiving a streaming media data and a streaming media data transmission system

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510024471.0A CN104581340B (zh) 2015-01-16 2015-01-16 客户端、流媒体数据接收方法和流媒体数据传输系统
CN201510024471.0 2015-01-16

Publications (1)

Publication Number Publication Date
WO2016112641A1 true WO2016112641A1 (zh) 2016-07-21

Family

ID=53096388

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/081931 Ceased WO2016112641A1 (zh) 2015-01-16 2015-06-19 客户端、流媒体数据接收方法和流媒体数据传输系统

Country Status (4)

Country Link
US (1) US10200433B2 (zh)
EP (1) EP3247124B1 (zh)
CN (1) CN104581340B (zh)
WO (1) WO2016112641A1 (zh)

Families Citing this family (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104581340B (zh) * 2015-01-16 2018-02-16 京东方科技集团股份有限公司 客户端、流媒体数据接收方法和流媒体数据传输系统
CN106657143A (zh) * 2017-01-20 2017-05-10 中兴通讯股份有限公司 一种流媒体传输方法、装置、服务器及终端
CN111669665B (zh) * 2019-03-05 2021-12-21 北京开广信息技术有限公司 媒体流的实时推送方法及服务器
CN111757313A (zh) * 2019-03-29 2020-10-09 华为技术有限公司 一种通信方法及装置
CN114222194A (zh) * 2021-12-17 2022-03-22 浙江大华技术股份有限公司 一种视频码流调整方法、装置及系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030161401A1 (en) * 2002-02-27 2003-08-28 Bo Shen Reducing the resolution of media data
CN102204272A (zh) * 2010-12-31 2011-09-28 华为技术有限公司 流媒体中播放时间点跳转后的处理方法及装置
CN103747283A (zh) * 2013-12-24 2014-04-23 中国科学院声学研究所 视频分片的下载方法
CN104581340A (zh) * 2015-01-16 2015-04-29 京东方科技集团股份有限公司 客户端、流媒体数据接收方法和流媒体数据传输系统

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9374406B2 (en) * 2012-02-27 2016-06-21 Qualcomm Incorporated Dash client and receiver with a download rate estimator
WO2014011848A2 (en) * 2012-07-12 2014-01-16 Huawei Technologies Co., Ltd. Signaling and processing content with variable bitrates for adaptive streaming
KR102066707B1 (ko) * 2013-06-10 2020-01-15 삼성전자주식회사 비디오 스트리밍 서비스를 제공하기 위한 방법 및 그 모바일 장치
US9509742B2 (en) * 2014-10-29 2016-11-29 DLVR, Inc. Configuring manifest files referencing infrastructure service providers for adaptive streaming video
US10749918B2 (en) * 2014-11-10 2020-08-18 Avago Technologies International Sales Pte. Limited Adaptive streaming with early client indication

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20030161401A1 (en) * 2002-02-27 2003-08-28 Bo Shen Reducing the resolution of media data
CN102204272A (zh) * 2010-12-31 2011-09-28 华为技术有限公司 流媒体中播放时间点跳转后的处理方法及装置
CN103747283A (zh) * 2013-12-24 2014-04-23 中国科学院声学研究所 视频分片的下载方法
CN104581340A (zh) * 2015-01-16 2015-04-29 京东方科技集团股份有限公司 客户端、流媒体数据接收方法和流媒体数据传输系统

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
See also references of EP3247124A4 *

Also Published As

Publication number Publication date
US10200433B2 (en) 2019-02-05
EP3247124B1 (en) 2024-10-09
CN104581340A (zh) 2015-04-29
CN104581340B (zh) 2018-02-16
EP3247124A1 (en) 2017-11-22
US20170019447A1 (en) 2017-01-19
EP3247124A4 (en) 2018-07-25

Similar Documents

Publication Publication Date Title
US10123059B2 (en) Fast start of streaming digital media playback with deferred license retrieval
CN109565620B (zh) 计算设备、用于生成和接收低延迟视频流的方法
CN105100961B (zh) 视频缩略图生成方法及生成装置
CN102130936B (zh) 一种在动态http流传输方案中支持时移回看的方法和装置
US8689267B2 (en) Variable bit video streams for adaptive streaming
EP2649792B1 (en) Pre-buffering audio/video stream pairs
US8891946B2 (en) Accelerated playback of streaming media
TWI470983B (zh) 用以更新超文件傳輸協定內容描述之方法及裝置
US20150271231A1 (en) Transport accelerator implementing enhanced signaling
WO2018232796A1 (zh) 一种流媒体文件处理方法及直播系统
CN103957471B (zh) 网络视频播放的方法和装置
JP2015511782A (ja) ダウンロードレートエスティメータを備えた改良されたdashクライアントおよび受信機
WO2014143631A1 (en) Playback stall avoidance in adaptive media streaming
WO2016112639A1 (zh) 流媒体数据传输方法、客户端和服务器
CN104581340B (zh) 客户端、流媒体数据接收方法和流媒体数据传输系统
CN107690093B (zh) 一种视频播放方法及装置
CN107920108A (zh) 一种媒体资源的推送方法、客户端及服务器
CN103826158B (zh) 一种网络直播装置和方法
JP7162019B2 (ja) データストリーミング方法、データストリーミング装置、及びコンピュータプログラム
GB2501271A (en) Determining download times for a sequence of multimedia data segments obtained from a plurality of data sources
JP2017084044A (ja) コンテンツ配信システムのクライアント装置、コンテンツの再生開始タイミングを判定する方法及びプログラム
WO2016172967A1 (zh) 一种媒体流传输方法及装置

Legal Events

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

Ref document number: 15877556

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2015877556

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15124059

Country of ref document: US

Ref document number: 2015877556

Country of ref document: EP

NENP Non-entry into the national phase

Ref country code: DE