WO2017063574A1 - Procédé et dispositif de transmission adaptative de données multimédias diffusées en continu - Google Patents

Procédé et dispositif de transmission adaptative de données multimédias diffusées en continu Download PDF

Info

Publication number
WO2017063574A1
WO2017063574A1 PCT/CN2016/102032 CN2016102032W WO2017063574A1 WO 2017063574 A1 WO2017063574 A1 WO 2017063574A1 CN 2016102032 W CN2016102032 W CN 2016102032W WO 2017063574 A1 WO2017063574 A1 WO 2017063574A1
Authority
WO
WIPO (PCT)
Prior art keywords
push
media data
media
server
client
Prior art date
Application number
PCT/CN2016/102032
Other languages
English (en)
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 WO2017063574A1 publication Critical patent/WO2017063574A1/fr

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26241Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the time of distribution, e.g. the best time of the day for inserting an advertisement or airing a children program
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26208Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints
    • H04N21/26216Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists the scheduling operation being performed under constraints involving the channel capacity, e.g. network bandwidth
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments

Definitions

  • the present invention relates to the field of communications, and in particular to an adaptive streaming media transmission method and apparatus.
  • HTTP streaming (HTTP Streaming) is 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.
  • 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;
  • CDN Content Delivery Network
  • Policy client polling
  • Figure 1 is a schematic diagram of PULL mode transmission in HTTP streaming technology according to the related art, as shown in Figure 1.
  • the existing 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 duration of the media segment playback. Limited 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 2.0 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 can greatly reduce transmission overhead and latency. 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 subsequent available media segments to the client according to the push policy.
  • Push Strategy media segment push strategy
  • the Media Presentation Description 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.
  • URL Uniform Resource Locator
  • the client can select and download the media segment adapted to the currently available network bandwidth and terminal decoding and rendering capabilities according to the information in the MPD file.
  • the client can access the corresponding media segment based on the URL information provided in the MPD file only within the media clip availability time range.
  • the @availabilityStartTime field and the @availabilityEndTime field are defined in the MPD file to provide the earliest start time and the latest end time of streaming media playback, respectively.
  • the client can calculate the availability start time and the availability termination time of each media segment according to the time information in the MPD file, and any media segment can only be accessed between the two time points.
  • FIG. 3 is a schematic diagram 1 of media segment accessibility in the HTTP streaming media technology according to the related art.
  • the client when requesting to acquire a media segment, the client should according to the local clock time value tnow and the MPD file synchronized with the server end.
  • Medium time information for example, the start time, duration, etc.
  • the calculation availability start time is less than or equal to tnow and the availability termination time is greater than or equal to the tnow media segment, and the currently accessible media segment list is obtained. Further determining the next request to obtain the media segment URL (ie, the media segment corresponding to the tnext time number #N in the figure), and triggering the corresponding HTTP request operation.
  • the streaming media system implemented by HTTP 2.0 protocol binding allows the server to actively push subsequent media segments according to the "pushing policy" reached with the client, so as to reduce the live broadcast delay and reduce the request.
  • the purpose of the overhead. 4 is a second schematic diagram of media segment accessibility in the HTTP streaming media technology according to the related art. As shown in FIG. 4, the client may request to push subsequent K media segments or push a subsequent media segment with a playback time of T seconds. .
  • the "availability" and the "pushing policy" of the media segment transmitted in the push mode are independent of each other, that is, the media segment requested to be pushed in the "pushing policy” may not be all available at the time of sending the request by the client (ie, the number in the figure is #N+J+1 ⁇ #N+K media clips). Therefore, how to achieve the video streaming media transmission while fully utilizing the "push" feature of the HTTP 2.0 server, satisfying the accessibility limitation of the media segment is a problem that needs to be studied and solved at present.
  • the present invention provides an adaptive streaming media transmission method and apparatus to at least solve the problem of accessibility limitation of push media data existing when video streaming media transmission is performed by using the server "push" feature in the related art.
  • an adaptive streaming media transmission method including:
  • the method before sending the first media data acquisition request to the server, the method includes:
  • the push indication of the second media data includes push condition information, and the push condition information is used to request the server to send a push commitment for the media data that is not accessible in the push indication of the second media data.
  • the method includes:
  • the push condition information is set as a push wait time, and the push wait time is used to set an upper limit of a waiting time for the push commitment of the second media data to be sent by the server after receiving the first media data acquisition request.
  • the method includes:
  • the push condition information is set to a push wait time with a value of zero, and the push wait time is used to request the server to push all the media data referenced in the push indication of the second media data.
  • the method includes:
  • the push threshold is used to set the server to use the first media data as an initial index, and push a lower limit of the quantity of media data in the second media data; or, the push The threshold is used to set a lower limit of the media time of the media data in the second media data from the media time of the first media data.
  • receiving a push response of the second media data returned by the server includes:
  • receiving a push commitment of the second media data that is sent by the server according to the push response includes:
  • receiving a push commitment of the second media data that is sent by the server according to the push response includes:
  • an adaptive streaming media transmission method including:
  • the method before returning the push response of the second media data to the client, the method includes:
  • push condition information including a push instruction request of the second media data
  • sending the push commitment of the second media data to the client according to the push response includes:
  • sending the push commitment of the second media data to the client according to the push condition information returned in the push response includes:
  • the push commitment of the second media data is sent to the client within the push waiting time from receiving the first media data acquisition request.
  • sending the push commitment of the second media data to the client according to the push condition information returned in the push response includes:
  • the push condition information is a push waiting time with a value of zero, all media data referenced in the push instruction of the second media data is pushed to the client.
  • sending the push commitment of the second media data to the client according to the push condition information returned in the push response includes:
  • the push condition information is a push threshold
  • the first media data is used as an initial index, and at least the media data in the second media data with the push threshold is a lower limit is pushed to the client; Or, at least the media data in the second media data with the push threshold being the media time lower limit is pushed to the client from the media time of the first media data.
  • an adaptive streaming media transmission device is further provided on the terminal side, including:
  • the first sending module is configured to send a first media data obtaining request to the server, where the obtaining request carries a push indication of the second media data;
  • a first receiving module configured to receive a push response of the first media data and the second media data returned by the server, and receive a push of the second media data sent by the server according to the push response committed to;
  • the second receiving module is configured to receive the second media data that is sent by the server according to the push commitment.
  • the device further includes:
  • a first setting module configured to set, before sending the first media data acquisition request to the server, push condition information included in the push indication of the second media data, where the push condition information is used to request the server to be the first
  • the non-accessible media data referenced in the push indication of the second media data sends a push commitment.
  • the first setting module includes:
  • a first setting unit configured to set the push condition information to be a push wait time, where the push wait time is used to set the server to send the push of the second media data after receiving the first media data acquisition request The maximum waiting time for commitment.
  • the first setting module includes:
  • a second setting unit configured to set the push condition information to a push waiting time with a value of zero, the push waiting time for requesting the server to push all the media data referenced in the push indication of the second media data .
  • the first setting module includes:
  • a third setting unit configured to set the push condition information to be a push threshold, where the push threshold is used to set the server to use the first media data as an initial index, and push the quantity of media data in the second media data The lower limit is used; or the push threshold is used to set a lower limit of the media time of the media data in the second media data from the media time of the first media data.
  • the first receiving module includes:
  • the first receiving unit is configured to receive a push response of the second media data returned by the server, and the push response of the second media data includes push condition information requested in the second media data push instruction.
  • the first receiving module includes:
  • the second receiving unit is configured to receive a push commitment of the second media data that is sent by the server according to the push parameter value returned by the push response.
  • the first receiving module includes:
  • the third receiving unit is configured to receive a push commitment of the second media data that is sent by the server according to the push condition information returned by the push response.
  • an adaptive streaming media transmission device is further provided on the server side, including:
  • a third receiving module 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
  • a fourth receiving module configured to return a push response of the first media data and the second media data to the client, and send a push commitment of the second media data to the client according to the push response End
  • the second sending module is configured to push the second media data to the client according to the push commitment.
  • the device further includes:
  • a second setting module configured to set, before returning the push response of the second media data to the client, a push condition information including a push indication request of the second media data in a push response of the second media data And sending a push commitment for the inaccessible media data referenced in the push indication of the second media data.
  • the second sending module includes:
  • the first sending unit is configured to send a data push commitment of the second media to the client according to the push parameter value returned in the push response;
  • the second sending unit is configured to send a push commitment of the second media data to the client according to the push condition information returned in the push response.
  • the second sending module includes:
  • the third sending unit is configured to, when the push condition information is the push waiting time, send the push commitment of the second media data in the push waiting time from receiving the first media data obtaining request To the client.
  • the second sending module includes:
  • the fourth transmitting unit is configured to push all the media data referenced in the push instruction of the second media data to the client when the push condition information is a push waiting time with a value of zero.
  • the second sending module includes:
  • the fifth sending unit is configured to: when the push condition information is a push threshold, use the first media data as an initial index to push at least the media in the second media data with the push threshold as a lower limit Data is sent to the client; or, at least from the media time of the first media data, the media data in the second media data with the push threshold being the media time lower limit is pushed to the client.
  • Another embodiment of the present invention provides a computer storage medium storing execution instructions for performing the method in the above embodiments.
  • the first media data acquisition request is sent to the server, and the acquisition request carries a push indication of the second media data; receiving the first media data returned by the server and the push response of the second media data, and receiving the Receiving, by the server, the push commitment of the second media data sent according to the push response; receiving the second media data pushed by the server according to the push commitment, and solving the push media data existing when the video streaming media is transmitted by using the server “push” feature
  • the problem of accessibility limitation enables efficient, low-latency adaptive streaming media transmission based on full-duplex transmission protocol binding.
  • FIG. 1 is a schematic diagram of PULL mode transmission according to the related art HTTP streaming technology
  • FIG. 2 is a schematic diagram of PUSH mode transmission in an HTTP streaming media technology according to the related art
  • FIG. 3 is a schematic diagram 1 of media segment accessibility in an HTTP streaming media technology according to the related art
  • FIG. 4 is a schematic diagram 2 of media segment accessibility in an HTTP streaming media technology according to the related art
  • FIG. 5 is a flowchart 1 of an adaptive streaming media transmission method according to an embodiment of the present invention.
  • FIG. 6 is a second flowchart of an adaptive streaming media transmission method according to an embodiment of the present invention.
  • FIG. 7 is a structural block diagram 1 of an adaptive streaming media transmission apparatus according to an embodiment of the present invention.
  • FIG. 8 is a structural block diagram 2 of an adaptive streaming media transmission apparatus according to an embodiment of the present invention.
  • FIG. 9 is a structural diagram of an adaptive streaming media system according to an embodiment of the present invention.
  • FIG. 10 is a flowchart 1 of an adaptive streaming media transmission method according to an alternative embodiment of the present invention.
  • FIG. 11 is a second flowchart of an adaptive streaming media transmission method according to an alternative embodiment of the present invention.
  • FIG. 12 is a flowchart 3 of an adaptive streaming media transmission method according to an alternative embodiment of the present invention.
  • FIG. 13 is a flowchart 4 of an adaptive streaming media transmission method according to an alternative embodiment of the present invention.
  • 15 is a flowchart 6 of an adaptive streaming media transmission method according to an alternative embodiment of the present invention.
  • 16 is a flowchart 7 of an adaptive streaming media transmission method according to an alternative embodiment of the present invention.
  • 17 is a flowchart 8 of an adaptive streaming media transmission method according to an alternative embodiment of the present invention.
  • FIG. 18 is a flowchart IX of an adaptive streaming media transmission method according to an alternative embodiment of the present invention.
  • FIG. 19 is a flowchart 10 of an adaptive streaming media transmission method according to an alternative embodiment of the present invention.
  • 20 is a flow chart 1 of message interaction of an adaptive streaming media transmission method according to an embodiment of the present invention.
  • 21 is a flow chart 2 of message interaction of an adaptive streaming media transmission method according to an embodiment of the present invention.
  • FIG. 22 is a flowchart 3 of message interaction of an adaptive streaming media transmission method according to an embodiment of the present invention.
  • 23 is a message interaction flowchart 4 of an adaptive streaming media transmission method according to an embodiment of the present invention.
  • FIG. 24 is a structural block diagram 3 of an adaptive streaming media transmission apparatus according to an embodiment of the present invention.
  • FIG. 5 is a flowchart 1 of an adaptive streaming media transmission method according to an embodiment of the present invention. As shown in FIG. 5, the process includes the following steps:
  • Step S502 sending a first media data acquisition request to the server, where the acquisition request carries a push indication of the second media data;
  • Step S504 Receive a push response of the first media data and the second media data returned by the server, and receive a push commitment of the second media data sent by the server according to the push response.
  • Step S506 receiving the second media data that the server pushes according to the push commitment.
  • the push indication of the second media data is set to include push condition information, where the push condition information is used to request the server to be a push indication of the second media data.
  • the push condition information is set as a push waiting time, and the push waiting time is used to set an upper limit of the waiting time for the push commitment of the second media data to be sent by the server after receiving the first media data obtaining request.
  • the push condition information is set to a push waiting time with a value of zero, and the push waiting time is used to request the server to push all the media data referenced in the push indication of the second media data.
  • the push condition information is set as a push threshold, and the push threshold is used to set the server to use the first media data as an initial index to push a lower limit of the quantity of media data in the second media data; or, the push The threshold is used to set a lower limit of the media time of the media data in the second media data from the media time of the first media data.
  • receiving the push response of the second media data returned by the server includes: receiving a push response of the second media data returned by the server, where the push response of the second media data includes the second media data push indication Push condition information requested in .
  • receiving the push commitment of the second media data sent by the server according to the push response comprises: receiving a push commitment of the second media data sent by the server according to the push parameter value returned by the push response; or And receiving a push commitment of the second media data sent by the server according to the push condition information returned by the push response.
  • FIG. 6 is a second flowchart of an adaptive streaming media transmission method according to an embodiment of the present invention. As shown in FIG. 6, the process includes the following steps:
  • Step S602 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;
  • Step S604 returning the first media data and the push response of the second media data to the client, and sending a push commitment of the second media data to the client according to the push response;
  • Step S606 pushing the second media data to the client according to the push commitment.
  • setting a push condition information including a push instruction request of the second media data in the push response of the second media data, for The push data commitment is not transmitted by the media data that is not accessible in the push indication of the second media data.
  • sending the push commitment of the second media data to the client according to the push response includes: sending a push commitment of the second media data to the client according to the push parameter value returned in the push response; Sending a push commitment of the second media data to the client according to the push condition information returned in the push response.
  • sending the push commitment of the second media data to the client includes:
  • the push commitment of the second media data is transmitted to the client within the push waiting time from the receipt of the first media data acquisition request.
  • sending the push commitment of the second media data to the client according to the push condition information returned in the push response includes:
  • the push condition information is a push waiting time with a value of zero, all media data referenced in the push instruction of the second media data is pushed to the client.
  • sending the push commitment of the second media data to the client according to the push condition information returned in the push response includes:
  • the push condition information is a push threshold
  • the first media data is used as an initial index, and at least the media data in the second media data with the push threshold is a lower limit is pushed to the client; or The media data of the media data is at least pushed to the client in the second media data with the push threshold being the media time lower limit.
  • An adaptive streaming media transmission device is also provided in the embodiment, and the device is used to implement the foregoing embodiments and preferred embodiments, and details are not described herein.
  • the term "module” may implement a combination of software and/or hardware of a predetermined function.
  • 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.
  • FIG. 7 is a structural block diagram of an adaptive streaming media transmission apparatus according to an embodiment of the present invention. As shown in FIG. 7, the apparatus is located on the terminal side, and includes:
  • the first sending module 72 is configured to send a first media data obtaining request to the server, where the obtaining request carries a push indication of the second media data;
  • the first receiving module 74 is configured to receive the first media data returned by the server and the push response of the second media data, and receive a push commitment of the second media data sent by the server according to the push response;
  • the second receiving module 76 is configured to receive the second media data that the server pushes according to the push commitment.
  • the first sending module 72 sends a first media data obtaining request to the server, where the obtaining request carries a push indication of the second media data, and the first receiving module 74 receives the first media data returned by the server and the first Transmitting a response of the second media data, and receiving a push commitment of the second media data sent by the server according to the push response, the second receiving module 76 receiving the second media data that is pushed by the server according to the push commitment, and solving the utilization server
  • the "push" feature enables the accessibility limitation of push media data when video streaming is performed, and realizes efficient and low-latency adaptive streaming media transmission based on full-duplex transmission protocol binding.
  • the device further includes:
  • the first setting module is configured to: before sending the first media data acquisition request to the server, set the push condition information included in the push indication of the second media data, where the push condition information is used to request the server to be the second media data
  • a push commitment is sent by the inaccessible media data referenced in the push indication.
  • the first setting module includes:
  • the first setting unit is configured to set the push condition information to be a push waiting time, where the push waiting time is used to set an upper waiting time limit for the push commitment of the second media data to be sent by the server after receiving the first media data obtaining request .
  • the first setting module includes:
  • the second setting unit is configured to set the push condition information to a push waiting time with a value of zero, and the push waiting time is used to request the server to push all the media data referenced in the push indication of the second media data.
  • the first setting module includes:
  • a third setting unit configured to set the push condition information to be a push threshold, where the push threshold is used to set the server to use the first media data as an initial index to push a lower limit of the quantity of media data in the second media data; or The push threshold is used to set a lower limit of the media time of the media data in the second media data from the media time of the first media data.
  • the first receiving module 74 includes:
  • the first receiving unit is configured to receive a push response of the second media data returned by the server, and the push response of the second media data includes push condition information requested in the second media data push instruction.
  • the first receiving module 74 includes:
  • the second receiving unit is configured to receive a push commitment of the second media data that is sent by the server according to the push parameter value returned by the push response.
  • the first receiving module 74 includes:
  • the third receiving unit is configured to receive a push commitment of the second media data that is sent by the server according to the push condition information returned by the push response.
  • FIG. 8 is a structural block diagram 2 of an adaptive streaming media transmission apparatus according to an embodiment of the present invention. As shown in FIG. 8, the apparatus is located on the server side, and includes:
  • the third receiving module 82 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;
  • the fourth receiving module 84 is configured to return a push response of the first media data and the second media data to the client, and send a push commitment of the second media data to the client according to the push response;
  • the second sending module 86 is configured to push the second media data to the client according to the push commitment.
  • the third receiving module 82 receives the request for acquiring the first media data sent by the client, where the acquiring request carries the push indication of the second media data, and the fourth receiving module 84 returns the first media data and the second
  • the push of the media data is sent to the client, and the push commitment of the second media data is sent to the client according to the push response, and the second sending module 86 pushes the second media data to the client according to the push commitment.
  • the device further includes:
  • the second setting module is configured to: before returning the push response of the second media data to the client, setting a push condition information of the push instruction request including the second media data in the push response of the second media data,
  • the inaccessible media data referenced in the push indication of the second media data sends a push commitment.
  • the second sending module 86 includes:
  • the first sending unit is configured to send a data push commitment of the second media to the client according to the push parameter value returned in the push response;
  • the second sending unit is configured to send a push commitment of the second media data to the client according to the push condition information returned in the push response.
  • the third sending unit is configured to, when the push condition information is the push waiting time, send the push commitment of the second media data to the client in the push waiting time from receiving the first media data obtaining request .
  • the fourth transmitting unit is configured to push all the media data referenced in the push instruction of the second media data to the client when the push condition information is a push waiting time with a value of zero.
  • the fifth sending unit is configured to: when the push condition information is a push threshold, use the first media data as an initial index to push at least the media data in the second media data with the push threshold as a lower limit to the client Or; for at least pushing the media data in the second media data with the push threshold as a media time lower limit from the media time of the first media data to the client.
  • FIG. 9 is a structural diagram of an adaptive streaming media system according to an embodiment of the present invention.
  • the terminal 100 includes a streaming media client. 200, HTTP/2 client 300, network 400, and server 500.
  • the system shown in Fig. 9 will be described below.
  • 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;
  • 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.
  • 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.
  • the server 500 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.
  • 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.
  • the media playback engine 220 decodes the received media segments, media data buffers, and video playback controls.
  • 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.
  • the push module 230 supports the following "Push Behavior":
  • Push module 230 supports “Instant Push” behavior:
  • “Instant Push” refers specifically to the push behavior that all push commitments that the server will send in the push session have been determined once the server returns a push response to the client.
  • the server dominates the push policy negotiation, which completely determines how to push subsequent media segments.
  • the server can directly return to the same as the push indication by performing “immediate push”.
  • Push response of push parameter values For example, the push indication only refers to the currently accessible media segment, the server can directly return to the same as the push indication by performing “immediate push”.
  • the server can also Returns a push response with a different push parameter value in the push indication by performing an "immediate push"
  • the server can use "immediate push” to return a "reject push” push response.
  • Push module 230 supports “Progressive Push” behavior:
  • Progressive Push or “Long Push” on behalf of the server returning a push response does not preclude the subsequent progressive, conditional transmission beyond the push response.
  • the server will push the promise for the newly-accessible media segment until the media segment referenced by the push indication has all been pushed, or the push condition set in the push indication is not met.
  • the server may Perform "gradual push"
  • the server In the initial stage, the server returns the push parameter value according to the currently accessible media segment in the returned push response, and confirms that the push commitment will be sent for the newly emerging accessible media segment.
  • the server will push the promise for the newly-accessible media segment until the media segments referenced in the push indication have all been pushed, or the push conditions set in the push indication have expired
  • the "Progressive Push” behavior enables the server to send push commitments to media segments that are currently inaccessible (ie, temporarily unable to determine the access address) based on the push conditions set by the client:
  • the client sets push condition information in the second media data push indication for requesting the server to push
  • the second media data push indication is not yet accessible media data
  • the server will push the promise for the newly-accessible media segment until the media segment referenced in the push indication has all been pushed, or the push condition set in the push indication has expired
  • Push condition failure is usually accompanied by the occurrence of a specific event or state in the push session. For example, the push wait time for pushing a promised media segment push promise has expired, or the number of pushed media segments or media clip time has reached the push threshold, etc. .
  • the client carries a second media data push indication including push condition information in the sent push request
  • the server returns a second media data push response, and does not exclude that a push commitment that exceeds the push parameter value returned in the push response will be sent according to the push condition information requested in the push indication.
  • the server sends the push promise of the currently accessible media segment to the client immediately after returning the push response. In addition, the server will push the promise for the newly available accessible media segment.
  • 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.
  • the HTTP client 300 includes: an HTTP/2 client, and 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.
  • the cache 330 provides local storage of the media resources downloaded by the HTTP client 300.
  • 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.
  • XDSL Digital Subscriber Line
  • FTTx fiber-optic access
  • cable communication cable and the like
  • Wi-Fi network a wireless communication network such as 2G, 3G, and Long Term Evolution (LTE).
  • LTE Long Term Evolution
  • 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.
  • 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 streaming client to access the streaming content resource. When the streaming 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 media segment of the terminal cache status is played and played.
  • 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.
  • DASH Dynamic Adaptive Streaming over HTTP
  • FIG. 10 is a flowchart 1 of an adaptive streaming media transmission method according to an alternative embodiment of the present invention. As shown in FIG. 10, the process includes the following steps:
  • Step S1002 Send a first media data acquisition request to the server, where the acquisition request carries a push indication of the second media data;
  • Step S1004 Receive a push response of the first media data and the second media data returned by the server, and receive a push commitment of the second media data sent by the server according to the push response.
  • Step S1006 Receive the second media data that is sent by the server according to the push commitment.
  • the client may carry a push indication of the second media data in the first media data acquisition request, and set the second media data push indication to include push condition information, where the server is requested to be the second
  • the push data promised by the inaccessible media data referenced in the push indication of the media data is solved in the related art, and an efficient, low-latency adaptive flow based on full-duplex transmission protocol binding is realized.
  • step S1002 it is described that the first media data acquisition request is sent to the server, and the request carries the push instruction of the second media data; this will be described below in conjunction with an optional implementation.
  • FIG. 11 is a second flowchart of an adaptive streaming media transmission method according to an alternative embodiment of the present invention. As shown in FIG. 11, the process includes the following steps:
  • Step S1102 determining a first media data uniform resource identifier URI that is requested to be acquired
  • step S1104 it is determined whether the server is requested to push the second media data. If yes, go to step S1106; if no, go to step S1105, send the first media data acquisition request to the server, and end.
  • Step S1105 Send a first media data acquisition request to the server
  • Step S1106 setting a push indication for requesting the server to push the second media data
  • Step S1108 Determine whether the push indication refers to media data that is not yet accessible in the second media data. If yes, go to step S1110, if no, go to step S1114;
  • step S1110 it is determined whether to request to push the media data that is not yet accessible in the second media data. If yes, step S1112 is performed, and if no, step S1114 is performed.
  • the push indication of the second media data includes push condition information, and is used to request the server to push the media data that is not yet accessible in the second media data;
  • Step S1114 Send a first media data acquisition request to the server, where the acquisition request carries a push indication of the second media data.
  • the second media data push instruction includes the push condition information, and is used to request the server to push the media data that is referenced in the push instruction of the second media data; The implementation is described.
  • the "push condition” can be used by the client to explicitly request the server to send a push commitment under certain conditions in the push session, such as sending a push promise for a newly emerging accessible media segment.
  • a "push condition” is a string consisting of a series of (keyword, value) pairs, where each pair (keyword, value) represents a specific push condition for equal evaluation of "push conditions" in a push session Effectiveness.
  • ABSNF Bacchus Paradigm
  • the client is willing to wait for a certain maximum time value in the push session to receive the push commitment sent by the server.
  • the client may wait for a certain maximum time value to send a push request again for those media segments that have not received the push commitment.
  • the Push Wait indicator is used to request that the server keep the push request flow in an "open" state for a certain maximum time value even if the push commitment of all accessible media segments has been sent to the client. In some cases, such as in multiple consecutive push transactions, the server is unable to send a push commitment for subsequent media segments that the client requests to push. Clients can use the Push Waiting mechanism to reduce the need to create new request flows, thereby avoiding unnecessary request overhead.
  • the client requests a media segment that is pushed at least by a certain number of lower limits or media time limits in the push session.
  • the client may send a push request again for media segments that have not received the push promise after the media segment that has been pushed to a certain lower limit or media time limit.
  • the "push threshold” indicator is used to request that the server keep the push request stream in an "open” state even if the push commitment of all accessible media segments has been sent to the client until the client is pushed a certain lower media segment.
  • FIG. 12 is a third flowchart of an adaptive streaming media transmission method according to an alternative embodiment of the present invention. As shown in FIG. 12, the process includes the following steps:
  • Step S1202 setting a push indication of the second media data to include a push waiting time
  • Step S1204 The push waiting time is used to set an upper limit of the waiting time for the push commitment of the second media data to be sent by the server after receiving the first media data obtaining request.
  • the push waiting time included in the push indication of the second media data set by the client is a preset value, for example, a push waiting time with a value of zero
  • the push waiting time is used for the requesting
  • the server pushes all media data referenced in the push indication of the second media data.
  • FIG. 13 is a flowchart 4 of an adaptive streaming media transmission method according to an alternative embodiment of the present invention. As shown in FIG. 13, the process includes the following steps:
  • Step S1302 setting a push indication of the second media data to include a push threshold
  • Step S1304 The push threshold is used to set the server to use the first media data as an initial index, and push a lower limit of the quantity of media data in the second media data.
  • FIG. 14 is a flowchart 5 of an adaptive streaming media transmission method according to an alternative embodiment of the present invention. As shown in FIG. 14, the process includes the following steps:
  • Step S1402 setting a push indication of the second media data to include a push threshold
  • Step S1404 The push threshold is used to set a media time lower limit of the media data in the second media data from the media time of the first media data.
  • step S1004 it is described that the push response of the first media data and the second media data returned by the server is received, and the push commitment of the second media data sent by the server according to the push response is received;
  • the implementation is described.
  • FIG. 15 is a flowchart 6 of an adaptive streaming media transmission method according to an alternative embodiment of the present invention. As shown in FIG. 15, the process includes the following steps:
  • Step S1502 Receive a push response of the second media data returned by the server.
  • Step S1504 determining whether the push response refers to all media data in the second media data. If yes, go to step S1506, otherwise go to step S1510;
  • Step S1506 The sending server sends a push commitment of the second media data according to the push response.
  • Step S1508 receiving the second media data that the server pushes according to the push commitment
  • Step S1510 Receive a push commitment of the second media data that is sent by the server according to the push parameter value returned by the push response.
  • step S1512 it is determined whether the push response includes push condition information. If yes, go to step S1514, otherwise go to step 1516;
  • Step S1514 Receive a push commitment of the second media data that is sent by the server according to the push condition information returned by the push response.
  • Step S1516 Receive the second media data that is sent by the server according to the push commitment.
  • the client may think that the server will not push the second media data; if the server returns a "reject push" push response, the client may determine that the server will not push the first Two media data. If the server returns a push response containing push condition information, the client can assume that the server will push the media data that is not yet accessible referenced in the push indication of the second media data.
  • FIG. 16 is a flowchart 7 of an adaptive streaming media transmission method according to an alternative embodiment of the present invention. As shown in FIG. 16, the process includes the following steps:
  • Step S1602 Receive a first media data acquisition request sent by the client, where the acquisition request carries a push indication of the second media data.
  • Step S1604 returning a push response of the first media data and the second media data to the client, and sending a push commitment of the second media data to the client according to the push response;
  • Step S1606 Push the second media data to the client according to the push commitment.
  • the server may set the push condition information of the push indication request of the second media data in the push response of the second media data, and the reference for the push indication of the second media data is not yet
  • the accessed media data sends a push commitment, thereby solving the problem of the accessibility limitation of the push media data existing in the related art in the use of the server "push" feature for video streaming media transmission, and realizing the binding based on the full duplex transmission protocol. Efficient, low-latency adaptive streaming media transmission.
  • step S1604 a push response that returns the first media data and the second media data is sent to the client, and a push commitment of the second media data is sent to the client according to the push response. This is explained below in conjunction with an optional implementation.
  • FIG. 17 is a flowchart 8 of an adaptive streaming media transmission method according to an alternative embodiment of the present invention. As shown in FIG. 17, the process includes the following steps:
  • Step S1702 Receive a first media data acquisition request sent by the client, where the acquisition request carries a push indication of the second media data.
  • Step S1704 determining whether the second media data referenced in the push indication is all accessible. If yes, go to step S1706, otherwise go to step 1712;
  • Step S1706 returning a push response of the first media data and the second media data, and setting a push parameter value returned in the push response to refer to all media data referenced in the push indication;
  • Step S1708 Send a push commitment of the second media data to the client according to the push parameter value returned by the push response.
  • Step S1710 Push the second media data to the client according to the push commitment.
  • step S1712 it is determined whether to continue pushing the second media data. If yes, go to step S1714, otherwise go to step S1716;
  • step S1714 it is determined whether the push condition information is included in the push instruction. If yes, go to step S1718, otherwise go to step S1722;
  • Step S1716 returning the first media data and "rejecting push" push response
  • step S1718 it is judged whether or not the push condition is valid. If yes, go to step S1720, otherwise go to step S1722;
  • Step S1720 setting the push condition information requested in the push instruction including the second media data in the push response
  • Step S1722 returning a push response of the first media data and the second media data, and setting a push parameter value returned in the push response to reference the accessible media data referenced in the push indication;
  • Step S1724 Send a push commitment of the second media data to the client according to the push parameter value returned by the push response.
  • Step S1726 determining whether the push response includes push condition information. If yes, go to step S1728, otherwise go to step S1730;
  • Step S1728 Send a push commitment of the second media data to the client according to the push condition information returned by the push response.
  • Step S1730 Push the second media data to the client according to the push commitment.
  • the server must return a push response of the second media data in response.
  • the server may explicitly return a "reject push" push response in response. If the first media data acquisition request does not carry the push indication of the second media, the server is prohibited from returning a push response of the second media data in response.
  • step S1728 the push commitment information returned by the push response is transmitted, and the push commitment of the second media data is transmitted to the client; this will be described below in conjunction with an optional implementation.
  • FIG. 18 is a flowchart 9 of an adaptive streaming media transmission method according to an alternative embodiment of the present invention.
  • the server receives the first After the media data acquisition request, the push commitment of the second media data is sent to the client in the push waiting time, and the process includes the following steps:
  • Step S1802 waiting to push the media data that is not accessible in the push indication of the second media data
  • Step S1804 Determine whether there is new accessible media data in the media data referenced by the push indication of the second media data. If yes, go to step S1806, otherwise go to step S1810;
  • Step S1806 sending a push commitment of the new accessible media data in the second media data to the client;
  • Step S1808 determining whether the second media data has all sent a push commitment. If yes, it ends, otherwise step S1810 is performed.
  • step S1810 it is judged whether or not the push waiting time is exceeded. If yes, then it ends, otherwise step S1802 is performed;
  • the push condition information is a push waiting time with a value of zero
  • the server will push all the media referenced in the push instruction of the second media data. Data to the client.
  • FIG. 19 is a flowchart 10 of an adaptive streaming media transmission method according to an alternative embodiment of the present invention.
  • the server uses the first media.
  • the data is an initial index, and at least the media data in the second media data that is the lower limit of the push threshold is pushed to the client; or the server pushes the at least the media time from the media time of the first media data.
  • the second media data is sent to the client by the media data whose push threshold is the lower limit of the media time.
  • the process includes the following steps:
  • Step S1902 waiting to push the media data that is not accessible in the push indication of the second media data
  • Step S1904 Determine whether there is new accessible media data in the media data referenced by the push indication of the second media data. If yes, go to step S1906, otherwise go to step S1908;
  • Step S1906 sending a push commitment of the new accessible media data in the second media data to the client;
  • step S1908 it is determined whether the push threshold is reached. If yes, then it ends, otherwise step S1902 is performed;
  • the client may carry the push instruction of the second media data in the first media data acquisition request, and the second media data push instruction includes the push condition information, and is configured to request the server to be The inaccessible media data referenced in the push indication of the second media data sends a push commitment. This is explained below in conjunction with an alternative implementation.
  • FIG. 20 is a flow chart 1 of message interaction of an adaptive streaming media transmission method according to an embodiment of the present invention.
  • 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 HTTP GET message also includes a "dash-push" header field for requesting the server to push the second media segment, that is, the example in step 1.
  • the method further includes: 1) a push protocol scheme uniform resource identifier (SchemeID) field for identifying a push protocol version; and 2) a push directive (PushDirective) for sending the push policy requested in the push session, including: a push type (
  • the PushType field is used to describe the representation type of the pushed media segment in the Push Policy. For example, “push-next” indicates that a subsequent specific number of media segments are requested to be pushed, and “push-time” indicates that the request is pushed for a subsequent specific playing time.
  • the media segment, "push-template” represents the media segment explicitly specified in the request push template, and the push parameter (PushParams) field, carrying the push parameter value of the pushed media segment in the "push policy”.
  • the "dash-push” header field may also carry: 3) PushCoditions field, which is used to explicitly request the server to send a push commitment under certain conditions in the push session, for example, for a newly appearable
  • the accessed media segment sends a push commitment, including: a "push-wait” keyword, which is used to request the server to send a push commitment within a certain maximum time value in the push session, and a "push-threshold” keyword for requesting the server to push A media segment that is pushed at least by a certain number of lower limits or media time limits in the session.
  • the client requests to acquire the "segment1" media segment in the “Representation” "rep1", and requests to push the 5 media segments of the subsequent numbers “segment2" to “segment6" in “rep1” and pass the "
  • the push-wait keyword indicates that the server sends a push commitment within a maximum of 2000 milliseconds after receiving the request.
  • the related push policy description information for requesting the server to push the second media segment may also be carried by other header fields such as “Accept-Push-Policy” in the HTTP GET message.
  • 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 a "dash-push" header field for returning a second media segment push response, which is an example in step 2.
  • a push protocol scheme uniform resource identifier (SchemeID) field for identifying a push protocol version
  • a push response (PushAck) for returning a push policy received by the server in the push session, and carrying and requesting
  • the push response information returned by the server indicates that the push commitment can be immediately sent for the five media segments of "segment2" to "segment6" in the "rep1" requested to be pushed by the push indication, so there is no need to return the push in the push response.
  • Conditional information there is no "progressive push" process in the push session.
  • Steps 3 to 5 The server sends a push commitment message (HTTP/) to each of the media segments that are confirmed to be pushed (ie, 5 media segments of "segment2" to "segment6") according to the push parameter value returned by the push response in step 2.
  • HTTP/ push commitment message
  • 2 PUSH_PROMISE frame in the protocol.
  • the server sets the "path" header field in the PUSH_PROMISE frame to each of the acknowledgment pushed media segment uniform resource identifier URIs, and transmits the PUSH_PROMISE frame in the request stream initiated by the client in step 1.
  • Step 6 The server returns the media segment requested by the client, that is, "../rep1/segment1.mp4" in this embodiment.
  • Steps 7 to 12 According to the push commitment message sent in steps 3 to 5, the server creates a push flow initiated by the server for each media segment that is confirmed to be pushed, and pushes 5 media of the number "segment2" to "segment6" in "rep1". Fragment to the client.
  • the push instruction for setting the second media data includes a push waiting time
  • the push waiting time is used to set the server to send the first media data acquisition request.
  • the upper limit of the waiting time for the push commitment of the second media data is explained below in conjunction with an alternative implementation.
  • FIG. 21 is a second flowchart of message interaction of an adaptive streaming media transmission method according to an embodiment of the present invention.
  • Step 1 Similar to step 1 in the embodiment of Fig. 20, 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).
  • a standard HTTP GET message (a HEADERS frame in the HTTP/2 protocol).
  • Step 2 Similar to step 2 in the embodiment of Fig. 20, the server returns an HTTP 200 OK response message containing a "dash-push" header field for returning a second media segment push response.
  • the push parameter field value returned by the push response is "../rep1/segment$Number$.mp4": ⁇ 2-4 ⁇ , indicating that the server only confirms the "rep1" requested in the push indication.
  • the emerging accessible media segment sends a push commitment, which is a "progressive push" process in the push session.
  • Steps 3 to 4 Similar to steps 3 to 5 in the embodiment of FIG. 20, the server confirms the pushed media segment according to the push parameter value returned by the push response in step 2 (ie, "segment2" to "segment4" The 3 media segments) send a push commitment message (PUSH_PROMISE frame in the HTTP/2 protocol).
  • Steps 5-6 In this embodiment, it is assumed that the accessible media segments "segment5" and “segment6" appear newly during the maximum waiting time of the push waiting, and the server will send a push commitment message for them (PUSH_PROMISE frame in the HTTP/2 protocol) ).
  • Step 7 The server returns the media segment requested by the client, that is, "../rep1/segment1.mp4" in this embodiment.
  • Steps 8-11 According to the push commitment message sent in steps 3-6, the server creates a push flow initiated by the server for each media segment that is confirmed to be pushed, and pushes 5 media of the number "segment2" to "segment6" in "rep1". Fragment to the client.
  • the push instruction for setting the second media data includes a push threshold for setting the server to push the second from the media time of the first media data.
  • the media time limit of the media data in the media data which is described below in conjunction with an optional implementation.
  • FIG. 22 is a third flowchart of message interaction of an adaptive streaming media transmission method according to an embodiment of the present invention.
  • Step 1 Similar to step 1 in the embodiment of Fig. 20, 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 HTTP GET message includes a "dash-push" header field for requesting the server to push the second media segment, that is, the example in step 1.
  • the client requests to acquire the "segment1" media segment in the “Representation” "rep1”, and requests to push the media segment of the subsequent 5000 milliseconds media time in “rep1", and passes the "push-threshold” keyword. Instruct the server to push at least the media segment with a lower limit of 5000 milliseconds of media time.
  • Step 2 Similar to step 2 in the embodiment of Fig. 20, the server returns an HTTP 200 OK response message containing a "dash-push" header field for returning a second media segment push response.
  • the push parameter field value returned by the push response is "../rep1/segment$Time$.mp4": ⁇ 3000 ⁇ , indicating that the server only confirms the subsequent 3000 milliseconds of media in the "rep1" requested in the push indication.
  • Steps 3 to 4 Similar to steps 3 to 5 in the embodiment of FIG. 20, the server confirms the pushed media segment according to the push parameter value returned by the push response in step 2 (assuming the preset duration of each media segment)
  • a push commitment message (PUSH_PROMISE frame in the HTTP/2 protocol) is sent for 1000 milliseconds, ie, 3 media segments of "segment2" to "segment4".
  • Step 5 The server returns the media segment requested by the client, that is, "../rep1/segment1.mp4" in this embodiment, while keeping the client request flow in the "Open" state.
  • Steps 6-7 The server will also send a push commitment message (PUSH_PROMISE frame in the HTTP/2 protocol) for the media segments (ie, "segment5" and “segment6") of the remaining 2000 milliseconds of media time.
  • PUSH_PROMISE frame in the HTTP/2 protocol a push commitment message for the media segments (ie, "segment5" and “segment6") of the remaining 2000 milliseconds of media time.
  • Steps 8 to 11 According to the push commitment message sent in steps 3 to 4 and steps 6 to 7, the server creates a push flow initiated by the server for each media segment that is confirmed to be pushed, that is, pushes the number "segment2" in the "rep1" to "" 5 media segments of segment6" to the client.
  • the push instruction for setting the second media data includes a push threshold; the push threshold is used to set the server to use the first media data as an initial index to push the second media.
  • the lower limit on the number of media data in the data which is described below in conjunction with an optional implementation.
  • FIG. 23 is a flow chart 4 of message interaction of an adaptive streaming media transmission method according to an embodiment of the present invention.
  • Step 1 Similar to step 1 in the embodiment of Fig. 20, 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 HTTP GET message includes a "dash-push" header field for requesting the server to push the second media segment, that is, the example in step 1.
  • the client requests to obtain the "segment1" media segment in the representation "rep1".
  • it requests to push the 5 media segments of the subsequent numbers “segment2" to “segment6" in “rep1”
  • the "push-wait” keyword instructs the server to send the push commitment within 2000 milliseconds after receiving the request, and passes the "
  • the push-threshold keyword indicates that the server pushes at least 4 media segments with a lower limit.
  • Step 2 Similar to step 2 in the embodiment of Fig. 20, the server returns an HTTP 200 OK response message containing a "dash-push" header field for returning a second media segment push response.
  • the push parameter field value returned by the push response is "../rep1/segment$Number$.mp4": ⁇ 2-4 ⁇ , indicating that the server only confirms that "p1" is requested in the "rep1" for the push indication.
  • a push commitment is sent for the newly emerging accessible media segment, ie there is a "progressive push" process in the push session.
  • Steps 3 to 4 Similar to steps 3 to 5 in the embodiment of FIG. 20, the server confirms the pushed media segment according to the push parameter value returned by the push response in step 2 (ie, "segment2" to "segment4" The 3 media segments) send a push commitment message (PUSH_PROMISE frame in the HTTP/2 protocol).
  • Step 5 The server returns the media segment requested by the client, that is, "../rep1/segment1.mp4" in this embodiment, while keeping the client request flow in the "Open" state.
  • Step 6 This embodiment assumes that the accessible media segment "segment5" newly appears before the maximum push latency (i.e., 2000 milliseconds) expires, and the server sends a push commitment message (PUSH_PROMISE frame in the HTTP/2 protocol) for it.
  • PUSH_PROMISE frame in the HTTP/2 protocol
  • Steps 7 to 10 According to the push commitment message sent in steps 3 to 4 and step 6, the server creates a server-initiated push stream for each media segment that is confirmed to be pushed, and pushes the number "segment2" to "segment5" in "rep1". 4 media clips to the client.
  • FIG. 24 is a structural block diagram 3 of an adaptive streaming media transmission apparatus according to an embodiment of the present invention. As shown in FIG. 24, the apparatus includes an obtaining module 242, a first determining module 244, and a second determining module 246. The adaptive media stream processing device will be described.
  • the obtaining module 242 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 244 is connected to the obtaining module 242, and is configured to determine, according to the location information, the need for the adaptive streaming media.
  • the transport stream is time-axis aligned media segment; the second determining module 246 is coupled to the first determining module 244, and configured to determine, according to the time information, the media presentation time of the media segment in the adaptive streaming media relative to the time axis of the transport stream Timestamp.
  • a preferred embodiment of the present invention provides an adaptive streaming media transmission method and apparatus to address at least the problem of accessibility limitations of push media segments in existing HTTP streaming media technologies.
  • 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,
  • a storage medium such as ROM/RAM, disk,
  • the optical disc includes a number of instructions for causing a terminal device (which may be a cell phone, a computer, a server, or a network device, etc.) to perform the methods described in various embodiments of the present invention.
  • each of the above modules may be implemented by software or hardware.
  • 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.
  • the above storage medium may be arranged to store program code for performing the method steps of the above-described embodiments.
  • 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.
  • ROM Read-Only Memory
  • RAM Random Access Memory
  • a mobile hard disk e.g., a hard disk
  • magnetic memory e.g., a hard disk
  • the processor performs the method steps of the foregoing embodiments according to the stored program code in the storage medium.
  • 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.
  • the invention is not limited to any specific combination of hardware and software.
  • an adaptive streaming media transmission method and apparatus provided by an embodiment of the present invention have the following beneficial effects: solving the accessibility limitation of push media data existing when video streaming media transmission is performed by using a server "push" feature.
  • the problem is to achieve efficient, low-latency adaptive streaming media transmission based on full-duplex transmission protocol binding.

Abstract

La présente invention porte sur un procédé et sur un dispositif de transmission adaptative de données multimédias diffusées en continu. Le procédé consiste à : transmettre à un serveur une demande d'acquisition demandant des premières données multimédias, la demande d'acquisition comportant une instruction destinée à pousser des secondes données multimédias ; recevoir les premières données multimédias renvoyées par le serveur et une réponse de poussée associée aux secondes données multimédias et recevoir une promesse de poussée associée aux secondes données multimédias et transmise par le serveur en fonction de la réponse de poussée ; et recevoir les secondes données multimédias poussées par le serveur en fonction de la promesse de poussée. L'invention résout un problème selon lequel l'accessibilité est limitée lorsqu'une caractéristique de poussée de serveur est utilisée pour effectuer une transmission de données multimédias en continu vidéo, ce qui permet d'obtenir une efficacité élevée et une transmission adaptative de données multimédias diffusées en continu basée sur un protocole de transmission en duplex intégral à faible retard.
PCT/CN2016/102032 2015-10-14 2016-10-13 Procédé et dispositif de transmission adaptative de données multimédias diffusées en continu WO2017063574A1 (fr)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201510663013.1A CN106604077B (zh) 2015-10-14 2015-10-14 自适应流媒体传输方法及装置
CN201510663013.1 2015-10-14

Publications (1)

Publication Number Publication Date
WO2017063574A1 true WO2017063574A1 (fr) 2017-04-20

Family

ID=58517119

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2016/102032 WO2017063574A1 (fr) 2015-10-14 2016-10-13 Procédé et dispositif de transmission adaptative de données multimédias diffusées en continu

Country Status (2)

Country Link
CN (1) CN106604077B (fr)
WO (1) WO2017063574A1 (fr)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468435A (zh) * 2019-09-09 2021-03-09 脸谱公司 请求流

Families Citing this family (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN110545492B (zh) * 2018-09-05 2020-07-31 北京开广信息技术有限公司 媒体流的实时递送方法及服务器
CN111669665B (zh) * 2019-03-05 2021-12-21 北京开广信息技术有限公司 媒体流的实时推送方法及服务器
CN110086797B (zh) * 2019-04-22 2021-05-28 北京开广信息技术有限公司 媒体流的实时接收方法、客户端、计算机设备和存储介质
CN111083217B (zh) * 2019-12-11 2022-07-08 北京达佳互联信息技术有限公司 一种推送Feed流的方法、装置及电子设备

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
WO2015004276A2 (fr) * 2013-07-12 2015-01-15 Canon Kabushiki Kaisha Procédé adaptatif de diffusion en continu de données à commande de message de poussée
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
CN104429093A (zh) * 2012-07-09 2015-03-18 华为技术有限公司 超文本传输协议动态自适应流媒体客户端行为框架和会话管理实施
WO2016120089A1 (fr) * 2015-01-28 2016-08-04 Canon Kabushiki Kaisha Poussée améliorée de ressources entraînée par le client par un dispositif serveur

Family Cites Families (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US8543107B1 (en) * 2007-09-24 2013-09-24 Sprint Spectrum L.P. Method and system for delivering short message service (SMS) messages using the session initiation protocol (SIP)
US8352575B2 (en) * 2008-10-14 2013-01-08 Samaha Tareq A System and method for a server-based files and tasks brokerage
WO2011100901A2 (fr) * 2011-04-07 2011-08-25 华为技术有限公司 Procédé, dispositif et système destinés à transmettre et à traiter un contenu multimédia
CN102378043A (zh) * 2011-09-29 2012-03-14 深圳市矽伟智科技有限公司 内容推送方法、互联网电视播放方法及对应装置、系统
CN104883618B (zh) * 2015-05-11 2018-03-02 腾讯科技(北京)有限公司 直播节目试看方法、装置及系统

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104429093A (zh) * 2012-07-09 2015-03-18 华为技术有限公司 超文本传输协议动态自适应流媒体客户端行为框架和会话管理实施
WO2015004276A2 (fr) * 2013-07-12 2015-01-15 Canon Kabushiki Kaisha Procédé adaptatif de diffusion en continu de données à commande de message de poussée
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
WO2016120089A1 (fr) * 2015-01-28 2016-08-04 Canon Kabushiki Kaisha Poussée améliorée de ressources entraînée par le client par un dispositif serveur

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112468435A (zh) * 2019-09-09 2021-03-09 脸谱公司 请求流
CN112468435B (zh) * 2019-09-09 2023-05-12 元平台公司 请求流

Also Published As

Publication number Publication date
CN106604077B (zh) 2020-09-29
CN106604077A (zh) 2017-04-26

Similar Documents

Publication Publication Date Title
WO2017063574A1 (fr) Procédé et dispositif de transmission adaptative de données multimédias diffusées en continu
US9521180B2 (en) Adaptive variable fidelity media distribution system and method
US10439910B2 (en) Low-latency streaming
EP3105903B1 (fr) Demande de blocs multiples à partir d'un n'ud de réseau sur la base d'un message de requête unique
EP2797287B1 (fr) Procédé et appareil de support de lecture à décalage temporel dans une solution de transmission en continu HTTP adaptative
US20140215545A1 (en) Online video playing method and video playing server
US20030126277A1 (en) Apparatus and method for providing multimedia streaming service by using point-to-point connection
CA2965795A1 (fr) Appareil hypermedia et methode
EP2999187B1 (fr) Procédé, produit de programme informatique et serveur de contenu multimédia en diffusion continue depuis un serveur vers un client
CN102055718B (zh) 一种在http streaming系统中实现分层请求内容的方法,装置和系统
CN108063769B (zh) 一种内容服务的实现方法、装置及内容分发网络节点
EP3120520B1 (fr) Diffusion en flux continu multimédia
CN107124668B (zh) 流式传输装置及方法、流式传输服务系统及记录介质
KR20120114016A (ko) 사용자 컨텐츠를 외부 단말기에서 네트워크 적응적으로 스트리밍하는 방법 및 장치
US20150271226A1 (en) Transport accelerator implementing a multiple interface architecture
US20210021655A1 (en) System and method for streaming music on mobile devices
JP2011082977A (ja) P2pネットワークシステム及びそのデータ送受信方法
WO2013185547A1 (fr) Procédé de desserte de serveur d'antémémoire, serveur d'antémémoire et système associé
WO2011143916A1 (fr) Procédé et appareil d'adaptation multimédia
CN108124169A (zh) 一种家用无线路由器的p2p视频服务加速方法
CN111355979B (zh) 一种在线音频快速播放方法
US8412840B2 (en) Live media serving system and method
WO2017114393A1 (fr) Procédé et dispositif de transmission de contenu multimédia de diffusion en continu http
WO2015168993A1 (fr) Procédé et appareil de commande basés sur la distance entre un fournisseur de contenu et un fournisseur de services
WO2013071517A1 (fr) Procédé d'envoi de flux multimédia et serveur

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

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

Country of ref document: EP

Kind code of ref document: A1