CN112601131B - 一种hls视频切片文件存储优化方法 - Google Patents

一种hls视频切片文件存储优化方法 Download PDF

Info

Publication number
CN112601131B
CN112601131B CN202011435601.7A CN202011435601A CN112601131B CN 112601131 B CN112601131 B CN 112601131B CN 202011435601 A CN202011435601 A CN 202011435601A CN 112601131 B CN112601131 B CN 112601131B
Authority
CN
China
Prior art keywords
file
slice
hls
media
url
Prior art date
Legal status (The legal status 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 status listed.)
Active
Application number
CN202011435601.7A
Other languages
English (en)
Other versions
CN112601131A (zh
Inventor
吴奕刚
王伟明
韩继涛
孙伟涛
孙彦龙
Current Assignee (The listed assignees may be inaccurate. Google has not performed a legal analysis and makes no representation or warranty as to the accuracy of the list.)
Hangzhou Arcvideo Technology Co ltd
Original Assignee
Hangzhou Arcvideo Technology Co ltd
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 Hangzhou Arcvideo Technology Co ltd filed Critical Hangzhou Arcvideo Technology Co ltd
Priority to CN202011435601.7A priority Critical patent/CN112601131B/zh
Publication of CN112601131A publication Critical patent/CN112601131A/zh
Application granted granted Critical
Publication of CN112601131B publication Critical patent/CN112601131B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

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
    • 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/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/85Assembly of content; Generation of multimedia applications
    • H04N21/858Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot
    • H04N21/8586Linking data to content, e.g. by linking an URL to a video object, by creating a hotspot by using a URL

Landscapes

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

Abstract

本发明公开了一种HLS视频切片文件存储优化方法。它具体包括如下步骤:(1)根据HLS标准,生成一系列的切片文件,读取所有切片文件列表;(2)把所有切片文件合并成单个文件,记录每个切片在文件中的开始位置和结束位置;(3)重新生成M3U8文件,媒体片段类型标签采用自定义URL的方式来记录;(4)媒体片段的请求接口采用标准的HTTP接口下实现。本发明的有益效果是:符合HLS标准要求,对于HLS的生成和播放没有影响,采用单媒体文件的方式减少多切片模式下对存储和CDN的空间和读取上的压力。

Description

一种HLS视频切片文件存储优化方法
技术领域
本发明涉及音视频编码转码相关技术领域,尤其是指一种HLS视频切片文件存储优化方法。
背景技术
HLS全称Http Live Streaming是当前广泛使用的直播和点播技术,是由苹果公司提出的基于HTTP的流媒体网络传输协议,流媒体协议使用HTTP渐进下载方法,可嵌入HTML5标签中播放,现在已经被移动平台浏览器广泛支持,在桌面上也可以通过Javascript和MSE(Media Source Extensions)技术来实现。它的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些切片。HLS的特点是分片文件小,加载很快,使用TS容器,格式简单,通过HTTP传输,基本不需要考虑防火墙问题,所以很快就被推广开了。
但是HLS协议的小切片方式会生成大量的小文件,存储或处理这些文件会造成大量资源浪费。同一个源对于每种分辨率都需要切成小文件来存储,在并发请求过程中对于文件存储和CDN都是极大的负担。
发明内容
本发明是为了克服现有技术中存在上述的不足,提供了一种减小存储压力的HLS视频切片文件存储优化方法。
为了实现上述目的,本发明采用以下技术方案:
一种HLS视频切片文件存储优化方法,具体包括如下步骤:
(1)根据HLS标准,生成一系列的切片文件,读取所有切片文件列表;
(2)把所有切片文件合并成单个文件,记录每个切片在文件中的开始位置和结束位置;
(3)重新生成M3U8文件,媒体片段类型标签采用自定义URL的方式来记录;
(4)媒体片段的请求接口采用标准的HTTP接口下实现。
通过上述方法的设计,完成了从HLS切片、M3U8的改造和HTTP服务的定制达到存储优化功能,符合HLS标准要求,对于HLS的生成和播放没有影响,采用单媒体文件的方式减少多切片模式下对存储和CDN的空间和读取上的压力。
作为优选,在步骤(2)中,具体为:把所有切片文件合成一个完整的媒体文件,合并顺序从第1个切片开始一直合并到最后一个切片,在合并的过程中记录下切片在合并文件中的位置,将其记录成开始位置和结束位置。
作为优选,在步骤(3)中,M3U8中媒体片段类型标签采用自定义URL的方式来记录,URL中的媒体文件访问功能由HTTP服务模块,URL采用自定义规则,由下面部分组成:协议、存有该资源的主机地址和端口号、资源路径、参数,其中参数部分最少要包括合并文件路径、切片开始路径、切片结束位置三个参数,其中合并文件路径采用URL编码来处理。
作为优选,在步骤(4)中,在HTTP接口下实现流程如下:
(41)解析请求地址中的参数列表,包括file来获取合并文件路径,start来获取切片在相对于合并文件中开始位置FS,end来获取切片相对于合并文件中结束位置FE;
(42)解析请求HTTP Header中的Content-Range来获取客户端请求切片开始偏移位置SS和结束偏移位置SE;
(43)通过FS、SS和SE计算出此次请求相对于合并文件中开始位置RS和结束位置RE,RS=FS+SS,RE=FS+SE;
(44)通过过操作***提供的标准文件接口读取合并文件,把RS到RE之间的数据通过HTTP协议返回读取数据内容。
本发明的有益效果是:符合HLS标准要求,对于HLS的生成和播放没有影响,采用单媒体文件的方式减少多切片模式下对存储和CDN的空间和读取上的压力。
附图说明
图1是本发明中切片合并和M3U8改造流程图;
图2是本发明中HTTP接口请求流程图。
具体实施方式
下面结合附图和具体实施方式对本发明做进一步的描述。
如图1、图2所述的实施例中,一种HLS视频切片文件存储优化方法,具体包括如下步骤:
(1)根据HLS标准,生成一系列的切片文件,读取所有切片文件列表;
(2)把所有切片文件合并成单个文件,记录每个切片在文件中的开始位置(StartPosition)和结束位置(End Position);具体为:把所有切片文件合成一个完整的媒体文件,合并顺序从第1个切片开始一直合并到最后一个切片,在合并的过程中记录下切片在合并文件中的位置,将其记录成开始位置和结束位置,如图1所示。
(3)重新生成M3U8文件,媒体片段类型标签采用自定义URL的方式来记录;M3U8中媒体片段类型标签采用自定义URL的方式来记录,URL中的媒体文件访问功能由HTTP服务模块,URL采用自定义规则,由下面部分组成:<scheme>://<host>:<port>/<path>;<params>?<query>
1.协议(<scheme>);
2.存有该资源的主机地址和端口号(<host>:<port>);
3.资源路径(<path>);
4.参数(<params>?<query>),其中参数部分最少要包括合并文件路径、切片开始路径、切片结束位置三个参数,其中合并文件路径采用URL编码来处理,如图1所示。
例如:
https://www.domian.com/segment?file={path}&start={startPos}&end={endPos}
根据此规则重新输出M3U8文件。
M3U8输出样例:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXTINF:10,
https://www.domian.com/segment?file=%2fdata%2fwhole.ts&start=0&end=10000
#EXTINF:10,
https://www.domian.com/segment?file=%2fdata%2fwhole.ts&start=10000&end=20000
#EXTINF:6,
https://www.domian.com/segment?file=%2fdata%2fwhole.ts&start=20000&end=26000
(4)HTTP服务模块用于提供HLS流媒体服务功能,此服务通过自有代码开发实现来完成范围请求功能。媒体片段的请求接口采用标准的HTTP接口下实现,如图2所示;在HTTP接口下实现流程如下:
(41)解析请求地址中的参数列表,包括file来获取合并文件路径,start来获取切片在相对于合并文件中开始位置FS,end来获取切片相对于合并文件中结束位置FE;
(42)解析请求HTTP Header中的Content-Range来获取客户端请求切片开始偏移位置SS和结束偏移位置SE;
(43)通过FS、SS和SE计算出此次请求相对于合并文件中开始位置RS和结束位置RE,RS=FS+SS,RE=FS+SE;
(44)通过过操作***提供的标准文件接口读取合并文件,把RS到RE之间的数据通过HTTP协议返回读取数据内容。
本发明是基于HLS协议中M3U8文本协议特点来实现。M3U8是Unicode版本的M3U,用UTF-8编码。"M3U"和"M3U8"文件都是苹果公司使用的HLS协议格式的基础。M3U8文件实质是一个播放列表(Playlist),其可能是一个媒体播放列表(Media Playlist),或者是一个主列表(Master Playlist)。但无论是哪种播放列表,其内部文字使用的都是utf-8编码。
当M3U8文件作为媒体播放列表(Media Playlist)时,其内部信息记录的是一系列媒体片段资源,顺序播放该片段资源,即可完整展示多媒体资源。样例格式如下所示:
#EXTM3U
#EXT-X-TARGETDURATION:10
#EXTINF:10,
first.ts
#EXTINF:10,
second.ts
#EXTINF:6,
third.ts
根据HLS标准中对媒体片段类型标签(Media Segment Tags)说明,每个切片URI前面都有一系列媒体片段标签对其进行描述。有些片段标签只对其后切片资源有效;有些片段标签对其后所有切片都有效,直到后续遇到另一个该标签描述。媒体片段类型标签不能出现在主播放列表(Master Playlist)中。具体标签如下:
EXTINF:表示其后URL指定的媒体片段时长(单位为秒)。每个URL媒体片段之前必须指定该标签。该标签的使用格式为:
#EXTINF:<duration>,[<title>]
其中:
Duration:可以为十进制的整型或者浮点型,其值必须小于或等于EXT-X-TARGETDURATION指定的值。
其中切片的URI有三种方式:
采用绝对路径来指定切片的位置;
采用相对于M3U8的相对路径来指定切片的位置;
采用URL地址的方式来指定切片位置。
通过上述方法的设计,完成了从HLS切片、M3U8的改造和HTTP服务的定制达到存储优化功能,符合HLS标准要求,对于HLS的生成和播放没有影响,采用单媒体文件的方式减少多切片模式下对存储和CDN的空间和读取上的压力。

Claims (1)

1.一种HLS视频切片文件存储优化方法,其特征是,具体包括如下步骤:
(1)根据HLS标准,生成一系列的切片文件,读取所有切片文件列表;
(2)把所有切片文件合并成单个文件,记录每个切片在文件中的开始位置和结束位置;具体为:把所有切片文件合成一个完整的媒体文件,合并顺序从第1个切片开始一直合并到最后一个切片,在合并的过程中记录下切片在合并文件中的位置,将其记录成开始位置和结束位置;
(3)重新生成M3U8文件,媒体片段类型标签采用自定义URL的方式来记录;M3U8中媒体片段类型标签采用自定义URL的方式来记录,URL中的媒体文件访问功能由HTTP服务模块,URL采用自定义规则,由下面部分组成:协议、存有资源的主机地址和端口号、资源路径、参数,其中参数部分最少要包括合并文件路径、切片开始路径、切片结束位置三个参数,其中合并文件路径采用URL编码来处理;
(4)媒体片段的请求接口采用标准的HTTP接口下实现;在HTTP接口下实现流程如下:
(41)解析请求地址中的参数列表,包括file来获取合并文件路径,start来获取切片在相对于合并文件中开始位置FS,end来获取切片相对于合并文件中结束位置FE;
(42)解析请求HTTP Header中的Content-Range来获取客户端请求切片开始偏移位置SS和结束偏移位置SE;
(43)通过FS、SS和SE计算出此次请求相对于合并文件中开始位置RS和结束位置RE,RS=FS+SS,RE=FS+SE;
(44)通过操作***提供的标准文件接口读取合并文件,把RS到RE之间的数据通过HTTP协议返回读取数据内容。
CN202011435601.7A 2020-12-10 2020-12-10 一种hls视频切片文件存储优化方法 Active CN112601131B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011435601.7A CN112601131B (zh) 2020-12-10 2020-12-10 一种hls视频切片文件存储优化方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011435601.7A CN112601131B (zh) 2020-12-10 2020-12-10 一种hls视频切片文件存储优化方法

Publications (2)

Publication Number Publication Date
CN112601131A CN112601131A (zh) 2021-04-02
CN112601131B true CN112601131B (zh) 2023-03-21

Family

ID=75191673

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011435601.7A Active CN112601131B (zh) 2020-12-10 2020-12-10 一种hls视频切片文件存储优化方法

Country Status (1)

Country Link
CN (1) CN112601131B (zh)

Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9916090B1 (en) * 2015-09-22 2018-03-13 EMC IP Holding Company LLC Techniques for dynamically adjusting slice size

Family Cites Families (12)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN104243430A (zh) * 2013-06-20 2014-12-24 腾讯科技(深圳)有限公司 一种流媒体播放方法及装置
US9807452B2 (en) * 2013-10-07 2017-10-31 Samsung Electronics Co., Ltd. Practical delivery of high quality video using dynamic adaptive hypertext transport protocol (HTTP) streaming (DASH) without using HTTP in a broadcast network
CN103826159B (zh) * 2013-12-04 2017-12-19 Tcl集团股份有限公司 一种m3u8格式视频的本地离线播放方法和终端
EP2887294A1 (en) * 2013-12-23 2015-06-24 Thomson Licensing Method and device for providing targeted content
US10291681B2 (en) * 2015-06-18 2019-05-14 Ericsson Ab Directory limit based system and method for storing media segments
CN105072458A (zh) * 2015-07-23 2015-11-18 浪潮软件集团有限公司 一种基于hls协议实现机顶盒直播过程中时移的方法
CN105979404A (zh) * 2015-12-01 2016-09-28 乐视致新电子科技(天津)有限公司 一种流媒体的处理方法及装置
CN105979373A (zh) * 2015-12-03 2016-09-28 乐视致新电子科技(天津)有限公司 一种播放方法及装置
CN106375873A (zh) * 2016-08-31 2017-02-01 杭州当虹科技有限公司 一种hls视频文件下载存储及播放的方法
CN109756757B (zh) * 2019-03-21 2021-07-13 北京数码视讯软件技术发展有限公司 直播数据处理方法及装置、直播方法及装置和直播服务器
CN111246315B (zh) * 2020-01-21 2022-06-03 咪咕视讯科技有限公司 视频交互方法、***、边缘节点、客户端及存储介质
CN111741338A (zh) * 2020-07-22 2020-10-02 深圳力维智联技术有限公司 Hls流媒体播放方法、***、设备及存储介质

Patent Citations (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9916090B1 (en) * 2015-09-22 2018-03-13 EMC IP Holding Company LLC Techniques for dynamically adjusting slice size

Also Published As

Publication number Publication date
CN112601131A (zh) 2021-04-02

Similar Documents

Publication Publication Date Title
US8635360B2 (en) Media playback point seeking using data range requests
CN102055717B (zh) 快速播放的方法、终端及服务器
CA2896175C (en) Media distribution and management platform
US7962933B2 (en) Mid-roll insertion of digital media
CN107277081A (zh) 流媒体数据的切片下载方法和装置、流媒体***
CN105828096B (zh) 媒体流文件的处理方法和装置
JP7072668B2 (ja) ウェブページに基づくメディアファイルの再生方法、装置及び記憶媒体
KR101418951B1 (ko) 멀티미디어 메시징 서비스의 비디오 적응 방법 및 시스템
US20080040215A1 (en) Mid-Roll Insertion of Digital Media
CN111246314B (zh) 时移直播方法、服务端装置、客户端装置及直播***
CN104661058A (zh) Mp4视频点播的数据流传输方法、客户端及点播***
CN110784750A (zh) 视频播放方法、装置及计算机设备
JP2021510047A (ja) メディアファイルの同期再生方法、装置及び記憶媒体
CN104837033B (zh) 一种信息处理方法及服务器
US12028586B2 (en) Advertisement preparation systems
CN105721952A (zh) 一种等时长切片的直播流网络传输方法及***
CN113742518A (zh) 存储和提供视频的方法、设备和计算机程序产品
CN113873288A (zh) 在直播过程中生成回放的方法和装置
CN112243158A (zh) 媒体文件处理方法、装置及电子设备
CN112601131B (zh) 一种hls视频切片文件存储优化方法
US20180020043A1 (en) Method for playing audio/video and display device
CN112929677A (zh) 直播视频的回看方法、装置和服务器
CN115039413A (zh) 用于基于递送的内容流来提供内容流的技术
CN112218118A (zh) 一种音视频裁剪方法及装置
CN116132751B (zh) 一种基于web窗口场景同步回放的方法及***

Legal Events

Date Code Title Description
PB01 Publication
PB01 Publication
SE01 Entry into force of request for substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant