WO2017114393A1 - Http streaming media transmission method and device - Google Patents

Http streaming media transmission method and device Download PDF

Info

Publication number
WO2017114393A1
WO2017114393A1 PCT/CN2016/112430 CN2016112430W WO2017114393A1 WO 2017114393 A1 WO2017114393 A1 WO 2017114393A1 CN 2016112430 W CN2016112430 W CN 2016112430W WO 2017114393 A1 WO2017114393 A1 WO 2017114393A1
Authority
WO
WIPO (PCT)
Prior art keywords
push
media data
server
stream
client
Prior art date
Application number
PCT/CN2016/112430
Other languages
French (fr)
Chinese (zh)
Inventor
黄成�
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Publication of WO2017114393A1 publication Critical patent/WO2017114393A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L9/00Cryptographic mechanisms or cryptographic arrangements for secret or secure communications; Network security protocols
    • H04L9/40Network security 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/50Network services
    • H04L67/55Push-based network services

Abstract

Provided are an HTTP streaming media transmission method and device. The method comprises: sending an acquisition request of first media data to a server, the acquisition request carrying a push instruction of second media data; receiving the first media data returned by the server, a push response of the second media data, and a push commitment of the second media data sent by the server according to the push response; and sending a stream termination command to the server, the stream termination command being used for terminating a push stream of the second media data reserved by the server according to the push commitment, so that the push update mechanism in an HTTP streaming media transmission session is improved. The problem that there is no effective solution for an HTTP streaming media push update is solved.

Description

HTTP流媒体传输方法及装置HTTP streaming media transmission method and device 技术领域Technical field
本发明涉及通信领域,具体而言,涉及一种HTTP流媒体传输方法及装置。The present invention relates to the field of communications, and in particular to an HTTP streaming media transmission method and apparatus.
背景技术Background technique
近年来,通过互联网传播的视频内容呈现爆发性的增长,一方面源自于接入带宽的增加,包括3G、4G系统的规模应用,数字用户线(Digital Subscriber Line,简称为xDSL)和光纤接入在家庭用户的大量部署,有效地提高了最后一公里的接入带宽;另一方面,视频编码的进展提高了视频的压缩率,H.264/AVC,H.265/HEVC都是这方面的代表。据统计2014年HTTP视频数据已经占到北美互联网流量的50%以上,预计到2020年,移动视频数据流量将占到移动数据流量的70%以上。In recent years, the content of video transmitted through the Internet has experienced explosive growth, which is due to the increase in access bandwidth, including the scale application of 3G and 4G systems, Digital Subscriber Line (xDSL) and fiber optic connection. A large number of deployments for home users have effectively increased the access bandwidth of the last mile; on the other hand, the progress of video coding has improved the compression ratio of video, H.264/AVC, H.265/HEVC are all aspects of this. representative. According to statistics, in 2014, HTTP video data has accounted for more than 50% of Internet traffic in North America. It is estimated that by 2020, mobile video data traffic will account for more than 70% of mobile data traffic.
超文本传输协议(Hypertext Transfer Protocol,简称为HTTP)流媒体(HTTP Streaming)以其兼容性、可扩展性而得到广泛应用,目前已成为互联网视频传输事实上的标准。HTTP流媒体是一种基于HTTP协议的码率自适应媒体传输技术,利用互联网上传统的HTTP Web服务器提供高品质的流媒体内容。HTTP流媒体将一段视频切分成许多小的HTTP服务器上的文件分块,每个文件分块包含一个较短播放时间的视频内容。这些小的视频片段可能是数个小时电影(点播)或者体育赛事现场视频(直播)的一部分。其中,视频可被编码成为多个不同码率的视频片段,以覆盖不同网络带宽需求。采用可扩展标记语言(Extensible Markup Language,简称为XML)格式定义的媒体呈现描述(Media Presentation Description,简称为MPD)为客户端获取、播放视频内容中的媒体片段提供了位置信息和时间信息。MPD文件描述了媒体片段的持续时间,统一资源定位符(URL),以及视频分辨率、适配比特率等媒体属性。当客户端选择播放一个视频的时候,它可根据MPD文件中的信息选择下载适应于当前可用 网络带宽和终端解码、渲染能力的媒体片段并进行播放。Hypertext Transfer Protocol (HTTP) streaming media (HTTP Streaming) has been widely used for its compatibility and scalability, and has become the de facto standard for Internet video transmission. HTTP streaming is a rate-adaptive media transmission technology based on the HTTP protocol, which uses the traditional HTTP web server on the Internet to provide high-quality streaming media content. HTTP streaming divides a video into chunks of files on many small HTTP servers, each of which contains a video content with a shorter playback time. These small video clips may be part of a few hours of movie (on demand) or live video (live) of a sports event. Among them, the video can be encoded into a plurality of video segments of different code rates to cover different network bandwidth requirements. The Media Presentation Description (MPD) defined by the Extensible Markup Language (XML) format provides location information and time information for the client to acquire and play media segments in the video content. The MPD file describes the duration of the media segment, the Uniform Resource Locator (URL), and media properties such as video resolution, adaptation bitrate, and so on. When the client chooses to play a video, it can choose to download according to the information in the MPD file to adapt to the current available. The network bandwidth and the media segment of the terminal decoding and rendering capabilities are played and played.
然而,HTTP协议最初是为文件传输(譬如Web网页)设计的,没有考虑视频实时传输特性,因此无法满足低延迟视频传输的需求:首先,HTTP流媒体是一种以媒体片段(segment)为单位的文件下载技术,一个片段中包含若干秒的视频帧,这将导致无法避免的媒体分段与编码延迟;其次,尽管内容分发网络(Content Delivery Network,简称为CDN)已广泛部署,为用户提供就近接入服务,但基于客户端轮询(Poll)的异步数据获取仍将带来额外延迟;图1是根据相关技术中HTTP流媒体技术中的PULL模式传输示意图,如图1所示,现有HTTP 1.1协议提供的是一种拉模式(PULL)传输机制,客户端必须针对每一个媒体片段发送HTTP请求,HTTP请求开销大且与媒体片段播放时长成反比例增长,并不适合资源受限的移动终端。因此,实现互联网条件下高效的(低延时、请求开销合理)视频传输,特别是视频直播(Live Video)应用,依然是HTTP流媒体面临的一个巨大挑战。However, the HTTP protocol was originally designed for file transfer (such as Web pages). It does not consider the real-time transmission characteristics of video, so it cannot meet the requirements of low-latency video transmission: First, HTTP streaming is a unit of media segment (segment). File download technology, a segment contains several seconds of video frames, which will lead to unavoidable media segmentation and encoding delays; secondly, although the Content Delivery Network (CDN) has been widely deployed to provide users with Near access service, but asynchronous data acquisition based on client polling (Poll) will still bring additional delay; FIG. 1 is a schematic diagram of PULL mode transmission according to the related art HTTP streaming technology, as shown in FIG. The HTTP 1.1 protocol provides a pull mode (PULL) transmission mechanism. The client must send an HTTP request for each media segment. The HTTP request has a large overhead and is inversely proportional to the length of the media segment. It is not suitable for resource limitation. Mobile terminal. Therefore, efficient (low latency, reasonable request) video transmission under Internet conditions, especially Live Video applications, is still a huge challenge for HTTP streaming.
目前,HTTP协议的升级版本HTTP 2.0带来了可行的解决手段。与HTTP 1.1相比,HTTP 2.0提高了协议的传输性能,支持请求-应答复用、协议头压缩以及服务器“推”(Server Push)特性。图2是根据相关技术中HTTP流媒体技术中的PUSH模式传输示意图,如图2所示,利用HTTP 2.0服务器“推”,服务器端能够主动将当前最新可用片段推送至客户端,而不需客户端额外请求。具体而言,在处理某个媒体片段HTTP请求后,HTTP 2.0服务器将就后续媒体片段推送策略(Push Strategy)与客户端达成一致,并根据该推送策略向客户端主动推送后续可用的K个媒体片段,或者后续一段播放时间为T秒的媒体片段,以实现降低直播延时,减少请求开销的目的。Currently, an upgraded version of the HTTP protocol, HTTP 2.0, provides a viable solution. Compared with HTTP 1.1, HTTP 2.0 improves the transmission performance of the protocol, supporting request-response multiplexing, protocol header compression, and server "Server Push" features. 2 is a schematic diagram of PUSH mode transmission in the HTTP streaming technology according to the related art. As shown in FIG. 2, using the HTTP 2.0 server “push”, the server can actively push the latest available fragment to the client without the client. Additional requests. Specifically, after processing a certain media segment HTTP request, the HTTP 2.0 server will agree with the client on the subsequent media segment push strategy (Push Strategy), and actively push the subsequent available K media to the client according to the push policy. A fragment, or a subsequent media segment with a playback time of T seconds, to reduce the live broadcast delay and reduce the request overhead.
在基于服务器“推”特性的HTTP流媒体传输技术中,客户端需要可根据可用网络带宽、播放器缓存状态等信息动态更新媒体片段的“推送策略”,即请求服务器改变推送媒体片段的数量(Push Sequence)和码率(Representation Switch)。然而,在相关技术中,目前尚不存在有效的HTTP 流媒体推送更新解决方案。In the HTTP streaming media transmission technology based on the "push" feature of the server, the client needs to dynamically update the "pushing policy" of the media segment according to available network bandwidth, player buffer status, etc., that is, requesting the server to change the number of pushed media segments ( Push Sequence) and Representation Switch. However, in the related art, there is currently no valid HTTP. Streaming media push update solution.
发明内容Summary of the invention
本发明实施例提供了一种HTTP流媒体传输方法及装置,以至少解决相关技术中尚不存在有效的HTTP流媒体推送更新解决方案的问题。The embodiment of the invention provides an HTTP streaming media transmission method and device, so as to at least solve the problem that the effective HTTP streaming media push update solution does not exist in the related art.
根据本发明的一个实施例,提供了一种HTTP流媒体传输方法,包括:According to an embodiment of the present invention, an HTTP streaming media transmission method is provided, including:
发送第一媒体数据的获取请求至服务器,所述获取请求中携带第二媒体数据的推送指示;Sending an acquisition request of the first media data to the server, where the obtaining request carries a push indication of the second media data;
接收所述服务器返回的所述第一媒体数据、所述第二媒体数据的推送应答,以及所述服务器根据所述推送应答发送的所述第二媒体数据的推送承诺;Receiving, by the server, the first media data, a push response of the second media data, and a push commitment of the second media data sent by the server according to the push response;
发送流终止命令至所述服务器,所述流终止命令用于终止所述服务器根据所述推送承诺预留的所述第二媒体数据的推送流。Sending a flow termination command to the server, the flow termination command is configured to terminate a push flow of the second media data reserved by the server according to the push commitment.
可选地,接收所述服务器根据所述推送应答发送的所述第二媒体数据的推送承诺之后,所述方法还包括:Optionally, after receiving the push commitment of the second media data that is sent by the server according to the push response, the method further includes:
接收所述服务器根据所述推送承诺推送的所述第二媒体数据。Receiving, by the server, the second media data that is pushed according to the push commitment.
发送流终止命令至所述服务器,所述流终止命令用于终止所述服务器根据所述推送承诺预留的尚未完成推送所述第二媒体数据的推送流。Sending a flow termination command to the server, the flow termination command is configured to terminate a push flow reserved by the server according to the push commitment that has not completed pushing the second media data.
可选地,所述发送流终止命令至所述服务器之前,所述方法还包括:Optionally, before the sending a flow termination command to the server, the method further includes:
在所述流终止命令中设置即时终止标记值,所述即时终止标记用于指示所述服务器在所述推送流中立即停止推送所述第二媒体数据,并终止所述推送流。An immediate termination flag value is set in the flow termination command, the immediate termination flag is used to instruct the server to immediately stop pushing the second media data in the push flow, and terminate the push flow.
可选地,所述发送流终止命令至所述服务器之前,所述方法还包括:Optionally, before the sending a flow termination command to the server, the method further includes:
在所述流终止命令中设置即时终止标记值,所述即时终止标记用于指示所述服务器在所述推送流中完成推送所述第二媒体数据,然后终止所述推送流。 And setting an immediate termination flag value in the flow termination command, the immediate termination flag is used to instruct the server to complete pushing the second media data in the push flow, and then terminating the push flow.
根据本发明的一个实施例,还提供了一种HTTP流媒体传输方法,包括:According to an embodiment of the present invention, an HTTP streaming media transmission method is further provided, including:
接收客户端发送的第一媒体数据的获取请求,所述获取请求中携带第二媒体数据的推送指示;Receiving an acquisition request of the first media data sent by the client, where the obtaining request carries a push indication of the second media data;
返回所述第一媒体数据、所述第二媒体数据的推送应答,并根据所述推送应答发送所述第二媒体数据的推送承诺至所述客户端;Returning a push response of the first media data and the second media data, and sending a push commitment of the second media data to the client according to the push response;
接收所述客户端发送的流终止命令,并根据所述流终止命令终止根据所述推送承诺预留的所述第二媒体数据的推送流。Receiving a stream termination command sent by the client, and terminating, according to the stream termination command, a push stream of the second media data reserved according to the push commitment.
可选地,根据所述推送应答发送所述第二媒体数据的推送承诺至所述客户端之后,所述方法还包括:Optionally, after sending the push commitment of the second media data to the client according to the push response, the method further includes:
根据所述推送承诺推送所述第二媒体数据至所述客户端;Pushing the second media data to the client according to the push commitment;
接收所述客户端发送的流终止命令,并根据所述流终止命令终止根据所述推送承诺预留的尚未完成推送所述第二媒体数据的推送流。Receiving a flow termination command sent by the client, and terminating, according to the flow termination command, a push flow reserved according to the push commitment that has not completed pushing the second media data.
可选地,所述根据所述流终止命令终止根据所述推送承诺预留的所述第二媒体数据的推送流包括:Optionally, the terminating, according to the flow termination command, the push flow of the second media data that is reserved according to the push commitment includes:
如果所述流终止命令中存在即时终止标记,在所述推送流中立即停止推送所述第二媒体数据,并终止所述推送流;If there is an immediate termination flag in the stream termination command, immediately stopping pushing the second media data in the push stream, and terminating the push stream;
如果所述流终止命令中不存在即时终止标记,在所述推送流中完成推送所述第二媒体数据,然后终止所述推送流。If there is no immediate termination flag in the stream termination command, the second media data is pushed in the push stream, and then the push stream is terminated.
根据本发明的另一个实施例,还提供了一种HTTP流媒体传输方法,包括:According to another embodiment of the present invention, an HTTP streaming media transmission method is further provided, including:
发送第一媒体数据的获取请求至服务器,所述获取请求中携带第二媒体数据的推送更新指示;Sending an acquisition request of the first media data to the server, where the obtaining request carries a push update indication of the second media data;
接收所述服务器返回的所述第一媒体数据,以及所述第二媒体数据的推送更新应答;Receiving, by the server, the first media data returned by the server, and a push update response of the second media data;
接收所述服务器发送的流终止命令,根据所述流终止命令终止接收所 述服务器推送的所述第二媒体数据。Receiving a stream termination command sent by the server, and terminating the receiving station according to the stream termination command Said second media data pushed by the server.
可选地,所述发送第一媒体数据的获取请求至服务器之后,所述方法还包括:Optionally, after the sending the sending request of the first media data to the server, the method further includes:
接收所述服务器发送的所述第二媒体数据的推送承诺;Receiving a push commitment of the second media data sent by the server;
接收所述服务器发送的流终止命令,根据所述流终止命令终止接收所述服务器根据所述推送承诺尚未完成推送的所述第二媒体数据。Receiving a stream termination command sent by the server, and terminating receiving, according to the stream termination command, the second media data that the server has not completed pushing according to the push commitment.
可选地,接收所述第二媒体数据的推送更新应答之后,所述方法还包括:Optionally, after receiving the push update response of the second media data, the method further includes:
接收所述服务器根据所述推送更新应答发送的第三媒体数据的推送承诺;Receiving a push commitment of the third media data sent by the server according to the push update response;
接收所述服务器根据所述推送承诺推送的所述第三媒体数据。Receiving, by the server, the third media data that is pushed according to the push commitment.
根据本发明的另一个实施例,还提供了一种HTTP流媒体传输方法,包括:According to another embodiment of the present invention, an HTTP streaming media transmission method is further provided, including:
接收客户端发送的第一媒体数据的获取请求,所述获取请求中携带第二媒体数据的推送更新指示;Receiving an acquisition request of the first media data sent by the client, where the obtaining request carries a push update indication of the second media data;
返回所述第一媒体数据,以及所述第二媒体数据的推送更新应答至所述客户端;Returning the first media data, and the push update response of the second media data to the client;
发送流终止命令至所述客户端,所述流终止命令用于终止预留的所述第二媒体数据的推送流。Sending a stream termination command to the client, the stream termination command is used to terminate the reserved push stream of the second media data.
可选地,所述接收客户端发送的第一媒体数据的获取请求之后,所述方法还包括:Optionally, after the receiving the first media data sent by the client, the method further includes:
发送所述第二媒体数据的推送承诺至所述客户端;Sending a push commitment of the second media data to the client;
发送流终止命令至所述客户端,所述流终止命令用于终止根据所述推送承诺预留的尚未完成推送所述第二媒体数据的推送流。Sending a flow termination command to the client, the flow termination command is configured to terminate a push flow reserved according to the push commitment that has not completed pushing the second media data.
可选地,所述返回所述第二媒体数据的推送更新应答至所述客户端之后,所述方法还包括: Optionally, after the returning the push update response of the second media data to the client, the method further includes:
根据所述推送更新应答发送第三媒体数据的推送承诺至所述客户端;Sending a push commitment of the third media data to the client according to the push update response;
根据所述推送承诺推送所述第三媒体数据至所述客户端。Pushing the third media data to the client according to the push commitment.
可选地,所述发送流终止命令至所述客户端,所述流终止命令用于终止预留的所述第二媒体数据的推送流包括:Optionally, the sending a flow termination command to the client, where the flow termination command is used to terminate the pushed push stream of the second media data includes:
如果所述推送更新指示中存在即时终止标记,在所述推送流中立即发送流终止命令至所述客户端,终止所述推送流;If there is an immediate termination flag in the push update indication, immediately send a stream termination command to the client in the push stream to terminate the push stream;
如果所述推送更新指示中不存在即时终止标记,完成所述推送流中正在推送的所述第二媒体数据至所述客户端,然后在所述推送流中发送流终止命令至所述客户端,终止所述推送流。If the immediate termination flag does not exist in the push update indication, completing the second media data being pushed in the push stream to the client, and then sending a stream termination command to the client in the push stream Ending the push stream.
根据本发明的另一个实施例,还提供了一种HTTP流媒体传输装置,位于终端中,包括:According to another embodiment of the present invention, there is also provided an HTTP streaming media transmission device, located in the terminal, comprising:
第一发送模块,设置为发送第一媒体数据的获取请求至服务器,所述获取请求中携带第二媒体数据的推送指示;The first sending module is configured to send an acquisition request of the first media data to the server, where the obtaining request carries a push indication of the second media data;
第一接收模块,设置为接收所述服务器返回的所述第一媒体数据、所述第二媒体数据的推送应答,以及所述服务器根据所述推送应答发送的所述第二媒体数据的推送承诺;a first receiving module, configured to receive the first media data returned by the server, a push response of the second media data, and a push commitment of the second media data sent by the server according to the push response ;
第二发送模块,设置为发送流终止命令至所述服务器,所述流终止命令用于终止所述服务器根据所述推送承诺预留的所述第二媒体数据的推送流。And a second sending module, configured to send a stream termination command to the server, where the stream termination command is used to terminate the push stream of the second media data reserved by the server according to the push commitment.
可选地,所述装置还包括:Optionally, the device further includes:
第二接收模块,设置为接收所述服务器根据所述推送应答发送的所述第二媒体数据的推送承诺之后,接收所述服务器根据所述推送承诺推送的所述第二媒体数据;The second receiving module is configured to receive, after receiving the push commitment of the second media data sent by the server according to the push response, the second media data that is sent by the server according to the push commitment;
第三发送模块,设置为发送流终止命令至所述服务器,所述流终止命令用于终止所述服务器根据所述推送承诺预留的尚未完成推送所述第二媒体数据的推送流。 And a third sending module, configured to send a flow termination command to the server, where the flow termination command is used to terminate a push flow reserved by the server according to the push commitment that has not completed pushing the second media data.
可选地,所述装置还包括:Optionally, the device further includes:
第一设置模块,设置为所述发送流终止命令至所述服务器之前,在所述流终止命令中设置即时终止标记值,所述即时终止标记用于指示所述服务器在所述推送流中立即停止推送所述第二媒体数据,并终止所述推送流。a first setting module, configured to set an immediate termination flag value in the flow termination command before the sending a flow termination command to the server, where the immediate termination flag is used to indicate that the server is immediately in the push flow Stop pushing the second media data and terminating the push stream.
可选地,所述装置还包括:Optionally, the device further includes:
第二设置模块,设置为所述发送流终止命令至所述服务器之前,在所述流终止命令中设置即时终止标记值,所述即时终止标记用于指示所述服务器在所述推送流中完成推送所述第二媒体数据,然后终止所述推送流。a second setting module, configured to set an immediate termination flag value in the flow termination command before the sending a flow termination command to the server, where the immediate termination flag is used to indicate that the server is completed in the push flow Pushing the second media data and then terminating the push stream.
根据本发明的另一个实施例,还提供了一种HTTP流媒体传输装置,位于服务器中,包括:According to another embodiment of the present invention, there is also provided an HTTP streaming media transmission device, located in the server, comprising:
第四接收模块,设置为接收客户端发送的第一媒体数据的获取请求,所述获取请求中携带第二媒体数据的推送指示;The fourth receiving module is configured to receive a request for acquiring the first media data sent by the client, where the acquiring request carries a push indication of the second media data;
第四发送模块,设置为返回所述第一媒体数据、所述第二媒体数据的推送应答,并根据所述推送应答发送所述第二媒体数据的推送承诺至所述客户端;a fourth sending module, configured to return a push response of the first media data and the second media data, and send a push commitment of the second media data to the client according to the push response;
第五接收模块,设置为接收所述客户端发送的流终止命令,并根据所述流终止命令终止根据所述推送承诺预留的所述第二媒体数据的推送流。The fifth receiving module is configured to receive a stream termination command sent by the client, and terminate the push stream of the second media data reserved according to the push commitment according to the stream termination command.
可选地,所述装置还包括:Optionally, the device further includes:
第五发送模块,设置为根据所述推送应答发送所述第二媒体数据的推送承诺至所述客户端之后,根据所述推送承诺推送所述第二媒体数据至所述客户端;The fifth sending module is configured to: after sending the push commitment of the second media data to the client according to the push response, pushing the second media data to the client according to the push commitment;
第六接收模块,设置为接收所述客户端发送的流终止命令,并根据所述流终止命令终止根据所述推送承诺预留的尚未完成推送所述第二媒体数据的推送流。And a sixth receiving module, configured to receive a flow termination command sent by the client, and terminate, according to the flow termination command, a push flow reserved according to the push commitment that has not completed pushing the second media data.
可选地,所述第五接收模块包括:Optionally, the fifth receiving module includes:
第一终止单元,设置为如果所述流终止命令中存在即时终止标记,在 所述推送流中立即停止推送所述第二媒体数据,并终止所述推送流;a first termination unit, configured to have an immediate termination flag in the flow termination command, Immediately stopping pushing the second media data in the push stream and terminating the push stream;
第二终止单元,设置为如果所述流终止命令中不存在即时终止标记,在所述推送流中完成推送所述第二媒体数据,然后终止所述推送流。And a second terminating unit configured to: if the instant termination flag does not exist in the stream termination command, complete the pushing of the second media data in the push stream, and then terminate the push stream.
根据本发明的另一个实施例,还提供了一种HTTP流媒体传输装置,位于终端中,包括:According to another embodiment of the present invention, there is also provided an HTTP streaming media transmission device, located in the terminal, comprising:
第六发送模块,设置为发送第一媒体数据的获取请求至服务器,所述获取请求中携带第二媒体数据的推送更新指示;a sixth sending module, configured to send an acquisition request of the first media data to the server, where the obtaining request carries a push update indication of the second media data;
第七接收模块,设置为接收所述服务器返回的所述第一媒体数据,以及所述第二媒体数据的推送更新应答;a seventh receiving module, configured to receive the first media data returned by the server, and a push update response of the second media data;
第八接收模块,设置为接收所述服务器发送的流终止命令,根据所述流终止命令终止接收所述服务器推送的所述第二媒体数据。The eighth receiving module is configured to receive a stream termination command sent by the server, and terminate receiving the second media data pushed by the server according to the stream termination command.
可选地,所述装置还包括:Optionally, the device further includes:
第九接收模块,设置为所述发送第一媒体数据的获取请求至服务器之后,接收所述服务器发送的所述第二媒体数据的推送承诺;a ninth receiving module, configured to receive a push commitment of the second media data sent by the server, after the sending the sending request of the first media data to the server;
第十接收模块,设置为接收所述服务器发送的流终止命令,根据所述流终止命令终止接收所述服务器根据所述推送承诺尚未完成推送的所述第二媒体数据。The tenth receiving module is configured to receive a stream termination command sent by the server, and terminate receiving, according to the stream termination command, the second media data that the server has not completed pushing according to the push commitment.
可选地,所述装置还包括:Optionally, the device further includes:
第十一接收模块,设置为接收所述第二媒体数据的推送更新应答之后,接收所述服务器根据所述推送更新应答发送的第三媒体数据的推送承诺;The eleventh receiving module is configured to receive, after receiving the push update response of the second media data, a push commitment of the third media data sent by the server according to the push update response;
第十二接收模块,设置为接收所述服务器根据所述推送承诺推送的所述第三媒体数据。The twelfth receiving module is configured to receive the third media data that is pushed by the server according to the push commitment.
根据本发明的另一个实施例,还提供了一种HTTP流媒体传输装置,位于服务器中,包括:According to another embodiment of the present invention, there is also provided an HTTP streaming media transmission device, located in the server, comprising:
第十三接收模块,设置为接收客户端发送的第一媒体数据的获取请求,所述获取请求中携带第二媒体数据的推送更新指示; a thirteenth receiving module, configured to receive a request for acquiring the first media data sent by the client, where the obtaining request carries a push update indication of the second media data;
第七发送模块,设置为返回所述第一媒体数据,以及所述第二媒体数据的推送更新应答至所述客户端;a seventh sending module, configured to return the first media data, and a push update response of the second media data to the client;
第八发送模块,设置为发送流终止命令至所述客户端,所述流终止命令用于终止预留的所述第二媒体数据的推送流。And an eighth sending module, configured to send a stream termination command to the client, where the stream termination command is used to terminate the reserved push stream of the second media data.
可选地,所述装置还包括:Optionally, the device further includes:
第九发送模块,设置为所述接收客户端发送的第一媒体数据的获取请求之后,发送所述第二媒体数据的推送承诺至所述客户端;The ninth sending module is configured to send the push commitment of the second media data to the client after receiving the acquiring request of the first media data sent by the client;
第十发送模块,设置为发送流终止命令至所述客户端,所述流终止命令用于终止根据所述推送承诺预留的尚未完成推送所述第二媒体数据的推送流。And a tenth sending module, configured to send a stream termination command to the client, where the stream termination command is used to terminate the push stream reserved according to the push commitment that has not completed pushing the second media data.
可选地,所述装置还包括:Optionally, the device further includes:
第十一发送模块,设置为所述返回所述第一媒体数据,以及所述第二媒体数据的推送更新应答至所述客户端之后,根据所述推送更新应答发送第三媒体数据的推送承诺至所述客户端;The eleventh sending module is configured to: after the returning the first media data, and the push update response of the second media data to the client, send a push commitment of the third media data according to the push update response To the client;
第十二发送模块,设置为根据所述推送承诺推送所述第三媒体数据至所述客户端。The twelfth sending module is configured to push the third media data to the client according to the push commitment.
可选地,所述第八发送模块包括:Optionally, the eighth sending module includes:
第三终止单元,设置为如果所述推送更新指示中存在即时终止标记,在所述推送流中立即发送流终止命令至所述客户端,终止所述推送流;a third termination unit, configured to immediately send a flow termination command to the client in the push flow to terminate the push flow if an immediate termination flag exists in the push update indication;
第四终止单元,设置为如果所述推送更新指示中不存在即时终止标记,完成所述推送流中正在推送的所述第二媒体数据至所述客户端,然后在所述推送流中发送流终止命令至所述客户端,终止所述推送流。a fourth termination unit, configured to: if the immediate termination flag does not exist in the push update indication, complete the second media data being pushed in the push stream to the client, and then send the stream in the push stream Terminating the command to the client, terminating the push stream.
在本发明的又一实施例中,还提供了存储介质,设置为存储用于执行上述HTTP流媒体传输方法的计算机程序。In still another embodiment of the present invention, there is further provided a storage medium configured to store a computer program for performing the HTTP streaming media transmission method described above.
通过本发明实施例,发送第一媒体数据的获取请求至服务器,该获取请求中携带第二媒体数据的推送指示;接收该服务器返回的该第一媒体数 据、该第二媒体数据的推送应答,以及该服务器根据该推送应答发送的该第二媒体数据的推送承诺;发送流终止命令至该服务器,该流终止命令用于终止该服务器根据该推送承诺预留的该第二媒体数据的推送流,解决了尚不存在有效的HTTP流媒体推送更新解决方案的问题,完善了HTTP流媒体传输会话中的推送更新机制。The embodiment of the present invention sends an acquisition request of the first media data to the server, where the acquisition request carries a push indication of the second media data, and receives the first media number returned by the server. And a push response of the second media data, and a push commitment of the second media data sent by the server according to the push response; sending a flow termination command to the server, the flow termination command is used to terminate the server according to the push commitment The reserved push stream of the second media data solves the problem that there is no effective HTTP streaming push update solution, and improves the push update mechanism in the HTTP streaming media transmission session.
附图说明DRAWINGS
此处所说明的附图用来提供对本发明的进一步理解,构成本申请的一部分,本发明的示意性实施例及其说明用于解释本发明,并不构成对本发明的不当限定。在附图中:The drawings described herein are intended to provide a further understanding of the invention, and are intended to be a part of the invention. In the drawing:
图1是根据相关技术中HTTP流媒体技术中的PULL模式传输示意图;FIG. 1 is a schematic diagram of PULL mode transmission according to the related art HTTP streaming technology;
图2是根据相关技术中HTTP流媒体技术中的PUSH模式传输示意图;2 is a schematic diagram of PUSH mode transmission in an HTTP streaming media technology according to the related art;
图3是根据本发明实施例的一种HTTP流媒体传输的流程图一;3 is a flow chart 1 of HTTP streaming media transmission according to an embodiment of the present invention;
图4是根据本发明实施例的一种HTTP流媒体传输的流程图二;4 is a flow chart 2 of HTTP streaming media transmission according to an embodiment of the present invention;
图5是根据本发明实施例的一种HTTP流媒体传输的流程图三;FIG. 5 is a flowchart 3 of HTTP streaming media transmission according to an embodiment of the present invention;
图6是根据本发明实施例的一种HTTP流媒体传输的流程图四;6 is a flowchart 4 of HTTP streaming media transmission according to an embodiment of the present invention;
图7是根据本发明实施例的一种HTTP流媒体传输装置的结构框图一;FIG. 7 is a structural block diagram 1 of an HTTP streaming media transmission apparatus according to an embodiment of the present invention;
图8是根据本发明实施例的一种HTTP流媒体传输装置的结构框图二;FIG. 8 is a structural block diagram 2 of an HTTP streaming media transmission apparatus according to an embodiment of the present invention; FIG.
图9是根据本发明实施例的一种HTTP流媒体传输装置的结构框图三;9 is a structural block diagram 3 of an HTTP streaming media transmission apparatus according to an embodiment of the present invention;
图10是根据本发明实施例的一种HTTP流媒体传输装置的结构框图四;FIG. 10 is a structural block diagram 4 of an HTTP streaming media transmission apparatus according to an embodiment of the present invention; FIG.
图11是根据本发明实施例的一种HTTP流媒体传输装置的结构框图五;FIG. 11 is a structural block diagram 5 of an HTTP streaming media transmission apparatus according to an embodiment of the present invention; FIG.
图12是根据本发明实施例的一种HTTP流媒体传输装置的结构框图六;FIG. 12 is a structural block diagram 6 of an HTTP streaming media transmission apparatus according to an embodiment of the present invention; FIG.
图13是根据本发明实施例的一种HTTP流媒体传输装置的结构框图 七;FIG. 13 is a structural block diagram of an HTTP streaming media transmission apparatus according to an embodiment of the present invention. Seven;
图14是根据本发明实施例的一种HTTP流媒体传输装置的结构框图八;FIG. 14 is a structural block diagram of an HTTP streaming media transmission apparatus according to an embodiment of the present invention; FIG.
图15是根据本发明实施例的一种HTTP流媒体传输装置的结构框图九;FIG. 15 is a structural block diagram IX of an HTTP streaming media transmission apparatus according to an embodiment of the present invention; FIG.
图16是根据本发明实施例的一种HTTP流媒体传输装置的结构框图十;FIG. 16 is a structural block diagram of an HTTP streaming media transmission apparatus according to an embodiment of the present invention; FIG.
图17是根据本发明实施例的一种HTTP流媒体传输装置的结构框图十一;FIG. 17 is a structural block diagram 11 of an HTTP streaming media transmission apparatus according to an embodiment of the present invention; FIG.
图18是根据本发明实施例的一种HTTP流媒体传输装置的结构框图十二;FIG. 18 is a block diagram showing the structure of an HTTP streaming media transmission apparatus according to an embodiment of the present invention; FIG.
图19是根据本发明实施例的一种HTTP流媒体传输系统架构的示意图;FIG. 19 is a schematic diagram of an HTTP streaming media transmission system architecture according to an embodiment of the present invention; FIG.
图20是根据本发明优选实施例的基于媒体片段取消命令实现HTTP流媒体推送会话更新的交互流程图;20 is an interaction flowchart of implementing an HTTP streaming push session update based on a media segment cancel command according to a preferred embodiment of the present invention;
图21是根据本发明优选实施例的一种HTTP流媒体传输方法的消息交互流程图一;21 is a flow chart 1 of message interaction of an HTTP streaming media transmission method according to a preferred embodiment of the present invention;
图22是根据本发明优选实施例的基于媒体片段更新命令实现HTTP流媒体推送会话更新的交互流程图;22 is an interaction flowchart of implementing an HTTP streaming media push session update based on a media segment update command according to a preferred embodiment of the present invention;
图23是根据本发明优选实施例的另一种HTTP流媒体传输方法的消息交互流程图二;23 is a second flow diagram of message interaction of another HTTP streaming media transmission method according to a preferred embodiment of the present invention;
图24是根据本发明优选实施例的另一种HTTP流媒体传输方法的消息交互流程图三;FIG. 24 is a third flowchart of message interaction of another HTTP streaming media transmission method according to a preferred embodiment of the present invention; FIG.
图25是根据本发明实施例的一种HTTP流媒体传输装置的结构框图。FIG. 25 is a structural block diagram of an HTTP streaming media transmission apparatus according to an embodiment of the present invention.
具体实施方式 detailed description
下文中将参考附图并结合实施例来详细说明本发明。需要说明的是,在不冲突的情况下,本申请中的实施例及实施例中的特征可以相互组合。The invention will be described in detail below with reference to the drawings in conjunction with the embodiments. It should be noted that the embodiments in the present application and the features in the embodiments may be combined with each other without conflict.
需要说明的是,本发明的说明书和权利要求书及上述附图中的术语“第一”、“第二”等是用于区别类似的对象,而不必用于描述特定的顺序或先后次序。It is to be understood that the terms "first", "second" and the like in the specification and claims of the present invention are used to distinguish similar objects, and are not necessarily used to describe a particular order or order.
在本实施例中提供了一种HTTP流媒体传输方法,图3是根据本发明实施例的一种HTTP流媒体传输的流程图一,如图3所示,该流程包括如下步骤:In this embodiment, an HTTP streaming media transmission method is provided. FIG. 3 is a flowchart 1 of HTTP streaming media transmission according to an embodiment of the present invention. As shown in FIG. 3, the process includes the following steps:
步骤S302,发送第一媒体数据的获取请求至服务器,该获取请求中携带第二媒体数据的推送指示;Step S302: Send an acquisition request of the first media data to the server, where the acquisition request carries a push indication of the second media data.
步骤S304,接收该服务器返回的该第一媒体数据、该第二媒体数据的推送应答,以及该服务器根据该推送应答发送的该第二媒体数据的推送承诺;Step S304, receiving the first media data returned by the server, the push response of the second media data, and the push commitment of the second media data sent by the server according to the push response;
步骤S306,发送流终止命令至该服务器,该流终止命令用于终止该服务器根据该推送承诺预留的该第二媒体数据的推送流。Step S306, sending a stream termination command to the server, the stream termination command is used to terminate the push stream of the second media data reserved by the server according to the push commitment.
通过上述步骤,解决了尚不存在有效的HTTP流媒体推送更新解决方案的问题,完善了HTTP流媒体传输会话中的推送更新机制。Through the above steps, the problem that there is no effective HTTP streaming push update solution is solved, and the push update mechanism in the HTTP streaming media transfer session is improved.
在本发明的实施例中,接收该服务器根据该推送应答发送的该第二媒体数据的推送承诺之后,该方法还包括:In an embodiment of the present invention, after receiving the push commitment of the second media data sent by the server according to the push response, the method further includes:
接收该服务器根据该推送承诺推送的该第二媒体数据。Receiving the second media data that the server pushes according to the push commitment.
发送流终止命令至该服务器,该流终止命令用于终止该服务器根据该推送承诺预留的尚未完成推送该第二媒体数据的推送流。Sending a flow termination command to the server, the flow termination command is used to terminate the push flow reserved by the server according to the push commitment that has not completed pushing the second media data.
在本发明的实施例中,该发送流终止命令至该服务器之前,在该流终止命令中设置即时终止标记值,该即时终止标记用于指示该服务器在该推送流中立即停止推送该第二媒体数据,并终止该推送流。In an embodiment of the present invention, before the sending stream terminates the command to the server, setting an immediate termination flag value in the flow termination command, the immediate termination flag is used to instruct the server to immediately stop pushing the second in the push flow. Media data and terminate the push stream.
在本发明的实施例中,该发送流终止命令至该服务器之前,在该流终 止命令中设置即时终止标记值,该即时终止标记用于指示该服务器在该推送流中完成推送该第二媒体数据,然后终止该推送流。In an embodiment of the present invention, before the sending stream terminates the command to the server, at the end of the stream An immediate termination flag value is set in the stop command, the immediate termination flag is used to instruct the server to finish pushing the second media data in the push stream, and then terminating the push stream.
在本实施例中还提供了一种HTTP流媒体传输方法,图4是根据本发明实施例的一种HTTP流媒体传输的流程图二,如图4所示,该流程包括如下步骤:In this embodiment, an HTTP streaming media transmission method is also provided. FIG. 4 is a flowchart 2 of HTTP streaming media transmission according to an embodiment of the present invention. As shown in FIG. 4, the process includes the following steps:
步骤S402,接收客户端发送的第一媒体数据的获取请求,该获取请求中携带第二媒体数据的推送指示;Step S402, receiving an acquisition request of the first media data sent by the client, where the acquisition request carries a push indication of the second media data;
步骤S404,返回该第一媒体数据、该第二媒体数据的推送应答,并根据该推送应答发送该第二媒体数据的推送承诺至该客户端;Step S404, returning the push response of the first media data and the second media data, and sending a push commitment of the second media data to the client according to the push response;
步骤S406,接收该客户端发送的流终止命令,并根据该流终止命令终止根据该推送承诺预留的该第二媒体数据的推送流。Step S406, receiving a stream termination command sent by the client, and terminating the push stream of the second media data reserved according to the push commitment according to the stream termination command.
通过上述步骤,解决了尚不存在有效的HTTP流媒体推送更新解决方案的问题,完善了HTTP流媒体传输会话中的推送更新机制。Through the above steps, the problem that there is no effective HTTP streaming push update solution is solved, and the push update mechanism in the HTTP streaming media transfer session is improved.
在本发明的实施例中,根据该推送应答发送该第二媒体数据的推送承诺至该客户端之后,根据该推送承诺推送该第二媒体数据至该客户端;In an embodiment of the present invention, after the push commitment of the second media data is sent to the client according to the push response, the second media data is pushed to the client according to the push commitment;
接收该客户端发送的流终止命令,并根据该流终止命令终止根据该推送承诺预留的尚未完成推送该第二媒体数据的推送流。Receiving a flow termination command sent by the client, and terminating, according to the flow termination command, a push flow reserved according to the push commitment that has not completed pushing the second media data.
在本发明的实施例中,该根据该流终止命令终止根据该推送承诺预留的该第二媒体数据的推送流包括:In an embodiment of the present invention, the pushing the flow of the second media data reserved according to the push commitment according to the flow termination command comprises:
如果该流终止命令中存在即时终止标记,在该推送流中立即停止推送该第二媒体数据,并终止该推送流;If there is an immediate termination flag in the stream termination command, immediately stopping the pushing of the second media data in the push stream, and terminating the push stream;
如果该流终止命令中不存在即时终止标记,在该推送流中完成推送该第二媒体数据,然后终止该推送流。If there is no immediate termination flag in the stream termination command, the second media data is pushed in the push stream, and then the push stream is terminated.
在本实施例中还提供了一种HTTP流媒体传输方法,图5是根据本发明实施例的一种HTTP流媒体传输的流程图三,如图5所示,该流程包括如下步骤: In this embodiment, an HTTP streaming media transmission method is also provided. FIG. 5 is a flowchart 3 of HTTP streaming media transmission according to an embodiment of the present invention. As shown in FIG. 5, the process includes the following steps:
步骤S502,发送第一媒体数据的获取请求至服务器,该获取请求中携带第二媒体数据的推送更新指示;Step S502: Send an acquisition request of the first media data to the server, where the acquisition request carries a push update indication of the second media data.
步骤S504,接收该服务器返回的该第一媒体数据,以及该第二媒体数据的推送更新应答;Step S504, receiving the first media data returned by the server, and a push update response of the second media data;
步骤S506,接收该服务器发送的流终止命令,根据该流终止命令终止接收该服务器推送的该第二媒体数据。Step S506, receiving a stream termination command sent by the server, and terminating receiving the second media data pushed by the server according to the stream termination command.
通过上述步骤,解决了尚不存在有效的HTTP流媒体推送更新解决方案的问题,完善了HTTP流媒体传输会话中的推送更新机制。Through the above steps, the problem that there is no effective HTTP streaming push update solution is solved, and the push update mechanism in the HTTP streaming media transfer session is improved.
在本发明的实施例中,该发送第一媒体数据的获取请求至服务器之后,接收该服务器发送的该第二媒体数据的推送承诺;In an embodiment of the present invention, after sending the acquisition request of the first media data to the server, receiving a push commitment of the second media data sent by the server;
接收该服务器发送的流终止命令,根据该流终止命令终止接收该服务器根据该推送承诺尚未完成推送的该第二媒体数据。Receiving a stream termination command sent by the server, and terminating receiving, according to the stream termination command, the second media data that the server has not completed pushing according to the push commitment.
在本发明的实施例中,接收该第二媒体数据的推送更新应答之后,接收该服务器根据该推送更新应答发送的第三媒体数据的推送承诺;In an embodiment of the present invention, after receiving the push update response of the second media data, receiving a push commitment of the third media data sent by the server according to the push update response;
接收该服务器根据该推送承诺推送的该第三媒体数据。Receiving the third media data that the server pushes according to the push commitment.
在本实施例中还提供了一种HTTP流媒体传输方法,图6是根据本发明实施例的一种HTTP流媒体传输的流程图四,如图6所示,该流程包括如下步骤:In this embodiment, an HTTP streaming media transmission method is also provided. FIG. 6 is a flowchart 4 of HTTP streaming media transmission according to an embodiment of the present invention. As shown in FIG. 6, the process includes the following steps:
步骤S602,接收客户端发送的第一媒体数据的获取请求,该获取请求中携带第二媒体数据的推送更新指示;Step S602, receiving an acquisition request of the first media data sent by the client, where the acquisition request carries a push update indication of the second media data;
步骤S604,返回该第一媒体数据,以及该第二媒体数据的推送更新应答至该客户端;Step S604, returning the first media data, and the push update response of the second media data to the client;
步骤S606,发送流终止命令至该客户端,该流终止命令用于终止预留的该第二媒体数据的推送流。Step S606, sending a stream termination command to the client, the stream termination command is used to terminate the reserved push stream of the second media data.
通过上述步骤,解决了尚不存在有效的HTTP流媒体推送更新解决方案的问题,完善了HTTP流媒体传输会话中的推送更新机制。 Through the above steps, the problem that there is no effective HTTP streaming push update solution is solved, and the push update mechanism in the HTTP streaming media transfer session is improved.
在本发明的实施例中,该接收客户端发送的第一媒体数据的获取请求之后,发送该第二媒体数据的推送承诺至该客户端;发送流终止命令至该客户端,该流终止命令用于终止根据该推送承诺预留的尚未完成推送该第二媒体数据的推送流。In an embodiment of the present invention, after receiving the acquisition request of the first media data sent by the client, sending a push commitment of the second media data to the client; sending a flow termination command to the client, the flow termination command And a method for terminating a push flow that is reserved according to the push commitment and that has not completed pushing the second media data.
在本发明的实施例中,该返回该第二媒体数据的推送更新应答至该客户端之后,根据该推送更新应答发送第三媒体数据的推送承诺至该客户端;根据该推送承诺推送该第三媒体数据至该客户端。In an embodiment of the present invention, after returning the push update response of the second media data to the client, sending a push commitment of the third media data to the client according to the push update response; and pushing the first according to the push commitment Three media data to the client.
在本发明的实施例中,该发送流终止命令至该客户端,该流终止命令用于终止预留的该第二媒体数据的推送流包括:如果该推送更新指示中存在即时终止标记,在该推送流中立即发送流终止命令至该客户端,终止该推送流;如果该推送更新指示中不存在即时终止标记,完成该推送流中正在推送的该第二媒体数据至该客户端,然后在该推送流中发送流终止命令至该客户端,终止该推送流。In an embodiment of the present invention, the sending stream terminates the command to the client, and the stream termination command is used to terminate the reserved push stream of the second media data, including: if the push update indication has an immediate termination flag, Immediately sending a stream termination command to the client in the push stream, terminating the push stream; if there is no immediate termination flag in the push update indication, completing the second media data being pushed in the push stream to the client, and then A stream termination command is sent to the client in the push stream to terminate the push stream.
在本实施例中还提供了一种HTTP流媒体传输装置,该装置设置为实现上述实施例及优选实施方式,已经进行过说明的不再赘述。如以下所使用的,术语“模块”可以实现预定功能的软件和/或硬件的组合。尽管以下实施例所描述的装置较佳地以软件来实现,但是硬件,或者软件和硬件的组合的实现也是可能并被构想的。An HTTP streaming media transmission device is also provided in this embodiment. The device is configured to implement the foregoing embodiments and preferred embodiments, and details are not described herein. As used below, the term "module" may implement a combination of software and/or hardware of a predetermined function. Although the apparatus described in the following embodiments is preferably implemented in software, hardware, or a combination of software and hardware, is also possible and contemplated.
图7是根据本发明实施例的一种HTTP流媒体传输装置的结构框图一,如图7所示,该装置位于终端中,包括:FIG. 7 is a block diagram of a structure of an HTTP streaming media transmission apparatus according to an embodiment of the present invention. As shown in FIG. 7, the apparatus is located in a terminal, and includes:
第一发送模块72,设置为发送第一媒体数据的获取请求至服务器,该获取请求中携带第二媒体数据的推送指示;The first sending module 72 is configured to send an acquisition request of the first media data to the server, where the obtaining request carries a push indication of the second media data;
第一接收模块74,设置为接收该服务器返回的该第一媒体数据、该第二媒体数据的推送应答,以及该服务器根据该推送应答发送的该第二媒体数据的推送承诺;The first receiving module 74 is configured to receive the first media data returned by the server, a push response of the second media data, and a push commitment of the second media data sent by the server according to the push response;
第二发送模块76,设置为发送流终止命令至该服务器,该流终止命令用于终止该服务器根据该推送承诺预留的该第二媒体数据的推送流。 The second sending module 76 is configured to send a stream termination command to the server, where the stream termination command is used to terminate the push stream of the second media data reserved by the server according to the push commitment.
通过上述装置,解决了尚不存在有效的HTTP流媒体推送更新解决方案的问题,完善了HTTP流媒体传输会话中的推送更新机制。Through the above device, the problem that there is no effective HTTP streaming push update solution is solved, and the push update mechanism in the HTTP streaming media transmission session is improved.
在本发明的实施例中,图8是根据本发明实施例的一种HTTP流媒体传输装置的结构框图二,除了包括图7的第一发送模块72和第一接收模块74,还包括:In the embodiment of the present invention, FIG. 8 is a block diagram of a structure of an HTTP streaming media transmission apparatus according to an embodiment of the present invention. In addition to the first sending module 72 and the first receiving module 74 of FIG. 7, the method further includes:
第二接收模块82,设置为接收该服务器根据该推送应答发送的该第二媒体数据的推送承诺之后,接收该服务器根据该推送承诺推送的该第二媒体数据。The second receiving module 82 is configured to receive the second media data that the server pushes according to the push commitment after receiving the push commitment of the second media data sent by the server according to the push response.
第三发送模块84,设置为发送流终止命令至该服务器,该流终止命令用于终止该服务器根据该推送承诺预留的尚未完成推送该第二媒体数据的推送流。The third sending module 84 is configured to send a stream termination command to the server, where the stream termination command is used to terminate the push stream reserved by the server according to the push commitment that has not completed pushing the second media data.
在本发明的实施例中,图9是根据本发明实施例的一种HTTP流媒体传输装置的结构框图三,除了包括图7的模块外,该装置还包括:In the embodiment of the present invention, FIG. 9 is a structural block diagram 3 of an HTTP streaming media transmission apparatus according to an embodiment of the present invention. In addition to the module of FIG. 7, the apparatus further includes:
第一设置模块92,设置为该发送流终止命令至该服务器之前,在该流终止命令中设置即时终止标记值,该即时终止标记用于指示该服务器在该推送流中立即停止推送该第二媒体数据,并终止该推送流。The first setting module 92 is configured to set an immediate termination flag value in the flow termination command before the sending the flow termination command to the server, where the immediate termination flag is used to instruct the server to immediately stop pushing the second in the push flow. Media data and terminate the push stream.
在本发明的实施例中,图10是根据本发明实施例的一种HTTP流媒体传输装置的结构框图四,除了包括图7的模块外,该装置还包括:In the embodiment of the present invention, FIG. 10 is a structural block diagram 4 of an HTTP streaming media transmission apparatus according to an embodiment of the present invention. In addition to the module of FIG. 7, the apparatus further includes:
第二设置模块102,设置为该发送流终止命令至该服务器之前,在该流终止命令中设置即时终止标记值,该即时终止标记用于指示该服务器在该推送流中完成推送该第二媒体数据,然后终止该推送流。The second setting module 102 is configured to set an immediate termination flag value in the flow termination command before the sending the flow termination command to the server, where the immediate termination flag is used to indicate that the server finishes pushing the second media in the push flow. Data, then terminate the push stream.
图11是根据本发明实施例的一种HTTP流媒体传输装置的结构框图五,该装置位于服务器中,包括:FIG. 11 is a block diagram 5 of a structure of an HTTP streaming media transmission apparatus according to an embodiment of the present invention. The device is located in a server, and includes:
第四接收模块112,设置为接收客户端发送的第一媒体数据的获取请求,该获取请求中携带第二媒体数据的推送指示;The fourth receiving module 112 is configured to receive a request for acquiring the first media data sent by the client, where the obtaining request carries a push indication of the second media data;
第四发送模块114,设置为返回该第一媒体数据、该第二媒体数据的 推送应答,并根据该推送应答发送该第二媒体数据的推送承诺至该客户端;The fourth sending module 114 is configured to return the first media data and the second media data. Pushing a response, and sending a push commitment of the second media data to the client according to the push response;
第五接收模块116,设置为接收该客户端发送的流终止命令,并根据该流终止命令终止根据该推送承诺预留的该第二媒体数据的推送流。The fifth receiving module 116 is configured to receive a stream termination command sent by the client, and terminate the push stream of the second media data reserved according to the push commitment according to the stream termination command.
图12是根据本发明实施例的一种HTTP流媒体传输装置的结构框图六,除了包括图11的第四接收模块112和第四发送模块114,还包括:FIG. 12 is a structural block diagram 6 of an HTTP streaming media transmission apparatus according to an embodiment of the present invention. In addition to the fourth receiving module 112 and the fourth sending module 114 of FIG. 11, the method further includes:
第五发送模块122,设置为根据该推送应答发送该第二媒体数据的推送承诺至该客户端之后,根据该推送承诺推送该第二媒体数据至该客户端;The fifth sending module 122 is configured to: after sending the push commitment of the second media data to the client according to the push response, pushing the second media data to the client according to the push commitment;
第六接收模块124,设置为接收该客户端发送的流终止命令,并根据该流终止命令终止根据该推送承诺预留的尚未完成推送该第二媒体数据的推送流。The sixth receiving module 124 is configured to receive a flow termination command sent by the client, and terminate, according to the flow termination command, a push flow reserved according to the push commitment that has not completed pushing the second media data.
在本发明的实施例中,该第五接收模块116包括:In the embodiment of the present invention, the fifth receiving module 116 includes:
第一终止单元,设置为如果该流终止命令中存在即时终止标记,在该推送流中立即停止推送该第二媒体数据,并终止该推送流;a first termination unit, configured to immediately stop pushing the second media data in the push flow if the immediate termination flag exists in the flow termination command, and terminate the push flow;
第二终止单元,设置为如果该流终止命令中不存在即时终止标记,在该推送流中完成推送该第二媒体数据,然后终止该推送流。The second terminating unit is configured to: if the instant termination flag does not exist in the stream termination command, complete the push of the second media data in the push stream, and then terminate the push stream.
图13是根据本发明实施例的一种HTTP流媒体传输装置的结构框图七,该装置位于终端中,包括:FIG. 13 is a block diagram of a structure of an HTTP streaming media transmission apparatus according to an embodiment of the present invention. The device is located in the terminal, and includes:
第六发送模块132,设置为发送第一媒体数据的获取请求至服务器,该获取请求中携带第二媒体数据的推送更新指示;The sixth sending module 132 is configured to send an acquisition request of the first media data to the server, where the obtaining request carries a push update indication of the second media data;
第七接收模块134,设置为接收该服务器返回的该第一媒体数据,以及该第二媒体数据的推送更新应答;The seventh receiving module 134 is configured to receive the first media data returned by the server, and a push update response of the second media data;
第八接收模块136,设置为接收该服务器发送的流终止命令,根据该流终止命令终止接收该服务器推送的该第二媒体数据。The eighth receiving module 136 is configured to receive a stream termination command sent by the server, and terminate receiving the second media data pushed by the server according to the stream termination command.
在本发明的实施例中,图14是根据本发明实施例的一种HTTP流媒体传输装置的结构框图八,除了包括图13的第六发送模块132,还包括:In the embodiment of the present invention, FIG. 14 is a structural block diagram of an HTTP streaming media transmission apparatus according to an embodiment of the present invention. In addition to the sixth sending module 132 of FIG. 13, the method further includes:
第九接收模块142,设置为该发送第一媒体数据的获取请求至服务器 之后,接收该服务器发送的该第二媒体数据的推送承诺;The ninth receiving module 142 is configured to send the first media data acquisition request to the server. After receiving a push commitment of the second media data sent by the server;
第十接收模块144,设置为接收该服务器发送的流终止命令,根据该流终止命令终止接收该服务器根据该推送承诺尚未完成推送的该第二媒体数据。The tenth receiving module 144 is configured to receive a stream termination command sent by the server, and terminate receiving, according to the stream termination command, the second media data that the server has not completed pushing according to the push commitment.
在本发明的实施例中,图15是根据本发明实施例的一种HTTP流媒体传输装置的结构框图九,除了包括图13的第六发送模块132和第七接收模块134,还包括:In the embodiment of the present invention, FIG. 15 is a structural block diagram 9 of an HTTP streaming media transmission apparatus according to an embodiment of the present invention. In addition to the sixth sending module 132 and the seventh receiving module 134 of FIG. 13, the method further includes:
第十一接收模块152,设置为接收该第二媒体数据的推送更新应答之后,接收该服务器根据该推送更新应答发送的第三媒体数据的推送承诺;The eleventh receiving module 152 is configured to receive, after receiving the push update response of the second media data, a push commitment of the third media data sent by the server according to the push update response;
第十二接收模块154,设置为接收该服务器根据该推送承诺推送的该第三媒体数据。The twelfth receiving module 154 is configured to receive the third media data that the server pushes according to the push commitment.
图16是根据本发明实施例的一种HTTP流媒体传输装置的结构框图十,该装置位于服务器中,包括:FIG. 16 is a structural block diagram of an HTTP streaming media transmission apparatus according to an embodiment of the present invention. The apparatus is located in a server, and includes:
第十三接收模块162,设置为接收客户端发送的第一媒体数据的获取请求,该获取请求中携带第二媒体数据的推送更新指示;The thirteenth receiving module 162 is configured to receive an acquisition request of the first media data sent by the client, where the obtaining request carries a push update indication of the second media data;
第七发送模块164,设置为返回该第一媒体数据,以及该第二媒体数据的推送更新应答至该客户端;The seventh sending module 164 is configured to return the first media data, and the push update response of the second media data to the client;
第八发送模块166,设置为发送流终止命令至该客户端,该流终止命令用于终止预留的该第二媒体数据的推送流。The eighth sending module 166 is configured to send a stream termination command to the client, where the stream termination command is used to terminate the reserved push stream of the second media data.
在本发明的实施例中,图17是根据本发明实施例的一种HTTP流媒体传输装置的结构框图十一,除了包括图16的第十三接收模块162,还包括:In the embodiment of the present invention, FIG. 17 is a structural block diagram of an HTTP streaming media transmission apparatus according to an embodiment of the present invention. In addition to the thirteenth receiving module 162 of FIG. 16, the method further includes:
第九发送模块172,设置为该接收客户端发送的第一媒体数据的获取请求之后,发送该第二媒体数据的推送承诺至该客户端;The ninth sending module 172 is configured to send a push commitment of the second media data to the client after receiving the first media data request sent by the receiving client;
第十发送模块174,设置为发送流终止命令至该客户端,该流终止命令用于终止根据该推送承诺预留的尚未完成推送该第二媒体数据的推送 流。The tenth sending module 174 is configured to send a stream termination command to the client, where the stream termination command is used to terminate the pushing of the second media data that is not completed according to the push commitment. flow.
在本发明的实施例中,图18是根据本发明实施例的一种HTTP流媒体传输装置的结构框图十二,除了包括图16的第十三接收模块162和第七发送模块164,还包括:In the embodiment of the present invention, FIG. 18 is a block diagram 12 of a structure of an HTTP streaming media transmission apparatus according to an embodiment of the present invention. In addition to the thirteenth receiving module 162 and the seventh transmitting module 164 of FIG. 16, the method further includes :
第十一发送模块182,设置为该返回该第一媒体数据,以及该第二媒体数据的推送更新应答至该客户端之后,根据该推送更新应答发送第三媒体数据的推送承诺至该客户端;The eleventh sending module 182 is configured to: after the returning the first media data, and the push update response of the second media data to the client, send a push commitment of the third media data to the client according to the push update response ;
第十二发送模块184,设置为根据该推送承诺推送该第三媒体数据至该客户端。The twelfth sending module 184 is configured to push the third media data to the client according to the push commitment.
在本发明的实施例中,该第八发送模块166包括:In the embodiment of the present invention, the eighth sending module 166 includes:
第三终止单元,设置为如果该推送更新指示中存在即时终止标记,在该推送流中立即发送流终止命令至该客户端,终止该推送流;a third termination unit, configured to: if an immediate termination flag exists in the push update indication, immediately send a flow termination command to the client in the push flow, and terminate the push flow;
第四终止单元,设置为如果该推送更新指示中不存在即时终止标记,完成该推送流中正在推送的该第二媒体数据至该客户端,然后在该推送流中发送流终止命令至该客户端,终止该推送流。a fourth termination unit, configured to: if the immediate termination flag does not exist in the push update indication, complete the second media data being pushed in the push stream to the client, and then send a stream termination command to the client in the push stream End, terminate the push stream.
下面结合优选实施例和实施方式对本发明进行详细说明。The invention will now be described in detail in conjunction with the preferred embodiments and embodiments.
本发明优选实施例提供了一种HTTP流媒体传输系统,图19是根据本发明实施例的一种HTTP流媒体传输系统架构的示意图,如图19所示,包括:终端100、流媒体客户端200、HTTP客户端300及其缓存310、网络400,以及服务器500,包括:HTTP服务器510、内容源服务器520。下面对图19中示出的系统进行说明。A preferred embodiment of the present invention provides an HTTP streaming media transmission system. FIG. 19 is a schematic diagram of an HTTP streaming media transmission system architecture according to an embodiment of the present invention. As shown in FIG. 19, the terminal 100 includes a streaming media client. 200. The HTTP client 300 and its cache 310, the network 400, and the server 500 include an HTTP server 510 and a content source server 520. The system shown in Fig. 19 will be described below.
终端100,为流媒体客户端200提供运行环境的用户侧硬件设备,终端100部署实例可以包括:机顶盒、台式机、平板电脑,智能手机等;The terminal 100 provides a user-side hardware device of the running environment for the streaming media client 200. The deployment example of the terminal 100 may include: a set-top box, a desktop computer, a tablet computer, a smart phone, and the like;
流媒体客户端200,提供针对服务器500中流媒体资源的访问、解码、缓存和播放控制,包括:码率自适应模块210,媒体播放引擎220,推模块230,拉模块240。 The streaming media client 200 provides access, decoding, caching, and playback control for the streaming media resources in the server 500, including: a code rate adaptation module 210, a media playback engine 220, a push module 230, and a pull module 240.
流媒体客户端200指示HTTP客户端300与服务器500建立媒体传输信道,服务器500利用该媒体信道主动向终端100推送流媒体数据。所述媒体信道可以通过HTTP/1.1协议升级机制建立。流媒体客户端200通过HTTP客户端300向服务器500发送媒体片段或者MPD文件访问请求。其中媒体片段访问请求中可以携带请求媒体片段的统一资源标识符URI以及后续媒体片段的“推送策略”。“推送策略”用于流媒体客户端200与服务器500协商后续媒体片段的推送机制。除了返回请求的媒体片段数据,服务器500在收到媒体片段推送请求后,将根据媒体片段的可用性以及本地策略返回推送应答,一旦流媒体客户端200与服务器500就后续媒体片段“推送策略”达成一致,服务器500将发起媒体片段推送会话,向终端100主动推送后续可用的媒体片段。流媒体客户端200在缓存足够数量媒体片段数据后即可开始播放视频内容。The streaming client 200 instructs the HTTP client 300 to establish a media transport channel with the server 500, and the server 500 actively pushes streaming media data to the terminal 100 using the media channel. The media channel can be established through an HTTP/1.1 protocol upgrade mechanism. The streaming client 200 transmits a media segment or MPD file access request to the server 500 via the HTTP client 300. The media segment access request may carry a uniform resource identifier URI of the requested media segment and a “push policy” of the subsequent media segment. The "push policy" is used by the streaming client 200 to negotiate with the server 500 for the push mechanism of subsequent media segments. In addition to returning the requested media segment data, after receiving the media segment push request, the server 500 will return a push response according to the availability of the media segment and the local policy, once the streaming media client 200 and the server 500 reach a subsequent media segment "push strategy". Consistently, the server 500 will initiate a media segment push session to actively push subsequent available media segments to the terminal 100. The streaming client 200 can start playing the video content after buffering a sufficient amount of media segment data.
码率自适应模块210,检测当前可用网络带宽以及媒体播放引擎220中媒体片段缓存状态,执行码率自适应算法,并向推模块230、拉模块240发送码率切换指示。The rate adaptation module 210 detects the current available network bandwidth and the media segment buffer status in the media playback engine 220, performs a code rate adaptation algorithm, and sends a code rate switching indication to the push module 230 and the pull module 240.
媒体播放引擎220,对接收到的媒体片段进行解码,媒体数据缓存以及视频播放控制。The media playback engine 220 decodes the received media segments, media data buffers, and video playback controls.
推模块230,基于HTTP 2.0协议所支持的服务器发起会话功能,通过HTTP客户端300请求服务器500推送流媒体资源至终端100。The push module 230 initiates a session function based on the server supported by the HTTP 2.0 protocol, and requests the server 500 to push the streaming media resource to the terminal 100 through the HTTP client 300.
拉模块240,基于HTTP 1.1协议或HTTP 2.0协议所支持的客户端发起会话功能,通过HTTP客户端300,请求下载服务器500中流媒体资源至终端100。The pull module 240 requests the downloading of the streaming media resource in the server 500 to the terminal 100 through the HTTP client 300 based on the client initiated session function supported by the HTTP 1.1 protocol or the HTTP 2.0 protocol.
HTTP客户端300,包括:HTTP/2客户端和/或HTTP/1.1客户端。HTTP客户端300根据流媒体客户端200内部推模块230或者拉模块240的媒体片段访问请求以及码率切换指示,向服务器500发送HTTP请求,请求获取服务器500中最适合当前网络带宽和缓存状况的流媒体资源。其中,缓存310提供HTTP客户端300所下载媒体资源的本地存储。 The HTTP client 300 includes: an HTTP/2 client and/or an HTTP/1.1 client. The HTTP client 300 sends an HTTP request to the server 500 according to the media segment access request of the internal push module 230 or the pull module 240 of the streaming media client 200 and the code rate switching instruction, and requests the acquisition of the server 500 that is most suitable for the current network bandwidth and the cache status. Streaming media resources. The cache 310 provides local storage of the media resources downloaded by the HTTP client 300.
网络400可以包括:数字用户线路(X Digital Subscriber Line,简称为xDSL)、光纤接入(Fiber-to-the-x,简称为FTTx)、有线电视电缆Cable等有线通信网络,以及Wi-Fi、2G、3G、长期演进(Long Term Evolution,简称为LTE)等无线通信网络。The network 400 may include: a digital subscriber line (X Digital Subscriber Line, abbreviated as xDSL), a fiber-optic access (Fiber-to-the-x, referred to as FTTx), a cable communication cable, and the like, and a Wi-Fi network. A wireless communication network such as 2G, 3G, and Long Term Evolution (LTE).
服务器500,完成对原始视频的切片和MPD文件的生成。其中,内容源520负责内容源捕获、编码压缩、分段处理,将原始视频内容划分成为具有固定时间间隔的多个视频片段。HTTP服务器510,将每一个视频片段作为可被HTTP请求和响应独立访问的HTTP资源,即视频文件,并以时段(period)、表示(representation)和媒体片段(segment)的层次存储。根据请求,HTTP服务器510将向终端返回适当的媒体分片。The server 500 completes the generation of the slice of the original video and the generation of the MPD file. The content source 520 is responsible for content source capture, encoding compression, and segmentation processing, and divides the original video content into a plurality of video segments having a fixed time interval. The HTTP server 510 stores each video clip as an HTTP resource that is independently accessible by HTTP requests and responses, that is, a video file, and stores it in a hierarchy of periods, representations, and segments. Upon request, the HTTP server 510 will return the appropriate media shards to the terminal.
服务器500,还提供动态自适应流媒体中MPD文件存储。MPD文件描述了每个媒体片段的持续时间,URL,媒体属性,如视频分辨率、适配比特率等。MPD文件给DASH客户端提供了足够的HTTP-URL信息用于访问流媒体内容资源,当DASH客户端开始播放一个视频的时候,它根据MPD文件中的信息选择下载适应于当前可用网络带宽和终端缓存状况的媒体片段并进行播放。The server 500 also provides MPD file storage in dynamic adaptive streaming. The MPD file describes the duration, URL, media attributes of each media segment, such as video resolution, adaptation bit rate, and the like. The MPD file provides enough HTTP-URL information for the DASH client to access the streaming media content resource. When the DASH client starts playing a video, it selects the download according to the information in the MPD file to adapt to the currently available network bandwidth and the terminal. Cache the media clips and play them.
在本发明的实施例中,涉及到的自适应流媒体(或者称为动态自适应流媒体)有多种实现方式,例如,可以采用基于HTTP的动态自适应流媒体(Dynamic Adaptive Streaming over HTTP,简称为DASH)。下面以DASH为例对MPD服务器和流媒体服务器进行说明。以下实施例对其他自适应流媒体技术也同样适用。In the embodiment of the present invention, the adaptive streaming media (or dynamic adaptive streaming media) involved may be implemented in various manners, for example, dynamic adaptive streaming over HTTP (Dynamic Adaptive Streaming over HTTP) may be adopted. Referred to as DASH). The following takes DASH as an example to describe the MPD server and the streaming media server. The following embodiments are equally applicable to other adaptive streaming technologies.
在本发明的一个优选实施例中,HTTP流媒体客户端向HTTP流媒体服务器发送媒体片段取消命令,请求服务器终止推送不再需要的媒体片段,从而实现HTTP流媒体推送会话更新。其中,该命令包括两个层面处理过程:其一,在接收完毕所有需要的媒体片段之后,客户端首先应关闭由它发起的请求流(Request Stream),避免服务器继续在请求流中为那些不再需要的媒体片段发送推送承诺(PUSH_PROMISE);其二,客户端还应发 送推送流(Push Stream)关闭请求,关闭服务器为那些不再需要的媒体片段所预留的推送流。此外,为避免造成带宽浪费,客户端在媒体片段取消命令中可以携带指示符,用于指示服务器在终止推送会话之前是否继续发送在接收取消命令时已经推送的媒体片段。In a preferred embodiment of the present invention, the HTTP streaming client sends a media segment cancel command to the HTTP streaming server, requesting the server to terminate pushing the media segment that is no longer needed, thereby implementing HTTP streaming push session update. The command includes two levels of processing: First, after receiving all the required media fragments, the client should first close the Request Stream initiated by it, so that the server does not continue to be in the request stream for those. The required media segment sends a push promise (PUSH_PROMISE); second, the client should also send Push Stream close request, close the push stream reserved by the server for media segments that are no longer needed. In addition, to avoid waste of bandwidth, the client may carry an indicator in the media segment cancel command to indicate whether the server continues to send the media segment that has been pushed when the cancel command is received before terminating the push session.
图20是根据本发明优选实施例的基于媒体片段取消命令实现HTTP流媒体推送会话更新的交互流程图。如图20所示,该流程包括如下步骤:20 is an interaction flow diagram of implementing an HTTP streaming push session update based on a media segment cancel command in accordance with a preferred embodiment of the present invention. As shown in FIG. 20, the process includes the following steps:
步骤1,客户端创建请求流(request stream),并基于该请求流发送媒体片段获取请求(get_segment)至服务器,请求中携带媒体片段统一资源标识符(segment_uri)参数,用于指定所请求的媒体片段资源,推送指示符(push_directive)参数,用于协商HTTP流媒体推送会话中媒体片段推送策略,以及方案标识(scheme)参数,用于标识方案的版本;Step 1: The client creates a request stream, and sends a media fragment acquisition request (get_segment) to the server according to the request stream, where the request carries a media fragment uniform resource identifier (segment_uri) parameter, which is used to specify the requested media. a fragment resource, a push-directive parameter, used to negotiate a media segment push policy in an HTTP streaming push session, and a scheme identifier parameter, which is used to identify a version of the scheme;
步骤2,服务器返回所请求的媒体片段(segment#i)至客户端,同时返回推送应答(push_ack)参数,完成HTTP流媒体推送会话中媒体片段推送策略应答,以及方案标识参数;在此其间,服务器将为推送应答中所承诺推送的媒体片段预留推送流(push stream);Step 2: The server returns the requested media segment (segment#i) to the client, and returns a push response (push_ack) parameter, completes the media segment push policy response in the HTTP streaming media push session, and the scheme identification parameter; The server will reserve a push stream for the media segments promised to be pushed in the push response;
步骤3~步骤4,服务器基于所预留的推送流,分别推送各个媒体片段(segment#i+1~#i+j)至客户端;Step 3 to step 4, the server pushes each media segment (segment#i+1~#i+j) to the client respectively according to the reserved push stream;
步骤5,客户端发送媒体片段取消(segment_cancel)命令至服务器,请求更新HTTP流媒体推送会话。可选地,所述取消请求中携带即时(immediate)参数,用于指示服务器在接收媒体片段取消命令时,如何处理推送流中正在传输的媒体片段;In step 5, the client sends a media segment cancel (segment_cancel) command to the server to request to update the HTTP streaming push session. Optionally, the cancel request carries an immediate parameter, where is used to indicate how the server processes the media segment being transmitted in the push stream when receiving the media segment cancel command;
步骤6,如果即时参数取值为“true”,则服务器立即终止传输正在推送的媒体片段(segment#i+j+1),并取消推送会话,包括:不再发送媒体片段推送承诺,并关闭已经预留的推送流;如果即时参数取值为“false”,则服务器将继续传输正在推送的媒体片段(segment#i+j+1),然后再取消推送会话(如本实施例所示)。 Step 6. If the immediate parameter value is "true", the server immediately terminates the transmission of the media segment being pushed (segment#i+j+1) and cancels the push session, including: no longer sending the media segment push promise, and closing The push stream has been reserved; if the immediate parameter value is "false", the server will continue to transmit the media segment being pushed (segment#i+j+1), and then cancel the push session (as shown in this embodiment) .
图21是根据本发明优选实施例的一种HTTP流媒体传输方法的消息 交互流程图一。21 is a message of an HTTP streaming media transmission method according to a preferred embodiment of the present invention. Interactive flow chart one.
步骤1:客户端利用标准的HTTP GET消息(HTTP/2协议中的HEADERS帧)向服务器发送第一媒体片段获取请求。其中,HTTP GET消息中的“path”头域被设置为第一媒体片段统一资源标识符URI,用于请求服务器获取第一媒体片段,即步骤1中示例的:path="../rep1/segment1.mp4"。此外,HTTP GET消息中还包含用于请求服务器推送第二媒体片段的“accept-push-policy”头域,即步骤1中示例的:Step 1: The client sends a first media segment acquisition request to the server using a standard HTTP GET message (a HEADERS frame in the HTTP/2 protocol). The "path" header field in the HTTP GET message is set as the first media segment uniform resource identifier URI, and is used to request the server to obtain the first media segment, that is, the path in the example in step 1: path="../rep1/ Segment1.mp4". In addition, the HTTP GET message also includes an "accept-push-policy" header field for requesting the server to push the second media segment, which is exemplified in step 1:
“accept-push-policy="urn:mpeg:dash:fdh:2015:push-template","accept-push-policy="urn:mpeg:dash:fdh:2015:push-template",
"../rep1/segment$Number$.mp4":{2-6}”,至少包含:"../rep1/segment$Number$.mp4":{2-6}", which contains at least:
1)推送协议方案统一资源标识符(SchemeID)字段,用于标识推送协议版本;1) Push protocol scheme Uniform resource identifier (SchemeID) field, used to identify the push protocol version;
2)推送指示(PushDirective),用于请求推送会话中所执行的推送策略,包括:2) PushDirective, which is used to request the push policy executed in the push session, including:
推型类型(PushType)字段,用于描述“推送策略”中被推送媒体片段的表示类型,譬如:“push-next”表示请求推送后续特定数量的媒体片段,“push-time”表示请求推送后续特定播放时间的媒体片段,“push-template”表示请求推送模板中明确指定的媒体片段,Push type field, which is used to describe the type of the pushed media segment in the "push policy". For example, "push-next" indicates that a specific number of media segments are requested to be pushed, and "push-time" indicates that the push is requested. A media segment of a specific play time, "push-template" indicates that the media segment explicitly requested in the push template is requested.
以及推送参数(PushParams)字段,携带“推送策略”中被推送媒体片段的推送参数值。And a push parameter (PushParams) field carrying the push parameter value of the pushed media segment in the "push policy".
在本实施例中,客户端请求获取表示(Representation)"rep1"中的"segment1"媒体片段,同时请求推送"rep1"中后续编号"segment2"至"segment6"的5个媒体片段。In this embodiment, the client requests to acquire the "segment1" media segment in the representation "rep1" and requests to push the five media segments of the subsequent numbers "segment2" to "segment6" in "rep1".
步骤2:服务器返回HTTP 200 OK响应消息(HTTP/2协议中HEADERS帧),作为所述第一媒体片段获取响应。其中,HTTP 200 OK响应消息包含用于返回第二媒体片段推送应答的“accept-push-policy”头域,即步骤2中示例的:“accept-push-policy="urn:mpeg:dash:fdh:2015:push-template","../rep1/segment$Number$.mp4": {2-6}”,至少包含:Step 2: The server returns an HTTP 200 OK response message (HEADERS frame in the HTTP/2 protocol) as the first media segment acquisition response. The HTTP 200 OK response message includes an "accept-push-policy" header field for returning a second media segment push response, which is an example in the step 2: "accept-push-policy="urn:mpeg:dash:fdh :2015:push-template","../rep1/segment$Number$.mp4": {2-6}", at least:
1)推送协议方案统一资源标识符(SchemeID)字段,用于标识推送协议版本;1) Push protocol scheme Uniform resource identifier (SchemeID) field, used to identify the push protocol version;
2)推送应答(PushAck),用于返回服务器在推送会话中所接收的推送策略,并且携带与请求中具有相同类型的推型类型字段、推送参数字段。2) Push response (PushAck), used to return the push policy received by the server in the push session, and carry the push type field and the push parameter field of the same type as the request.
在本实施例中,服务器所返回的推送应答表示可以立即为推送指示所请求推送的"rep1"中"segment2"至"segment6"的5个媒体片段发送推送承诺。In the present embodiment, the push response returned by the server indicates that the push commitment can be immediately transmitted for the five media segments of "segment2" to "segment6" in the "rep1" of the push indication requested to be pushed.
步骤3~4:服务器根据在步骤2中推送应答所返回的推送参数值为每一个确认推送的媒体片段(即,"segment2"至"segment6"的5个媒体片段)发送推送承诺消息(HTTP/2协议中的PUSH_PROMISE帧)。其中,服务器将PUSH_PROMISE帧中“path”头域设置为每一个确认被推送媒体片段统一资源标识符URI,并且利用客户端在步骤1所发起的请求流中发送所述PUSH_PROMISE帧。Steps 3 to 4: The server sends a push commitment message (HTTP/) based on the push parameter value returned by the push response in step 2 for each of the confirmed media segments (ie, 5 media segments of "segment2" to "segment6"). 2 PUSH_PROMISE frame in the protocol). The server sets the "path" header field in the PUSH_PROMISE frame to each of the acknowledged pushed media segment uniform resource identifier URIs, and transmits the PUSH_PROMISE frame in the request flow initiated by the client in step 1.
步骤5:服务器返回客户端请求获取的媒体片段,即本实施例中的"../rep1/segment1.mp4"。Step 5: The server returns the media segment requested by the client, that is, "../rep1/segment1.mp4" in this embodiment.
步骤6~7:服务器为"rep1"中编号"segment2"的媒体片段发起推送流,推送"rep1"中编号"segment2"的媒体片段至客户端。Steps 6-7: The server initiates a push stream for the media segment numbered "segment2" in "rep1", and pushes the media segment numbered "segment2" in "rep1" to the client.
步骤8~10:由于检测到当前可用网络带宽发生变化,或者媒体播放引擎缓存状态等原因,客户端不再希望接收某些原本计划推送的媒体片段。本实施例假定,客户端不再需要服务器推送"segment3"至"segment6"的4个媒体片段。客户端为每一个不再需要推送的媒体片段,向服务器发送流重置(RST_STREAM)帧,并将该帧中携带的错误码(Error Code)设置为“CANCEL(0x8)”,以关闭服务器为"segment3"至"segment6"的4个媒体片段所预留的推送流,即编号为Stream4,Stream6,Stream8和Stream10的推送流。 Steps 8 to 10: The client no longer wishes to receive some media segments that are originally scheduled to be pushed, due to detection of a change in the currently available network bandwidth, or a media playback engine cache state. This embodiment assumes that the client no longer needs the server to push 4 media segments of "segment3" to "segment6". The client sends a stream reset (RST_STREAM) frame to the server for each media segment that no longer needs to be pushed, and sets the error code (Error Code) carried in the frame to "CANCEL (0x8)" to shut down the server. The push streams reserved for the four media segments of "segment3" through "segment6", that is, the push streams numbered Stream4, Stream6, Stream8, and Stream10.
可选地,客户端可以为所述流重置帧设置“即时”(immediate)标记(Flag),用于指示服务器在接收流重置帧时,如何处理推送流中正在传输 的媒体片段。“即时”标记定义如下:Optionally, the client may set an “immediate” flag (Flag) for the stream reset frame, which is used to indicate how the server processes the push stream in the receive stream when receiving the stream reset frame. Media clips. The "instant" tag is defined as follows:
IMMEDIATE(0x1):第0个比特一旦被设置,则表示请求方指示接收方立即关闭流重置帧所引用的流,终止该流中正在进行的数据传输。否则,接收方在完成数据传输后再关闭该流。IMMEDIATE (0x1): Once the 0th bit is set, it indicates that the requester instructs the receiver to immediately close the stream referenced by the stream reset frame, terminating the ongoing data transmission in the stream. Otherwise, the receiver closes the stream after completing the data transfer.
假定在本实施例中,客户端向服务器发送流重置帧中并未设置“即时”标记,并且服务器在编号Stream4推送流中接收流重置帧时,服务器正在推送"rep1"中"segment3"至客户端。根据上述说明,服务器将在步骤9~10继续推送"rep1"中编号"segment3"的媒体片段至客户端,然后再关闭编号Stream4的推送流。It is assumed that in the embodiment, when the client sends a stream reset frame to the server, the "instant" flag is not set, and the server receives the stream reset frame in the stream stream of the Stream4 push, the server is pushing "segment3" in "rep1". To the client. According to the above description, the server will continue to push the media segment numbered "segment3" in "rep1" to the client in steps 9-10, and then close the push stream of the number Stream4.
步骤11~12:接收客户端发送的流重置帧后,服务器关闭编号为Stream6,Stream8和Stream10的推送流,不再推送其他媒体片段至客户端。Steps 11 to 12: After receiving the flow reset frame sent by the client, the server closes the push streams numbered Stream6, Stream8, and Stream10, and no longer pushes other media fragments to the client.
在本发明的一个优选实施例中,HTTP流媒体客户端向HTTP流媒体服务器发送媒体片段更新命令,请求重新协商媒体片段的推送策略,从而实现HTTP流媒体推送会话更新。其中,客户端在它发起的请求流中发送媒体片段更新请求,请求服务器更新推送会话中的推送策略;根据重新协商的推送策略,服务器将为不再需要推送的媒体片段发送推送流(Push Stream)关闭请求。同时,服务器还将为新的需要推送的媒体片段发送推送承诺(PUSH_PROMISE)。In a preferred embodiment of the present invention, the HTTP streaming client sends a media segment update command to the HTTP streaming server, requesting to renegotiate the push policy of the media segment, thereby implementing HTTP streaming media push session update. The client sends a media segment update request in the request flow initiated by the client, requesting the server to update the push policy in the push session; according to the renegotiation push policy, the server sends a push stream for the media segment that is no longer needed to be pushed (Push Stream) ) Close the request. At the same time, the server will also send a push commitment (PUSH_PROMISE) for the new media segment that needs to be pushed.
图22是根据本发明优选实施例的基于媒体片段更新命令实现HTTP流媒体推送会话更新的交互流程图。如图22所示,该流程包括如下步骤:22 is an interaction flow diagram for implementing an HTTP streaming push session update based on a media segment update command in accordance with a preferred embodiment of the present invention. As shown in FIG. 22, the process includes the following steps:
步骤1,客户端创建请求流(request stream),并基于该请求流发送媒体片段获取请求(get_segment)至服务器,请求中携带媒体片段统一资源标识符(segment_uri)参数,用于指定所请求的媒体片段资源,推送指示符(push_directive)参数,用于协商HTTP流媒体推送会话中媒体片段推送策略,以及方案标识(scheme)参数,用于标识方案的版本;Step 1: The client creates a request stream, and sends a media fragment acquisition request (get_segment) to the server according to the request stream, where the request carries a media fragment uniform resource identifier (segment_uri) parameter, which is used to specify the requested media. a fragment resource, a push-directive parameter, used to negotiate a media segment push policy in an HTTP streaming push session, and a scheme identifier parameter, which is used to identify a version of the scheme;
步骤2,服务器返回所请求的媒体片段(segment#i)至客户端,同时返回推送应答(push_ack)参数,完成HTTP流媒体推送会话中媒体片段 推送策略应答,以及方案标识参数;在此其间,服务器将为推送应答中所承诺推送的媒体片段预留推送流(push stream);Step 2: The server returns the requested media segment (segment#i) to the client, and returns a push_ack parameter to complete the media segment in the HTTP streaming push session. Pushing a policy response, and a scenario identification parameter; during which the server will reserve a push stream for the media segment promised to be pushed in the push response;
步骤3~步骤4,服务器基于所预留的推送流,分别推送各个媒体片段(segment#i+1~#i+j)至客户端;Step 3 to step 4, the server pushes each media segment (segment#i+1~#i+j) to the client respectively according to the reserved push stream;
步骤5,客户端发送媒体片段更新(segment_update)命令至服务器,请求更新HTTP流媒体推送会话。可选地,所述取消请求中携带即时(immediate)参数,用于指示服务器在接收媒体片段更新命令是时,如何处理推送流中正在传输的媒体片段;Step 5: The client sends a media segment update (segment_update) command to the server to request to update the HTTP streaming push session. Optionally, the cancel request carries an immediate parameter, where is used to indicate how the server processes the media segment being transmitted in the push stream when the media segment update command is received;
步骤6,如果即时参数取值为“true”,则服务器立即终止传输正在推送的媒体片段(segment#i+j+1),并取消推送会话(如本实施例所示),包括:不再发送媒体片段推送承诺,并关闭已经预留的推送流;如果即时参数取值为“false”,则服务器将继续传输正在推送的媒体片段(segment#i+j+1),然后再取消推送会话。 Step 6. If the value of the immediate parameter is "true", the server immediately terminates the transmission of the media segment being pushed (segment#i+j+1), and cancels the push session (as shown in this embodiment), including: no longer Send a media clip to push the promise and close the push stream that has been reserved; if the immediate parameter value is "false", the server will continue to transfer the media clip being pushed (segment#i+j+1), then cancel the push session .
图23是根据本发明优选实施例的另一种HTTP流媒体传输方法的消息交互流程图二。FIG. 23 is a second flowchart of message interaction of another HTTP streaming media transmission method according to a preferred embodiment of the present invention.
步骤1~7:类似实施例一图21中相关执行步骤,此处不再重复。Steps 1-7: The related execution steps in Figure 21 of the first embodiment are not repeated here.
步骤8:本实施例假定,客户端请求推送会话仅仅推送"rep1"中的"segment2"媒体片段,不再推送"rep1"中编号"segment3"至"segment6"的媒体片段。客户端利用标准HTTP GET消息(HTTP/2协议中的HEADERS帧)向服务器发送媒体片段推送会话更新请求。其中,HTTP GET消息中“path”头域值保持不变,仍然为所请求获取的媒体片段统一资源标识符URI,即步骤1中示例的:path="../rep1/segment1.mp4"。此外,HTTP GET消息还包含用于请求服务器推送第二媒体片段的“accept-push-policy”头域,即步骤8中示例的:“accept-push-policy="urn:mpeg:dash:fdh:2015:push-update","../rep1/segment$Number$.mp4":{2}”,至少包含:Step 8: This embodiment assumes that the client requests the push session to push only the "segment2" media segment in "rep1", and does not push the media segments in the "rep1" number "segment3" to "segment6". The client sends a media segment push session update request to the server using a standard HTTP GET message (a HEADERS frame in the HTTP/2 protocol). The value of the "path" header field in the HTTP GET message remains unchanged, and is still the media fragment uniform resource identifier URI that is requested to be obtained, that is, path="../rep1/segment1.mp4" in the example in step 1. In addition, the HTTP GET message also contains an "accept-push-policy" header field for requesting the server to push the second media segment, ie, the example in step 8: "accept-push-policy="urn:mpeg:dash:fdh: 2015: push-update","../rep1/segment$Number$.mp4":{2}", at least:
1)推送协议方案统一资源标识符(SchemeID)字段,用于标识推送 协议版本;1) Push Protocol Scheme Uniform Resource Identifier (SchemeID) field for identifying push Protocol version;
2)推送更新指示(PushUpdateDirective),用于更新推送会话中所执行的推送策略,包括:2) Push update directive (PushUpdateDirective), used to update the push policy executed in the push session, including:
推型类型(PushType)字段,用于描述“推送策略”中被推送媒体片段的表示类型,譬如:“push-next”表示请求推送后续特定数量的媒体片段,“push-time”表示请求推送后续特定播放时间的媒体片段,“push-template”表示请求推送模板中明确指定的媒体片段,Push type field, which is used to describe the type of the pushed media segment in the "push policy". For example, "push-next" indicates that a specific number of media segments are requested to be pushed, and "push-time" indicates that the push is requested. A media segment of a specific play time, "push-template" indicates that the media segment explicitly requested in the push template is requested.
以及推送参数(PushParams)字段,携带“推送策略”中被推送媒体片段的推送参数值。And a push parameter (PushParams) field carrying the push parameter value of the pushed media segment in the "push policy".
其中,推送更新指示所表达的推送类型默认与推送会话中推送指示的推送类型保持一致。The push type indicated by the push update indication is consistent with the push type of the push indication in the push session.
可选地,客户端可以为所述“accept-push-policy”头域设置“即时”(immediate)字段,用于指示服务器在接收推送更新请求时,如何处理推送流中正在传输的媒体片段。一旦携带“即时”字段,服务器应立即终止推送流中正在进行的数据传输,关闭所有推送流;否则,服务器在完成数据传输后再关闭推送流。Optionally, the client may set an "immediate" field for the "accept-push-policy" header field to indicate how the server processes the media segment being transmitted in the push stream when receiving the push update request. Once the "instant" field is carried, the server should immediately terminate the ongoing data transfer in the push stream and close all push streams; otherwise, the server closes the push stream after completing the data transfer.
步骤9:服务器返回HTTP 200 OK响应消息(HTTP/2协议中HEADERS帧),作为所述媒体片段推送会话更新响应。其中,HTTP 200 OK响应消息包含用于返回第二媒体片段推送应答的“accept-push-policy”头域,即步骤9中示例的:“accept-push-policy="urn:mpeg:dash:fdh:2015:push-update","../rep1/segment$Number$.mp4":{2}”,至少包含:Step 9: The server returns an HTTP 200 OK response message (HEADERS frame in the HTTP/2 protocol) as a push session update response for the media segment. The HTTP 200 OK response message includes an "accept-push-policy" header field for returning a second media segment push response, which is an example in step 9: "accept-push-policy="urn:mpeg:dash:fdh :2015:push-update","../rep1/segment$Number$.mp4":{2}", at least:
1)推送协议方案统一资源标识符(SchemeID)字段,用于标识推送协议版本;1) Push protocol scheme Uniform resource identifier (SchemeID) field, used to identify the push protocol version;
2)推送更新应答(PushUpdateAck),用于返回服务器在推送会话中所更新的推送策略,并且携带与推送更新请求中具有相同类型的推型类型字段、推送参数字段。 2) Push update response (PushUpdateAck), used to return the push policy updated by the server in the push session, and carry the push type field and push parameter field of the same type as the push update request.
在本实施例中,服务器所返回的推送更新应答表示可以更新媒体片段推送会话,仅推送更新应答中所指定的"rep1"中"segment2"至客户端。In this embodiment, the push update response returned by the server indicates that the media segment push session can be updated, and only the "segment2" in the "rep1" specified in the update response is pushed to the client.
步骤10~11:服务器为每一个不再需要推送的媒体片段向客户端发送流重置(RST_STREAM)帧,并将该帧中携带的错误码(Error Code)设置为“CANCEL(0x8)”,以关闭服务器为编号"segment3"至"segment6"的媒体片段所预留的推送流,即编号为Stream4,Stream6,Stream8和Stream10的推送流。 Steps 10 to 11: The server sends a stream reset (RST_STREAM) frame to the client for each media segment that is no longer needed to be pushed, and sets an error code (Error Code) carried in the frame to “CANCEL (0x8)”. The push stream reserved for the media segments numbered "segment3" through "segment6", that is, the push streams numbered Stream4, Stream6, Stream8, and Stream10.
图24是根据本发明优选实施例的另一种HTTP流媒体传输方法的消息交互流程图三。FIG. 24 is a third flowchart of message interaction of another HTTP streaming media transmission method according to a preferred embodiment of the present invention.
步骤1~7:类似实施例一图21中相关执行步骤,此处不再重复。Steps 1-7: The related execution steps in Figure 21 of the first embodiment are not repeated here.
步骤8:本实施例假定,客户端请求推送会话不再推送"rep1"中其他媒体片段,请求推送"rep2"中编号"segment3"至"segment6"的媒体片段。客户端利用标准HTTP GET消息(HTTP/2协议中的HEADERS帧)向服务器发送媒体片段推送会话更新请求。其中,HTTP GET消息中“path”头域值保持不变,仍然为所请求获取的媒体片段统一资源标识符URI,即步骤1中示例的:path="../rep1/segment1.mp4"。类似地,HTTP GET消息包含用于请求服务器推送第二媒体片段的“accept-push-policy”头域,即步骤8中示例的:“accept-push-policy="urn:mpeg:dash:fdh:2015:push-update","../rep2/segment$Number$.mp4":{3-6}”。Step 8: This embodiment assumes that the client requests the push session to no longer push other media segments in "rep1", requesting to push the media segments numbered "segment3" to "segment6" in "rep2". The client sends a media segment push session update request to the server using a standard HTTP GET message (a HEADERS frame in the HTTP/2 protocol). The value of the "path" header field in the HTTP GET message remains unchanged, and is still the media fragment uniform resource identifier URI that is requested to be obtained, that is, path="../rep1/segment1.mp4" in the example in step 1. Similarly, the HTTP GET message contains an "accept-push-policy" header field for requesting the server to push the second media segment, ie, the example in step 8: "accept-push-policy="urn:mpeg:dash:fdh: 2015: push-update","../rep2/segment$Number$.mp4":{3-6}".
可选地,客户端可以为所述“accept-push-policy”头域设置“即时”(immediate)字段,用于指示服务器在接收推送更新请求时,如何处理推送流中正在传输的媒体片段。一旦携带“即时”字段,服务器应立即终止推送流中正在进行的数据传输,关闭所有推送流;否则,服务器在完成数据传输后再关闭推送流。Optionally, the client may set an "immediate" field for the "accept-push-policy" header field to indicate how the server processes the media segment being transmitted in the push stream when receiving the push update request. Once the "instant" field is carried, the server should immediately terminate the ongoing data transfer in the push stream and close all push streams; otherwise, the server closes the push stream after completing the data transfer.
步骤9:服务器返回HTTP 200 OK响应消息(HTTP/2协议中HEADERS帧),作为所述媒体片段推送会话更新响应。其中,HTTP 200 OK响应消息包含用于返回第二媒体片段推送应答的“accept-push-policy”头 域,即步骤9中示例的:“accept-push-policy="urn:mpeg:dash:fdh:2015:push-update","../rep1/segment$Number$.mp4":{2}”。Step 9: The server returns an HTTP 200 OK response message (HEADERS frame in the HTTP/2 protocol) as a push session update response for the media segment. The HTTP 200 OK response message includes an "accept-push-policy" header for returning a second media segment push response. The domain, which is the example in step 9: "accept-push-policy="urn:mpeg:dash:fdh:2015:push-update","../rep1/segment$Number$.mp4":{2}" .
在本实施例中,服务器所返回的推送更新应答表示,不再推送"rep1"中其他媒体片段,而推送"rep2"中编号"segment3"至"segment6"的媒体片段至客户端。In this embodiment, the push update response returned by the server indicates that the other media segments in "rep1" are no longer pushed, and the media segments numbered "segment3" through "segment6" in "rep2" are pushed to the client.
与图23中相关步骤类似,服务器为每一个不再需要推送的媒体片段向客户端发送流重置(RST_STREAM)帧,关闭服务器为"rep1"中其他媒体片段所预留的推送流。Similar to the related steps in Figure 23, the server sends a stream reset (RST_STREAM) frame to the client for each media segment that no longer needs to be pushed, and closes the push stream reserved by the server for other media segments in "rep1".
步骤10~11:根据重新协商的推送策略,服务器向客户端发送媒体片段推送承诺,并基于预留的推送流推送"rep2"中编号"segment3"至"segment6"的媒体片段至客户端。Steps 10-11: According to the renegotiation push policy, the server sends a media segment push commitment to the client, and pushes the media segment numbered "segment3" to "segment6" in the "rep2" to the client based on the reserved push stream.
图25是根据本发明实施例的一种HTTP流媒体传输装置的结构框图,如图25所示,该装置包括获取模块252、第一确定模块254和第二确定模块256,下面对该自适应媒体流处理装置进行说明。FIG. 25 is a structural block diagram of an HTTP streaming media transmission apparatus according to an embodiment of the present invention. As shown in FIG. 25, the apparatus includes an obtaining module 252, a first determining module 254, and a second determining module 256. The description will be made in accordance with the media stream processing device.
获取模块252,设置为获取传输流中携带的自适应流媒体的位置信息和时间信息;第一确定模块254,连接至上述获取模块252,设置为根据上述位置信息确定自适应流媒体中需要与传输流进行时间轴对齐的媒体片段;第二确定模块256,连接至上述第一确定模块254,设置为根据时间信息确定自适应流媒体中媒体片段的媒体呈现时间相对于传输流时间轴的显示时间戳。The obtaining module 252 is configured to obtain the location information and the time information of the adaptive streaming media carried in the transport stream. The first determining module 254 is connected to the acquiring module 252, and is configured to determine, according to the location information, the need for the adaptive streaming media. Transmitting a time-axis aligned media segment; the second determining module 256 is coupled to the first determining module 254, configured to determine, according to the time information, a media presentation time of the media segment in the adaptive streaming media relative to a time axis of the transport stream Timestamp.
通过以上的实施方式的描述,本领域的技术人员可以清楚地了解到根据上述实施例的方法可借助软件加必需的通用硬件平台的方式来实现,当然也可以通过硬件,但很多情况下前者是更佳的实施方式。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质(如ROM/RAM、磁碟、光盘)中,包括若干指令用以使得一台终端设备(可 以是手机,计算机,服务器,或者网络设备等)执行本发明各个实施例该的方法。Through the description of the above embodiments, those skilled in the art can clearly understand that the method according to the above embodiment can be implemented by means of software plus a necessary general hardware platform, and of course, by hardware, but in many cases, the former is A better implementation. Based on such understanding, the technical solution of the present invention, which is essential or contributes to the prior art, may be embodied in the form of a software product stored in a storage medium (such as ROM/RAM, disk, CD-ROM, including a number of instructions to make a terminal device (available The method of the various embodiments of the present invention is performed by a mobile phone, a computer, a server, or a network device.
需要说明的是,上述各个模块是可以通过软件或硬件来实现的,对于后者,可以通过以下方式实现,但不限于此:上述模块均位于同一处理器中;或者,上述模块分别位于多个处理器中。It should be noted that each of the above modules may be implemented by software or hardware. For the latter, the foregoing may be implemented by, but not limited to, the foregoing modules are all located in the same processor; or, the modules are located in multiple In the processor.
本发明的实施例还提供了一种存储介质。可选地,在本实施例中,上述存储介质可以被设置为存储用于执行上述实施例的方法步骤的程序代码:Embodiments of the present invention also provide a storage medium. Optionally, in the embodiment, the storage medium may be configured to store program code for performing the method steps of the above embodiment:
可选地,存储介质还被设置为存储用于执行上述方法步骤的程序代码:Optionally, the storage medium is further arranged to store program code for performing the method steps described above:
可选地,在本实施例中,上述存储介质可以包括但不限于:U盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、移动硬盘、磁碟或者光盘等各种可以存储程序代码的介质。Optionally, in this embodiment, the foregoing storage medium may include, but not limited to, a USB flash drive, a Read-Only Memory (ROM), a Random Access Memory (RAM), a mobile hard disk, and a magnetic memory. A variety of media that can store program code, such as a disc or a disc.
可选地,在本实施例中,处理器根据存储介质中已存储的程序代码执行上述实施例的方法步骤。Optionally, in this embodiment, the processor performs the method steps of the foregoing embodiments according to the stored program code in the storage medium.
显然,本领域的技术人员应该明白,上述的本发明的各模块或各步骤可以用通用的计算装置来实现,它们可以集中在单个的计算装置上,或者分布在多个计算装置所组成的网络上,可选地,它们可以用计算装置可执行的程序代码来实现,从而,可以将它们存储在存储装置中由计算装置来执行,并且在某些情况下,可以以不同于此处的顺序执行所示出或描述的步骤,或者将它们分别制作成各个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。这样,本发明不限制于任何特定的硬件和软件结合。It will be apparent to those skilled in the art that the various modules or steps of the present invention described above can be implemented by a general-purpose computing device that can be centralized on a single computing device or distributed across a network of multiple computing devices. Alternatively, they may be implemented by program code executable by the computing device such that they may be stored in the storage device by the computing device and, in some cases, may be different from the order herein. The steps shown or described are performed, or they are separately fabricated into individual integrated circuit modules, or a plurality of modules or steps thereof are fabricated as a single integrated circuit module. Thus, the invention is not limited to any specific combination of hardware and software.
以上所述仅为本发明的优选实施例而已,并不用于限制本发明,对于本领域的技术人员来说,本发明可以有各种更改和变化。凡在本发明的精神和原则之内,所作的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。 The above description is only the preferred embodiment of the present invention, and is not intended to limit the present invention, and various modifications and changes can be made to the present invention. Any modifications, equivalent substitutions, improvements, etc. made within the spirit and scope of the present invention are intended to be included within the scope of the present invention.
工业实用性Industrial applicability
如上所述,本发明实施例提供的一种HTTP流媒体传输方法及装置,具有以下有益效果:解决了尚不存在有效的HTTP流媒体推送更新解决方案的问题,完善了HTTP流媒体传输会话中的推送更新机制。 As described above, the HTTP streaming media transmission method and apparatus provided by the embodiments of the present invention have the following beneficial effects: solving the problem that an effective HTTP streaming media push update solution does not exist, and perfecting the HTTP streaming media transmission session. Push update mechanism.

Claims (29)

  1. 一种HTTP流媒体传输方法,包括:An HTTP streaming media transmission method includes:
    发送第一媒体数据的获取请求至服务器,所述获取请求中携带第二媒体数据的推送指示;Sending an acquisition request of the first media data to the server, where the obtaining request carries a push indication of the second media data;
    接收所述服务器返回的所述第一媒体数据、所述第二媒体数据的推送应答,以及所述服务器根据所述推送应答发送的所述第二媒体数据的推送承诺;Receiving, by the server, the first media data, a push response of the second media data, and a push commitment of the second media data sent by the server according to the push response;
    发送流终止命令至所述服务器,所述流终止命令用于终止所述服务器根据所述推送承诺预留的所述第二媒体数据的推送流。Sending a flow termination command to the server, the flow termination command is configured to terminate a push flow of the second media data reserved by the server according to the push commitment.
  2. 根据权利要求1所述的方法,其中,接收所述服务器根据所述推送应答发送的所述第二媒体数据的推送承诺之后,所述方法还包括:The method of claim 1, wherein after receiving the push commitment of the second media data sent by the server according to the push response, the method further comprises:
    接收所述服务器根据所述推送承诺推送的所述第二媒体数据;Receiving, by the server, the second media data that is pushed according to the push commitment;
    发送流终止命令至所述服务器,所述流终止命令用于终止所述服务器根据所述推送承诺预留的尚未完成推送所述第二媒体数据的推送流。Sending a flow termination command to the server, the flow termination command is configured to terminate a push flow reserved by the server according to the push commitment that has not completed pushing the second media data.
  3. 根据权利要求1或2所述的方法,其中,所述发送流终止命令至所述服务器之前,所述方法还包括:The method according to claim 1 or 2, wherein before the sending of the stream termination command to the server, the method further comprises:
    在所述流终止命令中设置即时终止标记值,所述即时终止标记用于指示所述服务器在所述推送流中立即停止推送所述第二媒体数据,并终止所述推送流。An immediate termination flag value is set in the flow termination command, the immediate termination flag is used to instruct the server to immediately stop pushing the second media data in the push flow, and terminate the push flow.
  4. 根据权利要求1或2所述的方法,其中,所述发送流终止命令至所述服务器之前,所述方法还包括:The method according to claim 1 or 2, wherein before the sending of the stream termination command to the server, the method further comprises:
    在所述流终止命令中设置即时终止标记值,所述即时终止标记用于指示所述服务器在所述推送流中完成推送所述第二媒体数据,然后终止所述推送流。And setting an immediate termination flag value in the flow termination command, the immediate termination flag is used to instruct the server to complete pushing the second media data in the push flow, and then terminating the push flow.
  5. 一种HTTP流媒体传输方法,包括:An HTTP streaming media transmission method includes:
    接收客户端发送的第一媒体数据的获取请求,所述获取请求中携 带第二媒体数据的推送指示;Receiving an acquisition request of the first media data sent by the client, where the obtaining request carries Push indication with second media data;
    返回所述第一媒体数据、所述第二媒体数据的推送应答,并根据所述推送应答发送所述第二媒体数据的推送承诺至所述客户端;Returning a push response of the first media data and the second media data, and sending a push commitment of the second media data to the client according to the push response;
    接收所述客户端发送的流终止命令,并根据所述流终止命令终止根据所述推送承诺预留的所述第二媒体数据的推送流。Receiving a stream termination command sent by the client, and terminating, according to the stream termination command, a push stream of the second media data reserved according to the push commitment.
  6. 根据权利要求5所述的方法,其中,根据所述推送应答发送所述第二媒体数据的推送承诺至所述客户端之后,所述方法还包括:The method of claim 5, wherein after the sending of the push commitment of the second media data to the client according to the push response, the method further comprises:
    根据所述推送承诺推送所述第二媒体数据至所述客户端;Pushing the second media data to the client according to the push commitment;
    接收所述客户端发送的流终止命令,并根据所述流终止命令终止根据所述推送承诺预留的尚未完成推送所述第二媒体数据的推送流。Receiving a flow termination command sent by the client, and terminating, according to the flow termination command, a push flow reserved according to the push commitment that has not completed pushing the second media data.
  7. 根据权利要求5或6所述的方法,其中,所述根据所述流终止命令终止根据所述推送承诺预留的所述第二媒体数据的推送流包括:The method according to claim 5 or 6, wherein the terminating the push stream of the second media data reserved according to the push commitment according to the stream termination command comprises:
    如果所述流终止命令中存在即时终止标记,在所述推送流中立即停止推送所述第二媒体数据,并终止所述推送流;If there is an immediate termination flag in the stream termination command, immediately stopping pushing the second media data in the push stream, and terminating the push stream;
    如果所述流终止命令中不存在即时终止标记,在所述推送流中完成推送所述第二媒体数据,然后终止所述推送流。If there is no immediate termination flag in the stream termination command, the second media data is pushed in the push stream, and then the push stream is terminated.
  8. 一种HTTP流媒体传输方法,包括:An HTTP streaming media transmission method includes:
    发送第一媒体数据的获取请求至服务器,所述获取请求中携带第二媒体数据的推送更新指示;Sending an acquisition request of the first media data to the server, where the obtaining request carries a push update indication of the second media data;
    接收所述服务器返回的所述第一媒体数据,以及所述第二媒体数据的推送更新应答;Receiving, by the server, the first media data returned by the server, and a push update response of the second media data;
    接收所述服务器发送的流终止命令,根据所述流终止命令终止接收所述服务器推送的所述第二媒体数据。Receiving a stream termination command sent by the server, and terminating receiving the second media data pushed by the server according to the stream termination command.
  9. 根据权利要求8所述的方法,其中,所述发送第一媒体数据的获取请求至服务器之后,所述方法还包括:The method of claim 8, wherein after the sending the acquisition request of the first media data to the server, the method further comprises:
    接收所述服务器发送的所述第二媒体数据的推送承诺; Receiving a push commitment of the second media data sent by the server;
    接收所述服务器发送的流终止命令,根据所述流终止命令终止接收所述服务器根据所述推送承诺尚未完成推送的所述第二媒体数据。Receiving a stream termination command sent by the server, and terminating receiving, according to the stream termination command, the second media data that the server has not completed pushing according to the push commitment.
  10. 根据权利要求8或9所述的方法,其中,接收所述第二媒体数据的推送更新应答之后,所述方法还包括:The method of claim 8 or 9, wherein after receiving the push update response of the second media data, the method further comprises:
    接收所述服务器根据所述推送更新应答发送的第三媒体数据的推送承诺;Receiving a push commitment of the third media data sent by the server according to the push update response;
    接收所述服务器根据所述推送承诺推送的所述第三媒体数据。Receiving, by the server, the third media data that is pushed according to the push commitment.
  11. 一种HTTP流媒体传输方法,包括:An HTTP streaming media transmission method includes:
    接收客户端发送的第一媒体数据的获取请求,所述获取请求中携带第二媒体数据的推送更新指示;Receiving an acquisition request of the first media data sent by the client, where the obtaining request carries a push update indication of the second media data;
    返回所述第一媒体数据,以及所述第二媒体数据的推送更新应答至所述客户端;Returning the first media data, and the push update response of the second media data to the client;
    发送流终止命令至所述客户端,所述流终止命令用于终止预留的所述第二媒体数据的推送流。Sending a stream termination command to the client, the stream termination command is used to terminate the reserved push stream of the second media data.
  12. 根据权利要求11所述的方法,其中,所述接收客户端发送的第一媒体数据的获取请求之后,所述方法还包括:The method according to claim 11, wherein after the receiving the acquisition request of the first media data sent by the client, the method further comprises:
    发送所述第二媒体数据的推送承诺至所述客户端;Sending a push commitment of the second media data to the client;
    发送流终止命令至所述客户端,所述流终止命令用于终止根据所述推送承诺预留的尚未完成推送所述第二媒体数据的推送流。Sending a flow termination command to the client, the flow termination command is configured to terminate a push flow reserved according to the push commitment that has not completed pushing the second media data.
  13. 根据权利要求11或12所述的方法,其中,所述返回所述第二媒体数据的推送更新应答至所述客户端之后,所述方法还包括:The method according to claim 11 or 12, wherein after the returning the push update response of the second media data to the client, the method further comprises:
    根据所述推送更新应答发送第三媒体数据的推送承诺至所述客户端;Sending a push commitment of the third media data to the client according to the push update response;
    根据所述推送承诺推送所述第三媒体数据至所述客户端。Pushing the third media data to the client according to the push commitment.
  14. 根据权利要求11或12所述的方法,其中,所述发送流终止命令至所述客户端,所述流终止命令用于终止预留的所述第二媒体数 据的推送流包括:The method according to claim 11 or 12, wherein said sending a stream termination command to said client, said stream termination command is for terminating said reserved second number of media The push stream is based on:
    如果所述推送更新指示中存在即时终止标记,在所述推送流中立即发送流终止命令至所述客户端,终止所述推送流;If there is an immediate termination flag in the push update indication, immediately send a stream termination command to the client in the push stream to terminate the push stream;
    如果所述推送更新指示中不存在即时终止标记,完成所述推送流中正在推送的所述第二媒体数据至所述客户端,然后在所述推送流中发送流终止命令至所述客户端,终止所述推送流。If the immediate termination flag does not exist in the push update indication, completing the second media data being pushed in the push stream to the client, and then sending a stream termination command to the client in the push stream Ending the push stream.
  15. 一种HTTP流媒体传输装置,位于终端中,包括:An HTTP streaming media transmission device is located in the terminal and includes:
    第一发送模块,设置为发送第一媒体数据的获取请求至服务器,所述获取请求中携带第二媒体数据的推送指示;The first sending module is configured to send an acquisition request of the first media data to the server, where the obtaining request carries a push indication of the second media data;
    第一接收模块,设置为接收所述服务器返回的所述第一媒体数据、所述第二媒体数据的推送应答,以及所述服务器根据所述推送应答发送的所述第二媒体数据的推送承诺;a first receiving module, configured to receive the first media data returned by the server, a push response of the second media data, and a push commitment of the second media data sent by the server according to the push response ;
    第二发送模块,设置为发送流终止命令至所述服务器,所述流终止命令用于终止所述服务器根据所述推送承诺预留的所述第二媒体数据的推送流。And a second sending module, configured to send a stream termination command to the server, where the stream termination command is used to terminate the push stream of the second media data reserved by the server according to the push commitment.
  16. 根据权利要求15所述的装置,其中,所述装置还包括:The apparatus of claim 15 wherein said apparatus further comprises:
    第二接收模块,设置为接收所述服务器根据所述推送应答发送的所述第二媒体数据的推送承诺之后,接收所述服务器根据所述推送承诺推送的所述第二媒体数据;The second receiving module is configured to receive, after receiving the push commitment of the second media data sent by the server according to the push response, the second media data that is sent by the server according to the push commitment;
    第三发送模块,设置为发送流终止命令至所述服务器,所述流终止命令用于终止所述服务器根据所述推送承诺预留的尚未完成推送所述第二媒体数据的推送流。And a third sending module, configured to send a flow termination command to the server, where the flow termination command is used to terminate a push flow reserved by the server according to the push commitment that has not completed pushing the second media data.
  17. 根据权利要求15或16所述的装置,其中,所述装置还包括:The device according to claim 15 or 16, wherein the device further comprises:
    第一设置模块,设置为所述发送流终止命令至所述服务器之前,在所述流终止命令中设置即时终止标记值,所述即时终止标记用于指示所述服务器在所述推送流中立即停止推送所述第二媒体数据,并终 止所述推送流。a first setting module, configured to set an immediate termination flag value in the flow termination command before the sending a flow termination command to the server, where the immediate termination flag is used to indicate that the server is immediately in the push flow Stop pushing the second media data and end Stop the push flow.
  18. 根据权利要求15或16所述的装置,其中,所述装置还包括:The device according to claim 15 or 16, wherein the device further comprises:
    第二设置模块,设置为所述发送流终止命令至所述服务器之前,在所述流终止命令中设置即时终止标记值,所述即时终止标记用于指示所述服务器在所述推送流中完成推送所述第二媒体数据,然后终止所述推送流。a second setting module, configured to set an immediate termination flag value in the flow termination command before the sending a flow termination command to the server, where the immediate termination flag is used to indicate that the server is completed in the push flow Pushing the second media data and then terminating the push stream.
  19. 一种HTTP流媒体传输装置,位于服务器中,包括:An HTTP streaming media transmission device, located in a server, comprising:
    第四接收模块,设置为接收客户端发送的第一媒体数据的获取请求,所述获取请求中携带第二媒体数据的推送指示;The fourth receiving module is configured to receive a request for acquiring the first media data sent by the client, where the acquiring request carries a push indication of the second media data;
    第四发送模块,设置为返回所述第一媒体数据、所述第二媒体数据的推送应答,并根据所述推送应答发送所述第二媒体数据的推送承诺至所述客户端;a fourth sending module, configured to return a push response of the first media data and the second media data, and send a push commitment of the second media data to the client according to the push response;
    第五接收模块,设置为接收所述客户端发送的流终止命令,并根据所述流终止命令终止根据所述推送承诺预留的所述第二媒体数据的推送流。The fifth receiving module is configured to receive a stream termination command sent by the client, and terminate the push stream of the second media data reserved according to the push commitment according to the stream termination command.
  20. 根据权利要求19所述的装置,其中,所述装置还包括:The device of claim 19, wherein the device further comprises:
    第五发送模块,设置为根据所述推送应答发送所述第二媒体数据的推送承诺至所述客户端之后,根据所述推送承诺推送所述第二媒体数据至所述客户端;The fifth sending module is configured to: after sending the push commitment of the second media data to the client according to the push response, pushing the second media data to the client according to the push commitment;
    第六接收模块,设置为接收所述客户端发送的流终止命令,并根据所述流终止命令终止根据所述推送承诺预留的尚未完成推送所述第二媒体数据的推送流。And a sixth receiving module, configured to receive a flow termination command sent by the client, and terminate, according to the flow termination command, a push flow reserved according to the push commitment that has not completed pushing the second media data.
  21. 根据权利要求19或20所述的装置,其中,所述第五接收模块包括:The apparatus according to claim 19 or 20, wherein the fifth receiving module comprises:
    第一终止单元,设置为如果所述流终止命令中存在即时终止标记,在所述推送流中立即停止推送所述第二媒体数据,并终止所述推送流; a first termination unit, configured to immediately stop pushing the second media data in the push flow if the immediate termination flag exists in the flow termination command, and terminate the push flow;
    第二终止单元,设置为如果所述流终止命令中不存在即时终止标记,在所述推送流中完成推送所述第二媒体数据,然后终止所述推送流。And a second terminating unit configured to: if the instant termination flag does not exist in the stream termination command, complete the pushing of the second media data in the push stream, and then terminate the push stream.
  22. 一种HTTP流媒体传输装置,位于终端中,包括:An HTTP streaming media transmission device is located in the terminal and includes:
    第六发送模块,设置为发送第一媒体数据的获取请求至服务器,所述获取请求中携带第二媒体数据的推送更新指示;a sixth sending module, configured to send an acquisition request of the first media data to the server, where the obtaining request carries a push update indication of the second media data;
    第七接收模块,设置为接收所述服务器返回的所述第一媒体数据,以及所述第二媒体数据的推送更新应答;a seventh receiving module, configured to receive the first media data returned by the server, and a push update response of the second media data;
    第八接收模块,设置为接收所述服务器发送的流终止命令,根据所述流终止命令终止接收所述服务器推送的所述第二媒体数据。The eighth receiving module is configured to receive a stream termination command sent by the server, and terminate receiving the second media data pushed by the server according to the stream termination command.
  23. 根据权利要求22所述的装置,其中,所述装置还包括:The device of claim 22, wherein the device further comprises:
    第九接收模块,设置为所述发送第一媒体数据的获取请求至服务器之后,接收所述服务器发送的所述第二媒体数据的推送承诺;a ninth receiving module, configured to receive a push commitment of the second media data sent by the server, after the sending the sending request of the first media data to the server;
    第十接收模块,设置为接收所述服务器发送的流终止命令,根据所述流终止命令终止接收所述服务器根据所述推送承诺尚未完成推送的所述第二媒体数据。The tenth receiving module is configured to receive a stream termination command sent by the server, and terminate receiving, according to the stream termination command, the second media data that the server has not completed pushing according to the push commitment.
  24. 根据权利要求22或23所述的装置,其中,所述装置还包括:The device according to claim 22 or 23, wherein the device further comprises:
    第十一接收模块,设置为接收所述第二媒体数据的推送更新应答之后,接收所述服务器根据所述推送更新应答发送的第三媒体数据的推送承诺;The eleventh receiving module is configured to receive, after receiving the push update response of the second media data, a push commitment of the third media data sent by the server according to the push update response;
    第十二接收模块,设置为接收所述服务器根据所述推送承诺推送的所述第三媒体数据。The twelfth receiving module is configured to receive the third media data that is pushed by the server according to the push commitment.
  25. 一种HTTP流媒体传输装置,位于服务器中,包括:An HTTP streaming media transmission device, located in a server, comprising:
    第十三接收模块,设置为接收客户端发送的第一媒体数据的获取请求,所述获取请求中携带第二媒体数据的推送更新指示;a thirteenth receiving module, configured to receive a request for acquiring the first media data sent by the client, where the obtaining request carries a push update indication of the second media data;
    第七发送模块,设置为返回所述第一媒体数据,以及所述第二媒 体数据的推送更新应答至所述客户端;a seventh sending module, configured to return the first media data, and the second media Push update response of the volume data to the client;
    第八发送模块,设置为发送流终止命令至所述客户端,所述流终止命令用于终止预留的所述第二媒体数据的推送流。And an eighth sending module, configured to send a stream termination command to the client, where the stream termination command is used to terminate the reserved push stream of the second media data.
  26. 根据权利要求25所述的装置,其中,所述装置还包括:The device of claim 25, wherein the device further comprises:
    第九发送模块,设置为所述接收客户端发送的第一媒体数据的获取请求之后,发送所述第二媒体数据的推送承诺至所述客户端;The ninth sending module is configured to send the push commitment of the second media data to the client after receiving the acquiring request of the first media data sent by the client;
    第十发送模块,设置为发送流终止命令至所述客户端,所述流终止命令用于终止根据所述推送承诺预留的尚未完成推送所述第二媒体数据的推送流。And a tenth sending module, configured to send a stream termination command to the client, where the stream termination command is used to terminate the push stream reserved according to the push commitment that has not completed pushing the second media data.
  27. 根据权利要求25或26所述的装置,其中,所述装置还包括:The device of claim 25 or 26, wherein the device further comprises:
    第十一发送模块,设置为所述返回所述第一媒体数据,以及所述第二媒体数据的推送更新应答至所述客户端之后,根据所述推送更新应答发送第三媒体数据的推送承诺至所述客户端;The eleventh sending module is configured to: after the returning the first media data, and the push update response of the second media data to the client, send a push commitment of the third media data according to the push update response To the client;
    第十二发送模块,设置为根据所述推送承诺推送所述第三媒体数据至所述客户端。The twelfth sending module is configured to push the third media data to the client according to the push commitment.
  28. 根据权利要求25或26所述的装置,其中,所述第八发送模块包括:The apparatus according to claim 25 or 26, wherein said eighth transmitting module comprises:
    第三终止单元,设置为如果所述推送更新指示中存在即时终止标记,在所述推送流中立即发送流终止命令至所述客户端,终止所述推送流;a third termination unit, configured to immediately send a flow termination command to the client in the push flow to terminate the push flow if an immediate termination flag exists in the push update indication;
    第四终止单元,设置为如果所述推送更新指示中不存在即时终止标记,完成所述推送流中正在推送的所述第二媒体数据至所述客户端,然后在所述推送流中发送流终止命令至所述客户端,终止所述推送流。a fourth termination unit, configured to: if the immediate termination flag does not exist in the push update indication, complete the second media data being pushed in the push stream to the client, and then send the stream in the push stream Terminating the command to the client, terminating the push stream.
  29. 一种存储介质,设置为存储用于执行如权利要求1至14中任一项所述的HTTP流媒体传输方法的计算机程序。 A storage medium arranged to store a computer program for performing the HTTP streaming media transmission method according to any one of claims 1 to 14.
PCT/CN2016/112430 2015-12-31 2016-12-27 Http streaming media transmission method and device WO2017114393A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201511033565.0 2015-12-31
CN201511033565.0A CN106936808B (en) 2015-12-31 2015-12-31 HTTP streaming media transmission method and device

Publications (1)

Publication Number Publication Date
WO2017114393A1 true WO2017114393A1 (en) 2017-07-06

Family

ID=59224571

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/112430 WO2017114393A1 (en) 2015-12-31 2016-12-27 Http streaming media transmission method and device

Country Status (2)

Country Link
CN (1) CN106936808B (en)
WO (1) WO2017114393A1 (en)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111654725B (en) * 2019-03-04 2021-12-21 北京开广信息技术有限公司 Real-time receiving method and client of media stream

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20150032804A1 (en) * 2013-07-26 2015-01-29 Canon Kabushiki Kaisha Method and server device for exchanging information items with a plurality of client entities
GB2517060A (en) * 2013-07-12 2015-02-11 Canon Kk Adaptive data streaming method with push messages control
CN104408132A (en) * 2014-11-28 2015-03-11 北京京东尚科信息技术有限公司 Data push method and system
CN104704485A (en) * 2012-07-19 2015-06-10 格兰斯电讯网络有限公司 Integrating co-browsing with other forms of information sharing
GB2527149A (en) * 2014-06-12 2015-12-16 Canon Kk Improved adaptative persistent push

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CA2784233C (en) * 2010-01-18 2017-05-16 Telefonaktiebolaget L M Ericsson (Publ) Methods and arrangements for http media stream distribution
US9813515B2 (en) * 2013-10-04 2017-11-07 Akamai Technologies, Inc. Systems and methods for caching content with notification-based invalidation with extension to clients
CN103716371A (en) * 2013-10-31 2014-04-09 国家电网公司 Web real-time data active pushing method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104704485A (en) * 2012-07-19 2015-06-10 格兰斯电讯网络有限公司 Integrating co-browsing with other forms of information sharing
GB2517060A (en) * 2013-07-12 2015-02-11 Canon Kk Adaptive data streaming method with push messages control
US20150032804A1 (en) * 2013-07-26 2015-01-29 Canon Kabushiki Kaisha Method and server device for exchanging information items with a plurality of client entities
GB2527149A (en) * 2014-06-12 2015-12-16 Canon Kk Improved adaptative persistent push
CN104408132A (en) * 2014-11-28 2015-03-11 北京京东尚科信息技术有限公司 Data push method and system

Also Published As

Publication number Publication date
CN106936808B (en) 2021-01-26
CN106936808A (en) 2017-07-07

Similar Documents

Publication Publication Date Title
EP2797287B1 (en) Method and apparatus for supporting time shift playback in adaptive HTTP streaming transmission solution
US10263875B2 (en) Real-time processing capability based quality adaptation
US8516144B2 (en) Startup bitrate in adaptive bitrate streaming
US9596522B2 (en) Fragmented file structure for live media stream delivery
US20140032777A1 (en) Method, apparatus, and system for transmitting and processing media content
US20130013803A1 (en) Method for recovering content streamed into chunk
CN108063769B (en) Method and device for realizing content service and content distribution network node
CN107124668B (en) Streaming transmission device and method, streaming transmission service system, and recording medium
CN107819809B (en) Method and device for synchronizing content
EP2493191B1 (en) Method, device and system for realizing hierarchically requesting content in http streaming system
CN109587514B (en) Video playing method, medium and related device
US10958972B2 (en) Channel change method and apparatus
BR112014013006B1 (en) Device and method for fetching content over at least two transport protocols having different requirements in terms of available network bandwidth
JP6436772B2 (en) Method for dynamically adapting received bit rate and associated receiver
EP3047627B1 (en) Dash representations adaptations in network
US20110299586A1 (en) Quality adjustment using a fragmented media stream
KR20130005873A (en) Method and apparatus for receiving contents in broadcast system
WO2017063574A1 (en) Streaming media adaptive transmission method and device
JP6359539B2 (en) Control during rendering
EP3391652A1 (en) Controlling retrieval in adaptive streaming
KR20170141677A (en) Receiving device, transmitting device and data processing method
EP2477397A1 (en) Handling the initialization for HTTP streaming of multimedia files via parallel TCP connections
JP2014090419A (en) Method for downloading content according to communication parameter, and related content receiver
WO2012041039A1 (en) Method, correlative equipment and system for digital tv terminal accessing internet video
WO2017114393A1 (en) Http streaming media transmission method and device

Legal Events

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

Ref document number: 16881182

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

Country of ref document: EP

Kind code of ref document: A1