WO2011150644A1 - Method and apparatus for acquiring and transmitting streaming media data in the process of initiation - Google Patents

Method and apparatus for acquiring and transmitting streaming media data in the process of initiation Download PDF

Info

Publication number
WO2011150644A1
WO2011150644A1 PCT/CN2010/079939 CN2010079939W WO2011150644A1 WO 2011150644 A1 WO2011150644 A1 WO 2011150644A1 CN 2010079939 W CN2010079939 W CN 2010079939W WO 2011150644 A1 WO2011150644 A1 WO 2011150644A1
Authority
WO
WIPO (PCT)
Prior art keywords
streaming media
content
media data
startup phase
fragment
Prior art date
Application number
PCT/CN2010/079939
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 华为技术有限公司
Priority to CN201080003494.9A priority Critical patent/CN102656857B/en
Priority to PCT/CN2010/079939 priority patent/WO2011150644A1/en
Publication of WO2011150644A1 publication Critical patent/WO2011150644A1/en

Links

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/14Multichannel or multilink protocols
    • 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/612Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for unicast

Definitions

  • the present invention relates to the field of streaming media technologies, and in particular, to a method and an apparatus for acquiring and transmitting streaming media data in a startup phase. Background technique
  • the Smooth Streaming mechanism is a streaming media service based on the HTTP (Hyper Text Transfer Protocol) protocol. It can adaptively change the transmission rate according to the network conditions to achieve smooth playback of the terminal.
  • the video content is bounded by a complete GOP (Group of Pictures), one GOP or multiple GOPs are encapsulated into one fragment, and the same code rate fragment is encapsulated into a segment.
  • the encapsulated audio and video files are stored on the HTTP web server.
  • the client uses the HTTP protocol to request the corresponding audio and video fragments from the fragment, and plays them.
  • RTSP Real Time
  • Streaming Protocol Real Time Messaging Protocol
  • RTMP Real Time Messaging Protocol
  • the message flow between the client and the server mainly includes the following steps: i.
  • the player requests audio and video data piece by piece, and decodes the presentation:
  • the client parses the received manifest file, and generates a URL of each fragment request of the audio and video content according to the fragmented URL template given in the manifest file.
  • the URL of the fragment request must carry the information of the bit rate, the fragment start position, and the media type.
  • the server parses the bit rate in the HTTP request message, the fragment start position, and the media type, and finds the corresponding content, through HTTP.
  • the protocol responds to the client.
  • the specific request for which bit rate file, the player can be determined based on the detected actual network bandwidth and client processing capabilities.
  • Corresponding to the Smooth Streaming mechanism is Dynamic Streaming. It is also a streaming media service based on the HTTP protocol. It can adaptively change the transmission bit rate according to the network conditions, so as to achieve smooth playback of the terminal.
  • the video content is bounded by a complete GOP, and one GOP or multiple GOPs are encapsulated into one fragment, and the same fragment with the same encoding rate and number of GPs is encapsulated into one segment.
  • the encapsulated audio and video files are stored on the HTTP web server.
  • the client uses the HTTP protocol to request the corresponding audio and video fragments from the fragment, and plays them.
  • the message flow between the client and the server mainly includes the following steps: i.
  • the player downloads the f4m file:
  • the file describes the audio and video bit rate and encoding of the requested media content. , fragmentation rules and other information. Subsequent request for audio and video data by the player on a piecemeal basis depends on the file. Ii.
  • Player downloads the bootstrap file This file describes the metadata information of each fragment segment, and the file can exist independently or merge with the f4m file.
  • the player requests audio and video data piece by piece, and decodes and presents:
  • the client parses the received f4m file and the bootstrap file, generates a tone according to the fragment URL template given in the f4m file, and the metadata information in the bootstrap file.
  • the bit rate and the fragment index information are carried in the URL of the fragment request, and the server side parses the bit rate in the HTTP request message, and finds the corresponding content according to the fragment index, and responds to the client through the HTTP protocol.
  • the specific request for which bit rate file, the player can be determined based on the detected actual network bandwidth and client processing capabilities.
  • the total startup delay is composed of the manifest delay of the manifest and the padding delay of the decoding buffer.
  • the total startup delay is delayed by the delivery of the f4m file and the bootstrap file.
  • the padding delay of the decoding buffer is composed.
  • the padding delay of the decoding buffer is affected by the buffer size and the sending speed of the media content in the startup phase.
  • the player uses two methods of starting and setting a smaller buffer at the lowest bit rate. For example, when the server provides content at 512kbps, 1Mbps, and 2Mbps, the player is in the startup phase, and the fixed request is 512kbps. Content.
  • the startup delay is attempted, due to some limitations in the actual application, the startup delay is still large when the scheme is actually used.
  • the access bandwidth of broadband in most cities in China is lower than 2 Mbps. Assume that the calculation is performed at 2 Mbps. Because the number and duration of each shard are described in the manifest file, the file is too large, a 100-minute period.
  • the movie, its manifest file is generally around 500kB, which means that only downloading the manifest file may take about 2s, when the buffer is set to 2, each slice is 2s (recommended value), the lowest bit rate is 512kbps, the first 2
  • the theoretical download delay of the slice media slice is I s , that is to say, in this case, the start delay is not less than 3s o. In fact, there is a contention between users in the cell local area network (essentially the bottom layer).
  • the bandwidth of the transmission protocol such as TCP and UDP, causes the actual bandwidth used by the user to be lower or lower than its subscription bandwidth. This means that the delay in downloading the manifest file and filling the media fragment file of the buffer will actually be more Big.
  • the operator In order to improve the concurrent service capability of the HTTP server, the operator often limits the connection bandwidth of the server, which also affects the delivery speed of the streaming media data.
  • the user when the user encounters an uninteresting part during the viewing process, it often jumps directly to the back view. After the jump occurs, if the content of the new location has not been downloaded to the local, the same is faced with the padding delay of the decoding buffer.
  • the technology directly requests the lowest bit rate to reduce the padding delay. As a result, the user may find that the quality of the video it watches after the jump is significantly degraded, which obviously affects the user's viewing experience. Summary of the invention
  • Embodiments of the present invention provide a method and an apparatus for acquiring and transmitting streaming media data in a startup phase to reduce startup delay.
  • the embodiment of the present invention provides a method for acquiring streaming media data in a startup phase, where the method includes: acquiring a streaming media content description file; and generating a file according to the streaming media content description file.
  • the component content acquisition request is sent to the server; the multiple transmission control protocol is utilized during the startup phase.
  • the fragmented content of the streaming media data corresponding to the fragment content acquisition request is obtained from the server end.
  • the embodiment of the present invention provides a method for transmitting streaming media data in a startup phase, where the method includes: sending a streaming media content description file; and receiving, by the receiving client, the fragment content obtained according to the streaming media content description file. Requesting; using a plurality of transmission control protocol TCP connections in the startup phase, transmitting the fragmented content of the streaming media data corresponding to the fragmentation content acquisition request.
  • an embodiment of the present invention provides a client device for acquiring streaming media data in a startup phase, where the client device includes: an acquiring unit, configured to acquire a streaming media content description file; and a request generating unit, configured to The streaming media content description file is generated, and the generated fragmentation content acquisition request is sent to the server.
  • the acquiring unit is further configured to use multiple transmission control protocols in the startup phase.
  • the fragmented content of the streaming media data corresponding to the fragment content acquisition request is obtained from the server end.
  • the embodiment of the present invention provides a server device for sending streaming media data in a startup phase, where the server device includes: a sending unit, configured to send a streaming media content description file; and a request receiving unit, configured to receive the client And the sending unit is further configured to: use the multiple transmission control protocol TCP connection in the startup phase to send the streaming media data corresponding to the fragmented content acquisition request Fragment content.
  • FIG. 1 is a flowchart of a method for acquiring streaming media data in a startup phase according to an embodiment of the present invention
  • FIG. 2 is a flowchart of a method for transmitting streaming media data in a startup phase according to an embodiment of the present invention
  • FIG. 3 is a flowchart of a Smooth Streaming message according to an embodiment of the present invention
  • FIG. 4 is a schematic flowchart of a message exchange of a message of a Smooth Streaming according to an embodiment of the present invention
  • FIG. 5 is a schematic flowchart of another message interaction of a Smooth Streaming according to an embodiment of the present invention
  • FIG. 6 is a schematic diagram of a non-uniform sharding mechanism according to an embodiment of the present invention
  • FIG. 7 is a schematic structural diagram of a client device for acquiring streaming media data in a startup phase according to an embodiment of the present invention.
  • FIG. 8 is a schematic structural diagram of a server device for transmitting streaming media data in a startup phase according to an embodiment of the present invention. detailed description
  • TCP Transmission Control Protocol
  • Both the HTTP request message and the response message corresponding to the server are established on a single TCP connection.
  • This causes the client to obtain a large amount of fragmentation content of the streaming media data during the startup phase, resulting in a significant degradation in video quality, which in turn affects the user's viewing experience.
  • the embodiment of the present invention uses a plurality of transmission control protocol TCP connections in the startup phase to acquire the fragmentation content of the streaming media data in the startup phase, thereby reducing the startup delay.
  • FIG. 1 a flow of a method for acquiring streaming media data in a startup phase according to an embodiment of the present invention is shown.
  • the method includes:
  • the obtaining the streaming media content description file includes: obtaining the streaming media content description file compressed by the Hypertext Transfer Protocol HTTP protocol, or acquiring the streaming media content description file in segments.
  • determining that the current phase is in a startup phase before sending the fragment content acquisition request, determining that the current phase is in a startup phase.
  • the playable time T of the received media content in the local receiving buffer determines if it is currently in the startup phase.
  • the specific judgment algorithm is as follows:
  • the multiple-transmission control protocol TCP connection is used in the startup phase, and the fragment content of the streaming media data corresponding to the fragment content acquisition request is obtained from the server end.
  • the step may include: a. obtaining, by using a streaming media content description file, a fragment length of the streaming media data in the startup phase, or acquiring the content by using a header (HEAD) method in HTTP 1.1.
  • the fragmentation length of the streaming media data in the startup phase, or the fragmentation length of the streaming media data in the startup phase is obtained through the extended query field in the URL of the HTTP request message; b, according to the fragment length, the concurrent super
  • the text transmission protocol HTTP message, and the server end establishes a plurality of transmission control protocol TCP connections, which may be: using HTTP Range-Request or in the URL of the HTTP request message, using the extended query field method to establish concurrent HTTP
  • the request, the concurrent HTTP requests may be sent to the same server, or may be sent to different servers, and each HTTP request corresponds to a TCP connection, so that the multiple transmission control protocol TCP connections are established; c.
  • the server may use a uniform length for the fragment length, or adjust the fragment length interval gradually during the startup phase: If the network condition is detected to be excellent, the fragment length is increased step by step. If the network condition is detected to be poor, the slice length is gradually reduced. For example, set
  • the code rate of the requested previous sliced media content is br
  • the average transmission bandwidth of the previous sliced media content is w
  • THD1 and THD2 are two decision thresholds respectively, which are used to indicate the pros and cons of network conditions:
  • the method further includes: parsing the fragmented content of the streaming media data in the startup phase, presenting the first frame video image, and then The display remains in the playback window until the buffer data meets the requirements for subsequent smooth playback.
  • the method for acquiring the streaming media data in the startup phase uses a plurality of transmission control protocol TCP connections to obtain the fragmented content of the streaming media data in the startup phase, thereby achieving the technical effect of reducing the startup delay.
  • FIG. 2 it is a flowchart of a method for sending streaming media data in a startup phase according to an embodiment of the present invention, where the method includes:
  • Pre-processing Before providing streaming services through the server, operators often need to convert multimedia content into a specific format. In particular, in the business scenario of Smooth Streaming, multimedia content must first be converted into at least logically fragmentable. File format, this is preprocessing. In order to reduce the playback start delay of the client, in the pre-processing, for the multimedia content of the previous part, the fragment length is shorter, and the fragment length of the latter part is normal.
  • the sending the streaming media content description file includes: sending the streaming media content description file compressed by a hypertext transfer protocol HTTP protocol, or sending the streaming media content in segments Description file.
  • the receiving client obtains a request for the fragmented content sent according to the streaming media content description file.
  • detecting, according to the request message of the client, whether the client is in a startup phase if the HTTP request message carries a Range-Request header field, the content of the request is part of the fragment, or the URL of the HTTP request message.
  • Using the query field to extend a request for a portion of the data in the shard indicates that the client is currently in the startup phase.
  • the sending by using the multiple connection control protocol TCP connection, the fragmentation content of the streaming media data corresponding to the fragmentation content acquisition request, including: before sending the content corresponding to the fragment content acquisition request of the client Determining that the client is currently in a startup phase; in the startup phase, establishing, by the client, the plurality of transmission control protocol TCP connections by using a concurrent hypertext transfer protocol HTTP message; using the multiple transmission control protocol TCP
  • the segmentation content of the streaming media data corresponding to the fragmentation content acquisition request is simultaneously sent by the segmentation.
  • the server may use a uniform length for the fragment length, or adjust the fragment length interval during the startup phase: If the network condition is detected, the server side increases the score.
  • the sending, by the sending, the fragmented content of the streaming media data corresponding to the fragmentation content obtaining request is: increasing an upper limit threshold of a data sending bandwidth of the client in the startup phase, for example, twice as normal And the slice content of the streaming media data corresponding to the fragment content acquisition request is quickly pushed.
  • the sending the fragmented content of the streaming media data corresponding to the fragmentation content acquisition request may further include: sending the fragmented content of the streaming media data generated by using the non-uniform fragmentation mechanism.
  • the streaming media data sending method in the above startup phase utilizes multiple transmissions Controlling the protocol TCP connection, sending the fragmented content of the streaming media data in the startup phase, achieving the technical effect of reducing the startup delay.
  • the embodiment of the present invention In order to effectively reduce the startup delay of the player when watching the network video, the user first analyzes each possible factor causing the delay, and then formulates the solution of the embodiment in a targeted manner, thereby reducing the startup delay.
  • the embodiment of the present invention fully utilizes the content compression mechanism supported in the HTTP 1.1 protocol, and provides the compression capability of the entity in the HTTP response on the server, so that the server responds to the client.
  • you need to provide compressed HTTP protocol supports gzip, deflate two compression formats
  • the Manifest files used in the existing Smooth Streaming scheme are in text format, the files in this format have a higher compression ratio, so the length of the compressed Manifest file is significantly reduced, so that the file can be significantly reduced. Delivery delay.
  • the embodiment of the present invention adopts a multi-TCP (Transmission Control Protocol) connection mechanism in the startup phase to quickly acquire the fragmentation content of the padding buffer, thereby achieving the purpose of fast startup.
  • a URL Uniform Resource Locator
  • For example, for MS HTTP Streaming, it is http://host:port/[path/] Programjsm/QualityLevels(100000)/Fragments(video 1234 567890)
  • For Adobe HTTP Streaming the shell lj is http: ⁇ host:port/[path/]programSegX-FragY.
  • the lowest bit rate of the requested media content br obtained in the f4m file
  • the estimated network transmission bandwidth w the initial value is the f4m file length divided by the total time to obtain the f4m file
  • the duration of the previous slice t obtained in the f4m file, the initial value is 0
  • the predetermined decision threshold THD0 for example, 10s
  • the fragmentation content is obtained by using the Range-Request capability of the HTTP protocol.
  • the client and the server side establish two TCP connections at the same time, respectively, using an HTTP request segment to obtain the shard content, and after obtaining the responsive segment content respectively, the two segments are sequentially Splicing together to get the complete shard content.
  • the client can determine the segmentation in practice, as in the previous embodiment.
  • the server side is required to recognize the Query field.
  • the Query field can also be used to inform the server client that the length of the fragment needs to be obtained.
  • MS Smooth Streaming as an example, as shown in FIG. 5, it is a schematic flowchart of another message exchange of Smooth Streaming according to an embodiment of the present invention, which includes the following steps:
  • the client can determine the segmentation in practice (same as the previous embodiment).
  • the server side can quickly respond to the client's request during the startup phase of the video content. Because in practical applications, operators often set limits on the bandwidth on a single TCP connection in order to ensure that the server has high concurrency. At this time, you can make a little modification on the server.
  • the server receives the request from the client, it sees that the client requests to use the Range-Request or the Range-Request implemented by Query.
  • replying to the response message you can increase the TCP.
  • the maximum bandwidth of the connection speeds up the sending of response messages to further reduce the startup delay.
  • the server side may not support the compression mechanism of the HTTP 1.1.
  • this embodiment provides an implementation scheme of the segment delivery profile.
  • a file describing the manifest file (referred to as a secondary description file in this embodiment) is generated on the server side, and the content thereof is a length describing a common part, a Video part, and an Audio part of the manifest file;
  • the player When the user clicks on the video, for example, the player first requests the secondary description file as the client. If there is no such file, the original HTTP Streaming process is performed, and the complete manifest file is requested first, and the subsequent fragmented media files are requested one by one after parsing; Obtain the secondary description file, you can enable the quick start scheme, specifically: Parsing the secondary description file, obtaining the length of each part in the manifest file, for example, the public part 123, the video part 45678, the audio part 43210;
  • the segmentation request manifest file is not required; during playback, the current part After the fragment index information in the manifest file is used, request to deliver the next 1/N part.
  • this embodiment adopts a multi-TCP connection mechanism to quickly acquire the fragment content of the padding buffer, thereby achieving the purpose of fast startup.
  • the specific solution is similar to the foregoing embodiment, and details are not described in this embodiment.
  • the optimized start delay can be optimized by quickly displaying the first frame.
  • the data of the first frame can be sent to the decoder for decoding and display, but in order to ensure the smoothness of subsequent playback, it is necessary to maintain a certain amount in the buffer. Data, therefore, can not receive a frame of data to display a frame of data, but after displaying the first frame of image, keep the first frame of image in the display window until the data in the buffer reaches the minimum playback threshold, and then continue playing Subsequent frames. In this way, with this scheme, the startup delay can be further reduced.
  • the buffer is counted in units of fragments rather than time, that is, the player starts to play the image after receiving N pieces of media content, instead of receiving M.
  • the media content of the second starts to play after being sliced.
  • the playback delay can be reduced by using non-uniform sharding.
  • a smaller fragment is used for the front part of the content, for example, the length of each fragment is Is in the previous part; and the normal fragment is used for the latter part of the content, for example, Part of each shard is 2s long.
  • a more complicated fragmentation scheme can be adopted.
  • FIG. 6 it is a schematic diagram of the fragmented content of the streaming media data generated by the non-uniform fragmentation mechanism according to the embodiment of the present invention. With this fragmentation mechanism, the playback delay can be effectively reduced.
  • the above embodiment of the present invention first analyzes the factors causing the HTTP Streaming startup delay, and then proposes corresponding solutions for each factor, thereby achieving the goal of reducing the startup delay.
  • FIG. 7 a schematic structural diagram of a client device for acquiring streaming media data in a startup phase according to an embodiment of the present invention, where the client device includes:
  • the obtaining unit 71 is configured to acquire a streaming media content description file.
  • the request generating unit 72 is configured to send, according to the streaming media content description file, a generated fragment content obtaining request to the server;
  • the obtaining unit 71 is further configured to: use the multiple transmission control protocol TCP connection in the startup phase, and obtain, from the server end, the fragment of the streaming media data corresponding to the fragmentation content acquisition request, the client
  • the terminal device may further include: a startup phase determining unit 74, configured to determine that the client is currently in a startup phase before transmitting the slice content acquisition request.
  • the startup phase determining unit 74 is specifically configured to: according to the playable time of the received media content in the local receiving buffer, the lowest code rate of the requested media content, the estimated network transmission bandwidth, the duration of the previous fragment, and the predetermined The decision threshold determines whether the client is currently in the startup phase.
  • the obtaining unit 71 is specifically configured to obtain the streaming media content description file compressed by the Hypertext Transfer Protocol (HTTP) protocol, or obtain the streaming media content description file in segments.
  • HTTP Hypertext Transfer Protocol
  • the obtaining unit 71 is specifically configured to use a streaming media content description file to obtain a location Defragment length of the streaming media data in the startup phase, or obtaining the fragmentation length of the streaming media data in the startup phase by using a message header method in HTTP 1.1, or acquiring the extended query field in the URL of the HTTP request message Defragment length of the streaming media data in the startup phase; according to the fragment length, after the TCP connection is established with the server end by using a concurrent hypertext transfer protocol HTTP message, using the multiple The transmission control protocol TCP connection acquires the fragmented content of the streaming media data corresponding to the fragment content acquisition request.
  • the fragment length obtained by the obtaining unit 71 adopts a uniform length, or adjusts the fragment length interval one by one during the startup phase: if the network condition is detected to be excellent, the server end The fragment length is increased step by step; if the network condition is detected to be poor, the server side gradually reduces the fragment length.
  • the client device may further include: a display unit 73, configured to parse the slice content of the streaming media data in the startup phase, present a first frame video image, and then keep displaying in the play window until the buffer The data meets the requirements for subsequent smooth playback.
  • a display unit 73 configured to parse the slice content of the streaming media data in the startup phase, present a first frame video image, and then keep displaying in the play window until the buffer The data meets the requirements for subsequent smooth playback.
  • the client device provided by the embodiment of the present invention obtains the fragmentation content of the streaming media data in the startup phase by using multiple transmission control protocol TCP connections, and achieves the technical effect of reducing the startup delay.
  • FIG. 8 is a schematic structural diagram of a server device for transmitting streaming media data in a startup phase according to an embodiment of the present invention, where the server device includes:
  • a sending unit 81 configured to send a streaming media content description file
  • the request receiving unit 82 is configured to receive a fragmentation content acquisition request sent by the client according to the streaming media content description file;
  • the sending unit 81 is further configured to send, by using a plurality of transmission control protocol TCP connections in the startup phase, the fragmented content of the streaming media data corresponding to the fragmentation content acquisition request.
  • the sending unit 81 is specifically configured to send the streaming media content description file compressed by the Hypertext Transfer Protocol (HTTP) protocol, or send the streaming media content description file in segments.
  • the sending unit 81 is specifically configured to: before sending the content corresponding to the fragment content obtaining request, determining that the client is currently in a startup phase; in the startup phase, using a concurrent hypertext transfer protocol After the TCP connection is established with the client, the plurality of transmission control protocol TCP connections are used, and the fragmentation of the streaming media data corresponding to the fragmentation content acquisition request is simultaneously sent by using the plurality of transmission control protocol TCP connections. content.
  • the length of the fragment sent by the sending unit 81 is a uniform length, or the fragment length interval is adjusted one by one during the startup phase: if the network condition is detected, The server side increases the fragment length gradually; if the network condition is detected to be poor, the server side gradually reduces the fragment length.
  • the sending unit 81 is configured to: in the startup phase, increase an upper threshold of a data sending bandwidth of the client to quickly push the fragmented content of the streaming media data corresponding to the fragmented content obtaining request.
  • the sending unit 81 is specifically configured to send the fragmented content of the streaming media data generated by the non-uniform fragmentation mechanism.
  • the sending unit 81 is further configured to determine, according to whether the request message from the client includes a Range-Request header field or an extended Range-Request request field, whether the client is currently in a startup phase.
  • the server device in the embodiment of the present invention may be a physical media server, or may be a network, such as a CDN (Content Delivery Network) network.
  • CDN Content Delivery Network
  • the server device uses a plurality of transmission control protocol TCP connections to transmit the fragmented content of the streaming media data in the startup phase, thereby achieving the technical effect of reducing the startup delay.

