WO2016058411A1 - 一种http实时流媒体分片的拼接方法及拼接系统 - Google Patents

一种http实时流媒体分片的拼接方法及拼接系统 Download PDF

Info

Publication number
WO2016058411A1
WO2016058411A1 PCT/CN2015/082975 CN2015082975W WO2016058411A1 WO 2016058411 A1 WO2016058411 A1 WO 2016058411A1 CN 2015082975 W CN2015082975 W CN 2015082975W WO 2016058411 A1 WO2016058411 A1 WO 2016058411A1
Authority
WO
WIPO (PCT)
Prior art keywords
file
hls
sub
splicing
media
Prior art date
Application number
PCT/CN2015/082975
Other languages
English (en)
French (fr)
Inventor
王金东
陈光亮
赵培
Original Assignee
中兴通讯股份有限公司
Priority date (The priority date is an assumption and is not a legal conclusion. Google has not performed a legal analysis and makes no representation as to the accuracy of the date listed.)
Filing date
Publication date
Application filed by 中兴通讯股份有限公司 filed Critical 中兴通讯股份有限公司
Priority to EP15850506.5A priority Critical patent/EP3209025A4/en
Priority to US15/519,583 priority patent/US20170245022A1/en
Publication of WO2016058411A1 publication Critical patent/WO2016058411A1/zh

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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/60Network streaming of media packets
    • H04L65/75Media network packet handling
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L65/00Network arrangements, protocols or services for supporting real-time applications in data packet communication
    • H04L65/80Responding to QoS
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04LTRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
    • H04L67/00Network arrangements or protocols for supporting network services or applications
    • H04L67/01Protocols
    • H04L67/02Protocols based on web technology, e.g. hypertext transfer protocol [HTTP]
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • 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/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • 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/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/23424Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving splicing one content stream with another content stream, e.g. for inserting or substituting an advertisement
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/234Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/23439Processing of video elementary streams, e.g. splicing of video streams, manipulating MPEG-4 scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements for generating different versions
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/25Management operations performed by the server for facilitating the content distribution or administrating data related to end-users or client devices, e.g. end-user or client device authentication, learning user preferences for recommending movies
    • H04N21/262Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists
    • H04N21/26258Content or additional data distribution scheduling, e.g. sending additional data at off-peak times, updating software modules, calculating the carousel transmission frequency, delaying a video stream transmission, generating play-lists for generating a list of items to be played back in a given order, e.g. playlist, or scheduling item distribution according to such list
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/434Disassembling of a multiplex stream, e.g. demultiplexing audio and video streams, extraction of additional data from a video stream; Remultiplexing of multiplex streams; Extraction or processing of SI; Disassembling of packetised elementary stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/435Processing of additional data, e.g. decrypting of additional data, reconstructing software from modules extracted from the transport stream
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/472End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content
    • H04N21/47202End-user interface for requesting content, additional data or services; End-user interface for interacting with content, e.g. for content reservation or setting reminders, for requesting event notification, for manipulating displayed content for requesting content on demand, e.g. video on demand
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/60Network structure or processes for video distribution between server and client or between remote clients; Control signalling between clients, server and network components; Transmission of management data between server and client, e.g. sending from server to client commands for recording incoming content stream; Communication details between server and client 
    • H04N21/61Network physical structure; Signal processing
    • H04N21/6106Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
    • H04N21/6125Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet

Definitions

  • This paper relates to the field of OTT (Over The Top) TV, and in particular to a method and system for splicing HTTP real-time streaming (HLS: HTTP Live Streaming) fragments.
  • HLS HTTP Live Streaming
  • OTT TV refers to a service that transmits IP video and Internet application convergence through networked devices (television, PC, mobile terminal) through the public Internet. It is based on interactive audio and video services, and integrates various technologies such as Internet and multimedia communication. An integrated service provider that provides video, information, games and other services to any end user at any time and at any time.
  • OTT TV Unlike IPTV (Internet Protocol Television), OTT TV does not need to build a dedicated network for OTT TV. It can be managed without QoS (Quality of Service).
  • QoS Quality of Service
  • the guaranteed public Internet or mobile network provides services to users.
  • HLS HTTP Live Streaming
  • IETF International Organization for Standardization
  • OTT TV is based on the public Internet or mobile network
  • the bandwidth of the user changes at different times or at different times in the same place.
  • the OTT audio and video programs need to be transmitted to each Equipment, STB (Set Top Box, set-top box), PC (Personal Computer, personal computer), PAD/Tablet (tablet), Smartphone (smartphone), these different devices have different requirements for OTT audio and video, need Transfer the appropriate resolution and bit rate.
  • the adaptive code rate feature of HLS and the wide applicability of HTTP can adapt to user bandwidth fluctuations and unevenness, so that users can get the code that is compatible with the current bandwidth. Rate the program stream to ensure uninterrupted viewing by the user.
  • the HLS offline encoder 101 encodes a VOD (Video on Demand) content source into a code stream of different resolution and code rate, and performs fragmentation to generate a TS (Transport Stream) fragment file and an index.
  • the (index) file is submitted to the media server 102, and the HLS terminal 103 accesses via the Internet or a mobile network, acquires a key from the DRM (Digital Right Management) server 104, and acquires an index file and a fragment file from the media server 102. Play after decryption.
  • the file organization structure pushed by the HLS offline encoder 101 to the media server 102 is as shown in FIG. 2 .
  • the first column from the left in the figure is the HLS main index file 201, which identifies the different profiles available for a content (mainly resolution and code rate), and records the HLS sub-index file information of different grades. ;
  • the second column is the HLS sub-index files 202, 203, and 204, indicating the path and playback order of the TS fragment file corresponding to each grade, the media file decryption method, and the URL for obtaining the key;
  • the third column is the TS fragment file 205, 206, and 207.
  • the HLS offline encoder 101 slices the input VOD content source into a TS fragment file, and the media content in the fragment file has a certain playing duration, for example, 2 to 10. second;
  • each TS fragment is generally 2 to 10 seconds. If it is fixed to 10 seconds, for a typical 1 hour long VOD program, This class requires 360 TS fragments. If there are 3 grades, there are 1080 TSs. Fragmentation. If there are 500,000 VOD content in a commercial system, 540 million fragment files are needed, and the maximum number of files supported by the file system is relatively high, and the meta information of these files is often stored in memory to speed up file access. , need to consume a lot of memory space.
  • the storage form of the file on the storage device is generally performed in blocks.
  • This article provides a splicing method for HTTP real-time streaming media (HLS) sharding, including:
  • the HLS sub-index file is modified, and the media file in which each TS fragment file is referenced and the location information in the media file are recorded in the modified HLS sub-index file.
  • Splicing data of the TS fragment file referenced in the HLS sub-index file to obtain one or more media files including:
  • the The data of all TS fragment files referenced by the HLS sub-index file is spliced into one or more media files.
  • the modifying the HLS sub-index file further includes: recording, in the modified HLS sub-index file, a path of the media file in which each of the referenced TS fragments files is located.
  • Splicing data of the TS fragment file referenced in the HLS sub-index file including:
  • the data of the TS fragment file referenced in the HLS sub-index file is sequentially spliced according to the playback order of the TS fragment file described in the HLS sub-index file or the splicing order set separately.
  • the method further includes: adding an information field for indicating the format of the media file to the media file.
  • the name of the media file includes one or more of the following information:
  • This article also provides a splicing system for HTTP real-time streaming (HLS) sharding, including:
  • the splicing device is configured to: splicing data of a transport stream (TS) fragment file referenced in the HLS sub-index file to obtain one or more media files;
  • TS transport stream
  • the modifying device is configured to: modify the HLS sub-index file, and record, in the modified HLS sub-index file, the media file where each TS fragment file is referenced and the location information in the media file.
  • the splicing device is set to:
  • HLS sub-index files For multiple HLS sub-index files corresponding to multiple grades in the same HLS main index file, data of all TS fragment files referenced by the HLS sub-index file is spliced into one or more media files.
  • the modifying device is further configured to: record, in the modified HLS sub-index file, a path of the media file in which each TS fragment file referenced by the TS file is located.
  • the splicing device is set to:
  • the data of the TS fragment file referenced in the HLS sub-index file is sequentially spliced according to the playback order of the TS fragment file described in the HLS sub-index file or the splicing order set separately.
  • the splicing device is further configured to add an information field for indicating a media file format in the media file.
  • the name of the media file obtained by splicing the splicing device includes one or more of the following information:
  • a computer readable storage medium storing computer executable instructions for performing the method of any of the above.
  • the above solution can be obtained by splicing the HLS fragments and modifying the HLS sub-index file accordingly. At least one of the following technical effects is obtained: the system supporting the HLS protocol can be better implemented, the pressure on the file system is reduced, the storage space utilization rate of the system is improved, the disk IO speed is improved, and the content distribution efficiency between CDN nodes is improved.
  • FIG. 1 is a schematic diagram of a system architecture of a conventional HLS technology
  • FIG. 2 is a schematic diagram of an organization structure of a conventional HLS file
  • FIG. 3 is a flowchart of a method for splicing an HLS slice according to an embodiment of the present invention
  • FIG. 4 is a block diagram of an HLS segment splicing system in accordance with an embodiment of the present invention.
  • Embodiments of the present invention will be described in detail below with reference to the accompanying drawings. It should be noted that, in the case of no conflict, the features in the embodiments and the embodiments herein may be arbitrarily combined with each other. Embodiment 1
  • the flow of the splicing method of the HLS segment in this embodiment is as shown in FIG. 3, and includes:
  • Step 110 splicing data of a transport stream (TS) fragment file referenced in the HLS sub-index file to obtain one or more media files;
  • TS transport stream
  • the data of the TS fragment file referenced in the HLS sub-index file may be spliced, but is not limited to the following:
  • the data of all TS fragment files referenced by them are spliced into one or more media files.
  • the information that needs to be obtained when splicing such as the HLS sub-index file of each grade and the TS score of the reference
  • the path of the slice, etc. can be obtained by parsing the HLS main index file and the corresponding HLS sub-index file.
  • the data of the TS fragment file referenced in the HLS sub-index file is sequentially selected according to the playback order of the TS fragment file recorded in the HLS sub-index file or the splicing order set separately.
  • Splicing The so-called separately set splicing order is not spliced according to the playing order, such as splicing in the order of even shards after odd odd sharding, and when there are 6 sharding, according to 1, 3, 5, 2, 4,
  • the order of 6 is spliced; for example, it is set to splicing from the two heads to the middle, and when there are 6 shards, splicing in the order of 1, 6, 2, 5, 3, 4, and so on.
  • the embodiment of the present invention does not impose any limitation on the splicing order.
  • the name of the one or more media files obtained by the splicing includes one or more of the following information: a type of the media file; a file to which the TS file belongs to the media file; and the media file includes The bit rate corresponding to the grade to which the TS fragment file belongs.
  • an information field for indicating a media file format is added to the spliced one or more media files.
  • Step 120 Modify the HLS sub-index file, and record, in the modified HLS sub-index file, the media file where each TS fragment file referenced and the location information in the media file.
  • the modifying the HLS sub-index file in this step may further include: recording, in the modified HLS sub-index file, a path of the media file in which each TS fragment file referenced by the TS file is located.
  • the name of the HLS sub-index file may also be modified.
  • the HLS primary index file to which the HLS sub-index file belongs needs to be modified correspondingly, and the name of the HLS sub-index file in the HLS main index file is updated to the name of the modified HLS sub-index file.
  • the splicing system of the HLS segment of this embodiment is as shown in FIG. 4, and includes:
  • the splicing device 10 is configured to: splicing data of a transport stream (TS) fragment file referenced in the HLS sub-index file to obtain one or more media files;
  • TS transport stream
  • the modifying device 20 is configured to: modify the HLS sub-index file, and record, in the modified HLS sub-index file, the media file in which each TS fragment file referenced and the location information in the media file.
  • the splicing device 10 splicing data of the TS shard file referenced in the HLS sub-index file, including:
  • the data of all TS fragment files referenced by them are spliced into one or more media files.
  • the modifying device 20 modifies the HLS sub-index file, and further includes: recording, in the modified HLS sub-index file, a path of the media file in which each TS fragment file referenced by the TS file is located.
  • the splicing device 10 splicing data of the TS shard file referenced in the HLS sub-index file, including:
  • the data of the TS fragment file referenced in the HLS sub-index file is sequentially spliced according to the playback order of the TS fragment file described in the HLS sub-index file or the splicing order set separately.
  • the splicing device 10 splices the data of the TS shard file referenced in the HLS sub-index file to obtain one or more media files, and further includes: adding, in the media file, a format for indicating the media file format. Information field.
  • the name of the media file obtained by the splicing device 10 includes one or more of the following information: a type of the media file; a grade to which the TS fragment file included in the media file belongs; and a TS score included in the media file The code rate corresponding to the file to which the slice file belongs.
  • the modifying device 20 modifying the HLS sub-index file further includes: modifying a name of the HLS sub-index file;
  • the modifying device 20 is further configured to modify the HLS primary index file to which the HLS sub-index file belongs, and update the name of the HLS sub-index file in the HLS main index file to the name of the modified HLS sub-index file.
  • the splicing system described above may be provided in any one or more devices having logical computing capabilities, such as a media server, or on any one or more devices having logical computing capabilities to implement the splicing method described above.
  • the index file and the shard file used in the splicing system can be pushed by the HLS offline encoder or other devices, or downloaded by itself.
  • the splicing method and system of the embodiment splicing the HLS segments into media files greatly reduces the number of files, reduces the pressure on the file system, reduces the maximum number of files to be supported, and reduces the storage of corresponding file information.
  • the start and stop and address operations of the head are greatly reduced during access, and the disk IO speed can be achieved.
  • the media file is larger than the TS slice file, the storage space is wasted when the memory block is allocated. Therefore, the system supporting the HLS protocol can be better implemented, such as improving the content distribution efficiency between CDN nodes.
  • the HLS sub-index file is modified correspondingly, and thus has little influence on other devices in the HLS system.
  • the HLS main index file in this example includes the following:
  • the HLS content has three grades available: the first grade code rate is 512 kbps, the HLS sub-index file is 01.m3u8, the second grade code rate is 768 kbps, and the HLS sub-index file is 02.m3u8.
  • the third grade is 1024 kbps and the HLS subindex file is 03.m3u8.
  • the HLS sub-index file 01.m3u8 includes the following:
  • the HLS sub-index file 01.m3u8 refers to multiple TS fragment files: the first TS fragment file is 01.ts, the second TS fragment file is 02.ts, and the third The TS fragment file is 03.ts, and so on.
  • Other contents relate to the play order, the longest media segment time, the media file decryption method, and the URL to obtain the key, etc., which will not be described in detail here.
  • all of the TS fragment files referenced in the HLS sub-index file 01.m3u8 The data is sequentially spliced together in the play order to obtain a large media file zott_01_512.ts, and the position of each TS slice file in the spliced media file is recorded.
  • the starting and ending position of the first TS fragment in the spliced media file is from 0th byte to 18799th byte
  • the starting and ending position of the second TS shard in the spliced media file is from the first From 18800 bytes to the 39479th byte
  • the start and end positions of the third TS slice in the spliced media file are from the 39,480th byte to the 60,000th byte, and so on.
  • the TS fragment files are not necessarily spliced in the playback order during splicing, and may be spliced according to a separately set splicing order.
  • some custom information fields can be added to define a specific media file format and the like.
  • the HLS sub-index files corresponding to each grade under the same HLS main index file are spliced into data files of all TS fragment files referenced by them.
  • it is also possible to adopt different splicing methods according to the number of TS fragment files and the file size for example, the HLS sub-index file corresponding to each grade under the same HLS main index file, and splicing the data of all TS fragment files referenced by it.
  • the HLS sub-index file corresponding to each grade under the same HLS main index file For multiple media files; or, for multiple HLS sub-index files corresponding to multiple grades under the same HLS main index file, splicing the data of all TS fragment files referenced by them into one or more media files. and many more.
  • the spliced media file naming rules are as follows:
  • the prefix zott field is a fixed value representing the category of the media file
  • the $ ⁇ id ⁇ field is a grade number, and each grade corresponds to a number, such as 01, 02, 03, ...;
  • the $ ⁇ bitrate ⁇ field is the code rate corresponding to the grade (unit: kbps);
  • .ts indicates the file extension.
  • the HLS sub-index file 01.m3u8 is modified, and the media file in which each TS fragment file referenced by the media file and the location information in the media file are recorded in the modified HLS sub-index file 01.m3u8.
  • the modified sub-index file 01.m3u8 content is:
  • the zott_01_512.ts in the above content is the media file where the TS fragment file is located, and the zbytes field indicates the start and end bytes of the TS fragment file in the media file, and is used to indicate the location information of the TS fragment file in the media file.
  • the zbytes field indicates the start and end bytes of the TS fragment file in the media file, and is used to indicate the location information of the TS fragment file in the media file.
  • the path of the media file where the TS file is located may be a relative path or an absolute path. If the spliced media file is stored in another directory or other host, or even a network location of the cloud storage, the media needs to be recorded.
  • the path to the file for example;
  • the other two grades of the HLS sub-index file 02.m3u8 and the HLS sub-index file 03.m3u8 reference the TS fragment file are spliced and complete the HLS sub-index file 02.m3u8 and the HLS sub-index file.
  • the splicing of the entire HLS content is completed.
  • the HLS file columns in the directory are as follows:
  • the above file list includes a main index file index.m3u8, three grades of HLS sub-index files 01.m3u8, 02.m3u8 and 03.m3u8, and three media files after splicing: zott_0_512.ts, zott_1_768.ts , zott_2_1024.ts.
  • the names of the HLS main index file and the HLS sub-index file can be kept unchanged or modified. If the HLS sub-index file name is modified, the name of the HLS sub-index file in the HLS main index file to be modified must be modified at the same time.
  • all or part of the steps of the above embodiments may also be implemented by using an integrated circuit. These steps may be separately fabricated into individual integrated circuit modules, or multiple modules or steps may be fabricated into a single integrated circuit module. achieve.
  • the devices/function modules/functional units in the above embodiments may be implemented by a general-purpose computing device, which may be centralized on a single computing device or distributed over a network of multiple computing devices.
  • the device/function module/functional unit in the above embodiment When the device/function module/functional unit in the above embodiment is implemented in the form of a software function module and sold or used as a stand-alone product, it can be stored in a computer readable storage medium.
  • the above mentioned computer readable storage medium may be a read only memory, a magnetic disk or an optical disk or the like.
  • the system supporting the HLS protocol can be better implemented, the pressure on the file system is reduced, the storage space utilization rate of the system is improved, and the disk IO is improved. Speed, improve the efficiency of content distribution between CDN nodes.

