WO2015192683A1 - Content distribution method, device and system based on adaptive streaming technology - Google Patents

Content distribution method, device and system based on adaptive streaming technology Download PDF

Info

Publication number
WO2015192683A1
WO2015192683A1 PCT/CN2015/076775 CN2015076775W WO2015192683A1 WO 2015192683 A1 WO2015192683 A1 WO 2015192683A1 CN 2015076775 W CN2015076775 W CN 2015076775W WO 2015192683 A1 WO2015192683 A1 WO 2015192683A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
description file
content
playlist description
client
Prior art date
Application number
PCT/CN2015/076775
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 WO2015192683A1 publication Critical patent/WO2015192683A1/en

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/239Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests
    • 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

Definitions

  • the present invention relates to the field of content distribution, and in particular, to a content distribution method, apparatus and system based on code stream adaptive technology.
  • HAS HTTP Adaptive Streaming
  • RTSP Real Time Streaming Protocol
  • RTP Real-time Transport Protocol
  • HTTP Hypertext Transfer Protocol
  • the general idea of HAS technology is to transcode video content into multiple code rate content, and then cut and slice the content of each code rate, each slice has the same duration, about 2-10 seconds.
  • the playlist description file is used to describe the code rate supported by the content and the playlist of the content of each bit rate.
  • the published content directory consists of three parts:
  • Media files content fragment files including multiple code rates
  • a playlist description file of each code rate content a media file slice list defining a specific code rate content
  • the main playlist description file define the code rate supported by the content, the playlist description file name corresponding to each code rate content, and the audio track, subtitle and other information.
  • the user When the client plays the content, the user first downloads the main playlist description file, obtains the code rate supported by the content, the playlist description file name of each content rate content, and the like, and then describes the file name according to the playlist of each code rate content. Download the first rate playlist description file, the client is based on the first The rate playlist description file requests content slices from the media server for playback. During the playback of the content, the client also downloads the playlist description file of other code rate content, and detects the network download bandwidth according to the download speed of the content slice in real time, and then dynamically requests the content of the code rate from the media server according to the network state. Fragmentation.
  • the first aspect provides a content distribution method based on a code stream adaptive technology, including: sending a playlist description file acquisition request to a streaming media server, where the acquisition request includes a compression identifier for indicating whether the client supports compressed transmission; Receiving, by the streaming media server, a first compressed file that includes a lowest code rate content playlist description file returned according to the compressed identifier; decompressing the first compressed file to obtain the lowest code rate content playlist description file; The lowest bit rate content playlist description file obtains content segments from the streaming server.
  • the obtaining, according to the lowest code rate content playlist description file, the content fragment from the streaming media server comprises: parsing the lowest bit rate content playlist description file to obtain the lowest bit rate content a playlist; obtaining a lowest code rate content slice from the streaming server according to the lowest bit rate content playlist.
  • the second aspect provides a client that supports the HAS technology, including: a sending unit, configured to send a playlist description file obtaining request to the streaming media server, where the obtaining request includes indicating whether the client supports compressed transmission.
  • a receiving unit configured to receive a first compressed file that includes a lowest code rate content playlist description file returned by the streaming media server according to the compressed identifier, and a processing unit, configured to decompress the first compressed file to obtain a minimum a content rate playlist description file;
  • the sending unit is further configured to: play the list description file according to the lowest bit rate content to the streaming media
  • the server sends a content fragmentation acquisition request; the receiving unit is further configured to receive the content fragment returned by the streaming media server.
  • the sending by the processing unit, the content rate playlist according to the lowest code rate content playlist description file to the streaming media server Describe a file to obtain a lowest bit rate content playlist; the sending unit sends a lowest bit rate content slice acquisition request to the media server according to the lowest content playlist.
  • the third aspect provides a streaming media server that supports the HAS, including: a receiving unit, configured to receive a playlist description file obtaining request sent by the client, where the obtaining request includes a compressed identifier for indicating whether the client supports compressed transmission a processing unit, configured to determine, according to the compression identifier, that the client supports compressed transmission; and a sending unit, configured to send, according to the determination result of the processing unit, the playlist file including the lowest code rate content playlist to the client The first compressed file.
  • the first compressed file sent by the sending unit further includes a primary playlist description file.
  • the streaming media server determines that the client supports the compressed transmission according to the compressed identifier
  • the compressed file of the playlist description file including the primary playlist description file and the lowest code rate media file is sent to the compressed file.
  • the client reduces the number of interactions between the client and the streaming server in the content buffering phase, improves the download speed, and compresses the playlist description file to reduce the amount of data downloaded by the client buffer, further improving the download speed and reducing the buffering time. Improve the user experience.
  • FIG. 1 is a schematic diagram of an application scenario architecture according to an embodiment of the present invention.
  • FIG. 2 is a schematic flow chart of a content distribution method according to an embodiment of the present invention.
  • FIG. 3 is a schematic flow chart of a content distribution method according to another embodiment of the present invention.
  • FIG. 4 is a schematic structural diagram of a client according to an embodiment of the present invention.
  • FIG. 5 is a schematic structural diagram of a streaming media server according to an embodiment of the present invention.
  • FIG. 6 is a schematic structural diagram of a user terminal according to another embodiment of the present invention.
  • FIG. 1 is a schematic diagram of an application scenario architecture according to an embodiment of the invention.
  • the streaming media system based on the HAS technology includes: a streaming media management system 101, a content distribution system 102, and a client 103.
  • the streaming media management system 101 is responsible for digitally encoding, encapsulating, and publishing the input media stream.
  • the content distribution system 102 is composed of a plurality of standard web servers 1021 (also referred to as streaming media servers), and is responsible for accepting requests from clients and transmitting the content requested by the client to the client. It should be noted that for large-scale deployment of streaming media systems, edge networks or other content distribution networks may be used.
  • the client 103 is configured to retrieve content from the content distribution system 102 and reassemble the content for presentation to the user in the form of a continuous media stream.
  • the media management system 101 includes at least one media encoder 1011 and one media stream segmenter 1012.
  • the media encoder 1011 is configured to receive audio and video from an audio or video source device for encoding and encapsulation.
  • the encoding format should be one of the set of encodings supported by the client device, such as H.264 for video and HE-AAC for audio.
  • the encapsulation format may be an MPEG-2 Transport (TS) stream containing audio and video, or an audio-only MPEG elementary stream.
  • TS MPEG-2 Transport
  • the media encoder 1011 can transcode and package the same video content into a plurality of code rate media streams, so that the client dynamically selects content of different code rates according to the network status.
  • the media encoder 1011 publishes the packaged media stream to the media stream segmenter 1012.
  • the media stream segmenter 1012 reads the media stream from the media encoder 1011 and divides it into a series of media file fragments. The length of each segment of the media file is the same, about 2-10 seconds.
  • the media stream segmenter 1012 also creates an index file containing the reference information of each media file, and the index file is used to confirm the location of the media file fragment.
  • the index file is also referred to as a playlist description file, and includes a playlist description file for each code rate content, and a media file fragment column defining a specific code rate content. Table; a main playlist description file, which defines a playlist description file name corresponding to each code rate content, and information such as audio tracks and subtitles.
  • the content distribution system 102 can be a web server or a web caching system that publishes media files and index files based on the HTTP protocol.
  • the client 103 may be a smart terminal embedded with a player supporting the HTTP protocol, such as a smart phone, a tablet or a computer, or the client is a player supporting the HAS technology. It can be used to obtain an index file, and select a media stream according to the index file. For the selected media stream, the client 103 downloads each available media file fragment in order, and once sufficient data is downloaded, the client 103 starts to play back to the user. Combined media stream.
  • FIG. 2 is a schematic flow chart of a content distribution method according to an embodiment of the present invention, which may be performed by the streaming media system shown in FIG. 1.
  • the content distribution method includes:
  • the client sends a playlist description file obtaining request to the streaming media server, where the obtaining request includes a compressed identifier for indicating whether the client supports compressed transmission.
  • the client sends an HTTP GET message to the streaming server, that is, the WEB server in the content distribution system in FIG. 1, for requesting to obtain the playlist description file, and the HTTPGET message carries the indication that the client supports the support.
  • the client may be a player that supports the HAS technology, and the client supports the compressed transmission, indicating that the player supports decompressing the compressed content to obtain the original content.
  • the streaming media server returns a playlist description file of the compressed lowest bit rate content to the client according to the compressed identifier.
  • the streaming media server also returns the compressed main playlist description file to the client.
  • the streaming media server deploys a main playlist description file compression file, and a playlist description file compression file of each bit rate content.
  • the main playlist description file and the playlist description file of each code rate content may be separately released and released one by one.
  • the playlist description file of the main playlist description file and the lowest bit rate content may be combined into a first compressed file, and the playlist description files of other code rate contents are respectively compressed and deployed.
  • the main playlist description file may be separately compressed and released, and the playlist description files of each code rate content are combined and compressed and released.
  • the streaming media server After receiving the playlist description file acquisition request from the client, the streaming media server determines whether the client supports compressed transmission according to the compressed identifier that is used in the request to indicate whether the client supports compressed transmission. If the client supports compressed transmission, the client will support the compressed transmission. A compressed file of the playlist description file including the main playlist description file and the lowest bitrate content is returned to the client. Optionally, the compressed file including the primary playlist description file and the compressed playlist description file compressed file including the lowest bit rate media file may be separately and separately returned to the client.
  • the client decompresses the compressed file returned by the streaming media server, and obtains a playlist description file of the lowest bit rate content.
  • the client also decompresses the compressed file to obtain a main playlist description file.
  • the streaming media server returns the main playlist description file and the playlist description file of the lowest bit rate content in the same compressed file, decompress the compressed file and obtain the playlist of the main playlist description file and the lowest bit rate content. Description file.
  • the client decompresses the compressed file one by one to obtain the main playlist description file and the minimum respectively.
  • a playlist description file for the rate content If the streaming media server respectively returns a compressed file including the main playlist description file and a compressed file including the playlist description file of the lowest bit rate content, the client decompresses the compressed file one by one to obtain the main playlist description file and the minimum respectively.
  • a playlist description file for the rate content If the streaming media server respectively returns a compressed file including the main playlist description file and a compressed file including the playlist description file of the lowest bit rate content, the client decompresses the compressed file one by one to obtain the main playlist description file and the minimum respectively.
  • the client sends a lowest code rate content fragmentation acquisition request to the streaming media server according to the playlist description file of the lowest bit rate content, and obtains the lowest bit rate content fragmentation from the media server.
  • the client parses the playlist description file of the lowest bit rate media content to obtain a playlist of the lowest bit rate content, where the playlist includes a series of segment identifiers of the lowest bit rate content, such as a fragment URL, and the client segmentation
  • the slice URL obtains the selected content slice from the streaming server and plays it.
  • the client can download the playlist description file compression file of other code rate content from the streaming media server while playing the lowest bit rate content fragmentation, and the client can dynamically download the data according to the network, such as the network download speed.
  • Other rate content segments that match the client network condition are requested from the streaming server based on the playlist description file of the other code rate content.
  • the compressed file including the primary playlist description file and the playlist description file of the lowest bit rate content is sent to the client.
  • the number of interactions between the client and the streaming server in the content buffering stage is reduced, the download speed is improved, and the compressed playlist description file reduces the amount of data downloaded by the client buffer, further improving the download speed, reducing the buffering time, and improving the user.
  • the compressed playlist description file reduces the amount of data downloaded by the client buffer, further improving the download speed, reducing the buffering time, and improving the user.
  • HLS is an HTTP-based streaming media network transmission protocol proposed by Apple, which is an implementation scheme of HAS technology. It can realize live and on-demand streaming media, mainly used in iOS system, providing audio and video live broadcast and on-demand programs for iOS devices (such as iPhone and iPad).
  • the content of HLS includes the following parts:
  • the main playlist description file a text file with the extension m3u8, which defines the playlist description file name corresponding to each bit rate content, and information such as multiple audio tracks and subtitles.
  • a playlist description file of each code rate content a text file with an extension of m3u8, wherein a TS file list corresponding to the bit rate is defined, and when the client plays a content of a certain bit rate, the corresponding request is requested according to the file list order.
  • the TS file is played.
  • TS fragmentation TS fragment file including multiple code rates.
  • another embodiment of the present invention provides an HLS-based content distribution method, including: Two stages of content publishing and content playback.
  • Content publishing phase At the time of content distribution, the streaming media management system compresses the playlist description file, wherein the playlist description file of the main playlist description file and the lowest bitrate content can be compressed into one file, and other code rates.
  • the playlist description files of the content are compressed into a plurality of compressed files one by one.
  • Publish the above compressed file to the streaming server.
  • the following content list in the streaming media server includes the following playlist description files:
  • the compressed main playlist description file (the compressed play file includes a main playlist description file and a playlist description file of the lowest bit rate content);
  • a playlist description file (original file) of each code rate content
  • a playlist description file of each code rate content after compression (a playlist description file including a code rate content in each compressed file)
  • the content playback phase includes the following steps:
  • the client sends a primary playlist description file request to the streaming media server, where the request carries a compressed identifier indicating whether the client supports compressed transmission.
  • the client sends an HTTP GET message for requesting to obtain a playlist description file
  • the HTTP GET message carries a client capability field for indicating whether the client supports compressed transmission.
  • the client may be a player that supports the HLS protocol.
  • the streaming media server determines, according to the compressed identifier in the request message, whether the client supports compressed transmission.
  • the streaming media server After determining that the client supports the compressed transmission, the streaming media server returns the compressed playlist description file to the client.
  • the compressed playlist description file includes a main playlist description file and a playlist description file of the lowest bitrate content.
  • the client decompresses and parses the compressed primary playlist description file and the playlist description file of the lowest bitrate content returned by the streaming media server.
  • the client requests content fragmentation of the lowest bit rate content from the streaming media server.
  • the client After parsing the lowest bit rate playlist description file, the client obtains a playlist of the lowest bit rate content, where the playlist includes a series of fragment identifiers of the lowest bit rate content, such as a fragment URL, and the client is segmented according to the fragment.
  • the URL sends a content slice to the streaming server to obtain the selection.
  • the streaming media server returns the lowest bit rate content fragment to the client.
  • the client plays the received content fragment.
  • the client requests a playlist description file of other code rate content from the streaming media server.
  • the client sends a request for acquiring another content rate content playlist description file to the streaming media server while playing the lowest bit rate content fragment file.
  • the streaming media server returns a playlist description file of the compressed other code rate content to the client.
  • the client determines the network status according to the download speed of the content fragment, and dynamically switches the code rate.
  • the client can dynamically request other content rate content fragments matching the client network status according to the network downloading status, such as the network download speed, according to the playlist description file of the other code rate content.
  • the main playlist description file may be separately compressed, the playlist description files of each code rate content are compressed together, or the main playlist description file is separately compressed, and each The playlist description files of the code rate content are compressed separately.
  • the compressed file including the primary playlist description file and the playlist description file of the lowest bit rate content is sent to the client.
  • the number of interactions between the client and the streaming server in the content buffering stage is reduced, the download speed is improved, and the compressed playlist description file reduces the amount of data downloaded by the client buffer, further improving the download speed, reducing the buffering time, and improving the user.
  • the compressed playlist description file reduces the amount of data downloaded by the client buffer, further improving the download speed, reducing the buffering time, and improving the user.
  • the client includes:
  • the sending unit 401 is configured to send a playlist description file acquisition request to the streaming media server, where the obtaining request includes a compression identifier used to indicate whether the client supports compressed transmission;
  • the receiving unit 402 is configured to receive, by the streaming media server, the first compressed file that includes the lowest code rate playlist description file that is returned according to the compressed identifier;
  • the processing unit 403 is configured to decompress the first compressed file to obtain a lowest code rate playlist description file.
  • the sending unit 401 is further configured to send a content fragmentation acquisition request to the streaming media server according to the lowest code rate playlist description file; the receiving unit is further configured to receive the content content returned by the streaming media server sheet.
  • the client may be a user terminal that supports a HAS player, such as a smart phone, a tablet, or the like, or a player that supports HAS.
  • the sending unit 401 sends an HTTP request message to the streaming media server, where the HTTP request message is requested to obtain the primary playlist description file, where the HTTP request message carries the indication whether the client is Supporting a compressed identification of the compressed transmission, the streaming server determining, according to the compressed identifier, whether the client supports the compressed transmission, and when determining that the client supports the compressed transmission, sending the primary playlist description file and the lowest to the receiving unit 402 of the client The compressed file of the code rate content playlist description file.
  • the processing unit 403 decompresses the compressed file received by the receiving unit 402 to obtain a primary playlist description file and a lowest bit rate content playlist description file. At the same time, the processing unit 403 parses the lowest bit rate content playlist description file to obtain a playlist of the lowest bit rate content, the playlist containing a series of slice identifiers of the lowest bit rate content.
  • the processing unit 403 sends a content fragmentation acquisition request to the streaming media server according to the playlist instruction sending unit 404, where the content carries the content fragmentation identifier, and the streaming media server obtains the content fragmentation identifier in the content fragmentation request according to the received content. After the query obtains the fragment file corresponding to the content fragment identifier, it returns to the receiving unit 402 of the client, and the processing unit 403 parses the received content fragment for playing.
  • the processing unit 403 when parsing the received content fragment, the processing unit 403 further instructs the sending unit 401 to send another content rate content playlist description file acquisition request to the streaming media server, and the streaming media server displays the other content rate content playlist description file.
  • the processing unit 403 parses the other code rate content playlist description file received by the receiving unit 402, and obtains other code rate content.
  • the playlist determines the network status according to the download speed of the content slice, and dynamically specifies the sending unit 401 to send a code rate content fragmentation request suitable for the current network state to the media server according to the network condition.
  • the method includes: a receiving unit 501, configured to receive a playlist description file obtaining request sent by a client, where the obtaining request includes a processing unit 502, configured to determine, according to the compressed identifier, that the client supports compressed transmission, and a sending unit 503, configured to: according to the judgment result of the processing unit, The client sends the first compressed file including the lowest bit rate playlist description file.
  • the receiving unit 501 further receives a content fragmentation request sent by the client, where the content fragmentation request carries the content fragmentation identifier, and the processing unit 502 obtains, according to the content fragmentation identifier, the content fragment identifier corresponding to the content fragmentation identifier.
  • the instruction sending unit 503 sends the content slice to the client for playing.
  • the receiving unit 501 further receives another content rate content playlist description file acquisition request sent by the client, and the processing unit 502 instructs the sending unit 503 to send the compressed file of the other code rate content playlist description file to the client, so as to facilitate the client.
  • the processing unit 502 instructs the sending unit 503 to send the compressed file of the other code rate content playlist description file to the client, so as to facilitate the client.
  • content fragments of different code rates adapted to the network state are dynamically obtained from the streaming media server.
  • the streaming media server may be a web server that supports the HTTP protocol.
  • the streaming media server may adopt a module design as shown in FIG. 6.
  • the streaming media server and the client when the client requests the playlist description file from the streaming media server, carries the compressed identifier indicating whether the client supports the compressed transmission, and the streaming media server determines that the client supports the compressed transmission according to the compressed identifier. Transmitting the compressed file including the main playlist description file and the playlist description file of the lowest bit rate content to the client, reducing the number of interactions between the client and the streaming server in the content buffering stage, improving the download speed, and compressing the playback
  • the list description file reduces the amount of data downloaded by the client buffer, further improving the download speed, reducing the buffer time, and improving the user experience.
  • FIG. 6 is a schematic block diagram of a user terminal according to an embodiment of the present invention.
  • the user terminal includes: at least one processor 601, such as a CPU, at least A communication interface 604 or other communication interface, memory 602, and at least one communication bus 605 are used to enable session communication between these devices.
  • the processor 601 is configured to execute an executable module, such as a computer program, stored in the memory.
  • the user terminal optionally also includes a user interface 603 including, but not limited to, a display, a keyboard, and a pointing device (eg, a mouse, a trackball, a touchpad, or a tactile display).
  • the memory 602 may include a high speed RAM memory and may also include a non-volatile memory such as at least one disk memory.
  • the communication session between the user terminal and at least one other computer is implemented by at least one network interface (which may be wired or wireless), and an Internet, a wide area network, a local network, a metropolitan area network, etc. may be used.
  • the communication interface 604 is configured to send a playlist description file acquisition request to the streaming media server, where the acquisition request includes a compression identifier used to indicate whether the client supports compressed transmission, and is further configured to receive the flow.
  • the media server returns a first compressed file including the lowest code rate playlist description file according to the compressed identifier
  • the memory 602 is configured to store the communication interface 604 to receive the first compressed file
  • the processor 601 is configured to use the first compressed file from the memory 602. Compressing the file and decompressing the first compressed file to obtain a lowest bit rate playlist description file.
  • the processor 601 parses the lowest bit rate content playlist description file to obtain a playlist of the lowest bit rate content, and the playlist includes a series of slice identifiers of the lowest bit rate content.
  • the processor 601 instructs the communication interface 604 to send a content fragmentation acquisition request to the streaming media server according to the playlist instruction.
  • the request carries the content fragmentation identifier, and the streaming media server obtains the content fragmentation identifier in the request according to the received content fragmentation.
  • the query returns to the communication interface 604 of the client, and the processor 601 parses the received content fragment to call the player to play.
  • the disclosed systems, devices, and methods may be implemented in other manners.
  • the device embodiments described above are merely illustrative.
  • the division of the unit is only a logical function division.
  • there may be another division manner for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed.
  • the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
  • the units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
  • each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit.
  • the above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
  • the integrated unit if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium.
  • the technical solution of the present invention contributes in essence or to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium.
  • a number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention.
  • the foregoing storage medium includes: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk.

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

Embodiments of the present invention provide a content distribution method, which comprises: sending a playlist description file acquiring request to a streaming media server, the acquiring request comprising a compression identifier used for indicating whether a client supports compression transmission; receiving a first compressed file that comprises a minimum-code-rate content playlist description file and is returned by the streaming media server according to the compression identifier; decompressing the first compressed file and obtaining the minimum-code-rate content playlist description file; and acquiring content fragments from the streaming media server based on the minimum-code-rate content playlist description file. In the content distribution method, when the streaming media server determines according to the compression identifier that the client supports the compression transmission, the compressed file comprising a main playlist description file and the minimum-code-rate content playlist description file is sent to the client, the number of interaction times of the client and the streaming media server at the content buffering stage is reduced, and the downloading speed is increased.

Description

一种基于码流自适应技术的内容分发方法、装置及系统Content distribution method, device and system based on code stream adaptive technology
本申请要求于2014年06月18日提交中国专利局、申请号为201410272564.0、发明名称为“一种基于码流自适应技术的内容分发方法、装置及系统”的中国专利申请的优先权,其全部内容通过引用结合在本申请中。The present application claims priority to Chinese Patent Application No. 201410272564.0, entitled "Content Distribution Method, Apparatus and System Based on Code Stream Adaptive Technology", which is filed on June 18, 2014. The entire contents are incorporated herein by reference.
技术领域Technical field
本发明涉及内容分发领域,尤其涉及一种基于码流自适应技术的内容分发方法、装置及系统。The present invention relates to the field of content distribution, and in particular, to a content distribution method, apparatus and system based on code stream adaptive technology.
背景技术Background technique
随着移动终端的广泛应用,通过移动终端播放视频的需求大幅增长,码流自适应(HTTP Adaptive Streaming,HAS)技术也应运而生。HAS技术融合了传统实时流传输协议(Real Time Streaming Protocol,RTSP)/实时传输协议(Real-time Transport Protocol,RTP)流媒体技术以及基于超文本传输协议(Hyper Text Transfer Protocol,HTTP)渐进式下载技术的优点,具有高效、可扩展以及兼容性强等特点。With the wide application of mobile terminals, the demand for playing video through mobile terminals has increased dramatically, and HTTP Adaptive Streaming (HAS) technology has emerged. HAS technology combines traditional Real Time Streaming Protocol (RTSP)/Real-time Transport Protocol (RTP) streaming media technology and Hypertext Transfer Protocol (HTTP) progressive download. The advantages of technology, high efficiency, scalability and compatibility.
HAS技术的总体思路是将视频内容转码成为多个码率的内容,然后将每个码率的内容进行切割分片,每个分片的时长一致,大约2-10秒钟。使用播放列表描述文件描述内容支持的码率以及各码率内容的播放列表。发布好的内容目录包括三部分:The general idea of HAS technology is to transcode video content into multiple code rate content, and then cut and slice the content of each code rate, each slice has the same duration, about 2-10 seconds. The playlist description file is used to describe the code rate supported by the content and the playlist of the content of each bit rate. The published content directory consists of three parts:
一、媒体文件:包括多个码率的内容分片文件;1. Media files: content fragment files including multiple code rates;
二、各码率内容的播放列表描述文件:定义某特定码率内容的媒体文件分片列表;Second, a playlist description file of each code rate content: a media file slice list defining a specific code rate content;
三、主播放列表描述文件:定义该内容支持的码率、各码率内容对应的播放列表描述文件名,及音轨,字幕等信息。Third, the main playlist description file: define the code rate supported by the content, the playlist description file name corresponding to each code rate content, and the audio track, subtitle and other information.
客户端在进行内容播放时,首先下载主播放列表描述文件,从中获取该内容支持的码率、各码率内容的播放列表描述文件名等信息,然后根据各码率内容的播放列表描述文件名下载首个码率播放列表描述文件,客户端根据该首个 码率播放列表描述文件从媒体服务器请求内容分片进行播放。在内容的播放过程中,客户端同时还下载其他码率内容的播放列表描述文件,并实时根据内容分片的下载速度检测网络下载带宽,然后根据网络状态动态向媒体服务器请求不同码率的内容分片。When the client plays the content, the user first downloads the main playlist description file, obtains the code rate supported by the content, the playlist description file name of each content rate content, and the like, and then describes the file name according to the playlist of each code rate content. Download the first rate playlist description file, the client is based on the first The rate playlist description file requests content slices from the media server for playback. During the playback of the content, the client also downloads the playlist description file of other code rate content, and detects the network download bandwidth according to the download speed of the content slice in real time, and then dynamically requests the content of the code rate from the media server according to the network state. Fragmentation.
发明人在应用HAS技术中发现,由于客户端在播放首个码率内容分片之前,需要先后下载主播放列表描述文件和首个码率内容的播放列表描述文件,导致内容播放缓冲时间较长,用户体验不佳。The inventor found in the application of the HAS technology that since the client needs to download the main playlist description file and the playlist description file of the first code rate content before playing the first code rate content fragmentation, the content playback buffer time is longer. The user experience is not good.
发明内容Summary of the invention
有鉴于此,实有必要提供一种能够减少内容播放缓冲时间,提高用户体验的基于码率自适应技术的内容分发方法。In view of this, it is necessary to provide a content distribution method based on rate adaptive technology capable of reducing content playback buffer time and improving user experience.
第一方面,提供一种基于码流自适应技术的内容分发方法,包括:向流媒体服务器发送播放列表描述文件获取请求,所述获取请求包括用于指示客户端是否支持压缩传输的压缩标识;接收所述流媒体服务器根据所述压缩标识返回的包括最低码率内容播放列表描述文件的第一压缩文件;解压所述第一压缩文件获取所述最低码率内容播放列表描述文件;基于所述最低码率内容播放列表描述文件从所述流媒体服务器获取内容分片。The first aspect provides a content distribution method based on a code stream adaptive technology, including: sending a playlist description file acquisition request to a streaming media server, where the acquisition request includes a compression identifier for indicating whether the client supports compressed transmission; Receiving, by the streaming media server, a first compressed file that includes a lowest code rate content playlist description file returned according to the compressed identifier; decompressing the first compressed file to obtain the lowest code rate content playlist description file; The lowest bit rate content playlist description file obtains content segments from the streaming server.
依据第一方面的第一实施方式中,所述基于最低码率内容播放列表描述文件从所述流媒体服务器获取内容分片包括:解析所述最低码率内容播放列表描述文件获取最低码率内容播放列表;根据所述最低码率内容播放列表从所述流媒体服务器获取最低码率内容分片。According to the first embodiment of the first aspect, the obtaining, according to the lowest code rate content playlist description file, the content fragment from the streaming media server comprises: parsing the lowest bit rate content playlist description file to obtain the lowest bit rate content a playlist; obtaining a lowest code rate content slice from the streaming server according to the lowest bit rate content playlist.
第二方面,提供一种支持HAS技术的客户端,包括:发送单元,用于向流媒体服务器发送播放列表描述文件获取请求,所述获取请求包括用于指示所述客户端是否支持压缩传输的压缩标识;接收单元,用于接收所述流媒体服务器根据所述压缩标识返回的包括最低码率内容播放列表描述文件的第一压缩文件;处理单元,用于解压所述第一压缩文件获取最低码率内容播放列表描述文件;所述发送单元,还用于根据所述最低码率内容播放列表描述文件向所述流媒体 服务器发送内容分片获取请求;所述接收单元,还用于接收所述流媒体服务器返回的所述内容分片。The second aspect provides a client that supports the HAS technology, including: a sending unit, configured to send a playlist description file obtaining request to the streaming media server, where the obtaining request includes indicating whether the client supports compressed transmission. a receiving unit, configured to receive a first compressed file that includes a lowest code rate content playlist description file returned by the streaming media server according to the compressed identifier, and a processing unit, configured to decompress the first compressed file to obtain a minimum a content rate playlist description file; the sending unit is further configured to: play the list description file according to the lowest bit rate content to the streaming media The server sends a content fragmentation acquisition request; the receiving unit is further configured to receive the content fragment returned by the streaming media server.
依据第二方面的第一实施方式中,所述根据最低码率内容播放列表描述文件向所述流媒体服务器发送内容分片获取请求,包括:所述处理单元解析所述最低码率内容播放列表描述文件,获得最低码率内容播放列表;所述发送单元根据所述最低内容播放列表向所述媒体服务器发送最低码率内容分片获取请求。According to the first embodiment of the second aspect, the sending, by the processing unit, the content rate playlist according to the lowest code rate content playlist description file to the streaming media server Describe a file to obtain a lowest bit rate content playlist; the sending unit sends a lowest bit rate content slice acquisition request to the media server according to the lowest content playlist.
第三方面,提供一种支持HAS的流媒体服务器,包括:接收单元,用于接收客户端发送的播放列表描述文件获取请求,所述获取请求包括用于指示客户端是否支持压缩传输的压缩标识;处理单元,用于根据所述压缩标识判断所述客户端支持压缩传输;发送单元,用于根据所述处理单元的判断结果,向所述客户端发送包括最低码率内容播放列表描述文件的第一压缩文件。The third aspect provides a streaming media server that supports the HAS, including: a receiving unit, configured to receive a playlist description file obtaining request sent by the client, where the obtaining request includes a compressed identifier for indicating whether the client supports compressed transmission a processing unit, configured to determine, according to the compression identifier, that the client supports compressed transmission; and a sending unit, configured to send, according to the determination result of the processing unit, the playlist file including the lowest code rate content playlist to the client The first compressed file.
依据第三方面的第一实施方式中,所述发送单元发送的第一压缩文件还包括主播放列表描述文件。According to the first embodiment of the third aspect, the first compressed file sent by the sending unit further includes a primary playlist description file.
本发明实施例的基于HAS的内容分发方法,由于流媒体服务器根据压缩标识判断客户端支持压缩传输时,将包括主播放列表描述文件和最低码率媒体文件的播放列表描述文件的压缩文件发送给客户端,减少了内容缓冲阶段客户端与流媒体服务器的交互次数,提高了下载速度,同时压缩的播放列表描述文件减少客户端缓冲时下载的数据量,进一步提高了下载速度,减少缓冲时间,提高用户体验。In the HAS-based content distribution method of the embodiment of the present invention, when the streaming media server determines that the client supports the compressed transmission according to the compressed identifier, the compressed file of the playlist description file including the primary playlist description file and the lowest code rate media file is sent to the compressed file. The client reduces the number of interactions between the client and the streaming server in the content buffering phase, improves the download speed, and compresses the playlist description file to reduce the amount of data downloaded by the client buffer, further improving the download speed and reducing the buffering time. Improve the user experience.
附图说明DRAWINGS
图1是本发明一实施例的应用场景架构示意图;1 is a schematic diagram of an application scenario architecture according to an embodiment of the present invention;
图2是本发明一实施例的内容分发方法示意流程图;2 is a schematic flow chart of a content distribution method according to an embodiment of the present invention;
图3是本发明另一实施例的内容分发方法示意流程图;3 is a schematic flow chart of a content distribution method according to another embodiment of the present invention;
图4是本发明一实施例的客户端示意结构图;4 is a schematic structural diagram of a client according to an embodiment of the present invention;
图5是本发明一实施例的流媒体服务器示意结构图;FIG. 5 is a schematic structural diagram of a streaming media server according to an embodiment of the present invention; FIG.
图6是本发明另一实施例的用户终端示意结构图。 FIG. 6 is a schematic structural diagram of a user terminal according to another embodiment of the present invention.
具体实施方式detailed description
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围The technical solutions in the embodiments of the present invention are clearly and completely described in the following with reference to the accompanying drawings in the embodiments of the present invention. It is obvious that the described embodiments are only a part of the embodiments of the present invention, but not all embodiments. All other embodiments obtained by those of ordinary skill in the art based on the embodiments of the present invention without creative efforts are within the scope of the present invention.
图1是依据本发明一实施例的的应用场景架构示意图。FIG. 1 is a schematic diagram of an application scenario architecture according to an embodiment of the invention.
具体的,如图1所示,基于HAS技术的流媒体系统包括:流媒体管理系统101,内容分发系统102和客户端103。流媒体管理系统101负责将输入的媒体流进行数字编码、封装、发布。内容分发系统102由多个标准的Web服务器1021(也称流媒体服务器)组成,负责接受客户端的请求并将客户端请求的内容发送到客户端。需要注意的是,对于大规模部署流媒体系统,边缘网络或者其他内容分发网络可能会被使用。客户端103用于从内容分发系统102获取内容,并将内容重新组装,以连续的媒体流形式展现给用户。Specifically, as shown in FIG. 1, the streaming media system based on the HAS technology includes: a streaming media management system 101, a content distribution system 102, and a client 103. The streaming media management system 101 is responsible for digitally encoding, encapsulating, and publishing the input media stream. The content distribution system 102 is composed of a plurality of standard web servers 1021 (also referred to as streaming media servers), and is responsible for accepting requests from clients and transmitting the content requested by the client to the client. It should be noted that for large-scale deployment of streaming media systems, edge networks or other content distribution networks may be used. The client 103 is configured to retrieve content from the content distribution system 102 and reassemble the content for presentation to the user in the form of a continuous media stream.
其中,流媒体管理系统101至少包括一个媒体编码器1011和一个媒体流分段器1012,媒体编码器1011用于从音频或者视频源设备接收音视频,进行编码和封装。编码格式应该是客户端设备支持的编码集合之一,例如视频的H.264和音频的HE-AAC格式。封装格式可是包含音频和视频的MPEG-2传输(Transport Steaming,TS)流,或者只有音频的MPEG基本流。此外,媒体编码器1011可以将同一视频内容转码并封装成多个码率的媒体流,以便于客户端根据网络状态动态选择不同码率的内容。The media management system 101 includes at least one media encoder 1011 and one media stream segmenter 1012. The media encoder 1011 is configured to receive audio and video from an audio or video source device for encoding and encapsulation. The encoding format should be one of the set of encodings supported by the client device, such as H.264 for video and HE-AAC for audio. The encapsulation format may be an MPEG-2 Transport (TS) stream containing audio and video, or an audio-only MPEG elementary stream. In addition, the media encoder 1011 can transcode and package the same video content into a plurality of code rate media streams, so that the client dynamically selects content of different code rates according to the network status.
媒体编码器1011将封装好的媒体流发布到媒体流分段器1012。媒体流分段器1012从媒体编码器1011读入媒体流并将它切分成一系列时间的媒体文件分片,每段媒体文件分片的时长相同,大约2-10秒。媒体流分段器1012同时会创建一个包含各媒体文件引用信息的索引文件,索引文件被用来确认媒体文件分片的位置。需要注意的是,在本申请中索引文件也称为播放列表描述文件,包括各码率内容的播放列表描述文件,定义某特定码率内容的媒体文件分片列 表;主播放列表描述文件,定义各码率内容对应的播放列表描述文件名,及音轨,字幕等信息。The media encoder 1011 publishes the packaged media stream to the media stream segmenter 1012. The media stream segmenter 1012 reads the media stream from the media encoder 1011 and divides it into a series of media file fragments. The length of each segment of the media file is the same, about 2-10 seconds. The media stream segmenter 1012 also creates an index file containing the reference information of each media file, and the index file is used to confirm the location of the media file fragment. It should be noted that in this application, the index file is also referred to as a playlist description file, and includes a playlist description file for each code rate content, and a media file fragment column defining a specific code rate content. Table; a main playlist description file, which defines a playlist description file name corresponding to each code rate content, and information such as audio tracks and subtitles.
内容分发系统102可以是一个Web服务器或者Web缓存系统,基于HTTP协议发布媒体文件和索引文件。The content distribution system 102 can be a web server or a web caching system that publishes media files and index files based on the HTTP protocol.
客户端103可以是内嵌有支持HTTP协议的播放器的智能终端,如智能手机、平板电脑或者计算机等,或者客户端为支持HAS技术的播放器。可用于获取索引文件,根据索引文件选择媒体流,对于选定的媒体流,客户端103按顺序下载每个可用的媒体文件分片,一旦足够的数据下载完毕,客户端103开始向用户播放重新组合的媒体流。The client 103 may be a smart terminal embedded with a player supporting the HTTP protocol, such as a smart phone, a tablet or a computer, or the client is a player supporting the HAS technology. It can be used to obtain an index file, and select a media stream according to the index file. For the selected media stream, the client 103 downloads each available media file fragment in order, and once sufficient data is downloaded, the client 103 starts to play back to the user. Combined media stream.
图2是依据本发明一实施例的内容分发方法示意流程图,该方法可以由图1所示流媒体系统来执行。2 is a schematic flow chart of a content distribution method according to an embodiment of the present invention, which may be performed by the streaming media system shown in FIG. 1.
如图2所示,内容分发方法包括:As shown in FIG. 2, the content distribution method includes:
201、客户端向流媒体服务器发送播放列表描述文件获取请求,所述获取请求包括用于指示客户端是否支持压缩传输的压缩标识。201. The client sends a playlist description file obtaining request to the streaming media server, where the obtaining request includes a compressed identifier for indicating whether the client supports compressed transmission.
具体的,客户端向流媒体服务器,即图1中的内容分发系统中的WEB服务器,发送HTTP GET消息,用于请求获取播放列表描述文件,同时,该HTTPGET消息携带用于指示客户端是否支持压缩传输的压缩标识。可选的,可以通过对HTTP GET消息头域增加参数的方式携带压缩标识,例如:C=0表示客户端不支持压缩传输,C=1表示客户端支持压缩传输。可选的,还可以携带支持的压缩格式,如gzip等。如果客户端不支持压缩传输,则返回原始的未压缩的播放列表描述文件,处理流程与现有技术相同。本实施例中,客户端可以是支持HAS技术的播放器,客户端支持压缩传输,表示播放器支持对压缩过的内容进行解压,获取原始内容。Specifically, the client sends an HTTP GET message to the streaming server, that is, the WEB server in the content distribution system in FIG. 1, for requesting to obtain the playlist description file, and the HTTPGET message carries the indication that the client supports the support. The compressed ID of the compressed transmission. Optionally, the compressed identifier may be carried by adding a parameter to the HTTP GET header field. For example, C=0 indicates that the client does not support compressed transmission, and C=1 indicates that the client supports compressed transmission. Optionally, you can also carry a supported compression format, such as gzip. If the client does not support compressed transfer, the original uncompressed playlist description file is returned, and the processing flow is the same as the prior art. In this embodiment, the client may be a player that supports the HAS technology, and the client supports the compressed transmission, indicating that the player supports decompressing the compressed content to obtain the original content.
202、流媒体服务器根据压缩标识向客户端返回压缩后最低码率内容的播放列表描述文件。202. The streaming media server returns a playlist description file of the compressed lowest bit rate content to the client according to the compressed identifier.
进一步的,流媒体服务器还向客户端返回压缩后的主播放列表描述文件。 Further, the streaming media server also returns the compressed main playlist description file to the client.
具体的,流媒体服务器部署了主播放列表描述文件压缩文件,以及各码率内容的播放列表描述文件压缩文件。Specifically, the streaming media server deploys a main playlist description file compression file, and a playlist description file compression file of each bit rate content.
可选的,主播放列表描述文件和各码率内容的播放列表描述文件可以分开一一压缩发布。Optionally, the main playlist description file and the playlist description file of each code rate content may be separately released and released one by one.
可选的,也可以将主播放列表描述文件和最低码率内容的播放列表描述文件合起来压缩成第一压缩文件,其他码率内容的播放列表描述文件分别一一压缩部署。Optionally, the playlist description file of the main playlist description file and the lowest bit rate content may be combined into a first compressed file, and the playlist description files of other code rate contents are respectively compressed and deployed.
可选的,也可将主播放列表描述文件单独压缩发布,各码率内容的播放列表描述文件合起来压缩发布。Optionally, the main playlist description file may be separately compressed and released, and the playlist description files of each code rate content are combined and compressed and released.
流媒体服务器在收到客户端的播放列表描述文件获取请求后,根据请求中携带的用于指示客户端是否支持压缩传输的压缩标识判断客户端是否支持压缩传输,若客户端支持压缩传输,则将包括主播放列表描述文件和最低码率内容的播放列表描述文件的压缩文件返回给客户端。可选的,也可以分开将包括主播放列表描述文件的压缩文件和包括最低码率媒体文件的播放列表描述文件压缩文件分开先后返回给客户端。After receiving the playlist description file acquisition request from the client, the streaming media server determines whether the client supports compressed transmission according to the compressed identifier that is used in the request to indicate whether the client supports compressed transmission. If the client supports compressed transmission, the client will support the compressed transmission. A compressed file of the playlist description file including the main playlist description file and the lowest bitrate content is returned to the client. Optionally, the compressed file including the primary playlist description file and the compressed playlist description file compressed file including the lowest bit rate media file may be separately and separately returned to the client.
203、客户端解压流媒体服务器返回的压缩文件,获取最低码率内容的播放列表描述文件。203. The client decompresses the compressed file returned by the streaming media server, and obtains a playlist description file of the lowest bit rate content.
进一步的,客户端还解压压缩文件,获取主播放列表描述文件。Further, the client also decompresses the compressed file to obtain a main playlist description file.
具体的,如果流媒体服务器在同一压缩文件中同时返回主播放列表描述文件和最低码率内容的播放列表描述文件,则解压该压缩文件同时获得主播放列表描述文件和最低码率内容的播放列表描述文件。Specifically, if the streaming media server returns the main playlist description file and the playlist description file of the lowest bit rate content in the same compressed file, decompress the compressed file and obtain the playlist of the main playlist description file and the lowest bit rate content. Description file.
如果流媒体服务器分别返回包括主播放列表描述文件的压缩文件和包括最低码率内容的播放列表描述文件的压缩文件,则客户端先后一一解压该压缩文件,分别获得主播放列表描述文件和最低码率内容的播放列表描述文件。If the streaming media server respectively returns a compressed file including the main playlist description file and a compressed file including the playlist description file of the lowest bit rate content, the client decompresses the compressed file one by one to obtain the main playlist description file and the minimum respectively. A playlist description file for the rate content.
204、客户端根据最低码率内容的播放列表描述文件向流媒体服务器发送最低码率内容分片获取请求,并从所述媒体服务器获取最低码率内容分片。 204. The client sends a lowest code rate content fragmentation acquisition request to the streaming media server according to the playlist description file of the lowest bit rate content, and obtains the lowest bit rate content fragmentation from the media server.
具体的,客户端解析最低码率媒体内容的播放列表描述文件获取最低码率内容的播放列表,该播放列表中包括最低码率内容的一系列分片标识,比如分片URL,客户端根据分片URL从流媒体服务器获取选择的内容分片并进行播放。Specifically, the client parses the playlist description file of the lowest bit rate media content to obtain a playlist of the lowest bit rate content, where the playlist includes a series of segment identifiers of the lowest bit rate content, such as a fragment URL, and the client segmentation The slice URL obtains the selected content slice from the streaming server and plays it.
进一步的,客户端可在播放最低码率内容分片的同时,从流媒体服务器下载其他码率内容的播放列表描述文件压缩文件,客户端可实时动态的根据网络下载情况,如网络下载速度,根据其他码率内容的播放列表描述文件,向流媒体服务器请求与客户端网络状况匹配的其他码率内容分片。Further, the client can download the playlist description file compression file of other code rate content from the streaming media server while playing the lowest bit rate content fragmentation, and the client can dynamically download the data according to the network, such as the network download speed. Other rate content segments that match the client network condition are requested from the streaming server based on the playlist description file of the other code rate content.
如上所述的基于HAS的内容分发方法,由于流媒体服务器根据压缩标识判断客户端支持压缩传输时,将包括主播放列表描述文件和最低码率内容的播放列表描述文件的压缩文件发送给客户端,减少了内容缓冲阶段客户端与流媒体服务器的交互次数,提高了下载速度,同时压缩的播放列表描述文件减少客户端缓冲时下载的数据量,进一步提高了下载速度,减少缓冲时间,提高用户体验。The HAS-based content distribution method as described above, when the streaming media server determines that the client supports the compressed transmission according to the compressed identifier, the compressed file including the primary playlist description file and the playlist description file of the lowest bit rate content is sent to the client. The number of interactions between the client and the streaming server in the content buffering stage is reduced, the download speed is improved, and the compressed playlist description file reduces the amount of data downloaded by the client buffer, further improving the download speed, reducing the buffering time, and improving the user. Experience.
下面以苹果的动态码率自适应技术(HTTP Live Streaming,HLS)为例,对本发明实施例作进一步的详细描述。HLS是苹果公司提出的一种基于HTTP的流媒体网络传输协议,是HAS技术的一种实现方案。可实现流媒体的直播和点播,主要应用在iOS系统,为iOS设备(如iPhone、iPad)提供音视频直播和点播方案。HLS的内容包括如下几个部分:The embodiment of the present invention is further described in detail below by taking Apple's dynamic rate adaptation (HLS) as an example. HLS is an HTTP-based streaming media network transmission protocol proposed by Apple, which is an implementation scheme of HAS technology. It can realize live and on-demand streaming media, mainly used in iOS system, providing audio and video live broadcast and on-demand programs for iOS devices (such as iPhone and iPad). The content of HLS includes the following parts:
1、主播放列表描述文件:扩展名为m3u8的文本文件,其中定义了各码率内容对应的播放列表描述文件名,以及多音轨、字幕等信息。1. The main playlist description file: a text file with the extension m3u8, which defines the playlist description file name corresponding to each bit rate content, and information such as multiple audio tracks and subtitles.
2、各码率内容的播放列表描述文件:扩展名为m3u8的文本文件,其中定义了对应码率的TS文件列表,客户端在播放某码率的内容时,根据该文件列表顺序请求对应的TS文件进行播放。2. A playlist description file of each code rate content: a text file with an extension of m3u8, wherein a TS file list corresponding to the bit rate is defined, and when the client plays a content of a certain bit rate, the corresponding request is requested according to the file list order. The TS file is played.
3、TS分片:包括多个码率的TS分片文件。3. TS fragmentation: TS fragment file including multiple code rates.
如图3所示,本发明另一实施例提供一种基于HLS的内容分发方法,包括: 内容发布和内容播放两个阶段。As shown in FIG. 3, another embodiment of the present invention provides an HLS-based content distribution method, including: Two stages of content publishing and content playback.
内容发布阶段:在内容发布时,流媒体管理系统将播放列表描述文件进行压缩,其中,可以将主播放列表描述文件和最低码率内容的播放列表描述文件压缩到一个文件中,其他各码率内容的播放列表描述文件分别一一压缩到多个压缩文件中。将上述压缩文件一同发布到流媒体服务器。内容发布后,流媒体服务器中对应的内容目录下包括以下播放列表描述文件:Content publishing phase: At the time of content distribution, the streaming media management system compresses the playlist description file, wherein the playlist description file of the main playlist description file and the lowest bitrate content can be compressed into one file, and other code rates. The playlist description files of the content are compressed into a plurality of compressed files one by one. Publish the above compressed file to the streaming server. After the content is published, the following content list in the streaming media server includes the following playlist description files:
1、主播放列表描述文件(原始文件);1. The main playlist description file (original file);
2、压缩后的主播放列表描述文件(压缩文件中包括主播放列表描述文件和最低码率内容的播放列表描述文件);2. The compressed main playlist description file (the compressed play file includes a main playlist description file and a playlist description file of the lowest bit rate content);
3、各码率内容的播放列表描述文件(原始文件);3. A playlist description file (original file) of each code rate content;
4、压缩后的各码率内容的播放列表描述文件(每个压缩文件中包括一个码率内容的播放列表描述文件)4. A playlist description file of each code rate content after compression (a playlist description file including a code rate content in each compressed file)
如下表所示:As shown in the following table:
Figure PCTCN2015076775-appb-000001
Figure PCTCN2015076775-appb-000001
Figure PCTCN2015076775-appb-000002
Figure PCTCN2015076775-appb-000002
内容播放阶段,如图3所示包括以下步骤:The content playback phase, as shown in Figure 3, includes the following steps:
301、客户端向流媒体服务器发送主播放列表描述文件请求,该请求中携带指示客户端是否支持压缩传输的压缩标识。301. The client sends a primary playlist description file request to the streaming media server, where the request carries a compressed identifier indicating whether the client supports compressed transmission.
具体的,客户端发送HTTP GET消息,用于请求获取播放列表描述文件,同时,该HTTP GET消息携带用于指示客户端是否支持压缩传输的的客户端能力字段。可选的,可以通过对HTTP GET消息头域增加参数的方式携带压缩标识,例如:C=0表示客户端不支持压缩传输,C=1表示客户端支持压缩传输。可选的,还可以携带支持的压缩格式,如gzip等。如果客户端不支持压缩传输,则返回原始的未压缩的播放列表描述文件,处理流程与现有技术相同。本实施例中,客户端可以是支持HLS协议的播放器。Specifically, the client sends an HTTP GET message for requesting to obtain a playlist description file, and the HTTP GET message carries a client capability field for indicating whether the client supports compressed transmission. Optionally, the compressed identifier may be carried by adding a parameter to the HTTP GET header field. For example, C=0 indicates that the client does not support compressed transmission, and C=1 indicates that the client supports compressed transmission. Optionally, you can also carry a supported compression format, such as gzip. If the client does not support compressed transfer, the original uncompressed playlist description file is returned, and the processing flow is the same as the prior art. In this embodiment, the client may be a player that supports the HLS protocol.
302、流媒体服务器根据请求消息中的压缩标识判断客户端是否支持压缩传输。302. The streaming media server determines, according to the compressed identifier in the request message, whether the client supports compressed transmission.
303、在判断客户端支持压缩传输后,流媒体服务器向客户端返回压缩后的播放列表描述文件。303. After determining that the client supports the compressed transmission, the streaming media server returns the compressed playlist description file to the client.
具体的,该压缩后的播放列表描述文件包括主播放列表描述文件和最低码率内容的播放列表描述文件。Specifically, the compressed playlist description file includes a main playlist description file and a playlist description file of the lowest bitrate content.
304、客户端解压并解析流媒体服务器返回的压缩后的主播放列表描述文件和最低码率内容的播放列表描述文件。304. The client decompresses and parses the compressed primary playlist description file and the playlist description file of the lowest bitrate content returned by the streaming media server.
305、客户端向流媒体服务器请求最低码率内容的内容分片。 305. The client requests content fragmentation of the lowest bit rate content from the streaming media server.
具体的,客户端解析最低码率播放列表描述文件后,获取最低码率内容的播放列表,该播放列表中包括最低码率内容的一系列分片标识,比如分片URL,客户端根据分片URL向流媒体服务器发送获取选择的内容分片。Specifically, after parsing the lowest bit rate playlist description file, the client obtains a playlist of the lowest bit rate content, where the playlist includes a series of fragment identifiers of the lowest bit rate content, such as a fragment URL, and the client is segmented according to the fragment. The URL sends a content slice to the streaming server to obtain the selection.
306、流媒体服务器向客户端返回最低码率内容分片。306. The streaming media server returns the lowest bit rate content fragment to the client.
307、客户端播放接收的内容分片。307. The client plays the received content fragment.
308、客户端向流媒体服务器请求其他码率内容的播放列表描述文件。308. The client requests a playlist description file of other code rate content from the streaming media server.
具体的,客户端在播放最低码率内容分片文件的同时,向流媒体服务器发送获取其他码率内容播放列表描述文件请求。Specifically, the client sends a request for acquiring another content rate content playlist description file to the streaming media server while playing the lowest bit rate content fragment file.
309、流媒体服务器向客户端返回压缩的其他码率内容的播放列表描述文件。309. The streaming media server returns a playlist description file of the compressed other code rate content to the client.
310、客户端根据内容分片的的下载速度,判断网络状态,进行码率动态切换。310. The client determines the network status according to the download speed of the content fragment, and dynamically switches the code rate.
具体的,客户端可实时动态的根据网络下载情况,如网络下载速度,根据其他码率内容的播放列表描述文件,向流媒体服务器请求与客户端网络状况匹配的其他码率内容分片。Specifically, the client can dynamically request other content rate content fragments matching the client network status according to the network downloading status, such as the network download speed, according to the playlist description file of the other code rate content.
在另外一种可选的实施方式中,在内容发布阶段,也可将主播放列表描述文件单独压缩,各码率内容的播放列表描述文件合起来压缩,或者主播放列表描述文件单独压缩,各码率内容的播放列表描述文件一一分开压缩。In another optional implementation manner, in the content publishing phase, the main playlist description file may be separately compressed, the playlist description files of each code rate content are compressed together, or the main playlist description file is separately compressed, and each The playlist description files of the code rate content are compressed separately.
如上所述的基于HLS的内容分发方法,由于流媒体服务器根据压缩标识判断客户端支持压缩传输时,将包括主播放列表描述文件和最低码率内容的播放列表描述文件的压缩文件发送给客户端,减少了内容缓冲阶段客户端与流媒体服务器的交互次数,提高了下载速度,同时压缩的播放列表描述文件减少客户端缓冲时下载的数据量,进一步提高了下载速度,减少缓冲时间,提高用户体验。The HLS-based content distribution method as described above, when the streaming media server determines that the client supports the compressed transmission according to the compressed identifier, the compressed file including the primary playlist description file and the playlist description file of the lowest bit rate content is sent to the client. The number of interactions between the client and the streaming server in the content buffering stage is reduced, the download speed is improved, and the compressed playlist description file reduces the amount of data downloaded by the client buffer, further improving the download speed, reducing the buffering time, and improving the user. Experience.
本发明另一实施例提供一种客户端,如图4所示,该客户端包括:Another embodiment of the present invention provides a client. As shown in FIG. 4, the client includes:
发送单元401,用于向流媒体服务器发送播放列表描述文件获取请求,所述获取请求包括用于指示所述客户端是否支持压缩传输的压缩标识; The sending unit 401 is configured to send a playlist description file acquisition request to the streaming media server, where the obtaining request includes a compression identifier used to indicate whether the client supports compressed transmission;
接收单元402,用于接收所述流媒体服务器根据所述压缩标识返回的包括最低码率播放列表描述文件的第一压缩文件;The receiving unit 402 is configured to receive, by the streaming media server, the first compressed file that includes the lowest code rate playlist description file that is returned according to the compressed identifier;
处理单元403,用于解压所述第一压缩文件获取最低码率播放列表描述文件;The processing unit 403 is configured to decompress the first compressed file to obtain a lowest code rate playlist description file.
所述发送单元401还用于根据所述最低码率播放列表描述文件向所述流媒体服务器发送内容分片获取请求;所述接收单元还用于接收所述流媒体服务器返回的所述内容分片。The sending unit 401 is further configured to send a content fragmentation acquisition request to the streaming media server according to the lowest code rate playlist description file; the receiving unit is further configured to receive the content content returned by the streaming media server sheet.
具体的,该客户端可以是内置支持HAS播放器的用户终端,比如智能手机,平板电脑等,也可以为支持HAS的播放器。在执行本发明实施例的内容分发方法时,发送单元401向流媒体服务器发送HTTP请求消息,用于向该流媒体服务器请求获取主播放列表描述文件,其中该HTTP请求消息中携带指示客户端是否支持压缩传输的压缩标识,该流媒体服务器根据该压缩标识判断该客户端是否支持压缩传输,在确定该客户端支持压缩传输时,向该客户端的接收单元402发送包含主播放列表描述文件和最低码率内容播放列表描述文件的压缩文件。处理单元403将接收单元402接收的压缩文件进行解压获取主播放列表描述文件和最低码率内容播放列表描述文件。同时,处理单元403解析最低码率内容播放列表描述文件,获取最低码率内容的播放列表,该播放列表包含最低码率内容的一系列分片标识。处理单元403根据该播放列表指令发送单元404向流媒体服务器发送内容分片获取请求,该请求中携带了内容分片标识,流媒体服务器根据收到的内容分片获取请求中的内容分片标识,查询获取到与该内容分片标识对应的分片文件后,返回给该客户端的接收单元402,处理单元403解析收到的内容分片进行播放。Specifically, the client may be a user terminal that supports a HAS player, such as a smart phone, a tablet, or the like, or a player that supports HAS. When the content distribution method of the embodiment of the present invention is executed, the sending unit 401 sends an HTTP request message to the streaming media server, where the HTTP request message is requested to obtain the primary playlist description file, where the HTTP request message carries the indication whether the client is Supporting a compressed identification of the compressed transmission, the streaming server determining, according to the compressed identifier, whether the client supports the compressed transmission, and when determining that the client supports the compressed transmission, sending the primary playlist description file and the lowest to the receiving unit 402 of the client The compressed file of the code rate content playlist description file. The processing unit 403 decompresses the compressed file received by the receiving unit 402 to obtain a primary playlist description file and a lowest bit rate content playlist description file. At the same time, the processing unit 403 parses the lowest bit rate content playlist description file to obtain a playlist of the lowest bit rate content, the playlist containing a series of slice identifiers of the lowest bit rate content. The processing unit 403 sends a content fragmentation acquisition request to the streaming media server according to the playlist instruction sending unit 404, where the content carries the content fragmentation identifier, and the streaming media server obtains the content fragmentation identifier in the content fragmentation request according to the received content. After the query obtains the fragment file corresponding to the content fragment identifier, it returns to the receiving unit 402 of the client, and the processing unit 403 parses the received content fragment for playing.
进一步的,处理单元403在解析播放收到的内容分片时,还指令发送单元401向流媒体服务器发送其他码率内容播放列表描述文件获取请求,流媒体服务器将其他码率内容播放列表描述文件发送给接收单元402。处理单元403解析接收单元402收到的其他码率内容播放列表描述文件后,获得其他码率内容 播放列表,并根据内容分片的下载速度,判断网络状态,根据网络状况动态指定发送单元401向媒体服务器发送适合当前网络状态的码率内容分片请求。Further, when parsing the received content fragment, the processing unit 403 further instructs the sending unit 401 to send another content rate content playlist description file acquisition request to the streaming media server, and the streaming media server displays the other content rate content playlist description file. Send to the receiving unit 402. The processing unit 403 parses the other code rate content playlist description file received by the receiving unit 402, and obtains other code rate content. The playlist determines the network status according to the download speed of the content slice, and dynamically specifies the sending unit 401 to send a code rate content fragmentation request suitable for the current network state to the media server according to the network condition.
本发明另一实施例还提供一种支持HAS技术的流媒体服务器,如图5所示,包括:接收单元501,用于接收客户端发送的播放列表描述文件获取请求,所述获取请求包括用于指示客户端是否支持压缩传输的压缩标识;处理单元502,用于根据所述压缩标识判断所述客户端支持压缩传输;发送单元503,用于根据所述处理单元的判断结果,向所述客户端发送包括最低码率播放列表描述文件的第一压缩文件。Another embodiment of the present invention further provides a streaming media server that supports the HAS technology. As shown in FIG. 5, the method includes: a receiving unit 501, configured to receive a playlist description file obtaining request sent by a client, where the obtaining request includes a processing unit 502, configured to determine, according to the compressed identifier, that the client supports compressed transmission, and a sending unit 503, configured to: according to the judgment result of the processing unit, The client sends the first compressed file including the lowest bit rate playlist description file.
可选的,接收单元501还接收客户端发送的内容分片获取请求,该内容分片获取请求中携带内容分片标识,处理单元502根据该内容分片标识获取与该内容分片标识对应的内容分片后,指令发送单元503将该内容分片发送给客户端用于播放。Optionally, the receiving unit 501 further receives a content fragmentation request sent by the client, where the content fragmentation request carries the content fragmentation identifier, and the processing unit 502 obtains, according to the content fragmentation identifier, the content fragment identifier corresponding to the content fragmentation identifier. After the content is fragmented, the instruction sending unit 503 sends the content slice to the client for playing.
另外,接收单元501还接收客户端发送的其他码率内容播放列表描述文件获取请求,处理单元502指令发送单元503将其他码率内容播放列表描述文件的压缩文件发送给客户端,以便于客户端根据网络下载情况,动态从流媒体服务器获取适配网络状态的不同码率的内容分片。In addition, the receiving unit 501 further receives another content rate content playlist description file acquisition request sent by the client, and the processing unit 502 instructs the sending unit 503 to send the compressed file of the other code rate content playlist description file to the client, so as to facilitate the client. According to the network downloading situation, content fragments of different code rates adapted to the network state are dynamically obtained from the streaming media server.
具体的,该流媒体服务器可以是支持HTTP协议的Web服务器。可选的,该流媒体服务器可以采用如图6所示的模块设计。Specifically, the streaming media server may be a web server that supports the HTTP protocol. Optionally, the streaming media server may adopt a module design as shown in FIG. 6.
如上所述流媒体服务器和客户端,客户端在向流媒体服务器请求播放列表描述文件时携带了指示客户端是否支持压缩传输的压缩标识,流媒体服务器根据压缩标识在判断客户端支持压缩传输时,将包括主播放列表描述文件和最低码率内容的播放列表描述文件的压缩文件发送给客户端,减少了内容缓冲阶段客户端与流媒体服务器的交互次数,提高了下载速度,同时压缩的播放列表描述文件减少客户端缓冲时下载的数据量,进一步提高了下载速度,减少缓冲时间,提高用户体验。The streaming media server and the client, when the client requests the playlist description file from the streaming media server, carries the compressed identifier indicating whether the client supports the compressed transmission, and the streaming media server determines that the client supports the compressed transmission according to the compressed identifier. Transmitting the compressed file including the main playlist description file and the playlist description file of the lowest bit rate content to the client, reducing the number of interactions between the client and the streaming server in the content buffering stage, improving the download speed, and compressing the playback The list description file reduces the amount of data downloaded by the client buffer, further improving the download speed, reducing the buffer time, and improving the user experience.
图6是本发明一实施例的用户终端示意框图。FIG. 6 is a schematic block diagram of a user terminal according to an embodiment of the present invention.
如图6所示,该用户终端包括:至少一个处理器601,例如CPU,至少 一个通信接口604或者其他通信接口,存储器602,和至少一个通信总线605,用于实现这些装置之间的会话通信。处理器601用于执行存储器中存储的可执行模块,例如计算机程序。用户终端可选的还包含用户接口603,包括但不限于显示器,键盘和点击设备(例如,鼠标,轨迹球(trackball),触感板或者触感显示屏)。存储器602可能包含高速Ram存储器,也可能还包括非不稳定的存储器(non-volatile memory),例如至少一个磁盘存储器。通过至少一个网络接口(可以是有线或者无线)实现该用户终端与至少一个其他计算机之间的通信会话,可以使用互联网,广域网,本地网,城域网等。As shown in FIG. 6, the user terminal includes: at least one processor 601, such as a CPU, at least A communication interface 604 or other communication interface, memory 602, and at least one communication bus 605 are used to enable session communication between these devices. The processor 601 is configured to execute an executable module, such as a computer program, stored in the memory. The user terminal optionally also includes a user interface 603 including, but not limited to, a display, a keyboard, and a pointing device (eg, a mouse, a trackball, a touchpad, or a tactile display). The memory 602 may include a high speed RAM memory and may also include a non-volatile memory such as at least one disk memory. The communication session between the user terminal and at least one other computer is implemented by at least one network interface (which may be wired or wireless), and an Internet, a wide area network, a local network, a metropolitan area network, etc. may be used.
可选的,通信接口604可用于用于向流媒体服务器发送播放列表描述文件获取请求,所述获取请求包括用于指示所述客户端是否支持压缩传输的压缩标识,还可用于接收所述流媒体服务器根据所述压缩标识返回的包括最低码率播放列表描述文件的第一压缩文件,存储器602可用于存储该通信接口604接收第一压缩文件,处理器601可用于从该存储器602中第一压缩文件,并解压所述第一压缩文件获取最低码率播放列表描述文件。同时,处理器601解析最低码率内容播放列表描述文件,获取最低码率内容的播放列表,该播放列表包含最低码率内容的一系列分片标识。处理器601根据该播放列表指令通信接口604向流媒体服务器发送内容分片获取请求,该请求中携带了内容分片标识,流媒体服务器根据收到的内容分片获取请求中的内容分片标识,查询获取到与该内容分片标识对应的分片文件后,返回给该客户端的通信接口604,处理器601解析收到的内容分片调用播放器进行播放。本领域普通技术人员可以意识到,结合本文中所公开的实施例描述的各示例的单元及算法步骤,能够以电子硬件、计算机软件或者二者的结合来实现,为了清楚地说明硬件和软件的可互换性,在上述说明中已经按照功能一般性地描述了各示例的组成及步骤。这些功能究竟以硬件还是软件方式来执行,取决于技术方案的特定应用和设计约束条件。专业技术人员可以对每个特定的应用来使用不同方法来实现所描述的功能,但是这种实现不应认为超出本发明的范围。 Optionally, the communication interface 604 is configured to send a playlist description file acquisition request to the streaming media server, where the acquisition request includes a compression identifier used to indicate whether the client supports compressed transmission, and is further configured to receive the flow. The media server returns a first compressed file including the lowest code rate playlist description file according to the compressed identifier, and the memory 602 is configured to store the communication interface 604 to receive the first compressed file, and the processor 601 is configured to use the first compressed file from the memory 602. Compressing the file and decompressing the first compressed file to obtain a lowest bit rate playlist description file. At the same time, the processor 601 parses the lowest bit rate content playlist description file to obtain a playlist of the lowest bit rate content, and the playlist includes a series of slice identifiers of the lowest bit rate content. The processor 601 instructs the communication interface 604 to send a content fragmentation acquisition request to the streaming media server according to the playlist instruction. The request carries the content fragmentation identifier, and the streaming media server obtains the content fragmentation identifier in the request according to the received content fragmentation. After obtaining the fragment file corresponding to the content fragment identifier, the query returns to the communication interface 604 of the client, and the processor 601 parses the received content fragment to call the player to play. Those of ordinary skill in the art will appreciate that the elements and algorithm steps of the various examples described in connection with the embodiments disclosed herein can be implemented in electronic hardware, computer software, or a combination of both, for clarity of hardware and software. Interchangeability, the composition and steps of the various examples have been generally described in terms of function in the above description. Whether these functions are performed in hardware or software depends on the specific application and design constraints of the solution. A person skilled in the art can use different methods for implementing the described functions for each particular application, but such implementation should not be considered to be beyond the scope of the present invention.
所属领域的技术人员可以清楚地了解到,为了描述的方便和简洁,上述描述的系统、装置和单元的具体工作过程,可以参考前述方法实施例中的对应过程,在此不再赘述。A person skilled in the art can clearly understand that, for the convenience and brevity of the description, the specific working process of the system, the device and the unit described above can refer to the corresponding process in the foregoing method embodiment, and details are not described herein again.
在本申请所提供的几个实施例中,应该理解到,所揭露的系统、装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另外,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口、装置或单元的间接耦合或通信连接,也可以是电的,机械的或其它的形式连接。In the several embodiments provided by the present application, it should be understood that the disclosed systems, devices, and methods may be implemented in other manners. For example, the device embodiments described above are merely illustrative. For example, the division of the unit is only a logical function division. In actual implementation, there may be another division manner, for example, multiple units or components may be combined or Can be integrated into another system, or some features can be ignored or not executed. In addition, the mutual coupling or direct coupling or communication connection shown or discussed may be an indirect coupling or communication connection through some interface, device or unit, or an electrical, mechanical or other form of connection.
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本发明实施例方案的目的。The units described as separate components may or may not be physically separated, and the components displayed as units may or may not be physical units, that is, may be located in one place, or may be distributed to multiple network units. Some or all of the units may be selected according to actual needs to achieve the objectives of the embodiments of the present invention.
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理存在,也可以是两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用软件功能单元的形式实现。In addition, each functional unit in each embodiment of the present invention may be integrated into one processing unit, or each unit may exist physically separately, or two or more units may be integrated into one unit. The above integrated unit can be implemented in the form of hardware or in the form of a software functional unit.
所述集成的单元如果以软件功能单元的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分,或者该技术方案的全部或部分可以以软件产品的形式体现出来,该计算机软件产品存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的全部或部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(ROM,Read-Only Memory)、随机存取存储器(RAM,Random Access Memory)、磁碟或者光盘等各种可以 存储程序代码的介质。The integrated unit, if implemented in the form of a software functional unit and sold or used as a standalone product, may be stored in a computer readable storage medium. Based on such understanding, the technical solution of the present invention contributes in essence or to the prior art, or all or part of the technical solution may be embodied in the form of a software product stored in a storage medium. A number of instructions are included to cause a computer device (which may be a personal computer, server, or network device, etc.) to perform all or part of the steps of the methods described in various embodiments of the present invention. The foregoing storage medium includes: a USB flash drive, a mobile hard disk, a read-only memory (ROM), a random access memory (RAM), a magnetic disk, or an optical disk. The medium in which the program code is stored.
以上所述,仅为本发明的具体实施方式,但本发明的保护范围并不局限于此,任何熟悉本技术领域的技术人员在本发明揭露的技术范围内,可轻易想到各种等效的修改或替换,这些修改或替换都应涵盖在本发明的保护范围之内。因此,本发明的保护范围应以权利要求的保护范围为准。 The above is only the specific embodiment of the present invention, but the scope of the present invention is not limited thereto, and any equivalent person can be easily conceived within the technical scope of the present invention by any person skilled in the art. Modifications or substitutions are intended to be included within the scope of the invention. Therefore, the scope of protection of the present invention should be determined by the scope of the claims.

Claims (16)

  1. 一种基于码流自适应(HTTP Adaptive Streaming,HAS)技术的内容分发方法,其特征在于,包括:A content distribution method based on HTTP Adaptive Streaming (HAS) technology, comprising:
    客户端向流媒体服务器发送播放列表描述文件获取请求,所述获取请求包括用于指示客户端支持压缩传输的标识;The client sends a playlist description file acquisition request to the streaming media server, where the obtaining request includes an identifier for indicating that the client supports the compressed transmission;
    所述客户端接收所述流媒体服务器根据所述标识返回的包括最低码率内容播放列表描述文件的第一压缩文件;Receiving, by the client, the first compressed file that includes the lowest code rate content playlist description file returned by the streaming media server according to the identifier;
    所述客户端解压所述第一压缩文件获取所述最低码率内容播放列表描述文件;The client decompresses the first compressed file to obtain the lowest code rate content playlist description file;
    所述客户端基于所述最低码率内容播放列表描述文件从所述流媒体服务器获取内容分片。The client obtains a content slice from the streaming server based on the lowest bit rate content playlist description file.
  2. 如权利要求1所述的内容分发方法,其特征在于,所述基于最低码率内容播放列表描述文件从所述流媒体服务器获取内容分片包括:The content distribution method according to claim 1, wherein the obtaining the content fragment from the streaming media server based on the lowest bit rate content playlist description file comprises:
    解析所述最低码率内容播放列表描述文件获取最低码率内容的媒体文件分片列表;Parsing the lowest code rate content playlist description file to obtain a media file fragment list of the lowest bit rate content;
    根据所述最低码率内容的媒体文件分片列表从所述流媒体服务器获取最低码率内容分片。And obtaining, according to the media file fragmentation list of the lowest code rate content, the lowest code rate content fragment from the streaming server.
  3. 如权利要求1或2所述的内容分发方法,其特征在于,所述第一压缩文件还包括主播放列表描述文件。The content distribution method according to claim 1 or 2, wherein the first compressed file further comprises a main playlist description file.
  4. 如权利要求1或2所述的内容分发方法,其特征在于,所述方法还包括:从所述流媒体服务器获取包括主播放列表描述文件的第二压缩文件。The content distribution method according to claim 1 or 2, wherein the method further comprises: acquiring, from the streaming media server, a second compressed file including a primary playlist description file.
  5. 如权利要求3所述的内容分发方法,其特征在于,所述方法还包括:The content distribution method according to claim 3, wherein the method further comprises:
    解压所述第一压缩文件获取所述主播放列表描述文件,根据所述主播放列表描述文件获取包含第三播放列表描述文件的第三压缩文件,所述第三播放列表描述文件用于描述除最低码率内容外的其他码率内容。Decompressing the first compressed file to obtain the primary playlist description file, and acquiring a third compressed file that includes a third playlist description file according to the primary playlist description file, where the third playlist description file is used to describe Other rate content outside the lowest bit rate content.
  6. 如权利要求4所述的内容分发方法,其特征在于,所述方法还包括: The content distribution method according to claim 4, wherein the method further comprises:
    解压所述第二压缩文件,获取所述主播放列表描述文件,根据所述主播放列表描述文件获取包含第三播放列表描述文件的第三压缩文件,所述第三播放列表描述文件用于描述除最低码率内容外的其他码率内容。Decompressing the second compressed file, acquiring the primary playlist description file, and acquiring a third compressed file that includes a third playlist description file according to the primary playlist description file, where the third playlist description file is used to describe Other rate content except the lowest bit rate content.
  7. 一种支持HAS技术的客户端,其特征在于,包括:A client supporting HAS technology, comprising:
    发送单元,用于向流媒体服务器发送播放列表描述文件获取请求,所述获取请求包括用于指示所述客户端支持压缩传输的标识;a sending unit, configured to send a playlist description file obtaining request to the streaming media server, where the obtaining request includes an identifier for indicating that the client supports compressed transmission;
    接收单元,用于接收所述流媒体服务器根据所述标识返回的包括最低码率内容播放列表描述文件的第一压缩文件;a receiving unit, configured to receive, by the streaming media server, a first compressed file that includes a lowest code rate content playlist description file returned according to the identifier;
    处理单元,用于解压所述第一压缩文件获取最低码率内容播放列表描述文件;a processing unit, configured to decompress the first compressed file to obtain a lowest code rate content playlist description file;
    所述发送单元,还用于根据所述最低码率内容播放列表描述文件向所述流媒体服务器发送内容分片获取请求;The sending unit is further configured to send a content fragmentation acquisition request to the streaming media server according to the lowest code rate content playlist description file;
    所述接收单元,还用于接收所述流媒体服务器返回的所述内容分片。The receiving unit is further configured to receive the content fragment returned by the streaming media server.
  8. 如权利要求7所述的客户端,其特征在于,所述处理单元具体用于:The client according to claim 7, wherein the processing unit is specifically configured to:
    解析所述最低码率内容播放列表描述文件,获得最低码率内容的媒体文件分片列表;Parsing the lowest code rate content playlist description file to obtain a media file fragmentation list of the lowest bit rate content;
    所述发送单元具体用于:The sending unit is specifically configured to:
    根据所述处理单元获得的所述最低码率内容的媒体文件分片列表向所述媒体服务器发送最低码率内容分片获取请求。And sending, according to the media file fragmentation list of the lowest code rate content obtained by the processing unit, a minimum code rate content fragmentation acquisition request to the media server.
  9. 如权利要求7或8所述的客户端,其特征在于,所述接收单元接收的第一压缩文件还包括主播放列表描述文件。The client according to claim 7 or 8, wherein the first compressed file received by the receiving unit further comprises a main playlist description file.
  10. 如权利要求7或8所述的客户端,其特征在于,所述接收单元还用于从所述流媒体服务器接收包括主播放列表描述文件的第二压缩文件。The client according to claim 7 or 8, wherein the receiving unit is further configured to receive, from the streaming media server, a second compressed file including a primary playlist description file.
  11. 如权利要求9所述的客户端,其特征在于,所述处理单元还用于解压所述第一压缩文件获取所述主播放列表描述文件,根据所述主播放列表描述文件获取包含第三播放列表描述文件的第三压缩文件,所述第三播放列表描述文 件用于描述除最低码率内容外的其他码率内容。The client according to claim 9, wherein the processing unit is further configured to decompress the first compressed file to obtain the primary playlist description file, and obtain a third play according to the primary playlist description file. a third compressed file of the list description file, the third playlist description text The pieces are used to describe other code rate content except the lowest bit rate content.
  12. 如权利要求10所述的客户端,其特征在于,所述处理单元还用于解压所述第二压缩文件获取所述主播放列表描述文件,根据所述主播放列表描述文件获取包含第三播放列表描述文件的第三压缩文件,所述第三播放列表描述文件用于描述除最低码率内容外的其他码率内容。The client according to claim 10, wherein the processing unit is further configured to decompress the second compressed file to obtain the primary playlist description file, and obtain a third play according to the primary playlist description file. The third compressed file of the list description file is used to describe other code rate content except the lowest bit rate content.
  13. 一种支持HAS的流媒体服务器,其特征在于,包括:A streaming media server supporting HAS, comprising:
    接收单元,用于接收客户端发送的播放列表描述文件获取请求,所述获取请求包括用于指示客户端支持压缩传输的标识;a receiving unit, configured to receive a playlist description file obtaining request sent by the client, where the obtaining request includes an identifier for indicating that the client supports the compressed transmission;
    处理单元,用于根据所述标识判断所述客户端支持压缩传输;a processing unit, configured to determine, according to the identifier, that the client supports compressed transmission;
    发送单元,用于根据所述处理单元的判断结果,向所述客户端发送包括最低码率内容播放列表描述文件的第一压缩文件。And a sending unit, configured to send, to the client, a first compressed file that includes a lowest code rate content playlist description file according to the determination result of the processing unit.
  14. 如权利要求13所述的流媒体服务器,其特征在于,所述发送单元发送的第一压缩文件还包括主播放列表描述文件。The streaming media server according to claim 13, wherein the first compressed file sent by the sending unit further comprises a main playlist description file.
  15. 如权利要求13所述的流媒体服务器,其特征在于,所述发送单元还用于向所述客户端发送包括所述主播放列表描述文件的第二压缩文件。The streaming media server according to claim 13, wherein the sending unit is further configured to send, to the client, a second compressed file that includes the primary playlist description file.
  16. 如权利要求13-15任一项所述的流媒体服务器,其特征在于,所述发送单元还用于向所述客户端发送包括第三播放列表描述文件的第三压缩文件,所述第三播放列表描述文件用于描述除最低码率内容外的其他码率内容。 The streaming media server according to any one of claims 13 to 15, wherein the sending unit is further configured to send, to the client, a third compressed file including a third playlist description file, the third The playlist description file is used to describe other code rate content except the lowest bit rate content.