Landscapes

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

Abstract

A method and an apparatus for acquiring and transmitting streaming media data in the process of initiation are provided in the embodiments of the present invention. The acquiring method includes: acquiring a streaming media content description file (101); generating an acquiring request for the segment content according to the streaming media content description file and transmitting it to the server end (102); acquiring the streaming media data segment content corresponding to the acquiring request for the segment content from the server by using multiple Transmission Control Protocol (TCP) connections in the process of initiation (103). The embodiments of the present invention can reduce the initiation delay.

Description

一种启动阶段的流媒体数据获取、 发送方法及装置 技术领域  Streaming media data acquisition and transmission method and device in startup phase
本发明涉及流媒体技术领域, 尤其涉及一种启动阶段的流媒体数据获 取、 发送方法及装置。 背景技术  The present invention relates to the field of streaming media technologies, and in particular, to a method and an apparatus for acquiring and transmitting streaming media data in a startup phase. Background technique
Smooth Streaming (平滑流媒体) 机制是一种基于 HTTP ( Hyper Text Transfer Protocol, 超文本传输协议) 协议的流媒体业务, 可以根据网络状况 自适应地改变传输码率, 以达到使终端流畅播放的目的。 在该技术中, 视频 内容以完整 GOP ( Group of Pictures, 画面组) 为边界, 一个 GOP或者多个 G0P封装为一个 fragment (片段) , 同一种编码码率的 fragment封装为一个 segment (分片) 。 封装好的音视频文件存放在 HTTP Web服务器上, 客户 端使用 HTTP协议逐 fragment请求对应的音视频分片, 并进行播放, 用户观 看时, 就好像在观看传统的流媒体 (如 RTSP ( Real Time Streaming Protocol, 实时流传输协议) 、 RTMP ( Real Time Messaging Protocol, 实时 消息传送协议) ) 。 具体说来, 用户通过 Smooth Streaming观看视频时, 客 户端与服务器端的消息交互流程主要包括以下歩骤: i.播放器下载 Manifest 文件: 该 Manifest文件描述了所请求的媒体内容的音视频比特率、 编码、 分 片规则等信息。 播放器后续逐片请求音视频数据需要依赖于该文件。 ii.播放 器逐片请求音视频数据, 并解码呈现: 客户端解析收到的 manifest文件, 根 据 manifest文件中给出的分片 URL模板, 生成音视频内容的各分片请求的 URL。 在分片请求的 URL中必须携带比特率、 分片起始位置和媒体类型的 信息, 服务器端解析 HTTP请求消息中的比特率、 分片起始位置和媒体类 型, 找到对应的内容, 通过 HTTP协议响应给客户端。 具体请求哪个比特率 的文件, 播放器可以根据检测到的实际网络带宽和客户端处理能力来决定。 与 Smooth Streaming机制相对应的是 Dynamic Streaming (动态流媒 体) , 同样也是一种基于 HTTP协议的流媒体业务, 可以根据网络状况自适 应地改变传输码率, 以达到使终端流畅播放的目的。 在该技术中, 视频内容 以完整 GOP为边界, 一个 GOP或者多个 GOP封装为一个 fragment, 同一种 编码码率、 G0P数量相同的 fragment封装为一个 segment。 封装好的音视频 文件存放在 HTTP Web服务器上, 客户端使用 HTTP协议逐 fragment请求对 应的音视频分片, 并进行播放, 用户观看时, 就好像在观看传统的流媒体 (如 RTSP、 RTMP ) 。 具体说来, 用户通过 Dynamic Streaming观看视频 时, 客户端与服务器端的消息交互流程主要包括以下歩骤: i.播放器下载 f4m 文件: 该文件描述了所请求的媒体内容的音视频比特率、 编码、 分片规则等 信息。 播放器后续逐片请求音视频数据需要依赖于该文件。 ii.播放器下载 bootstrap文件: 该文件描述了各 fragment segment的元数据信息, 并且, 该 文件可以独立存在, 也可以与 f4m文件合并。 iii.播放器逐片请求音视频数 据, 并解码呈现: 客户端解析收到的 f4m文件和 bootstrap文件, 根据 f4m文 件中给出的分片 URL模板, 和 bootstrap文件中的元数据信息, 生成音视频 内容的各分片请求的 URL。 在分片请求的 URL中携带着比特率和分片索引 信息, 服务器端解析 HTTP请求消息中的比特率, 并根据分片索引, 找到对 应的内容, 通过 HTTP协议响应给客户端。 具体请求哪个比特率的文件, 播 放器可以根据检测到的实际网络带宽和客户端处理能力来决定。 The Smooth Streaming mechanism is a streaming media service based on the HTTP (Hyper Text Transfer Protocol) protocol. It can adaptively change the transmission rate according to the network conditions to achieve smooth playback of the terminal. . In this technology, the video content is bounded by a complete GOP (Group of Pictures), one GOP or multiple GOPs are encapsulated into one fragment, and the same code rate fragment is encapsulated into a segment. . The encapsulated audio and video files are stored on the HTTP web server. The client uses the HTTP protocol to request the corresponding audio and video fragments from the fragment, and plays them. When the user watches, it is like watching traditional streaming media (such as RTSP ( Real Time). Streaming Protocol, Real Time Messaging Protocol, RTMP (Real Time Messaging Protocol). Specifically, when the user views the video through the Smooth Streaming, the message flow between the client and the server mainly includes the following steps: i. The player downloads the Manifest file: the Manifest file describes the audio and video bit rate of the requested media content, Information such as coding, fragmentation rules, etc. Subsequent request for audio and video data by the player on a piecemeal basis depends on the file. Ii. The player requests audio and video data piece by piece, and decodes the presentation: The client parses the received manifest file, and generates a URL of each fragment request of the audio and video content according to the fragmented URL template given in the manifest file. The URL of the fragment request must carry the information of the bit rate, the fragment start position, and the media type. The server parses the bit rate in the HTTP request message, the fragment start position, and the media type, and finds the corresponding content, through HTTP. The protocol responds to the client. The specific request for which bit rate file, the player can be determined based on the detected actual network bandwidth and client processing capabilities. Corresponding to the Smooth Streaming mechanism is Dynamic Streaming. It is also a streaming media service based on the HTTP protocol. It can adaptively change the transmission bit rate according to the network conditions, so as to achieve smooth playback of the terminal. In this technology, the video content is bounded by a complete GOP, and one GOP or multiple GOPs are encapsulated into one fragment, and the same fragment with the same encoding rate and number of GPs is encapsulated into one segment. The encapsulated audio and video files are stored on the HTTP web server. The client uses the HTTP protocol to request the corresponding audio and video fragments from the fragment, and plays them. When the user watches, it is like watching traditional streaming media (such as RTSP, RTMP). . Specifically, when a user views a video through Dynamic Streaming, the message flow between the client and the server mainly includes the following steps: i. The player downloads the f4m file: The file describes the audio and video bit rate and encoding of the requested media content. , fragmentation rules and other information. Subsequent request for audio and video data by the player on a piecemeal basis depends on the file. Ii. Player downloads the bootstrap file: This file describes the metadata information of each fragment segment, and the file can exist independently or merge with the f4m file. Iii. The player requests audio and video data piece by piece, and decodes and presents: The client parses the received f4m file and the bootstrap file, generates a tone according to the fragment URL template given in the f4m file, and the metadata information in the bootstrap file. The URL of each fragment request for video content. The bit rate and the fragment index information are carried in the URL of the fragment request, and the server side parses the bit rate in the HTTP request message, and finds the corresponding content according to the fragment index, and responds to the client through the HTTP protocol. The specific request for which bit rate file, the player can be determined based on the detected actual network bandwidth and client processing capabilities.
在 Smooth Streaming方案中, 总的启动延迟由 manifest的下发延迟、 解 码 buffer (缓冲器) 的填充延迟构成; 而在 Dynamic Streaming方案中, 总的 启动延迟由 f4m文件和 bootstrap文件的下发延迟、 解码 buffer的填充延迟构 成。 而解码 buffer的填充延迟又受 buffer大小和启动阶段媒体内容的下发速 度影响。 为了降低启动延迟, 增强用户的观看体验, 播放器采用了以最低码 率启动和设置较小的 buffer这两种方法。 例如, 当服务器上提供 512kbps、 1Mbps和 2Mbps三种码率的内容时, 播放器在启动阶段, 固定请求 512kbps 的内容。 In the Smooth Streaming scheme, the total startup delay is composed of the manifest delay of the manifest and the padding delay of the decoding buffer. In the Dynamic Streaming scheme, the total startup delay is delayed by the delivery of the f4m file and the bootstrap file. The padding delay of the decoding buffer is composed. The padding delay of the decoding buffer is affected by the buffer size and the sending speed of the media content in the startup phase. In order to reduce the startup delay and enhance the user's viewing experience, the player uses two methods of starting and setting a smaller buffer at the lowest bit rate. For example, when the server provides content at 512kbps, 1Mbps, and 2Mbps, the player is in the startup phase, and the fixed request is 512kbps. Content.
在实现本发明过程中, 发明人发现现有技术中至少存在如下问题: In the process of implementing the present invention, the inventors have found that at least the following problems exist in the prior art:
Smooth Streaming方案和 Dynamic Streaming方案中, 虽然试图降低启动延 迟, 但由于实际应用中存在的一些限制条件, 导致该方案在实际使用时, 启 动延迟仍然较大。 举例说明, 当前我国大部分城市家庭宽带的接入带宽均低 于 2Mbps, 假设以 2Mbps计算, 由于 manifest文件中要描述每一个分片的序 号、 持续时间, 导致该文件过大, 一部 100分钟的电影, 其 manifest文件一 般是在 500kB左右, 这意味着仅下载 manifest文件可能就需要 2s左右, 当 buffer设为 2片, 每个分片 2s (推荐值) , 最低码率 512kbps时, 前 2片媒 体分片的下载延迟理论值为 I s , 也就是说, 这种情况下, 启动延迟不低于 3s o 事实上, 由于存在着小区局域网内用户之间对带宽的争夺 (本质上是底 层传输协议如 TCP、 UDP之间对带宽的争夺) , 导致用户实际使用带宽可能 低于或者大大低于其签约带宽, 这意味着, 下载 manifest文件和填充 buffer 的媒体分片文件的延迟实际会更大。 在服务器侧, 运营者为了提高 HTTP服 务器的并发服务能力, 往往会对服务器的连接带宽进行限制, 这也会影响流 媒体数据的下发速度。 另外, 用户在观看过程中遇到不感兴趣的部分, 往往 会直接跳转到后面观看, 发生跳转后, 如果新的位置的内容尚未下载到本 地, 则同样面临着解码 buffer的填充延迟, 当前技术直接请求最低码率, 以 降低填充延迟, 其结果是用户可能会发现跳转后其观看到的视频质量明显下 降, 这显然也影响了用户的观看体验。 发明内容 In the Smooth Streaming scheme and the Dynamic Streaming scheme, although the startup delay is attempted, due to some limitations in the actual application, the startup delay is still large when the scheme is actually used. For example, the access bandwidth of broadband in most cities in China is lower than 2 Mbps. Assume that the calculation is performed at 2 Mbps. Because the number and duration of each shard are described in the manifest file, the file is too large, a 100-minute period. The movie, its manifest file is generally around 500kB, which means that only downloading the manifest file may take about 2s, when the buffer is set to 2, each slice is 2s (recommended value), the lowest bit rate is 512kbps, the first 2 The theoretical download delay of the slice media slice is I s , that is to say, in this case, the start delay is not less than 3s o. In fact, there is a contention between users in the cell local area network (essentially the bottom layer). The bandwidth of the transmission protocol, such as TCP and UDP, causes the actual bandwidth used by the user to be lower or lower than its subscription bandwidth. This means that the delay in downloading the manifest file and filling the media fragment file of the buffer will actually be more Big. On the server side, in order to improve the concurrent service capability of the HTTP server, the operator often limits the connection bandwidth of the server, which also affects the delivery speed of the streaming media data. In addition, when the user encounters an uninteresting part during the viewing process, it often jumps directly to the back view. After the jump occurs, if the content of the new location has not been downloaded to the local, the same is faced with the padding delay of the decoding buffer. The technology directly requests the lowest bit rate to reduce the padding delay. As a result, the user may find that the quality of the video it watches after the jump is significantly degraded, which obviously affects the user's viewing experience. Summary of the invention
本发明实施例提供一种启动阶段的流媒体数据获取、 发送方法及装置, 以降低启动延迟。  Embodiments of the present invention provide a method and an apparatus for acquiring and transmitting streaming media data in a startup phase to reduce startup delay.
一方面, 本发明实施例提供了一种启动阶段的流媒体数据获取方法, 所 述方法包括: 获取流媒体内容描述文件; 根据所述流媒体内容描述文件, 生 成分片内容获取请求发送给服务器端; 在启动阶段利用多个传输控制协议In one aspect, the embodiment of the present invention provides a method for acquiring streaming media data in a startup phase, where the method includes: acquiring a streaming media content description file; and generating a file according to the streaming media content description file. The component content acquisition request is sent to the server; the multiple transmission control protocol is utilized during the startup phase.
TCP连接, 从所述服务器端获取所述分片内容获取请求对应的流媒体数据的 分片内容。 And the TCP connection, the fragmented content of the streaming media data corresponding to the fragment content acquisition request is obtained from the server end.
另一方面, 本发明实施例提供了一种启动阶段的流媒体数据发送方法, 所述方法包括: 发送流媒体内容描述文件; 接收客户端根据所述流媒体内容 描述文件发送的分片内容获取请求; 在启动阶段利用多个传输控制协议 TCP 连接, 发送所述分片内容获取请求对应的流媒体数据的分片内容。  On the other hand, the embodiment of the present invention provides a method for transmitting streaming media data in a startup phase, where the method includes: sending a streaming media content description file; and receiving, by the receiving client, the fragment content obtained according to the streaming media content description file. Requesting; using a plurality of transmission control protocol TCP connections in the startup phase, transmitting the fragmented content of the streaming media data corresponding to the fragmentation content acquisition request.
又一方面, 本发明实施例提供了一种启动阶段的流媒体数据获取的客户 端装置, 所述客户端装置包括: 获取单元, 用于获取流媒体内容描述文件; 请求生成单元, 用于根据所述流媒体内容描述文件, 生成分片内容获取请求 发送给服务器端; 所述获取单元, 还用于在启动阶段利用多个传输控制协议 In another aspect, an embodiment of the present invention provides a client device for acquiring streaming media data in a startup phase, where the client device includes: an acquiring unit, configured to acquire a streaming media content description file; and a request generating unit, configured to The streaming media content description file is generated, and the generated fragmentation content acquisition request is sent to the server. The acquiring unit is further configured to use multiple transmission control protocols in the startup phase.
TCP连接, 从所述服务器端获取所述分片内容获取请求对应的流媒体数据的 分片内容。 And the TCP connection, the fragmented content of the streaming media data corresponding to the fragment content acquisition request is obtained from the server end.
再一方面, 本发明实施例提供了一种启动阶段的流媒体数据发送的服务 器装置, 所述服务器装置包括: 发送单元, 用于发送流媒体内容描述文件; 请求接收单元, 用于接收客户端根据所述流媒体内容描述文件发送的分片内 容获取请求; 所述发送单元, 还用于在启动阶段利用多个传输控制协议 TCP 连接, 发送所述分片内容获取请求对应的流媒体数据的分片内容。  In a further aspect, the embodiment of the present invention provides a server device for sending streaming media data in a startup phase, where the server device includes: a sending unit, configured to send a streaming media content description file; and a request receiving unit, configured to receive the client And the sending unit is further configured to: use the multiple transmission control protocol TCP connection in the startup phase to send the streaming media data corresponding to the fragmented content acquisition request Fragment content.
上述技术方案具有如下有益效果: 因为采用在启动阶段利用多个传输控 制协议 TCP连接, 发送或获取所述启动阶段的流媒体数据的分片内容, 所以 达到了降低启动延迟的技术效果。 附图说明  The above technical solution has the following beneficial effects: Since the fragmentation content of the streaming media data of the startup phase is transmitted or acquired by using a plurality of transmission control protocol TCP connections in the startup phase, the technical effect of reducing the startup delay is achieved. DRAWINGS
为了更清楚地说明本发明实施例或现有技术中的技术方案, 下面将对实 施例或现有技术描述中所需要使用的附图作简单地介绍, 显而易见地, 下面 描述中的附图仅仅是本发明的一些实施例, 对于本领域普通技术人员来讲, 在不付出创造性劳动性的前提下, 还可以根据这些附图获得其他的附图。 In order to more clearly illustrate the embodiments of the present invention or the technical solutions in the prior art, the drawings used in the embodiments or the prior art description will be briefly described below, obviously, the following The drawings in the description are only some of the embodiments of the present invention, and those skilled in the art can obtain other drawings based on these drawings without any inventive labor.
图 1为本发明实施例一种启动阶段的流媒体数据获取方法流程图; 图 2为本发明实施例一种启动阶段的流媒体数据发送方法流程图; 图 3为本发明实施例 Smooth Streaming消息交互的流程示意图; 图 4为本发明实施例 Dynamic Streaming消息交互的流程示意图; 图 5为本发明实施例 Smooth Streaming另一消息交互的流程示意图; 图 6为本发明实施例采用非均匀分片机制生成的启动阶段的流媒体数据 的分片内容示意图;  1 is a flowchart of a method for acquiring streaming media data in a startup phase according to an embodiment of the present invention; FIG. 2 is a flowchart of a method for transmitting streaming media data in a startup phase according to an embodiment of the present invention; FIG. 3 is a flowchart of a Smooth Streaming message according to an embodiment of the present invention; FIG. 4 is a schematic flowchart of a message exchange of a message of a Smooth Streaming according to an embodiment of the present invention; FIG. 5 is a schematic flowchart of another message interaction of a Smooth Streaming according to an embodiment of the present invention; FIG. 6 is a schematic diagram of a non-uniform sharding mechanism according to an embodiment of the present invention; Schematic diagram of the fragmented content of the generated streaming media data in the startup phase;
图 7为本发明实施例一种启动阶段的流媒体数据获取的客户端装置结构 示意图;  FIG. 7 is a schematic structural diagram of a client device for acquiring streaming media data in a startup phase according to an embodiment of the present invention; FIG.
图 8为本发明实施例一种启动阶段的流媒体数据发送的服务器装置结构 示意图。 具体实施方式  FIG. 8 is a schematic structural diagram of a server device for transmitting streaming media data in a startup phase according to an embodiment of the present invention. detailed description
下面将结合本发明实施例中的附图, 对本发明实施例中的技术方案进行 清楚、 完整地描述, 显然, 所描述的实施例仅仅是本发明一部分实施例, 而 不是全部的实施例。 基于本发明中的实施例, 本领域普通技术人员在没有做 出创造性劳动前提下所获得的所有其他实施例, 都属于本发明保护的范围。  The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, and not all of the embodiments. All other embodiments obtained by those skilled in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
在现有的传输控制协议 (TCP ) 机制中, 客户端请求单个分片文件时的 In the existing Transmission Control Protocol (TCP) mechanism, when a client requests a single fragment file
HTTP请求消息和服务器端对应的响应消息都是建立在单一的 TCP连接上。 这使得客户端在启动阶段获取流媒体数据的分片内容时, 延迟较大, 导致视 频质量下降明显, 进而影响用户的观看体验。 有鉴于此, 本发明实施例采用 在启动阶段利用多个传输控制协议 TCP连接, 获取所述启动阶段的流媒体数 据的分片内容, 从而降低了启动延迟。 Both the HTTP request message and the response message corresponding to the server are established on a single TCP connection. This causes the client to obtain a large amount of fragmentation content of the streaming media data during the startup phase, resulting in a significant degradation in video quality, which in turn affects the user's viewing experience. In view of this, the embodiment of the present invention uses a plurality of transmission control protocol TCP connections in the startup phase to acquire the fragmentation content of the streaming media data in the startup phase, thereby reducing the startup delay.
如图 1所示, 为本发明实施例一种启动阶段的流媒体数据获取方法流程 图, 所述方法包括: As shown in FIG. 1 , a flow of a method for acquiring streaming media data in a startup phase according to an embodiment of the present invention is shown. The method includes:
101、 获取流媒体内容描述文件。  101. Obtain a streaming media content description file.
可选的, 所述获取流媒体内容描述文件, 包括: 获取经过超文本传输协 议 HTTP协议压縮的所述流媒体内容描述文件, 或者分段获取所述流媒体内 容描述文件。  Optionally, the obtaining the streaming media content description file includes: obtaining the streaming media content description file compressed by the Hypertext Transfer Protocol HTTP protocol, or acquiring the streaming media content description file in segments.
102、 根据所述流媒体内容描述文件, 生成分片内容获取请求发送给服 务器端。  102. Generate a fragmentation content acquisition request and send it to the server according to the streaming media content description file.
可选的, 在发送所述分片内容获取请求前, 确定当前处在启动阶段。  Optionally, before sending the fragment content acquisition request, determining that the current phase is in a startup phase.
可选的, 根据本地的接收缓冲区中已接收媒体内容的可播放时间 T, 所 请求媒体内容的最低码率 br, 估计出的网络传输带宽 w, 前一分片的时长 t, 预定的判决阈值 THD0, 确定当前是否处在启动阶段。 具体的判断算法如 下:  Optionally, according to the playable time T of the received media content in the local receiving buffer, the lowest code rate br of the requested media content, the estimated network transmission bandwidth w, the duration t of the previous fragment, a predetermined decision Threshold THD0, determines if it is currently in the startup phase. The specific judgment algorithm is as follows:
如果 T+w*t/br<THD0, 则当前处于启动阶段;  If T+w*t/br<THD0, it is currently in the startup phase;
否则, 启动阶段结束。  Otherwise, the startup phase ends.
103、 在启动阶段利用多个传输控制协议 TCP连接, 从所述服务器端获 取所述分片内容获取请求对应的流媒体数据的分片内容。  103. The multiple-transmission control protocol TCP connection is used in the startup phase, and the fragment content of the streaming media data corresponding to the fragment content acquisition request is obtained from the server end.
可选的, 该歩骤具体可以包括: a、 利用流媒体内容描述文件, 获取所 述启动阶段的流媒体数据的分片长度, 或者通过 HTTP1.1中的消息头 (HEAD) 方法获取所述启动阶段的流媒体数据的分片长度, 或者通过 HTTP请求消息 的 URL中扩展的查询字段获取所述启动阶段的流媒体数据的分片长度; b、 根据所述分片长度, 通过并发的超文本传输协议 HTTP消息, 与所述服务器 端建立起多个传输控制协议 TCP连接, 具体可以为: 利用 HTTP Range- Request或者在 HTTP请求消息的 URL中, 利用扩展的查询字段的方法, 建 立并发 HTTP请求, 这些并发 HTTP请求可以发向同一台服务器, 也可以发 向不同的服务器, 每个 HTTP请求对应着一个 TCP连接, 这样就建立起所述 多个传输控制协议 TCP连接; c、 利用所述多个传输控制协议 TCP连接, 分 段同时获取所述分片内容获取请求对应的流媒体数据的分片内容。 在所述启 动阶段过程中, 服务器端对分片长度可以采用均匀长度, 也可以在所述启动 阶段过程中逐歩调整分片长度间隔: 如果检测出网络状况优, 则逐歩增大分 片长度; 如果检测出网络状况差, 则逐歩减小分片长度。 例如, 设 Optionally, the step may include: a. obtaining, by using a streaming media content description file, a fragment length of the streaming media data in the startup phase, or acquiring the content by using a header (HEAD) method in HTTP 1.1. The fragmentation length of the streaming media data in the startup phase, or the fragmentation length of the streaming media data in the startup phase is obtained through the extended query field in the URL of the HTTP request message; b, according to the fragment length, the concurrent super The text transmission protocol HTTP message, and the server end establishes a plurality of transmission control protocol TCP connections, which may be: using HTTP Range-Request or in the URL of the HTTP request message, using the extended query field method to establish concurrent HTTP The request, the concurrent HTTP requests may be sent to the same server, or may be sent to different servers, and each HTTP request corresponds to a TCP connection, so that the multiple transmission control protocol TCP connections are established; c. Multiple transport control protocol TCP connections, points The segment simultaneously acquires the slice content of the streaming media data corresponding to the fragment content acquisition request. During the startup phase, the server may use a uniform length for the fragment length, or adjust the fragment length interval gradually during the startup phase: If the network condition is detected to be excellent, the fragment length is increased step by step. If the network condition is detected to be poor, the slice length is gradually reduced. For example, set
所请求前一分片媒体内容的码率为 br, 前一分片媒体内容的平均传输带 宽为 w, 前一分片的分段数为 s, 如果 s<2, 令 s=2。 假设 THD1、 THD2分 别为两个判决阈值, 用以表示网络条件的优劣:  The code rate of the requested previous sliced media content is br, the average transmission bandwidth of the previous sliced media content is w, and the number of segments of the previous slice is s, if s<2, let s=2. Assume that THD1 and THD2 are two decision thresholds respectively, which are used to indicate the pros and cons of network conditions:
如果 w*/br>THDl, 则当前分片的分段数为 s-1 ;  If w*/br>THDl, the number of segments of the current slice is s-1;
如果 w*/br<THD2, 则当前分片的分段数为 s+1 ;  If w*/br<THD2, the number of segments of the current slice is s+1;
否则, 当前分片数仍为8。  Otherwise, the current number of fragments is still 8.
可选的, 所述获取所述启动阶段的流媒体数据的分片内容后, 所述方法 还包括: 解析所述启动阶段的流媒体数据的分片内容, 呈现第一帧视频图 像, 然后在播放窗口中保持显示直至缓冲区数据满足后续流畅播放的要求。  Optionally, after the acquiring the fragmented content of the streaming media data in the startup phase, the method further includes: parsing the fragmented content of the streaming media data in the startup phase, presenting the first frame video image, and then The display remains in the playback window until the buffer data meets the requirements for subsequent smooth playback.
本发明实施例提供的上述启动阶段的流媒体数据获取方法利用多个传输 控制协议 TCP连接, 获取所述启动阶段的流媒体数据的分片内容, 达到了降 低启动延迟的技术效果。  The method for acquiring the streaming media data in the startup phase provided by the embodiment of the present invention uses a plurality of transmission control protocol TCP connections to obtain the fragmented content of the streaming media data in the startup phase, thereby achieving the technical effect of reducing the startup delay.
如图 2所示, 为本发明实施例一种启动阶段的流媒体数据发送方法流程 图, 所述方法包括:  As shown in FIG. 2, it is a flowchart of a method for sending streaming media data in a startup phase according to an embodiment of the present invention, where the method includes:
201、 发送流媒体内容描述文件。  201. Send a streaming media content description file.
预处理: 在通过服务器提供流媒体服务前, 运营者往往需要将多媒体内 容转成特定的格式, 特别地, 在 Smooth Streaming这种业务场景下, 多媒体 内容要先转成至少逻辑上可以分片的文件格式, 这就是预处理。 为了能够降 低客户端的播放启动延迟, 在预处理时, 对于前面部分的多媒体内容, 其分 片长度较短, 后面部分的分片长度则正常。  Pre-processing: Before providing streaming services through the server, operators often need to convert multimedia content into a specific format. In particular, in the business scenario of Smooth Streaming, multimedia content must first be converted into at least logically fragmentable. File format, this is preprocessing. In order to reduce the playback start delay of the client, in the pre-processing, for the multimedia content of the previous part, the fragment length is shorter, and the fragment length of the latter part is normal.
可选的, 所述发送流媒体内容描述文件, 包括: 发送经过超文本传输协 议 HTTP协议压縮的所述流媒体内容描述文件, 或者分段发送所述流媒体内 容描述文件。 Optionally, the sending the streaming media content description file includes: sending the streaming media content description file compressed by a hypertext transfer protocol HTTP protocol, or sending the streaming media content in segments Description file.
202、 接收客户端根据所述流媒体内容描述文件发送的分片内容获取请 求。  202. The receiving client obtains a request for the fragmented content sent according to the streaming media content description file.
203、 在启动阶段利用多个传输控制协议 TCP连接, 发送所述分片内容 获取请求对应的流媒体数据的分片内容。  203. Send, by using multiple transport control protocol TCP connections in the startup phase, the fragment content of the fragmented content to obtain the fragmented content of the streaming media data corresponding to the request.
可选的, 在发送客户端请求的内容前, 估计出该客户端当前是否处在启 动阶段。  Optionally, before sending the content requested by the client, it is estimated whether the client is currently in the startup phase.
可选的, 根据客户端的请求消息检测该客户端是否处在启动阶段: 如果 HTTP请求消息中携带了 Range-Request头域表示请求的内容是该分片中的一 部分, 或者 HTTP请求消息的 URL中使用查询字段扩展出了对该分片中的一 部分数据的请求, 则表示该客户端当前处于启动阶段。  Optionally, detecting, according to the request message of the client, whether the client is in a startup phase: if the HTTP request message carries a Range-Request header field, the content of the request is part of the fragment, or the URL of the HTTP request message. Using the query field to extend a request for a portion of the data in the shard indicates that the client is currently in the startup phase.
可选的, 所述利用多个传输控制协议 TCP连接, 发送所述分片内容获取 请求对应的流媒体数据的分片内容, 包括: 在发送客户端所述分片内容获取 请求对应的内容前, 确定该客户端当前处在启动阶段; 在所述启动阶段, 通 过并发的超文本传输协议 HTTP消息, 与客户端建立所述多个传输控制协议 TCP连接; 利用所述多个传输控制协议 TCP连接, 分段同时发送所述分片内 容获取请求对应的流媒体数据的分片内容。 在所述启动阶段过程中, 服务器 端对分片长度可以采用均匀长度, 也可以在所述启动阶段过程中逐歩调整分 片长度间隔: 如果检测出网络状况优, 则服务器端逐歩增大分片长度; 如果 检测出网络状况差, 则服务器端逐歩减小分片长度。 可选的, 所述发送所述 分片内容获取请求对应的流媒体数据的分片内容, 包括: 在所述启动阶段提 高对该客户端的数据发送带宽上限阈值, 比如至正常情况下的两倍, 以快速 推送所述分片内容获取请求对应的流媒体数据的分片内容。 可选的, 所述发 送所述分片内容获取请求对应的流媒体数据的分片内容, 还可以包括: 发送 采用非均匀分片机制生成的流媒体数据的分片内容。  Optionally, the sending, by using the multiple connection control protocol TCP connection, the fragmentation content of the streaming media data corresponding to the fragmentation content acquisition request, including: before sending the content corresponding to the fragment content acquisition request of the client Determining that the client is currently in a startup phase; in the startup phase, establishing, by the client, the plurality of transmission control protocol TCP connections by using a concurrent hypertext transfer protocol HTTP message; using the multiple transmission control protocol TCP The segmentation content of the streaming media data corresponding to the fragmentation content acquisition request is simultaneously sent by the segmentation. During the startup phase, the server may use a uniform length for the fragment length, or adjust the fragment length interval during the startup phase: If the network condition is detected, the server side increases the score. Slice length; if the network condition is detected to be poor, the server side gradually reduces the fragment length. Optionally, the sending, by the sending, the fragmented content of the streaming media data corresponding to the fragmentation content obtaining request, is: increasing an upper limit threshold of a data sending bandwidth of the client in the startup phase, for example, twice as normal And the slice content of the streaming media data corresponding to the fragment content acquisition request is quickly pushed. Optionally, the sending the fragmented content of the streaming media data corresponding to the fragmentation content acquisition request may further include: sending the fragmented content of the streaming media data generated by using the non-uniform fragmentation mechanism.
本发明实施例提供的上述启动阶段的流媒体数据发送方法利用多个传输 控制协议 TCP连接, 发送所述启动阶段的流媒体数据的分片内容, 达到了降 低启动延迟的技术效果。 The streaming media data sending method in the above startup phase provided by the embodiment of the present invention utilizes multiple transmissions Controlling the protocol TCP connection, sending the fragmented content of the streaming media data in the startup phase, achieving the technical effect of reducing the startup delay.
为了能够有效降低用户观看网络视频时播放器的启动延迟, 首先分析造 成延迟的各个可能的因素, 然后有针对性地制定了本实施例的方案, 从而降 低启动延迟。 首先, 为了降低下发描述文件的延迟, 本发明实施例充分利用 HTTP 1.1协议中支持的内容压縮机制, 在服务器上提供支持 HTTP响应中实 体的压縮能力, 这样的话, 在服务器响应客户端的请求时, 需要提供经过压 縮 (HTTP协议支持 gzip,deflate两种压縮格式) 的内容, 并在响应消息的实 体头中加入 Content-Encoding字段, 标识使用的压縮格式 [RFC2616]。 因为现 有 Smooth Streaming方案中使用的 Manifest文件均是文本格式的, 这种格式 的文件具有较高的压縮比, 因此压縮后的 Manifest文件长度会显著减小, 从 而可以显著降低该文件的下发延迟。  In order to effectively reduce the startup delay of the player when watching the network video, the user first analyzes each possible factor causing the delay, and then formulates the solution of the embodiment in a targeted manner, thereby reducing the startup delay. First, in order to reduce the delay of sending the description file, the embodiment of the present invention fully utilizes the content compression mechanism supported in the HTTP 1.1 protocol, and provides the compression capability of the entity in the HTTP response on the server, so that the server responds to the client. When requesting, you need to provide compressed (HTTP protocol supports gzip, deflate two compression formats), and add a Content-Encoding field in the entity header of the response message to identify the compression format used [RFC2616]. Because the Manifest files used in the existing Smooth Streaming scheme are in text format, the files in this format have a higher compression ratio, so the length of the compressed Manifest file is significantly reduced, so that the file can be significantly reduced. Delivery delay.
其次, 为了进一歩降低启动延迟, 本发明实施例在启动阶段采用多 TCP (Transmission Control Protocol, 传输控制协议) 连接的机制, 快速获取 填充缓冲区的分片内容, 从而达到快速启动的目的。 具体地, 在播放器获取 并解析完 Manifest之后, 生成请求分片内容的 URL ( Uniform Resource Locator, 统一资源定位符) , 例如, 对于 MS HTTP Streaming 是 http://host:port/[path/]programjsm/QualityLevels(100000)/Fragments(video=1234 567890) , 对 于 Adobe HTTP Streaming, 贝 lj 是 http:〃 host:port/[path/]programSegX-FragY。 使用多 TCP连接快速获取内容分 片, 可以通过 HTTP1.1 中的 Range-Request (范围请求) 的机制, 即客户端 在请求消息中使用请求头 Range=XXX-yyyy来表示下载内容的字节范围, 为了 首先获取要请求的内容分片的长度, 客户端可以通过 HTTP1.1 中的 HEAD (消息头) 方法来得到要请求的分片的长度。 以 MS Smooth Streaming为 例, 如图 3所示, 为本发明实施例 Smooth Streaming消息交互的流程示意 图, 包括如下歩骤:
Figure imgf000012_0001
丄 3D
Secondly, in order to further reduce the startup delay, the embodiment of the present invention adopts a multi-TCP (Transmission Control Protocol) connection mechanism in the startup phase to quickly acquire the fragmentation content of the padding buffer, thereby achieving the purpose of fast startup. Specifically, after the player obtains and parses the Manifest, a URL (Uniform Resource Locator) that requests the content of the slice is generated. For example, for MS HTTP Streaming, it is http://host:port/[path/] Programjsm/QualityLevels(100000)/Fragments(video=1234 567890) , For Adobe HTTP Streaming, the shell lj is http:〃 host:port/[path/]programSegX-FragY. To obtain content fragments quickly using multiple TCP connections, you can use the Range-Request mechanism in HTTP 1.1, that is, the client uses the request header Range= XXX -yyyy in the request message to indicate the byte range of the downloaded content. In order to first obtain the length of the content fragment to be requested, the client can obtain the length of the fragment to be requested through the HEAD (message header) method in HTTP 1.1. Taking MS Smooth Streaming as an example, as shown in FIG. 3, it is a schematic flowchart of a Smooth Streaming message interaction according to an embodiment of the present invention, which includes the following steps:
Figure imgf000012_0001
丄3D
Figure imgf000012_0002
丄 3D OZ
Figure imgf000012_0002
丄3D OZ
Figure imgf000012_0003
OOZ :¾¾ϋ跡嚣
Figure imgf000012_0003
OOZ : 3⁄43⁄4ϋ迹嚣
。(000 aVHH : ^ # ¾ . (000 aVHH : ^ # 3⁄4
。^
Figure imgf000012_0004
. ^
Figure imgf000012_0004
^im^-i^^ 'οακι ις/ ^+丄畓^ oi ^im^-i^^ 'οακι ις/ ^+丄畓^ oi
:丄^ M um 著雕^ ¾敏 ' (soi
Figure imgf000012_0005
οακι w
:丄^ M um Engraving ^3⁄4敏' ( s oi
Figure imgf000012_0005
Οακι w
Figure imgf000012_0006
'母進 # is iTOw¾) } ^ 一雕 ' ([Hj
Figure imgf000012_0006
'母进# i s i TO w3⁄4) } ^ 一雕' ( [Hj
6C66.0/0T0ZN3/X3d mOSl/llOZ OAV i 。乙 =s 令 'z>s 畓^ 's ^^m^- ^- iM m - ϋ$¾^ΐ寒^^ ¾申 ¾¾^ z 6C66.0/0T0ZN3/X3d mOSl/llOZ OAV i. B = s order 'z>s 畓^ 's ^^m^- ^- iM m - ϋ$3⁄4^ΐ寒^^ 3⁄4申3⁄43⁄4^ z
¾o ooz 丄 3D ¾0 OOZ 丄 3D 皿 doi
Figure imgf000013_0001
3⁄4o ooz 丄3D 3⁄40 OOZ 丄3D dish doi
Figure imgf000013_0001
6C66.0/0T0ZN3/X3d 由于客户端的多样性, 可能存在客户端不支持 HTTP1.1 中的 Range- Request的机制的情况, 这种情况下, 可以通过以上机制的变形, 最终实现 使用多个 TCP连接获取内容。 例如, 可以通过在 HTTP请求消息的 URL 中, 利用扩展的 Query (查询字段) 字符串标识要请求的内容的范围。 以 Adobe Dynamic Streaming为例, 如图 4所示, 为本发明实施例 Dynamic Streaming消息交互的流程示意图, 包括如下歩骤: 6C66.0/0T0ZN3/X3d Due to the diversity of the client, there may be cases where the client does not support the Range-Request mechanism in HTTP 1.1. In this case, the above mechanism may be modified to finally obtain content using multiple TCP connections. For example, the scope of the content to be requested can be identified by using an extended Query (query field) string in the URL of the HTTP request message. Taking Adobe Dynamic Streaming as an example, as shown in FIG. 4, it is a schematic flowchart of a Dynamic Streaming message interaction according to an embodiment of the present invention, which includes the following steps:
401-404、 获取 *.swf文件和经过压縮的 f4m文件, 客户端请求:  401-404, get *.swf file and compressed f4m file, client request:
GET http://host:port/[path/]program.f4m  GET http://host:port/[path/]program.f4m
月艮务器响应: 200 ok/r/nContent-Encoding: gzi .. Jr/n/r/n  Server response: 200 ok/r/nContent-Encoding: gzi .. Jr/n/r/n
405-410、 判断当前是否处于启动阶段? 是, 则采用多 TCP连接分段获 取分片内容:  405-410, judging whether it is currently in the startup stage? Yes, the fragmented content is obtained using multiple TCP connection segments:
根据本地的接收缓冲区中已接收媒体内容的可播放时间 τ (初始值为 According to the playable time of the received media content in the local receive buffer τ (initial value)
0) , 所请求媒体内容的最低码率 br (在 f4m文件中获得) , 估计出的网络 传输带宽 w (初始值为 f4m文件长度除以获得 f4m文件的总时间) , 前一分 片的时长 t (在 f4m文件中获得, 初始值为 0 ) , 预定的判决阈值 THD0 (例 如 10s) , 确定当前是否处在启动阶段。 具体的判断算法如下: 0), the lowest bit rate of the requested media content br (obtained in the f4m file), the estimated network transmission bandwidth w (the initial value is the f4m file length divided by the total time to obtain the f4m file), the duration of the previous slice t (obtained in the f4m file, the initial value is 0), the predetermined decision threshold THD0 (for example, 10s), to determine whether it is currently in the startup phase. The specific judgment algorithm is as follows:
如果 T+w*t/br<THD0, 则当前处于启动阶段;  If T+w*t/br<THD0, it is currently in the startup phase;
否则, 启动阶段结束。  Otherwise, the startup phase ends.
在启动阶段里, 可以利用 HTTP协议的 HEAD方法获取分片内容的长 度。 具体如下:  In the startup phase, you can use the HEAD method of the HTTP protocol to get the length of the fragmented content. details as follows:
客户端请求: HEAD http://host:port/[path/]programSegX-FragY  Client request: HEAD http://host:port/[path/]programSegX-FragY
月艮务器侧响应: 200 OK\r\nContent-Length: 256001 \r\n\r\n  The server side response: 200 OK\r\nContent-Length: 256001 \r\n\r\n
然后, 利用 HTTP协议的 Range-Request能力分段获取分片内容。 客户 p.  Then, the fragmentation content is obtained by using the Range-Request capability of the HTTP protocol. Customer p.
而请求:  And request:
GET http://host:port/[path/]programSegX-FragY ? Range=0- GET http://host:port/[path/]programSegX-FragY ? Range=0-
128000\r\iL..\r\n\r\n GET http://host:port/[path/]programSegX-FragY ? Range=128001- 256000\r\iL..\r\n\r\n 128000\r\iL..\r\n\r\n GET http://host:port/[path/]programSegX-FragY ? Range=128001- 256000\r\iL..\r\n\r\n
服务器响应:  Server response:
200 OK\r\nContent-Length= 128001 \r\n ...\r\n\r\n  200 OK\r\nContent-Length= 128001 \r\n ...\r\n\r\n
200 OK\r\nContent-Length= 128000\r\n ... \r\n\r\n  200 OK\r\nContent-Length= 128000\r\n ... \r\n\r\n
这样, 对于该分片, 客户端与服务器侧同时建立起两个 TCP连接, 分别 使用一个 HTTP请求分段获取该分片内容, 在分别获得响应的分段内容后, 将两个分段按顺序拼接起来即可获得完整的分片内容。  In this way, for the shard, the client and the server side establish two TCP connections at the same time, respectively, using an HTTP request segment to obtain the shard content, and after obtaining the responsive segment content respectively, the two segments are sequentially Splicing together to get the complete shard content.
411-414、 过了启动阶段, 进入正常阶段, 则不再使用多 TCP连接, 而 是正常的获取分片内容, 即客户端请求消息:  411-414. After the startup phase, entering the normal phase, the multi-TCP connection is no longer used, but the fragmentation content is normally obtained, that is, the client requests the message:
GET http://host:port/[path/]programSegX-FragY  GET http://host:port/[path/]programSegX-FragY
服务器侧响应消息:  Server side response message:
200 OK  200 OK
GET http://host:port/[path/]programSegX-FragY+l GET http://host:port/[path/]programSegX-FragY+l
Figure imgf000015_0001
Figure imgf000015_0001
200 OK 在正常阶段, 只每次使用一个 HTTP消息请求获取一个分片的内容, 这 样不会加重服务器的并发压力。  200 OK In the normal phase, only one HTTP message is used each time to request the content of a slice, which does not increase the server's concurrency pressure.
虽然本例中把该分片分成了 2段, 实际使用时可以由客户端自主决定如 何分段, 同前一实施例。 这种情况下, 需要服务器侧配合, 能够识别出 Query字段。  Although the segment is divided into two segments in this example, the client can determine the segmentation in practice, as in the previous embodiment. In this case, the server side is required to recognize the Query field.
同理, 如果客户端不支持 HTTP1.1 中的 HEAD方法, 则也可通过 Query 字段告知服务器客户端需要获取该分片的长度。 以 MS Smooth Streaming为例, 如图 5所示, 为本发明实施例 Smooth Streaming另一消息交 互的流程示意图, 包括如下歩骤:  Similarly, if the client does not support the HEAD method in HTTP 1.1, the Query field can also be used to inform the server client that the length of the fragment needs to be obtained. Taking MS Smooth Streaming as an example, as shown in FIG. 5, it is a schematic flowchart of another message exchange of Smooth Streaming according to an embodiment of the present invention, which includes the following steps:
501-504、 获取 *.xap文件和 Manifest文件。 ¾0 OOZ 501-504, Get *.xap files and Manifest files. 3⁄40 OOZ
=O3p A)siu3iu§ j/(0009£†7 ;)spA3r;¾HBni)/ms rasrixrejg(xid[ :iBd]/yod::isoi〃:(¾:ii ςζ =O3p A)siu3iu§ j/(0009£†7 ;)spA3 r ;3⁄4HBni)/ms rasrixrejg(xid[ :iBd]/yod::isoi〃:(3⁄4:ii ςζ
丄 3D  丄 3D
皿 doi
Figure imgf000016_0001
、9K-ns
Dish doi
Figure imgf000016_0001
, 9K-ns
Figure imgf000016_0002
Figure imgf000016_0002
U\ \U\ \- · -u\i\ooo Zl-0=^ul3i-lu3luoDu \uo}^d 90Z
Figure imgf000016_0003
U\ \U\ \- · -u\i\ooo Zl-0=^ ul3 il u3 l uo D u \ uo }^d 90Z
Figure imgf000016_0003
0000=°3PiA)slu9m§md/(000000s A9l^inBN0/ms mm§OJd[/qiBd]^od:isoq//:diiq 0000=° 3 Pi A ) s l u9m § m d/(000000 s A9 l^in BN 0/ ms mm § OJ d[/qiBd]^od:isoq//:diiq
丄 3D  丄 3D
· " \0008Z: I -0=9§UB¾U\J\(OOO 丄 3D 01  · " \0008Z: I -0=9§UB3⁄4U\J\(OOO 丄 3D 01
Figure imgf000016_0004
Figure imgf000016_0004
P^9H,(000  P^9H, (000
IH9 : 本 裂 ^ ¾IH9 : This crack ^ 3⁄4
Figure imgf000016_0005
' m ^ ' am TTdM ¾^^ ΐ¾ 著擁「 s-sos
Figure imgf000016_0005
' m ^ ' am TTdM 3⁄4^^ ΐ3⁄4 with "s-sos
6C66.0/0l0JN3/X3<I mosi iioz OAV http://host:port/[path/]programjsm sm/QualityLevels(64000)/Fragments(audio=10 6C66.0/0l0JN3/X3<I mosi iioz OAV Http://host:port/[path/]programjsm sm/QualityLevels(64000)/Fragments(audio=10
在正常阶段, 只每次使用一个 HTTP消息请求获取一个分片的内容, 这 样不会加重服务器的并发压力。 In the normal phase, only one HTTP message is used each time to request the content of a slice, which does not increase the server's concurrency pressure.
虽然本例中把该分片分成了 2段, 实际使用时可以由客户端自主决定如 何分段 (同前一实施例) 。  Although the segment is divided into two segments in this example, the client can determine the segmentation in practice (same as the previous embodiment).
为了进一歩降低启动延迟, 服务器侧可以在视频内容的启动阶段快速 响应客户端的请求。 因为在实际应用中, 运营者为了能够保证服务器具有较 高的并发能力, 往往会对单个 TCP连接上的带宽设定限制。 这时, 可以在服 务器上做一点改造, 当服务器收到客户端的请求时, 看到客户端请求使用了 Range-Request或者使用 Query实现的 Range-Request, 在回复响应消息时, 可以通过增大 TCP连接的最大带宽来加速发送响应消息, 以进一歩降低启动 延迟。  In order to further reduce the startup delay, the server side can quickly respond to the client's request during the startup phase of the video content. Because in practical applications, operators often set limits on the bandwidth on a single TCP connection in order to ensure that the server has high concurrency. At this time, you can make a little modification on the server. When the server receives the request from the client, it sees that the client requests to use the Range-Request or the Range-Request implemented by Query. When replying to the response message, you can increase the TCP. The maximum bandwidth of the connection speeds up the sending of response messages to further reduce the startup delay.
在某些时候, 服务器侧可能不支持 HTTP1.1的压縮机制, 为了能够降低 下发描述文件的延迟, 本实施例给出了一种分段下发描述文件的实现方案。  In some cases, the server side may not support the compression mechanism of the HTTP 1.1. In order to reduce the delay of sending the description file, this embodiment provides an implementation scheme of the segment delivery profile.
在服务器侧生成一个描述 manifest文件的文件 (本实施例中称之为二次 描述文件) , 其内容为描述 manifest文件中公共部分、 Video部分、 Audio部 分的长度;  A file describing the manifest file (referred to as a secondary description file in this embodiment) is generated on the server side, and the content thereof is a length describing a common part, a Video part, and an Audio part of the manifest file;
用户点播时, 例如播放器作为客户端首先请求二次描述文件, 如果没有 该文件, 则按照原始的 HTTP Streaming流程进行, 先请求完整 manifest文 件, 解析后逐片请求后续的分片媒体文件; 如果获得该二次描述文件, 则可 以启用快速启动方案, 具体为: 解析二次描述文件, 获得 manifest文件中各部分的长度, 例如, 公共部 分 123, 视频部分 45678, 音频部分 43210; When the user clicks on the video, for example, the player first requests the secondary description file as the client. If there is no such file, the original HTTP Streaming process is performed, and the complete manifest file is requested first, and the subsequent fragmented media files are requested one by one after parsing; Obtain the secondary description file, you can enable the quick start scheme, specifically: Parsing the secondary description file, obtaining the length of each part in the manifest file, for example, the public part 123, the video part 45678, the audio part 43210;
使用 HTTP部分请求, 先获取公共部分, 视频部分的 1/N, 音频部分的 1/N, 其中 N为一合适的整数, 例如, 当 N=5时, HTTP请求的头域中使用 Range:bytes=0-122,123-9159,45801-54442 , 如果客户端或者服务器端不支持 该头域, 则可利用类似实施例一中的方法, 通过扩展请求的 URL , 来实现 Range-Request;  Using the HTTP partial request, first obtain the public part, 1/N of the video part, 1/N of the audio part, where N is a suitable integer, for example, when N=5, Range:bytes is used in the header field of the HTTP request. =0-122, 123-9159, 45801-54442, if the client or server does not support the header field, the method of the first embodiment can be used to implement the Range-Request by extending the URL of the request;
获得部分的 manifest之后, 即可解析并开始请求音视频的分片信息; 已获得的 mainfest使用完毕后, 使用类似的方法分段请求剩余部分, 实 现时需要注意前后两段内容的拼接。  After obtaining the partial manifest, you can parse and start to request the fragmentation information of the audio and video. After the used mainfest is used, use the similar method to request the rest of the segment. In fact, you need to pay attention to the splicing of the two pieces before and after.
需要说明的是, 为保证先获得的部分 manifest中包含足够多的分片索引 信息, 当 manifest总长度过小 (例如, 小于 10kB ) 时, 不需要分段请求 manifest文件; 播放过程中, 当前部分 manifest文件中的分片索引信息使用 完毕后, 再请求下发接下来的 1/N部分。  It should be noted that, in order to ensure that the first part of the manifest contains enough fragment index information, when the total length of the manifest is too small (for example, less than 10kB), the segmentation request manifest file is not required; during playback, the current part After the fragment index information in the manifest file is used, request to deliver the next 1/N part.
其次, 为了进一歩降低启动延迟, 本实施例采用多 TCP连接的机制, 快 速获取填充缓冲区的分片内容, 从而达到快速启动的目的。 具体方案类似前 述实施例, 本实施例中不再赘述。  Secondly, in order to further reduce the startup delay, this embodiment adopts a multi-TCP connection mechanism to quickly acquire the fragment content of the padding buffer, thereby achieving the purpose of fast startup. The specific solution is similar to the foregoing embodiment, and details are not described in this embodiment.
再次, 对于某些播放器, 可以支持单帧播放, 这样的话, 可以通过快速 显示第一帧的办法进一歩优化启动延迟。 具体说来, 就是当播放器接收到第 一帧的数据之后, 即可把第一帧的数据交给解码器解码显示, 但为了能保证 后续播放的流畅性, 需要在缓冲区中保持一定的数据, 因此, 不能收到一帧 数据就显示一帧数据, 而是在显示出第一帧图像后, 在显示窗口中保持第一 帧图像直至缓冲区中的数据达到最低播放阈值, 再继续播放后续帧。 这样, 通过这一方案, 可以使启动延迟进一歩降低。  Again, for some players, single frame playback is supported, so that the optimized start delay can be optimized by quickly displaying the first frame. Specifically, after the player receives the data of the first frame, the data of the first frame can be sent to the decoder for decoding and display, but in order to ensure the smoothness of subsequent playback, it is necessary to maintain a certain amount in the buffer. Data, therefore, can not receive a frame of data to display a frame of data, but after displaying the first frame of image, keep the first frame of image in the display window until the data in the buffer reaches the minimum playback threshold, and then continue playing Subsequent frames. In this way, with this scheme, the startup delay can be further reduced.
特别地, 对于某些播放器的缓冲区是以分片数为单位计数而不是以时间 为单位, 即播放器是收到 N片媒体内容分片后开始播放呈现, 而不是收到 M 秒的媒体内容分片后开始播放。 这时, 可以通过使用非均匀分片的方式, 来 降低播放延迟。 具体来说, 就是在服务器上对媒体内容预处理时, 对内容的 前面部分采用较小的分片, 例如前面部分每个分片时长 Is; 对内容的后面部 分采用正常的分片, 例如后面部分每个分片时长 2s。 更进一歩, 可以采用更 复杂一点的分片方案, 如图 6所示, 为本发明实施例采用非均匀分片机制生 成的启动阶段的流媒体数据的分片内容示意图。 采用这种分片机制, 可以有 效降低播放延迟。 In particular, for some players, the buffer is counted in units of fragments rather than time, that is, the player starts to play the image after receiving N pieces of media content, instead of receiving M. The media content of the second starts to play after being sliced. At this time, the playback delay can be reduced by using non-uniform sharding. Specifically, when the media content is preprocessed on the server, a smaller fragment is used for the front part of the content, for example, the length of each fragment is Is in the previous part; and the normal fragment is used for the latter part of the content, for example, Part of each shard is 2s long. Further, a more complicated fragmentation scheme can be adopted. As shown in FIG. 6, it is a schematic diagram of the fragmented content of the streaming media data generated by the non-uniform fragmentation mechanism according to the embodiment of the present invention. With this fragmentation mechanism, the playback delay can be effectively reduced.
本发明上述实施例首先分析了造成 HTTP Streaming启动延迟的因素, 然 后针对每种因素分别提出了相应的解决方案, 从而达到了降低启动延迟的目 的。  The above embodiment of the present invention first analyzes the factors causing the HTTP Streaming startup delay, and then proposes corresponding solutions for each factor, thereby achieving the goal of reducing the startup delay.
如图 7所示, 为本发明实施例一种启动阶段的流媒体数据获取的客户端 装置结构示意图, 所述客户端装置包括:  As shown in FIG. 7, a schematic structural diagram of a client device for acquiring streaming media data in a startup phase according to an embodiment of the present invention, where the client device includes:
获取单元 71, 用于获取流媒体内容描述文件;  The obtaining unit 71 is configured to acquire a streaming media content description file.
请求生成单元 72, 用于根据所述流媒体内容描述文件, 生成分片内容获 取请求发送给服务器端;  The request generating unit 72 is configured to send, according to the streaming media content description file, a generated fragment content obtaining request to the server;
所述获取单元 71, 还用于在启动阶段利用多个传输控制协议 TCP连 接, 从所述服务器端获取所述分片内容获取请求对应的流媒体数据的分片内 可选的, 所述客户端装置还可以包括: 启动阶段确定单元 74, 用于在发 送所述分片内容获取请求前, 确定所述客户端当前处在启动阶段。 启动阶段 确定单元 74, 具体用于根据本地的接收缓冲区中已接收媒体内容的可播放时 间, 所请求媒体内容的最低码率, 估计出的网络传输带宽, 前一分片的时长 以及预定的判决阈值, 确定出客户端当前是否处在启动阶段。 所述获取单元 71, 具体用于获取经过超文本传输协议 HTTP协议压縮的所述流媒体内容描 述文件, 或者分段获取所述流媒体内容描述文件。  The obtaining unit 71 is further configured to: use the multiple transmission control protocol TCP connection in the startup phase, and obtain, from the server end, the fragment of the streaming media data corresponding to the fragmentation content acquisition request, the client The terminal device may further include: a startup phase determining unit 74, configured to determine that the client is currently in a startup phase before transmitting the slice content acquisition request. The startup phase determining unit 74 is specifically configured to: according to the playable time of the received media content in the local receiving buffer, the lowest code rate of the requested media content, the estimated network transmission bandwidth, the duration of the previous fragment, and the predetermined The decision threshold determines whether the client is currently in the startup phase. The obtaining unit 71 is specifically configured to obtain the streaming media content description file compressed by the Hypertext Transfer Protocol (HTTP) protocol, or obtain the streaming media content description file in segments.
可选的, 所述获取单元 71, 具体用于利用流媒体内容描述文件, 获取所 述启动阶段的流媒体数据的分片长度, 或者通过 HTTP1.1中的消息头方法获 取所述启动阶段的流媒体数据的分片长度, 或者通过 HTTP请求消息的 URL 中扩展的查询字段获取所述启动阶段的流媒体数据的分片长度; 根据所述分 片长度, 通过并发的超文本传输协议 HTTP消息, 与所述服务器端建立起多 个传输控制协议 TCP连接后, 利用所述多个传输控制协议 TCP连接, 分段 同时获取所述分片内容获取请求对应的流媒体数据的分片内容。 Optionally, the obtaining unit 71 is specifically configured to use a streaming media content description file to obtain a location Defragment length of the streaming media data in the startup phase, or obtaining the fragmentation length of the streaming media data in the startup phase by using a message header method in HTTP 1.1, or acquiring the extended query field in the URL of the HTTP request message Defragment length of the streaming media data in the startup phase; according to the fragment length, after the TCP connection is established with the server end by using a concurrent hypertext transfer protocol HTTP message, using the multiple The transmission control protocol TCP connection acquires the fragmented content of the streaming media data corresponding to the fragment content acquisition request.
在所述启动阶段过程中, 所述获取单元 71 获取的分片长度采用均匀长 度, 或者在所述启动阶段过程中逐歩调整分片长度间隔: 如果检测出网络状 况优, 则所述服务器端逐歩增大分片长度; 如果检测出网络状况差, 则所述 服务器端逐歩减小分片长度。  During the startup phase, the fragment length obtained by the obtaining unit 71 adopts a uniform length, or adjusts the fragment length interval one by one during the startup phase: if the network condition is detected to be excellent, the server end The fragment length is increased step by step; if the network condition is detected to be poor, the server side gradually reduces the fragment length.
可选的, 所述客户端装置还可以包括: 显示单元 73, 用于解析所述启 动阶段的流媒体数据的分片内容, 呈现第一帧视频图像, 然后在播放窗口中 保持显示直至缓冲区数据满足后续流畅播放的要求。  Optionally, the client device may further include: a display unit 73, configured to parse the slice content of the streaming media data in the startup phase, present a first frame video image, and then keep displaying in the play window until the buffer The data meets the requirements for subsequent smooth playback.
本发明实施例提供的上述客户端装置利用多个传输控制协议 TCP连接, 获取所述启动阶段的流媒体数据的分片内容, 达到了降低启动延迟的技术效 果。  The client device provided by the embodiment of the present invention obtains the fragmentation content of the streaming media data in the startup phase by using multiple transmission control protocol TCP connections, and achieves the technical effect of reducing the startup delay.
如图 8所示, 为本发明实施例一种启动阶段的流媒体数据发送的服务器 装置结构示意图, 所述服务器装置包括:  FIG. 8 is a schematic structural diagram of a server device for transmitting streaming media data in a startup phase according to an embodiment of the present invention, where the server device includes:
发送单元 81, 用于发送流媒体内容描述文件;  a sending unit 81, configured to send a streaming media content description file;
请求接收单元 82, 用于接收客户端根据所述流媒体内容描述文件发送的 分片内容获取请求;  The request receiving unit 82 is configured to receive a fragmentation content acquisition request sent by the client according to the streaming media content description file;
所述发送单元 81, 还用于在启动阶段利用多个传输控制协议 TCP连 接, 发送所述分片内容获取请求对应的流媒体数据的分片内容。  The sending unit 81 is further configured to send, by using a plurality of transmission control protocol TCP connections in the startup phase, the fragmented content of the streaming media data corresponding to the fragmentation content acquisition request.
可选的, 所述发送单元 81, 具体用于发送经过超文本传输协议 HTTP协 议压縮的所述流媒体内容描述文件, 或者分段发送所述流媒体内容描述文 件。 可选的, 所述发送单元 81, 具体用于在发送所述分片内容获取请求对应 的内容前, 确定该客户端当前处在启动阶段; 在所述启动阶段, 通过并发的 超文本传输协议 HTTP消息, 与所述客户端建立所述多个传输控制协议 TCP 连接后, 利用所述多个传输控制协议 TCP连接, 分段同时发送所述分片内容 获取请求对应的流媒体数据的分片内容。 Optionally, the sending unit 81 is specifically configured to send the streaming media content description file compressed by the Hypertext Transfer Protocol (HTTP) protocol, or send the streaming media content description file in segments. Optionally, the sending unit 81 is specifically configured to: before sending the content corresponding to the fragment content obtaining request, determining that the client is currently in a startup phase; in the startup phase, using a concurrent hypertext transfer protocol After the TCP connection is established with the client, the plurality of transmission control protocol TCP connections are used, and the fragmentation of the streaming media data corresponding to the fragmentation content acquisition request is simultaneously sent by using the plurality of transmission control protocol TCP connections. content.
可选的, 在所述启动阶段过程中, 所述发送单元 81 发送的分片长度采 用均匀长度, 或者在所述启动阶段过程中逐歩调整分片长度间隔: 如果检测 出网络状况优, 则服务器端逐歩增大分片长度; 如果检测出网络状况差, 则 服务器端逐歩减小分片长度。  Optionally, during the startup phase, the length of the fragment sent by the sending unit 81 is a uniform length, or the fragment length interval is adjusted one by one during the startup phase: if the network condition is detected, The server side increases the fragment length gradually; if the network condition is detected to be poor, the server side gradually reduces the fragment length.
可选的, 所述发送单元 81, 具体用于在所述启动阶段提高对所述客户端 的数据发送带宽的上限阈值以快速推送所述分片内容获取请求对应的流媒体 数据的分片内容。  Optionally, the sending unit 81 is configured to: in the startup phase, increase an upper threshold of a data sending bandwidth of the client to quickly push the fragmented content of the streaming media data corresponding to the fragmented content obtaining request.
可选的, 所述发送单元 81, 具体用于发送采用非均匀分片机制生成的所 述启动阶段的流媒体数据的分片内容。  Optionally, the sending unit 81 is specifically configured to send the fragmented content of the streaming media data generated by the non-uniform fragmentation mechanism.
可选的, 所述发送单元 81, 进一歩用于根据来自客户端的请求消息中是 否包含 Range-Request头域或者扩展出的 Range-Request请求字段, 判断该客 户端当前是否处于启动阶段。  Optionally, the sending unit 81 is further configured to determine, according to whether the request message from the client includes a Range-Request header field or an extended Range-Request request field, whether the client is currently in a startup phase.
本发明实施例中的服务器装置可以是物理上的媒体服务器, 也可以是一 个网络, 比如 CDN ( Content Delivery Network, 内容分发网络) 网络。  The server device in the embodiment of the present invention may be a physical media server, or may be a network, such as a CDN (Content Delivery Network) network.
本发明实施例提供的上述服务器装置利用多个传输控制协议 TCP连接, 发送所述启动阶段的流媒体数据的分片内容, 达到了降低启动延迟的技术效 果。  The server device provided by the embodiment of the present invention uses a plurality of transmission control protocol TCP connections to transmit the fragmented content of the streaming media data in the startup phase, thereby achieving the technical effect of reducing the startup delay.
本领域普通技术人员可以理解实现上述实施例方法中的全部或部分歩骤 是可以通过程序来指令相关硬件来完成, 所述的程序可以存储于一计算机可 读取存储介质中, 该程序在执行时, 包括上述全部或部分歩骤, 所述的存储 介质, 如: ROM/RAM, 磁盘、 光盘等。 以上所述的具体实施方式, 对本发明的目的、 技术方案和有益效果进行 了进一歩详细说明, 所应理解的是, 以上所述仅为本发明的具体实施方式而 已, 并不用于限定本发明的保护范围, 凡在本发明的精神和原则之内, 所做 的任何修改、 等同替换、 改进等, 均应包含在本发明的保护范围之内。 A person skilled in the art can understand that all or part of the steps of implementing the above embodiments can be completed by a program instructing related hardware, and the program can be stored in a computer readable storage medium, and the program is executed. Including all or part of the above, the storage medium, such as: ROM/RAM, magnetic disk, optical disk, and the like. The specific embodiments of the present invention have been described in detail with reference to the preferred embodiments of the present invention. The scope of the invention, any modifications, equivalents, improvements, etc., made within the spirit and scope of the invention are intended to be included within the scope of the invention.

Claims

权利要求书 Claim
1、 一种启动阶段的流媒体数据获取方法, 其特征在于, 所述方法包 括:  A method for acquiring streaming media data in a startup phase, the method comprising:
获取流媒体内容描述文件;  Obtain a streaming media content description file;
根据所述流媒体内容描述文件, 生成分片内容获取请求发送给服务器 Generating a fragmented content acquisition request to the server according to the streaming media content description file
¾ ; 3⁄4 ;
在启动阶段利用多个传输控制协议 TCP连接, 从所述服务器端获取所述 分片内容获取请求对应的流媒体数据的分片内容。  The fragmentation content of the streaming media data corresponding to the fragmentation content acquisition request is obtained from the server end by using a plurality of transmission control protocol TCP connections in the startup phase.
2、 如权利要求 1所述方法, 其特征在于, 所述方法还包括:  2. The method of claim 1, wherein the method further comprises:
在发送所述分片内容获取请求前, 确定当前处在启动阶段。  Before sending the fragment content acquisition request, it is determined that it is currently in the startup phase.
3、 如权利要求 1所述方法, 其特征在于, 所述获取流媒体内容描述文 件, 包括:  The method of claim 1, wherein the obtaining the streaming media content description file comprises:
获取经过超文本传输协议 HTTP协议压縮的所述流媒体内容描述文件, 或者分段获取所述流媒体内容描述文件。  Obtaining the streaming media content description file compressed by the Hypertext Transfer Protocol HTTP protocol, or acquiring the streaming media content description file in segments.
4、 如权利要求 1所述方法, 其特征在于, 所述在启动阶段利用多个传 输控制协议 TCP连接, 从所述服务器端获取所述分片内容获取请求对应的流 媒体数据的分片内容, 包括:  The method according to claim 1, wherein the fragmentation content of the streaming media data corresponding to the fragment content acquisition request is obtained from the server end by using a plurality of transmission control protocol TCP connections in the startup phase. , including:
利用所述流媒体内容描述文件, 获取所述启动阶段的流媒体数据的分片 长度, 或者通过 HTTPl.l中的消息头方法获取所述启动阶段的流媒体数据的 分片长度, 或者通过 HTTP请求消息的 URL中扩展的查询字段获取所述启动 阶段的流媒体数据的分片长度;  Obtaining, by using the streaming media content description file, the fragmentation length of the streaming media data in the startup phase, or obtaining the fragmentation length of the streaming media data in the startup phase by using a message header method in HTTP1.1, or by using HTTP The extended query field in the URL of the request message acquires the slice length of the streaming media data in the startup phase;
根据所述分片长度, 通过并发的超文本传输协议 HTTP消息, 与所述服 务器端建立起多个传输控制协议 TCP连接;  And establishing, according to the length of the fragment, a plurality of transmission control protocol TCP connections with the server end by using a concurrent hypertext transfer protocol HTTP message;
利用所述多个传输控制协议 TCP连接, 分段同时获取所述分片内容获取 请求对应的流媒体数据的分片内容。  The fragmentation content of the streaming media data corresponding to the fragmentation content acquisition request is acquired by using the plurality of transmission control protocol TCP connections.
5、 如权利要求 4所述方法, 其特征在于, 在所述启动阶段过程中, 分片长度采用均匀长度, 或者在所述启动阶段 过程中逐歩调整分片长度间隔: 如果检测出网络状况优, 则所述服务器端逐 歩增大分片长度; 如果检测出网络状况差, 则所述服务器端逐歩减小分片长 度。 5. The method of claim 4 wherein: During the start-up phase, the slice length adopts a uniform length, or the slice length interval is adjusted one by one during the start-up phase: if the network condition is detected to be excellent, the server end increases the slice length gradually; If it is detected that the network condition is poor, the server side gradually reduces the slice length.
6、 如权利要求 1所述方法, 其特征在于, 所述获取所述分片内容获取 请求对应的流媒体数据的分片内容后, 所述方法还包括:  The method of claim 1, wherein after the acquiring the fragmented content of the streaming media data corresponding to the fragmented content acquisition request, the method further includes:
解析所述流媒体数据的分片内容, 呈现第一帧视频图像, 然后在播放窗 口中保持显示直至缓冲区数据满足后续流畅播放的要求。  Parsing the fragmented content of the streaming media data, presenting the first frame of the video image, and then maintaining the display in the playback window until the buffer data meets the requirements for subsequent smooth playback.
7、 一种启动阶段的流媒体数据发送方法, 其特征在于, 所述方法包 括:  7. A method for transmitting streaming media data in a startup phase, the method comprising:
发送流媒体内容描述文件;  Send a streaming media content description file;
接收客户端根据所述流媒体内容描述文件发送的分片内容获取请求; 在启动阶段利用多个传输控制协议 TCP连接, 发送所述分片内容获取请 求对应的流媒体数据的分片内容。  Receiving a fragment content acquisition request sent by the client according to the streaming media content description file; and using the multiple transmission control protocol TCP connection in the startup phase, sending the fragmented content of the fragmented content acquisition request corresponding to the streaming media data.
8、 如权利要求 7所述方法, 其特征在于, 所述发送流媒体内容描述文 件, 包括:  The method of claim 7, wherein the sending the streaming media content description file comprises:
发送经过超文本传输协议 HTTP协议压縮的所述流媒体内容描述文件, 或者分段发送所述流媒体内容描述文件。  Sending the streaming media content description file compressed by the Hypertext Transfer Protocol HTTP protocol, or sending the streaming media content description file in segments.
9、 如权利要求 7所述方法, 其特征在于, 所述在启动阶段利用多个传 输控制协议 TCP连接, 发送所述分片内容获取请求对应的流媒体数据的分片 内容, 包括:  The method according to claim 7, wherein the fragmentation content of the streaming media data corresponding to the fragmentation content acquisition request is sent by using a plurality of transmission control protocol TCP connections in the startup phase, including:
在发送所述分片内容获取请求对应的内容前, 确定所述客户端当前处在 启动阶段;  Determining that the client is currently in a startup phase before transmitting the content corresponding to the fragment content acquisition request;
在所述启动阶段, 通过并发的超文本传输协议 HTTP消息, 与所述客户 端建立所述多个传输控制协议 TCP连接;  In the startup phase, establishing, by the client, the plurality of transmission control protocol TCP connections by using a concurrent hypertext transfer protocol HTTP message;
利用所述多个传输控制协议 TCP连接, 分段同时发送所述分片内容获取 请求对应的流媒体数据的分片内容。 Simultaneously transmitting the fragmented content acquisition by using the plurality of transmission control protocol TCP connections Request the fragmented content of the corresponding streaming media data.
10、 如权利要求 9所述方法, 其特征在于,  10. The method of claim 9 wherein:
在所述启动阶段过程中, 分片长度采用均匀长度, 或者在所述启动阶段 过程中逐歩调整分片长度间隔: 如果检测出网络状况优, 则服务器端逐歩增 大分片长度; 如果检测出网络状况差, 则服务器端逐歩减小分片长度。  During the start-up phase, the slice length adopts a uniform length, or the slice length interval is adjusted one by one during the start-up phase: if the network condition is detected to be excellent, the server side increases the slice length by itself; If the network status is poor, the server side will gradually reduce the fragment length.
11、 如权利要求 7所述方法, 其特征在于, 所述发送所述分片内容获取 请求对应的流媒体数据的分片内容, 包括:  The method according to claim 7, wherein the sending the fragmented content of the streaming media data corresponding to the fragmentation content acquisition request comprises:
在所述启动阶段提高对所述客户端的数据发送带宽的上限阈值以快速推 送所述分片内容获取请求对应的流媒体数据的分片内容。  The upper threshold of the data transmission bandwidth of the client is increased in the startup phase to quickly push the fragmented content of the streaming media data corresponding to the fragmentation content acquisition request.
12、 如权利要求 7所述方法, 其特征在于, 所述发送所述分片内容获取 请求对应的流媒体数据的分片内容, 包括:  The method according to claim 7, wherein the sending the fragmented content of the streaming media data corresponding to the fragmentation content acquisition request comprises:
发送采用非均匀分片机制生成的所述分片内容获取请求对应的流媒体数 据的分片内容。  And sending the fragmented content of the streaming media data corresponding to the fragment content acquisition request generated by the non-uniform fragmentation mechanism.
13、 一种启动阶段的流媒体数据获取的客户端装置, 其特征在于, 所述 客户端装置包括:  13. A client device for obtaining streaming media data in a startup phase, wherein the client device comprises:
获取单元, 用于获取流媒体内容描述文件;  An obtaining unit, configured to acquire a streaming media content description file;
请求生成单元, 用于根据所述流媒体内容描述文件, 生成分片内容获取 请求发送给服务器端;  a request generating unit, configured to send a fragmentation content acquisition request to the server according to the streaming media content description file;
所述获取单元, 还用于在启动阶段利用多个传输控制协议 TCP连接, 从 所述服务器端获取所述分片内容获取请求对应的流媒体数据的分片内容。  The obtaining unit is further configured to acquire, by using a plurality of transmission control protocol TCP connections in the startup phase, the fragment content of the streaming media data corresponding to the fragment content acquisition request from the server end.
14、 如权利要求 13所述客户端装置, 其特征在于, 所述客户端装置还 包括:  The client device according to claim 13, wherein the client device further comprises:
启动阶段确定单元, 用于在发送所述分片内容获取请求前, 确定所述客 户端当前处在启动阶段。  The startup phase determining unit is configured to determine that the client is currently in a startup phase before sending the fragment content acquisition request.
15、 如权利要求 13所述客户端装置, 其特征在于, 所述获取单元, 具 体用于获取经过超文本传输协议 HTTP协议压縮的所述流媒体内容描述文 件, 或者分段获取所述流媒体内容描述文件。 The client device according to claim 13, wherein the acquiring unit is specifically configured to acquire the streaming media content description text compressed by the Hypertext Transfer Protocol (HTTP) protocol. Or the segmentation of the streaming media content description file.
16、 如权利要求 13所述客户端装置, 其特征在于, 所述获取单元, 具 体用于利用流媒体内容描述文件, 获取所述启动阶段的流媒体数据的分片长 度, 或者通过 HTTP1.1中的消息头方法获取所述启动阶段的流媒体数据的分 片长度, 或者通过 HTTP请求消息的 URL中扩展的查询字段获取所述启动阶 段的流媒体数据的分片长度; 根据所述分片长度, 通过并发的超文本传输协 议 HTTP消息, 与所述服务器端建立起多个传输控制协议 TCP连接后, 利用 所述多个传输控制协议 TCP连接, 分段同时获取所述分片内容获取请求对应 的流媒体数据的分片内容。  The client device according to claim 13, wherein the acquiring unit is configured to acquire a fragment length of the streaming media data in the startup phase by using a streaming media content description file, or by using HTTP 1.1. Obtaining a fragment length of the streaming media data in the startup phase, or obtaining a fragment length of the streaming media data in the startup phase by using an extended query field in a URL of the HTTP request message; Length, by using a concurrent Hypertext Transfer Protocol (HTTP) message, after establishing a plurality of transmission control protocol TCP connections with the server end, using the plurality of transmission control protocol TCP connections, and simultaneously acquiring the fragment content acquisition request by segmentation The fragmented content of the corresponding streaming media data.
17、 如权利要求 13所述客户端装置, 其特征在于, 所述客户端装置还 包括:  The client device according to claim 13, wherein the client device further comprises:
显示单元, 用于解析所述启动阶段的流媒体数据的分片内容, 呈现第一 帧视频图像, 然后在播放窗口中保持显示直至缓冲区数据满足后续流畅播放 的要求。  And a display unit, configured to parse the slice content of the streaming media data in the startup phase, present the first frame video image, and then keep displaying in the play window until the buffer data satisfies the requirement of subsequent smooth play.
18、 一种启动阶段的流媒体数据发送的服务器装置, 其特征在于, 所述 服务器装置包括:  18. A server device for transmitting streaming media data in a startup phase, wherein the server device comprises:
发送单元, 用于发送流媒体内容描述文件;  a sending unit, configured to send a streaming media content description file;
请求接收单元, 用于接收客户端根据所述流媒体内容描述文件发送的分 片内容获取请求;  a request receiving unit, configured to receive a fragment content acquisition request sent by the client according to the streaming media content description file;
所述发送单元, 还用于在启动阶段利用多个传输控制协议 TCP连接, 发 送所述分片内容获取请求对应的流媒体数据的分片内容。  The sending unit is further configured to send, by using a plurality of transmission control protocol TCP connections in the startup phase, the fragmented content of the streaming media data corresponding to the fragmentation content acquisition request.
19、 如权利要求 18所述服务器装置, 其特征在于, 所述发送单元, 具 体用于发送经过超文本传输协议 HTTP协议压縮的所述流媒体内容描述文 件, 或者分段发送所述流媒体内容描述文件。  The server device according to claim 18, wherein the sending unit is specifically configured to send the streaming media content description file compressed by a hypertext transfer protocol HTTP protocol, or send the streaming media in segments. Content description file.
20、 如权利要求 18所述服务器装置, 其特征在于, 所述发送单元, 具 体用于在发送所述分片内容获取请求对应的内容前, 确定该客户端当前处在 启动阶段; 在所述启动阶段, 通过并发的超文本传输协议 HTTP消息, 与所 述客户端建立所述多个传输控制协议 TCP连接后, 利用所述多个传输控制协 议 TCP连接, 分段同时发送所述分片内容获取请求对应的流媒体数据的分片 内容。 The server device according to claim 18, wherein the sending unit is specifically configured to: before transmitting the content corresponding to the fragment content obtaining request, determining that the client is currently located a startup phase, in the startup phase, after the TCP connection of the plurality of transmission control protocols is established by the client by using a concurrent hypertext transfer protocol HTTP message, using the multiple transmission control protocol TCP connection, segmentation simultaneously And sending the fragment content of the streaming media data corresponding to the fragment content acquisition request.
21、 如权利要求 20所述服务器装置, 其特征在于,  21. The server apparatus according to claim 20, wherein:
在所述启动阶段过程中, 所述发送单元发送的分片长度采用均匀长度, 或者在所述启动阶段过程中逐歩调整分片长度间隔: 如果检测出网络状况 优, 则服务器端逐歩增大分片长度; 如果检测出网络状况差, 则服务器端逐 歩减小分片长度。  During the startup phase, the fragment length sent by the sending unit adopts a uniform length, or the fragment length interval is adjusted one by one during the startup phase: if the network condition is detected, the server end is increased. Large slice length; if the network condition is detected to be poor, the server side gradually reduces the slice length.
22、 如权利要求 18所述服务器装置, 其特征在于, 所述发送单元, 具 体用于在所述启动阶段提高对所述客户端的数据发送带宽的上限阈值以快速 推送所述分片内容获取请求对应的流媒体数据的分片内容。  The server device according to claim 18, wherein the sending unit is configured to: increase an upper threshold of a data transmission bandwidth of the client in the startup phase to quickly push the fragment content acquisition request The fragmented content of the corresponding streaming media data.
23、 如权利要求 18所述服务器装置, 其特征在于, 所述发送单元, 具 体用于发送采用非均匀分片机制生成的所述启动阶段的流媒体数据的分片内  The server device according to claim 18, wherein the sending unit is configured to send, in a fragment of the streaming media data of the startup phase generated by using a non-uniform fragmentation mechanism.
PCT/CN2010/079939 2010-12-17 2010-12-17 Method and apparatus for acquiring and transmitting streaming media data in the process of initiation WO2011150644A1 (en)

Priority Applications (2)

Application Number Priority Date Filing Date Title
CN201080003494.9A CN102656857B (en) 2010-12-17 2010-12-17 Method and apparatus for acquiring and transmitting streaming media data in the process of initiation
PCT/CN2010/079939 WO2011150644A1 (en) 2010-12-17 2010-12-17 Method and apparatus for acquiring and transmitting streaming media data in the process of initiation

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
PCT/CN2010/079939 WO2011150644A1 (en) 2010-12-17 2010-12-17 Method and apparatus for acquiring and transmitting streaming media data in the process of initiation

Publications (1)

Publication Number Publication Date
WO2011150644A1 true WO2011150644A1 (en) 2011-12-08

Family

ID=45066137

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2010/079939 WO2011150644A1 (en) 2010-12-17 2010-12-17 Method and apparatus for acquiring and transmitting streaming media data in the process of initiation

Country Status (2)

Country Link
CN (1) CN102656857B (en)
WO (1) WO2011150644A1 (en)

Cited By (10)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327415A (en) * 2013-06-05 2013-09-25 北京奇虎科技有限公司 Method and device for accelerating network video downloading
CN103457956A (en) * 2013-09-17 2013-12-18 网宿科技股份有限公司 HTTP streaming media live broadcasting method and system based on multiple TCP links
CN103634383A (en) * 2013-11-21 2014-03-12 北京奇虎科技有限公司 Mobile terminal-based multi-link subsection downloading method and mobile terminal
WO2015169074A1 (en) * 2014-05-09 2015-11-12 华为技术有限公司 Method and related device for distributing contents in content-centric network
CN105208440A (en) * 2015-09-22 2015-12-30 北京暴风科技股份有限公司 Online playing method and system for MP4-format video
CN105228001A (en) * 2015-09-26 2016-01-06 北京暴风科技股份有限公司 The method and system that a kind of FLV format video is play online
CN106416273A (en) * 2014-05-20 2017-02-15 三星电子株式会社 Method, apparatus and system for scheduling transmission and reception of media contents
WO2018113667A1 (en) * 2016-12-22 2018-06-28 华为技术有限公司 Method and apparatus for processing video service
CN108924145A (en) * 2018-07-16 2018-11-30 百度在线网络技术(北京)有限公司 Network transfer method, device and equipment
CN111698536A (en) * 2019-03-15 2020-09-22 瑞昱半导体股份有限公司 Video processing method and system

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107040505B (en) * 2016-02-04 2021-01-26 中兴通讯股份有限公司 Media data transmission method and device

Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN201204613Y (en) * 2008-05-21 2009-03-04 上海未来宽带技术及应用工程研究中心有限公司 P2P network video system and download system
CN101378537A (en) * 2007-08-30 2009-03-04 中兴通讯股份有限公司 Method for shortening actuation time when playing mobile stream medium business
CN101626399A (en) * 2009-08-11 2010-01-13 华中科技大学 Dispatching and controlling method of music on-line displaying

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20050102371A1 (en) * 2003-11-07 2005-05-12 Emre Aksu Streaming from a server to a client
CN101562635B (en) * 2009-05-15 2012-05-09 中兴通讯股份有限公司 Method and player for mobile streaming media on demand
CN101848067B (en) * 2010-06-22 2015-01-28 中兴通讯股份有限公司 Data transmission method and system for self-adaptive bandwidth

Patent Citations (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101378537A (en) * 2007-08-30 2009-03-04 中兴通讯股份有限公司 Method for shortening actuation time when playing mobile stream medium business
CN201204613Y (en) * 2008-05-21 2009-03-04 上海未来宽带技术及应用工程研究中心有限公司 P2P network video system and download system
CN101626399A (en) * 2009-08-11 2010-01-13 华中科技大学 Dispatching and controlling method of music on-line displaying

Cited By (21)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN103327415A (en) * 2013-06-05 2013-09-25 北京奇虎科技有限公司 Method and device for accelerating network video downloading
CN103457956A (en) * 2013-09-17 2013-12-18 网宿科技股份有限公司 HTTP streaming media live broadcasting method and system based on multiple TCP links
CN103457956B (en) * 2013-09-17 2017-02-08 网宿科技股份有限公司 HTTP streaming media live broadcasting method and system based on multiple TCP links
CN103634383A (en) * 2013-11-21 2014-03-12 北京奇虎科技有限公司 Mobile terminal-based multi-link subsection downloading method and mobile terminal
CN103634383B (en) * 2013-11-21 2016-11-23 北京奇虎科技有限公司 Multi-link subsection method for down loading based on mobile terminal and mobile terminal
WO2015169074A1 (en) * 2014-05-09 2015-11-12 华为技术有限公司 Method and related device for distributing contents in content-centric network
CN105100008A (en) * 2014-05-09 2015-11-25 华为技术有限公司 Method and related device for distributing contents in content-centric network
CN105100008B (en) * 2014-05-09 2018-06-05 华为技术有限公司 The method and relevant device of content distribution in content center network
CN106416273B (en) * 2014-05-20 2019-11-26 三星电子株式会社 The method, apparatus and system being scheduled are sent and received to media content
US10630744B2 (en) 2014-05-20 2020-04-21 Samsung Electronics Co., Ltd. Method, device, and system for scheduling transmission and reception of media contents
CN106416273A (en) * 2014-05-20 2017-02-15 三星电子株式会社 Method, apparatus and system for scheduling transmission and reception of media contents
EP3148201A4 (en) * 2014-05-20 2017-11-29 Samsung Electronics Co., Ltd. Method, device, and system for scheduling transmission and reception of media contents
CN105208440A (en) * 2015-09-22 2015-12-30 北京暴风科技股份有限公司 Online playing method and system for MP4-format video
CN105228001B (en) * 2015-09-26 2018-11-06 暴风集团股份有限公司 A kind of method and system that FLV format videos play online
CN105228001A (en) * 2015-09-26 2016-01-06 北京暴风科技股份有限公司 The method and system that a kind of FLV format video is play online
CN108234433A (en) * 2016-12-22 2018-06-29 华为技术有限公司 For handling the method and apparatus of video traffic
WO2018113667A1 (en) * 2016-12-22 2018-06-28 华为技术有限公司 Method and apparatus for processing video service
CN108924145A (en) * 2018-07-16 2018-11-30 百度在线网络技术(北京)有限公司 Network transfer method, device and equipment
CN108924145B (en) * 2018-07-16 2021-05-04 百度在线网络技术(北京)有限公司 Network transmission method, device and equipment
CN111698536A (en) * 2019-03-15 2020-09-22 瑞昱半导体股份有限公司 Video processing method and system
CN111698536B (en) * 2019-03-15 2023-03-28 瑞昱半导体股份有限公司 Video processing method and system

Also Published As

Publication number Publication date
CN102656857A (en) 2012-09-05
CN102656857B (en) 2015-01-07

Similar Documents

Publication Publication Date Title
WO2011150644A1 (en) Method and apparatus for acquiring and transmitting streaming media data in the process of initiation
US10264044B2 (en) Apparatus and method for sending content as chunks of data to a user device via a network
US8375140B2 (en) Adaptive playback rate with look-ahead
US7779146B2 (en) Methods and systems for HTTP streaming using server-side pacing
JP4273165B2 (en) Improved activation method and apparatus for use in streaming content
US11477262B2 (en) Requesting multiple chunks from a network node on the basis of a single request message
EP2649792B1 (en) Pre-buffering audio/video stream pairs
US8935363B2 (en) System and method for delivering multimedia content for playback through network
RU2622621C2 (en) System and method for flow transfer of reproduced content
WO2012171507A1 (en) Method and device for transmitting data file to client
WO2011100901A2 (en) Method, device and system for transmitting and processing media content
KR20160106618A (en) Content delivery
WO2014063297A1 (en) Method and apparatus for playing streaming media files
WO2018133601A1 (en) Streaming media transmission method and apparatus, server, and terminal
JP2005110244A (en) System and method for multimedia streaming service
US20150095447A1 (en) Serving method of cache server, cache server, and system
WO2011143916A1 (en) Media adaptation method and apparatus
KR20210042051A (en) Multipath-based block transmission system and streaming method for adaptive streaming service
KR20190048186A (en) Multipath-based split transmission system and streaming method for adaptive streaming service
CN115643426A (en) Universal video playing method and system for space application field
KR102237900B1 (en) Method for retrieving, by a client terminal, a content part of a multimedia content
US20240223832A1 (en) Video stream bitrate adjustment method and apparatus, computer device, and storage medium
WO2010043151A1 (en) Player and playing method
CN113905025B (en) Method, device, medium and computer equipment for transmitting stream data
WO2024051426A1 (en) Video stream code rate adjustment method and apparatus, computer device, and storage medium

Legal Events

Date Code Title Description
WWE Wipo information: entry into national phase

Ref document number: 201080003494.9

Country of ref document: CN

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

Ref document number: 10852439

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

Country of ref document: EP

Kind code of ref document: A1