Landscapes

  • Engineering & Computer Science (AREA)
  • Signal Processing (AREA)
  • Multimedia (AREA)
  • Databases & Information Systems (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Business, Economics & Management (AREA)
  • Marketing (AREA)
  • Human Computer Interaction (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

一种HTTP实时流媒体分片的拼接方法及拼接系统,拼接装置对HLS子索引文件中引用的传输流(TS)分片文件的数据进行拼接,得到一个或多个媒体文件;修改装置修改所述HLS子索引文件,在修改后的HLS子索引文件中记录所引用的每一TS分片文件所在的媒体文件及在媒体文件中的位置信息。

Description

一种HTTP实时流媒体分片的拼接方法及拼接系统 技术领域
本文涉及OTT(Over The Top)TV领域,尤其涉及一种HTTP实时流媒体(HLS:HTTP Live Streaming)分片的拼接方法及系统。
背景技术
OTT TV是指通过公共互联网面向联网设备(电视、PC、移动终端)传输IP视频和互联网应用融合的一种服务,是以交互式音视频服务为主体,集互联网、多媒体通讯等多种技术为一体的服务集合体,可在任何时间、向任意地点的任意终端用户提供视频、资讯、游戏等各种服务。
OTT TV与传统IPTV(Internet Protocol Television,交互式网络电视)不同的是,业务运营商不需要为OTT TV而特别建设一套专用网络,可以在无管理、无QoS(Quality of Service,服务质量)保障的公共互联网或移动网络为用户提供服务。
随着Apple公司iPhone、iPad、iPod touch等终端的迅速普及,由其带来的HLS(HTTP Live Streaming,HTTP实时流媒体)技术成为了OTT TV的主流事实标准,目前是国际标准化组织IETF(Internet Engineering Task Force,互联网工程任务组)的草案,得到了众多厂商的支持。
因OTT TV是基于公共互联网或者移动网络,用户的带宽是无法被控制的,在不同的时间不同的地点、或者同一地点不同时间,用户的带宽随时变化;另外,OTT音视频节目需要传送至各种设备,STB(Set Top Box、机顶盒)、PC(Personal Computer,个人电脑)机、PAD/Tablet(平板电脑)、Smartphone(智能手机),这些不同的设备对OTT音视频有不同的要求,需要传送合适的分辨率、码率。而HLS的自适应码率特性和HTTP(Hyper Text Transfer Protocol,超文本传输协议)带来的广泛适用性,能够适应用户带宽波动、不均匀的情况,使用户可以得到与当前带宽相适应的码率的节目流,从而保证用户无中断的观看。
HLS技术的系统架构如附图1所示。
HLS离线编码器101将VOD(Video on Demand,视频点播)内容源编码为不同分辨率、码率的码流,并进行分片,将生成的TS(Transport Stream,传输流)分片文件和index(索引)文件递交给媒体服务器102,HLS终端103通过互联网或移动网络进行访问,从DRM(Digital Right Management,数字权限管理)服务器104获取密钥,从媒体服务器102获取索引文件和分片文件进行解密后播放。
其中,HLS离线编码器101推送到媒体服务器102上的文件组织结构如图2所示。
■图中从左边起第一列为HLS主索引文件201,标识一个内容可用的不同档次(Profile)(主要是分辨率、码率不同),并记录有其下不同档次的HLS子索引文件信息;
■第二列为HLS子索引文件202、203、204,说明对应每种档次的TS分片文件所处的路径以及播放顺序、媒体文件解密方法以及获取密钥的URL等;
■第三列为TS分片文件205、206、207,HLS离线编码器101将输入的VOD内容源切片为TS分片文件,分片文件内的媒体内容具有一定的播放时长,例如2~10秒;
■每种档次的多个分片文件保存在各自的文件夹下(也可以在同一个文件夹中而文件名不同)。
然而,实践中发现,在要求必须支持HLS协议的大规模容量的系统中,存在文件数量过多文件系统压力比较大、存储效率不高、磁盘IO(输入/输出)速度降低、CDN(Content Delivery Network,内容分发网络)节点间内容分发效率低下等现象。经过分析,这是因为:
(1)为了便于码率在网络带宽波动时的及时快速切换,每个TS分片时长一般为2~10秒,假设固定为10秒,则对于通常1个小时长的VOD节目来说,每种档次就需要360个TS分片,如果有3种档次,则共有1080个TS 分片。如果一个商用系统中有50万个VOD内容,则需要5.4亿个分片文件,对文件系统支持的最大文件数量要求比较高,而且这些文件的元信息经常要存放在内存中以便加快文件访问速度,需要消耗大量的内存空间。
(2)文件在存储设备上的存储形式一般是按块进行,文件系统分配的存储块的大小可以配置,但全局统一,但为了高清标清视频文件或大文件下载业务,存储块通常设为64MB(Mega Bytes,兆字节)。假设系统中HLS最高档次的TS分片平均码率为4Mbps,则该档次的每个TS文件大小约为10s*4Mbps/8=5MB,系统为该文件分配一个存储块,但该存储块中有59MB都是被浪费了,其他档次的TS分片文件则浪费的更多。所以存储空间的有效利用率非常低下。
(3)因为文件系统中TS分片文件小而且多,在访问时磁头就需要不断的启停、寻址,磁盘IO速度相比大文件的IO速度慢很多,系统性能严重下降。
发明内容
本文提供了一种HTTP实时流媒体(HLS)分片的拼接方法,包括:
对HLS子索引文件中引用的传输流(TS)分片文件的数据进行拼接,得到一个或多个媒体文件;
修改所述HLS子索引文件,在修改后的HLS子索引文件中记录所引用的每一TS分片文件所在的媒体文件及在媒体文件中的位置信息。
可选地,
对所述HLS子索引文件中引用的TS分片文件的数据进行拼接,得到一个或多个媒体文件,包括:
对同一HLS主索引文件下每种档次对应的HLS子索引文件,将所述HLS子索引文件引用的所有TS分片文件的数据拼接为一个媒体文件;或者
对同一HLS主索引文件下每种档次对应的HLS子索引文件,将所述HLS子索引文件引用的所有TS分片文件的数据拼接为多个媒体文件;或者
对同一HLS主索引文件下多种档次对应的多个HLS子索引文件,将所述 HLS子索引文件引用的所有TS分片文件的数据拼接为一个或多个媒体文件。
可选地,
修改所述HLS子索引文件,还包括:在修改后的HLS子索引文件中记录所引用的每一TS分片文件所在的媒体文件的路径。
可选地,
对所述HLS子索引文件中引用的TS分片文件的数据进行拼接,包括:
按照所述HLS子索引文件中记载的TS分片文件的播放顺序或者另行设定的拼接顺序,对所述HLS子索引文件中引用的TS分片文件的数据依次进行拼接。
可选地,
对所述HLS子索引文件中引用的TS分片文件的数据进行拼接,得到一个或多个媒体文件后,还包括:在所述媒体文件中添加用于指示媒体文件格式的信息字段。
可选地,
所述媒体文件的名称中包括以下信息中的一种或多种:
媒体文件的类型;媒体文件包含的TS分片文件所属的档次;及媒体文件包含的TS分片文件所属的档次所对应的码率。
本文还提供了一种HTTP实时流媒体(HLS)分片的拼接系统,包括:
拼接装置,设置为:对HLS子索引文件中引用的传输流(TS)分片文件的数据进行拼接,得到一个或多个媒体文件;
修改装置,设置为:修改所述HLS子索引文件,在修改后的HLS子索引文件中记录所引用的每一TS分片文件所在的媒体文件及在媒体文件中的位置信息。
可选地,
所述拼接装置是设置为:
对同一HLS主索引文件下每种档次对应的HLS子索引文件,将所述HLS子索引文件引用的所有TS分片文件的数据拼接为一个媒体文件;或者
对同一HLS主索引文件下每种档次对应的HLS子索引文件,将所述HLS子索引文件引用的所有TS分片文件的数据拼接为多个媒体文件;或者
对同一HLS主索引文件下多种档次对应的多个HLS子索引文件,将其所述HLS子索引文件引用的所有TS分片文件的数据拼接为一个或多个媒体文件。
可选地,
所述修改装置还设置为:在修改后的HLS子索引文件中记录其引用的每一TS分片文件所在的媒体文件的路径。
可选地,
所述拼接装置是设置为:
按照所述HLS子索引文件中记载的TS分片文件的播放顺序或者另行设定的拼接顺序,对所述HLS子索引文件中引用的TS分片文件的数据依次进行拼接。
可选地,
所述拼接装置还设置为:在所述媒体文件中添加用于指示媒体文件格式的信息字段。
可选地,
所述拼接装置拼接得到的所述媒体文件的名称中包括以下信息中的一种或多种:
媒体文件的类型;媒体文件包含的TS分片文件所属的档次;及媒体文件包含的TS分片文件所属的档次所对应的码率。
一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行上述任一项的方法。
上述方案通过对HLS分片进行拼接并相应修改HLS子索引文件,可以取 得以下技术效果中的至少一种:使得支持HLS协议的系统能更好的实施,降低对文件系统的压力,提高系统的存储空间利用率,提高磁盘IO速度,提高CDN节点间内容分发效率。
附图概述
图1是传统HLS技术的系统架构示意图;
图2是传统HLS文件组织结构示意图;
图3是本发明实施例HLS分片拼接方法的流程图;
图4是本发明实施例HLS分片拼接系统的模块图。
本发明的实施方式
下文中将结合附图对本发明的实施方式进行详细说明。需要说明的是,在不冲突的情况下,本文中的实施例及实施例中的特征可以相互任意组合。实施例一
本实施例HLS分片的拼接方法的流程如图3所示,包括:
步骤110,对HLS子索引文件中引用的传输流(TS)分片文件的数据进行拼接,得到一个或多个媒体文件;
本步骤中,对所述HLS子索引文件中引用的TS分片文件的数据进行拼接,可以采用但不局限于以下方式:
对同一HLS主索引文件下每种档次对应的HLS子索引文件,将其引用的所有TS分片文件的数据拼接为一个媒体文件;或者
对同一HLS主索引文件下每种档次对应的HLS子索引文件,将其引用的所有TS分片文件的数据拼接为多个媒体文件;或者
对同一HLS主索引文件下多种档次对应的多个HLS子索引文件,将其引用的所有TS分片文件的数据拼接为一个或多个媒体文件。
拼接时需要得到的信息如每种档次的HLS子索引文件及其引用的TS分 片的路径等,可以通过解析HLS主索引文件和相应HLS子索引文件得到。
本步骤中,可选地,按照所述HLS子索引文件中记载的TS分片文件的播放顺序或者另行设定的拼接顺序,对所述HLS子索引文件中引用的TS分片文件的数据依次进行拼接。所谓另行设定的拼接顺序即不按照播放顺序进行拼接,如设定为按照先奇数分片后偶数分片的顺序拼接,有6个分片时,按照1、3、5、2、4、6的顺序拼接;又如,设定为从两头向中间的顺序拼接,有6个分片时,按照1,6,2,5,3,4的顺序拼接,等等。本发明实施例对拼接顺序不做任何局限。
可选地,所述拼接得到的一个或多个媒体文件的名称中包括以下信息中的一种或多种:媒体文件的类型;媒体文件包含的TS分片文件所属的档次;及媒体文件包含的TS分片文件所属的档次所对应的码率。
可选地,在拼接得到的一个或多个媒体文件中添加用于指示媒体文件格式的信息字段。
步骤120,修改所述HLS子索引文件,在修改后的HLS子索引文件中记录其引用的每一TS分片文件所在的媒体文件及在媒体文件中的位置信息。
本步骤中修改所述HLS子索引文件,还可包括:在修改后的HLS子索引文件中记录其引用的每一TS分片文件所在的媒体文件的路径。
可选的,修改所述HLS子索引文件时,还可以修改所述HLS子索引文件的名称。此时,需要相应修改所述HLS子索引文件所属的HLS主索引文件,将所述HLS主索引文件中的HLS子索引文件的名称更新为修改后的HLS子索引文件的名称。
相应地,本实施例的HLS分片的拼接系统如图4所示,包括:
拼接装置10,设置为:对HLS子索引文件中引用的传输流(TS)分片文件的数据进行拼接,得到一个或多个媒体文件;
修改装置20,设置为:修改所述HLS子索引文件,在修改后的HLS子索引文件中记录其引用的每一TS分片文件所在的媒体文件及在媒体文件中的位置信息。
可选地,
所述拼接装置10对所述HLS子索引文件中引用的TS分片文件的数据进行拼接,包括:
对同一HLS主索引文件下每种档次对应的HLS子索引文件,将其引用的所有TS分片文件的数据拼接为一个媒体文件;或者
对同一HLS主索引文件下每种档次对应的HLS子索引文件,将其引用的所有TS分片文件的数据拼接为多个媒体文件;或者
对同一HLS主索引文件下多种档次对应的多个HLS子索引文件,将其引用的所有TS分片文件的数据拼接为一个或多个媒体文件。
可选地,
所述修改装置20修改所述HLS子索引文件,还包括:在修改后的HLS子索引文件中记录其引用的每一TS分片文件所在的媒体文件的路径。
可选地,
所述拼接装置10对所述HLS子索引文件中引用的TS分片文件的数据进行拼接,包括:
按照所述HLS子索引文件中记载的TS分片文件的播放顺序或者另行设定的拼接顺序,对所述HLS子索引文件中引用的TS分片文件的数据依次进行拼接。
可选地,
所述拼接装置10对所述HLS子索引文件中引用的TS分片文件的数据进行拼接,得到一个或多个媒体文件后,还包括:在所述媒体文件中添加用于指示媒体文件格式的信息字段。
可选地,
所述拼接装置10拼接得到的所述媒体文件的名称中包括以下信息中的一种或多种:媒体文件的类型;媒体文件包含的TS分片文件所属的档次;及媒体文件包含的TS分片文件所属的档次所对应的码率。
可选地,
所述修改装置20修改所述HLS子索引文件,还包括:修改所述HLS子索引文件的名称;
所述修改装置20还配置为修改所述HLS子索引文件所属的HLS主索引文件,将所述HLS主索引文件中的HLS子索引文件的名称更新为修改后的HLS子索引文件的名称。
上述拼接系统可以设置在任何具有逻辑运算能力的一个或多个设备(如媒体服务器)中,或者说在任何具有逻辑运算能力的一个或多个设备上来实现上述拼接方法。拼接系统拼接时使用的索引文件和分片文件可以由HLS离线编码器或其他设备推送,也可以自行下载得到。
本实施例的拼接方法和系统通过将HLS分片拼接为媒体文件,大大减少了文件的数量,降低了对文件系统的压力,如需要支持的最大文件数量减少,且减少了存储相应文件信息所需的内存空间。相应地,访问时磁头的启停、寻址操作也大大减少,可以磁盘IO速度。此外,由于媒体文件比TS分片文件更大,在分配存储块时,存储空间浪费减少。从而使得支持HLS协议的系统能更好的实施,如提高了CDN节点间内容分发效率。另外,上述拼接方法在拼接后,相应修改了HLS子索引文件,因而对HLS系统中的其他设备几乎没有影响。
下面用一个应用示例来说明上述拼接方法:
假定,本示例中HLS主索引文件包括以下内容:
#EXTM3U
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=51200001.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=76800002.m3u8
#EXT-X-STREAM-INF:PROGRAM-ID=1,BANDWIDTH=1024000 03.m3u8
解析上述内容可以得知,该HLS内容有三种档次可用:第1种档次码率为512kbps,HLS子索引文件为01.m3u8;第2种档次码率为768kbps,HLS子索引文件为02.m3u8;第3种档次码率为1024kbps,HLS子索引文件为03.m3u8。
其中,作为一个示例,HLS子索引文件01.m3u8包括以下内容:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-KEY:METHOD=AES-128,URI="1.key"
#EXTINF:10,
01.ts
#EXT-X-KEY:METHOD=AES-128,URI=“2.key"
#EXTINF:10,
02.ts
#EXTINF:10,
03.ts
………
#EXT-X-ENDLIST
解析上述内容可以得知,该HLS子索引文件01.m3u8引用多个TS分片文件:第1个TS分片文件为01.ts、第2个TS分片文件为02.ts、第3个TS分片文件为03.ts,等等。其他内容涉及播放顺序、最大的媒体段时间长、媒体文件解密方法和获取密钥的URL等,这里不再详述。
然后。对HLS子索引文件01.m3u8中引用的TS分片文件的数据进行拼接,得到一个或多个媒体文件;
作为示例,将该HLS子索引文件01.m3u8中引用的所有TS分片文件的 数据按照播放顺序依次拼接在一起,得到一个大的媒体文件zott_01_512.ts,同时记录下每个TS分片文件在拼接后的媒体文件中的位置。例如第1个TS分片在拼接后的媒体文件中的起止位置为从第0个字节到第18799个字节,第2个TS分片在拼接后的媒体文件中的起止位置为从第18800个字节到第39479个字节,第3个TS分片在拼接后的媒体文件中的起止位置为从第39480个字节到第60000个字节,以此类推。当然,在拼接时TS分片文件也不一定按播放顺序进行拼接,可以按照另行设定的拼接顺序拼接。在拼接后的媒体文件中可以增加一些自定义的信息字段来定义特定的媒体文件格式等。
虽然上述示例中,对同一HLS主索引文件下每种档次对应的HLS子索引文件,将其引用的所有TS分片文件的数据拼接为一个媒体文件。但也可以视TS分片文件的数量和文件大小采用不同的拼接方式,如:对同一HLS主索引文件下每种档次对应的HLS子索引文件,将其引用的所有TS分片文件的数据拼接为多个媒体文件;或者,对同一HLS主索引文件下多种档次对应的多个HLS子索引文件,将其引用的所有TS分片文件的数据拼接为一个或多个媒体文件。等等。
上述示例中,拼接后的媒体文件命名规则如下:
zott_${id}_${bitrate}.ts
其中:
前缀zott字段是一个固定值,代表媒体文件的类别;
${id}字段是档次编号,每种档次对应一个编号,例如01、02、03、…;
${bitrate}字段是档次对应的码率(单位:kbps);
每个字段间以下划线间隔;
.ts表示文件扩展名。
对于媒体文件的名称,实施时可以自行定义其命名规则。
然后,修改HLS子索引文件01.m3u8,在修改后的HLS子索引文件01.m3u8中记录其引用的每一TS分片文件所在的媒体文件及在媒体文件中的位置信息。
在示例中,修改后的子索引文件01.m3u8内容为:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXT-X-MEDIA-SEQUENCE:1
#EXT-X-KEY:METHOD=AES-128,URI="1.key"
#EXTINF:10,
zott_01_512.ts?zbytes=0-18799
#EXT-X-KEY:METHOD=AES-128,URI=“2.key"
#EXTINF:10,
zott_01_512.ts?zbytes=18800-39479
#EXTINF:10,
zott_01_512.ts?zbytes=39480-60000
………
#EXT-X-ENDLIST
上述内容中的zott_01_512.ts是TS分片文件所在的媒体文件,zbytes字段表示TS分片文件在媒体文件中的起止字节,用于表示TS分片文件在媒体文件中的位置信息。当然也可以采用其他字段进行表示,例如from=xxx&to=yyy、或start=xxx&end=yyy等等相似表示方法。
TS分片文件所在的媒体文件的路径可以是相对路径也可以是绝对路径,如果拼接后的媒体文件存放在其他目录或其他主机上、甚至云存储的某个网络位置,则还需要记录该媒体文件的路径,例如;
http://www.sample.com/ott/zott_01_512.ts?zbytes=0-18799。
按照类似的方式,对另外二种档次的HLS子索引文件02.m3u8和HLS子索引文件03.m3u8所引用的TS分片文件进行拼接并完成对HLS子索引文件02.m3u8和HLS子索引文件03.m3u8的修改后,就完成了对整个HLS内容的拼接。拼接后,目录中的HLS文件列表示如下:
index.m3u8
01.m3u8
02.m3u8
03.m3u8
zott_0_512.ts
zott_1_768.ts
zott_2_1024.ts
上述文件列表中,包括一个主索引文件index.m3u8、三种档次的HLS子索引文件01.m3u8、02.m3u8和03.m3u8,及拼接后的3个媒体文件:zott_0_512.ts、zott_1_768.ts、zott_2_1024.ts。
另外,HLS主索引文件和HLS子索引文件的名称可以保持不变,也可以进行修改。若修改了HLS子索引文件名称,需同时修改所属的HLS主索引文件中该HLS子索引文件的名称。
本领域普通技术人员可以理解上述实施例的全部或部分步骤可以使用计算机程序流程来实现,所述计算机程序可以存储于一计算机可读存储介质中,所述计算机程序在相应的硬件平台上(如系统、设备、装置、器件等)执行,在执行时,包括方法实施例的步骤之一或其组合。
可选地,上述实施例的全部或部分步骤也可以使用集成电路来实现,这些步骤可以被分别制作成一个个集成电路模块,或者将它们中的多个模块或步骤制作成单个集成电路模块来实现。
上述实施例中的装置/功能模块/功能单元可以采用通用的计算装置来实现,它们可以集中在单个的计算装置上,也可以分布在多个计算装置所组成的网络上。
上述实施例中的装置/功能模块/功能单元以软件功能模块的形式实现并作为独立的产品销售或使用时,可以存储在一个计算机可读取存储介质中。上述提到的计算机可读取存储介质可以是只读存储器,磁盘或光盘等。
工业实用性
本发明实施例通过对HLS分片进行拼接并相应修改HLS子索引文件,可以使得支持HLS协议的系统能更好的实施,降低对文件系统的压力,提高系统的存储空间利用率,提高磁盘IO速度,提高CDN节点间内容分发效率。

Claims (13)

  1. 一种HTTP实时流媒体(HLS)分片的拼接方法,包括:
    对HLS子索引文件中引用的传输流(TS)分片文件的数据进行拼接,得到一个或多个媒体文件;
    修改所述HLS子索引文件,在修改后的HLS子索引文件中记录所引用的每一TS分片文件所在的媒体文件及在媒体文件中的位置信息。
  2. 如权利要求1所述的拼接方法,其中:
    对所述HLS子索引文件中引用的TS分片文件的数据进行拼接,得到一个或多个媒体文件,包括:
    对同一HLS主索引文件下每种档次对应的HLS子索引文件,将所述HLS子索引文件引用的所有TS分片文件的数据拼接为一个媒体文件;或者
    对同一HLS主索引文件下每种档次对应的HLS子索引文件,将所述HLS子索引文件引用的所有TS分片文件的数据拼接为多个媒体文件;或者
    对同一HLS主索引文件下多种档次对应的多个HLS子索引文件,将所述HLS子索引文件引用的所有TS分片文件的数据拼接为一个或多个媒体文件。
  3. 如权利要求1所述的拼接方法,其中:
    修改所述HLS子索引文件,还包括:在修改后的HLS子索引文件中记录所引用的每一TS分片文件所在的媒体文件的路径。
  4. 如权利要求1或2或3所述的拼接方法,其中:
    对所述HLS子索引文件中引用的TS分片文件的数据进行拼接,包括:
    按照所述HLS子索引文件中记载的TS分片文件的播放顺序或者另行设定的拼接顺序,对所述HLS子索引文件中引用的TS分片文件的数据依次进行拼接。
  5. 如权利要求1所述的拼接方法,其中:
    对所述HLS子索引文件中引用的TS分片文件的数据进行拼接,得到一个或多个媒体文件后,还包括:在所述媒体文件中添加用于指示媒体文件格 式的信息字段。
  6. 如权利要求1或2或3或5所述的拼接方法,其中:
    所述媒体文件的名称中包括以下信息中的一种或多种:
    媒体文件的类型;媒体文件包含的TS分片文件所属的档次;及媒体文件包含的TS分片文件所属的档次所对应的码率。
  7. 一种HTTP实时流媒体(HLS)分片的拼接系统,包括:
    拼接装置,设置为:对HLS子索引文件中引用的传输流(TS)分片文件的数据进行拼接,得到一个或多个媒体文件;
    修改装置,设置为:修改所述HLS子索引文件,在修改后的HLS子索引文件中记录所引用的每一TS分片文件所在的媒体文件及在媒体文件中的位置信息。
  8. 如权利要求7所述的拼接系统,其中:
    所述拼接装置是设置为:
    对同一HLS主索引文件下每种档次对应的HLS子索引文件,将所述HLS子索引文件引用的所有TS分片文件的数据拼接为一个媒体文件;或者
    对同一HLS主索引文件下每种档次对应的HLS子索引文件,将所述HLS子索引文件引用的所有TS分片文件的数据拼接为多个媒体文件;或者
    对同一HLS主索引文件下多种档次对应的多个HLS子索引文件,将所述HLS子索引文件引用的所有TS分片文件的数据拼接为一个或多个媒体文件。
  9. 如权利要求7所述的拼接系统,其中:
    所述修改装置还设置为:在修改后的HLS子索引文件中记录所引用的每一TS分片文件所在的媒体文件的路径。
  10. 如权利要求7或8或9所述的拼接系统,其中:
    所述拼接装置是设置为:
    按照所述HLS子索引文件中记载的TS分片文件的播放顺序或者另行设定的拼接顺序,对所述HLS子索引文件中引用的TS分片文件的数据依次进行拼接。
  11. 如权利要求7所述的拼接系统,其中:
    所述拼接装置还设置为:在所述媒体文件中添加用于指示媒体文件格式的信息字段。
  12. 如权利要求7或8或9或11所述的拼接系统,其中:
    所述拼接装置拼接得到的所述媒体文件的名称中包括以下信息中的一种或多种:
    媒体文件的类型;媒体文件包含的TS分片文件所属的档次;及媒体文件包含的TS分片文件所属的档次所对应的码率。
  13. 一种计算机可读存储介质,存储有计算机可执行指令,所述计算机可执行指令用于执行权利要求1-6任一项的方法。
PCT/CN2015/082975 2014-10-17 2015-06-30 一种http实时流媒体分片的拼接方法及拼接系统 WO2016058411A1 (zh)

Priority Applications (2)

Application Number Priority Date Filing Date Title
EP15850506.5A EP3209025A4 (en) 2014-10-17 2015-06-30 Splicing method and splicing system for http live streaming media fragmentation
US15/519,583 US20170245022A1 (en) 2014-10-17 2015-06-30 Splicing method and splicing system for http live streaming media fragment

Applications Claiming Priority (2)

Application Number Priority Date Filing Date Title
CN201410555369.9 2014-10-17
CN201410555369.9A CN104333818A (zh) 2014-10-17 2014-10-17 一种http实时流媒体分片的拼接方法及拼接系统

Publications (1)

Publication Number Publication Date
WO2016058411A1 true WO2016058411A1 (zh) 2016-04-21

Family

ID=52408453

Family Applications (1)

Application Number Title Priority Date Filing Date
PCT/CN2015/082975 WO2016058411A1 (zh) 2014-10-17 2015-06-30 一种http实时流媒体分片的拼接方法及拼接系统

Country Status (4)

Country Link
US (1) US20170245022A1 (zh)
EP (1) EP3209025A4 (zh)
CN (1) CN104333818A (zh)
WO (1) WO2016058411A1 (zh)

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104885A (zh) * 2020-09-09 2020-12-18 海看网络科技(山东)股份有限公司 一种直播中加快m3u8起始播放速度的系统及方法

Families Citing this family (17)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104333818A (zh) * 2014-10-17 2015-02-04 中兴通讯股份有限公司 一种http实时流媒体分片的拼接方法及拼接系统
CN106412615A (zh) * 2015-08-03 2017-02-15 中兴通讯股份有限公司 一种视频文件存储方法及其装置
JP2017055203A (ja) * 2015-09-08 2017-03-16 船井電機株式会社 情報機器
CN106899894B (zh) * 2015-12-18 2019-06-18 中国电信股份有限公司 动态优化的自适应流媒体方法、装置和服务器
CN105578308B (zh) * 2015-12-29 2018-06-22 武汉市烽视威科技有限公司 一种rtp组播直播与hls单播时移相结合的实现方法
CN106101866A (zh) * 2016-07-14 2016-11-09 观止云(北京)信息技术有限公司 一种hls流媒体drm的方法
CN108271085A (zh) * 2016-12-30 2018-07-10 中兴通讯股份有限公司 一种http实时流媒体hls文件的发送方法及装置
CN106982395B (zh) * 2017-03-02 2020-02-14 上海云熵网络科技有限公司 基于hls的p2p直播系统及方法
EP3419278B1 (en) * 2017-06-20 2019-09-25 Axis AB A multi-sensor video camera, and a method and processing pipeline for the same
CN109302621A (zh) * 2017-07-24 2019-02-01 中兴通讯股份有限公司 一种文件聚合方法及服务器
CN107517411B (zh) * 2017-09-04 2020-08-25 海信视像科技股份有限公司 一种基于GStreamer框架的视频播放方法
CN108184139A (zh) * 2017-12-29 2018-06-19 深圳Tcl新技术有限公司 录制节目的共享方法、设备、系统及存储介质
CN110138716B (zh) * 2018-02-09 2020-11-27 网宿科技股份有限公司 一种密钥的提供、视频播放方法、服务器及客户端
CN109726237B (zh) * 2018-12-13 2020-02-07 浙江邦盛科技有限公司 一种针对多路实时流数据的关联补全方法
CN109787983A (zh) * 2019-01-24 2019-05-21 北京百度网讯科技有限公司 直播流切片方法、装置和系统
CN112671690B (zh) * 2019-10-16 2022-08-30 中国电信股份有限公司 流媒体通信方法、装置、系统和存储介质
CN111866603B (zh) * 2020-07-21 2022-04-26 广州市保伦电子有限公司 一种基于srs的视频文件生产方法、后台服务器和系统

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100312828A1 (en) * 2009-06-03 2010-12-09 Mobixell Networks Ltd. Server-controlled download of streaming media files
CN102238434A (zh) * 2011-07-22 2011-11-09 中兴通讯股份有限公司 一种iptv流媒体文件虚拟分段和使用的方法及系统
CN103986976A (zh) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 基于cdn网络的传输系统及方法
CN104333818A (zh) * 2014-10-17 2015-02-04 中兴通讯股份有限公司 一种http实时流媒体分片的拼接方法及拼接系统

Family Cites Families (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102271163B (zh) * 2011-08-19 2018-01-02 中兴通讯股份有限公司 一种实现直播码流分发的方法和系统
US20140025710A1 (en) * 2012-07-23 2014-01-23 Espial Group Inc. Storage Optimizations for Multi-File Adaptive Bitrate Assets

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20100312828A1 (en) * 2009-06-03 2010-12-09 Mobixell Networks Ltd. Server-controlled download of streaming media files
CN102238434A (zh) * 2011-07-22 2011-11-09 中兴通讯股份有限公司 一种iptv流媒体文件虚拟分段和使用的方法及系统
CN103986976A (zh) * 2014-06-05 2014-08-13 北京赛维安讯科技发展有限公司 基于cdn网络的传输系统及方法
CN104333818A (zh) * 2014-10-17 2015-02-04 中兴通讯股份有限公司 一种http实时流媒体分片的拼接方法及拼接系统

Non-Patent Citations (1)

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

Cited By (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN112104885A (zh) * 2020-09-09 2020-12-18 海看网络科技(山东)股份有限公司 一种直播中加快m3u8起始播放速度的系统及方法

Also Published As

Publication number Publication date
CN104333818A (zh) 2015-02-04
EP3209025A4 (en) 2017-08-30
EP3209025A1 (en) 2017-08-23
US20170245022A1 (en) 2017-08-24

Similar Documents

Publication Publication Date Title
WO2016058411A1 (zh) 一种http实时流媒体分片的拼接方法及拼接系统
US9954717B2 (en) Dynamic adaptive streaming over hypertext transfer protocol as hybrid multirate media description, delivery, and storage format
KR102009611B1 (ko) 미디어 세그먼트들을 저장하기 위한 디렉토리 제한 기반 시스템 및 방법
EP3028433B1 (en) Averting ad skipping in adaptive bit rate systems
JP6014870B2 (ja) ストリーミング・メディア・コンテンツのリアルタイム・トランスマックス変換の方法およびシステム
Sodagar The mpeg-dash standard for multimedia streaming over the internet
US8516144B2 (en) Startup bitrate in adaptive bitrate streaming
US11665218B2 (en) Fast encoding of live streaming media content
US20220030306A1 (en) Method, system and apparatus for multimedia content delivery to cable tv and satellite operators
US20130212342A1 (en) Storage format for media streams
CN105828096B (zh) 媒体流文件的处理方法和装置
US10404828B2 (en) Streaming apparatus, streaming method, and streaming service system using the streaming apparatus
KR20120114016A (ko) 사용자 컨텐츠를 외부 단말기에서 네트워크 적응적으로 스트리밍하는 방법 및 장치
US11825146B2 (en) System and method for storing multimedia files using an archive file format
CN102474517A (zh) 转换移动装置媒体内容的方法
WO2017080427A1 (zh) 一种媒体播放方法、终端、系统及计算机存储介质
CN103813185A (zh) 一种分段节目快速分发的方法、服务器及客户端
US9843615B2 (en) Signaling and handling of forensic marking for adaptive streaming
Burke Video streaming over named data networking
Badhe et al. MOBILE VIDEO STREAMING WITH HLS

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

Country of ref document: EP

Kind code of ref document: A1

REEP Request for entry into the european phase

Ref document number: 2015850506

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 2015850506

Country of ref document: EP

WWE Wipo information: entry into national phase

Ref document number: 15519583

Country of ref document: US

NENP Non-entry into the national phase

Ref country code: DE