PCT/CN2015/076775 2014-06-18 2015-04-16 Content distribution method, device and system based on adaptive streaming technology WO2015192683A1 (en)

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410272564.0A CN104244028B (en) 2014-06-18 2014-06-18 A kind of content distribution method based on code stream adaptive technique, apparatus and system
CN201410272564.0 2014-06-18

Publications (1)

Publication Number Publication Date
WO2015192683A1 true WO2015192683A1 (en) 2015-12-23

Family

ID=52231238

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/076775 WO2015192683A1 (en) 2014-06-18 2015-04-16 Content distribution method, device and system based on adaptive streaming technology

Country Status (2)

Country Link
CN (1) CN104244028B (en)
WO (1) WO2015192683A1 (en)

Cited By (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111600937A (en) * 2020-04-28 2020-08-28 上海翌旭网络科技有限公司 Stream protocol file transmission method and system based on self-adaptive code rate
CN114651449A (en) * 2020-04-26 2022-06-21 华为技术有限公司 Method and device for adjusting streaming media parameter dynamic adaptive network

Families Citing this family (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104244028B (en) * 2014-06-18 2017-11-24 华为技术有限公司 A kind of content distribution method based on code stream adaptive technique, apparatus and system
CN106331089A (en) * 2016-08-22 2017-01-11 乐视控股(北京)有限公司 Video play control method and system
CN108337533B (en) * 2017-01-17 2021-07-09 腾讯科技(深圳)有限公司 Video compression method and device
CN109547846B (en) * 2019-01-31 2021-08-24 海信视像科技股份有限公司 HLS code stream switching method, device and equipment
CN111417031B (en) * 2020-04-28 2022-05-31 北京金山云网络技术有限公司 File transmission method and device and electronic equipment
CN114827753B (en) * 2021-01-22 2023-10-27 腾讯科技(北京)有限公司 Video index information generation method and device and computer equipment
CN114500665A (en) * 2021-12-28 2022-05-13 炫彩互动网络科技有限公司 File fragmentation downloading method, equipment and storage medium adaptive to network environment

Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102487453A (en) * 2010-12-02 2012-06-06 中兴通讯股份有限公司 Method for dynamically inserting program in segmental program and system thereof
CN102487454A (en) * 2010-12-03 2012-06-06 中兴通讯股份有限公司 Method and system for rapidly starting segment programs
CN103314598A (en) * 2010-12-14 2013-09-18 苹果公司 Real-time or near real-time streaming with compressed playlists
US20140059244A1 (en) * 2012-08-24 2014-02-27 General Instrument Corporation Method and apparatus for streaming multimedia data with access point positioning information
CN104244028A (en) * 2014-06-18 2014-12-24 华为技术有限公司 Content distribution method, device and system based on code stream self-adaptation technology

Family Cites Families (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9209934B2 (en) * 2006-06-09 2015-12-08 Qualcomm Incorporated Enhanced block-request streaming using cooperative parallel HTTP and forward error correction
CN102088620B (en) * 2010-12-01 2014-06-18 中兴通讯股份有限公司南京分公司 Method for downloading media file in content distribution network and client
EP2538629A1 (en) * 2011-06-22 2012-12-26 Alcatel Lucent Content delivering method

Patent Citations (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102487453A (en) * 2010-12-02 2012-06-06 中兴通讯股份有限公司 Method for dynamically inserting program in segmental program and system thereof
CN102487454A (en) * 2010-12-03 2012-06-06 中兴通讯股份有限公司 Method and system for rapidly starting segment programs
CN103314598A (en) * 2010-12-14 2013-09-18 苹果公司 Real-time or near real-time streaming with compressed playlists
US20140059244A1 (en) * 2012-08-24 2014-02-27 General Instrument Corporation Method and apparatus for streaming multimedia data with access point positioning information
CN104244028A (en) * 2014-06-18 2014-12-24 华为技术有限公司 Content distribution method, device and system based on code stream self-adaptation technology

Cited By (3)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114651449A (en) * 2020-04-26 2022-06-21 华为技术有限公司 Method and device for adjusting streaming media parameter dynamic adaptive network
CN114651449B (en) * 2020-04-26 2023-09-29 华为技术有限公司 Method and device for adjusting stream media parameter dynamic self-adaptive network
CN111600937A (en) * 2020-04-28 2020-08-28 上海翌旭网络科技有限公司 Stream protocol file transmission method and system based on self-adaptive code rate

Also Published As

Publication number Publication date
CN104244028B (en) 2017-11-24
CN104244028A (en) 2014-12-24

Similar Documents

Publication Publication Date Title
WO2015192683A1 (en) Content distribution method, device and system based on adaptive streaming technology
US20210211482A1 (en) Hypermedia Apparatus and Method
TWI623226B (en) Directory limit based system and method for storing media segments
US9491499B2 (en) Dynamic stitching module and protocol for personalized and targeted content streaming
CN102118428B (en) Method and system for playing streaming media
KR102301333B1 (en) Method and apparatus for streaming dash content over broadcast channels
US20150256600A1 (en) Systems and methods for media format substitution
US10237322B2 (en) Streaming content delivery system and method
US9113177B2 (en) Methods, apparatuses and computer program products for pausing video streaming content
US20140297804A1 (en) Control of multimedia content streaming through client-server interactions
CN109587514B (en) Video playing method, medium and related device
JP2016538754A (en) Method and apparatus for content distribution
WO2013152426A1 (en) Methods and systems for real-time transmuxing of streaming media content
US9313084B2 (en) Systems and methods for client-side media chunking
US8817983B2 (en) Streaming video to cellular phones
JP6338709B2 (en) Streaming apparatus and method thereof, streaming service system using the same, and computer-readable recording medium (streaming apparatus and method thereof, streaming service system using the streaming medium and computer readable)
WO2014193996A2 (en) Network video streaming with trick play based on separate trick play files
US20210021655A1 (en) System and method for streaming music on mobile devices
KR20170141677A (en) Receiving device, transmitting device and data processing method
JP2022524073A (en) Methods and equipment for dynamic adaptive streaming with HTTP
CN105992016A (en) HLS on-line transcoding method and system
US10750248B1 (en) Method and apparatus for server-side content delivery network switching
US9106802B2 (en) Dual-type of playback for multimedia content
KR20110129064A (en) Content virtual segmentation method, and method and system for providing streaming service using the same
KR101568317B1 (en) System for supporting hls protocol in ip cameras and the method thereof

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

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

Country of ref document: EP

Kind code of ref document: A1