CN111372099A - 一种低延迟hls直播的实现方法 - Google Patents

一种低延迟hls直播的实现方法 Download PDF

Info

Publication number
CN111372099A
CN111372099A CN202010199847.2A CN202010199847A CN111372099A CN 111372099 A CN111372099 A CN 111372099A CN 202010199847 A CN202010199847 A CN 202010199847A CN 111372099 A CN111372099 A CN 111372099A
Authority
CN
China
Prior art keywords
file
generated
client
server
hls
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.)
Pending
Application number
CN202010199847.2A
Other languages
English (en)
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.)
Shandong Yunman Intelligent Technology Co ltd
Original Assignee
Shandong Yunman Intelligent 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 Shandong Yunman Intelligent Technology Co ltd filed Critical Shandong Yunman Intelligent Technology Co ltd
Priority to CN202010199847.2A priority Critical patent/CN111372099A/zh
Publication of CN111372099A publication Critical patent/CN111372099A/zh
Pending legal-status Critical Current

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
    • H04N21/2393Interfacing the upstream path of the transmission network, e.g. prioritizing client content requests involving handling client 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/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/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/438Interfacing the downstream path of the transmission network originating from a server, e.g. retrieving encoded video stream packets from an IP network
    • 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/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/4402Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving reformatting operations of video signals for household redistribution, storage or real-time display
    • 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/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/854Content authoring
    • H04N21/85406Content authoring involving a specific file format, e.g. MP4 format

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Computer Security & Cryptography (AREA)
  • Databases & Information Systems (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)

Abstract

本发明提出了一种低延迟HLS直播的实现方法,主要包括以下步骤:客户端向低延时服务器请求HLS方式播放视频,服务器返回客户端索引文件M3U8,客户端根据M3U8文件向服务器发出请求,下载当前正在生成的TS,服务器接收链接建立并进入等待状态,新的切片开始生成,立刻通过已经建立的HTTP链接发送TS文件,客户端接收最新的TS文件,并将获取到的内容实时传给内部解码器解码播放,播放器会将当前能获取到的最新的可播放内容作为开始播放的位置。本发明可以在保持HLS分发特性以及CDN缓存性能的基础上,有效的降低HLS直播流的延时至1秒,且可以同时实现时移及回看节目的录制。

Description

一种低延迟HLS直播的实现方法
技术领域
本发明涉及互联网多媒体领域,具体涉及一种一种低延迟HLS直播的实现方法。
背景技术
随着直播技术以及互联网直播业务的发展,用户对于直播延时的要求越来越苛刻。现有的HLS以及DASH等技术在延时上表现不佳,都会存在6-30秒不等的延时,几乎无法用于互动性较高的直播领域;现有的低延时的直播技术,如RTMP、HTTP-FLV等是基于FLV格式的视频流,对新的视频编码以及CDN的支持都已经不够,例如其无法支持HEVC编码导致对4K的支持很差。
本发明采用的低延时HLS技术可以较好的达成低延时性能,并且对HEVC等各种新格式支持度更好。且可以兼容普通HLS模式,对CDN的要求等同于文件分发,且支持普通HLS播放器发起标准延时播放。
HLS是一种采用HTTP传输的视频传输协议,主要包括一个m3u8的索引文件和多个TS媒体分片文件。因为对应于媒体分段的大小和持续时间有一定潜在的时间延时。在客户端,至少在一个分段媒体文件被完全下载后才能够开始播放,而通常要求下载完两个媒体文件之后才开始播放以保证不同分段音视频之间的无缝连接。此外,在客户端开始下载之前,必须等待服务器端的编码器和流分割器至少生成一个TS文件,这也会带来潜在的时延。服务器软件将接收到的流每缓存一定时间后包装为一个新的TS文件,然后更新m3u8文件。m3u8文件中只保留最新的几个片段的索引,以保证观众任何时候连接进来都会看到较新的内容,实现近似直播的效果。这种方式的理论最小延时为一个ts文件的时长,一般为2-3个ts文件的时长。
发明内容
为解决现有技术中视频直播延时过长,本发明提出了一种基于HTTP流传输文件的一种低延迟HLS直播的实现方法。
发明内容如下:一种低延迟HLS直播的实现方法,包括以下步骤:
1)客户端向低延时服务器请求HLS方式播放视频,服务器将原始流转换为MPEGTS封装格式并切片为指定时长的切片TS文件,同时将最新的切片文件名汇总并生成索引文件,即M3U8文件;
2)服务器返回客户端索引文件M3U8;
3)客户端根据M3U8文件向服务器发出请求,下载当前正在生成的TS文件,提前建立HTTP链接,并根据M3U8索引请求建立下一段TS文件的下载链接,M3U8文件的更新频率与标准HLS一致,当TS文件生成完成后会更新索引文件;
4)服务器接收链接建立并进入等待状态,新的切片开始生成,立刻通过已经建立的HTTP链接一边生成TS文件,一边利用HTTP-CHUNK流传输的方式持续向客户端发送最新的音视频内容;
5)客户端接收最新的TS文件,将获取到的内容实时传给内部解码器解码播放,播放器会将当前能获取到的最新的可播放内容作为开始播放的位置;
6)客户端根据M3U8索引继续向服务器请求下一段TS文件,并重复步骤2)至步骤5)这个过程直至直播结束。
优选的,低延时服务器生成的M3U8文件除了包含标准HLS协议中的字段之外,还会包含当前正在生成以及将要生成的文件名称。
优选的,在标准直播M3U8基础上,在TS列表最后新增正在生成的TS文件以及1-3个将要生成的TS文件名称,客户端可以预先与服务器发起连接并尝试下载将要生成的TS名称。
优选的,客户端访问正在生成的TS文件,将会立刻返回已经生成的部分,之后随着TS文件生成随时向客户端发送最新内容;客户端访问尚未生成的TS文件,将会返回HTTP头后等待,直到此TS文件开始生成后,随时向客户端发送最新内容。
对于尚未生成,且即将生成(一般为10-20秒内)的TS文件,服务器在收到客户端请求时,不会返回404异常,而是保持连接等待直到该TS文件开始生成后直接向客户端返回内容。从而使得客户端可以提前发起与服务器的连接,减少了因tcp连接建立所需花费的时间,在TS切换时不会因此增加延时,形成了一种媒体流连续传输的状态。
获取到m3u8文件后,将正在生成的TS以及一个将要生成的TS加入下载队列;客户端同时尝试从下载队列下载最新的两个文件,正在生成的TS会立刻返回,将要生成的TS将会建立起链接然后等待。下载TS文件时,每下载一点内容就立刻发送给播放器进行解码并播放,不能等待TS文件完全下载。
有益效果
本发明可以在保持HLS分发特性以及CDN缓存性能的基础上,有效的降低HLS直播流的延时至1秒,且可以同时实现时移及回看节目的录制;兼容普通HLS播放器和苹果设备官方播放器。
附图说明
附图用来提供对本发明的进一步理解,并且构成说明书的一部分,与本发明的实施例一起用于解释本发明,并不构成对本发明的限制。
图1为本发明客户端请求流程图
图2为本发明传统HLS与低延时HLS对比示意图
图3为本发明TS文件生成过程示意图
图4为本发明播放器实际延时示意图
图5为本发明M3U8索引文件标签示意图。
具体实施方式
下面结合附图,说明具体实施方式:本实例包含低延时服务器和客户端
1)客户端向低延时服务器请求HLS方式播放视频,服务器接收到原始流后,会将音视频文件实时重新转换为MPEGTS封装格式并切片为指定时长5秒的切片文件如12.ts,同时将最新的切片文件名汇总并生成如图5所示的索引文件即M3U8文件。服务器返回客户端索引文件M3U8;
2)客户端根据M3U8文件向服务器发出请求,播放器会预先尝试下载即将生成的TS文件如图4的13.ts,提前建立HTTP链接,并根据M3U8索引请求建立下一段TS文件的下载链接,M3U8文件的更新频率与标准HLS一致,当TS文件生成完成后会更新索引文件;
3)服务器接收链接建立并进入等待状态,新的切片开始生成,立刻通过已经建立的HTTP链接一边生成TS文件,一边利用HTTP-CHUNK流传输的方式持续向客户端发送最新的音视频内容,避免HTTP链接建立导致的时间延误;
4)客户端接收最新的TS文件,将获取到的内容实时传给内部解码器解码播放,播放器会将当前能获取到的最新的可播放内容(最新的关键帧)作为开始播放的位置。播放器延时如图4所示。
5)将获取到的内容实时传给内部解码器解码播放,播放器会将当前能获取到的最新的可播放内容作为开始播放的位置;
6)客户端根据M3U8索引继续向服务器请求下一段TS文件,并重复步骤2)至步骤5)这个过程直至直播结束。
低延时服务器生成的M3U8文件除了包含标准HLS协议中的字段之外,还会包含当前正在生成以及将要生成的文件名称。如图5所示,最后会有#EXT-X-CUR与#EXT-X-PRE标签标明正在生成以及将要生成的TS名称。
#EXT-X-CUR与#EXT-X-PRE标签中标识的切片的具体使用方式详细描述为:如图2所示,当前正在生成的文件为12.ts,此时低延时服务器会提供12.ts以及13.ts的链接。并且当收到12.ts的请求时,会立即将12.ts中已经生成的部分返回给客户端,并会随着12.ts的生成持续返回给客户端。当12.ts生成完成后,13.ts开始生成,此时会给12.ts的请求返回结束码,并立刻向已建立的13.ts的请求返回视频数据。当TS文件生成完成后会更新索引文件,新的M3U8中#EXT-X-CUR将会是13.ts,并将14.ts及15.ts加入到#EXT-X-PRE内。
在标准直播M3U8基础上,在TS列表最后新增正在生成的TS文件以及1-3个将要生成的TS文件名称,客户端可以预先与服务器发起连接并尝试下载将要生成的TS名称。
客户端访问正在生成的TS文件,将会立刻返回已经生成的部分,随着TS文件生成随时向客户端发送最新内容;客户端访问尚未生成的TS文件,将会返回HTTP头后等待,直到此TS文件开始生成后,向客户端发送最新内容。

Claims (4)

1.一种低延迟HLS直播的实现方法,其特征在于,包括以下步骤:
1)客户端向低延时服务器请求HLS方式播放视频,服务器将原始流转换为MPEGTS封装格式并切片为指定时长的切片TS文件,同时将最新的切片文件名汇总并生成索引文件,即M3U8文件;
2)服务器返回客户端索引文件M3U8;
3)客户端根据M3U8文件向服务器发出请求,下载当前正在生成的TS文件,提前建立HTTP链接,并根据M3U8索引请求建立下一段TS文件的下载链接,M3U8文件的更新频率与标准HLS一致,当TS文件生成完成后会更新索引文件;
4)服务器接收链接建立并进入等待状态,新的切片开始生成,立刻通过已经建立的HTTP链接一边生成TS文件,一边利用HTTP-CHUNK流传输的方式持续向客户端发送最新的音视频内容;
5)客户端接收最新的TS文件,将获取到的内容实时传给内部解码器解码播放,播放器会将当前能获取到的最新的可播放内容作为开始播放的位置;
6)客户端根据M3U8索引继续向服务器请求下一段TS文件,并重复步骤2)至步骤5)这个过程直至直播结束。
2.根据权利要求1所述的低延迟HLS直播的实现方法,其特征在于:低延时服务器生成的M3U8文件除了包含标准HLS协议中的字段之外,还会包含当前正在生成以及将要生成的文件名称。
3.根据权利要求1所述的低延迟HLS直播的实现方法,其特征在于:在标准直播M3U8基础上,在TS列表最后新增正在生成的TS文件以及1-3个将要生成的TS文件名称,客户端可以预先与服务器发起连接并尝试下载将要生成的TS名称。
4.根据权利要求1所述的低延迟HLS直播的实现方法,其特征在于:客户端访问正在生成的TS文件,将会立刻返回已经生成的部分,随着TS文件生成随时向客户端发送最新内容;客户端访问尚未生成的TS文件,将会返回HTTP头后等待,直到此TS文件开始生成后,向客户端发送最新内容。
CN202010199847.2A 2020-03-20 2020-03-20 一种低延迟hls直播的实现方法 Pending CN111372099A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202010199847.2A CN111372099A (zh) 2020-03-20 2020-03-20 一种低延迟hls直播的实现方法

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202010199847.2A CN111372099A (zh) 2020-03-20 2020-03-20 一种低延迟hls直播的实现方法

Publications (1)

Publication Number Publication Date
CN111372099A true CN111372099A (zh) 2020-07-03

Family

ID=71211869

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202010199847.2A Pending CN111372099A (zh) 2020-03-20 2020-03-20 一种低延迟hls直播的实现方法

Country Status (1)

Country Link
CN (1) CN111372099A (zh)

Cited By (5)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901696A (zh) * 2020-07-31 2020-11-06 杭州当虹科技股份有限公司 一种使用预加载方式基于hls技术的实时收录拆条系统
CN113038170A (zh) * 2021-03-01 2021-06-25 北京四达时代软件技术股份有限公司 直播hls数据生成方法及装置、处理方法及装置和控制系统
CN114173145A (zh) * 2021-12-08 2022-03-11 四川启睿克科技有限公司 一种基于hls协议动态码率低延迟直播方法
CN115150632A (zh) * 2022-06-30 2022-10-04 鹏城实验室 一种基于命名数据网络的低延时视频直播方法及系统
CN115297095A (zh) * 2022-08-08 2022-11-04 上海哔哩哔哩科技有限公司 回源处理方法、装置、计算设备及存储介质

Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710966A (zh) * 2012-06-13 2012-10-03 百视通网络电视技术发展有限责任公司 基于http协议的视频直播方法及系统
US20140280781A1 (en) * 2013-03-15 2014-09-18 General Instrument Corporation Enhanced playlist definition and delivery for fast channel change with http adaptive streaming
WO2017035783A1 (zh) * 2015-09-01 2017-03-09 深圳好视网络科技有限公司 流媒体的传输、播放方法及传输、播放装置
CN107396205A (zh) * 2017-07-25 2017-11-24 观止云(北京)信息技术有限公司 一种低延时流化hls实现方法
CN108540868A (zh) * 2018-05-16 2018-09-14 北京百度网讯科技有限公司 Hls直播的处理方法、装置、服务器、终端及存储介质
CN108924145A (zh) * 2018-07-16 2018-11-30 百度在线网络技术(北京)有限公司 网络传输方法、装置及设备
CN109756757A (zh) * 2019-03-21 2019-05-14 北京数码视讯软件技术发展有限公司 直播数据处理方法及装置、直播方法及装置和直播服务器

Patent Citations (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102710966A (zh) * 2012-06-13 2012-10-03 百视通网络电视技术发展有限责任公司 基于http协议的视频直播方法及系统
US20140280781A1 (en) * 2013-03-15 2014-09-18 General Instrument Corporation Enhanced playlist definition and delivery for fast channel change with http adaptive streaming
WO2017035783A1 (zh) * 2015-09-01 2017-03-09 深圳好视网络科技有限公司 流媒体的传输、播放方法及传输、播放装置
CN107396205A (zh) * 2017-07-25 2017-11-24 观止云(北京)信息技术有限公司 一种低延时流化hls实现方法
CN108540868A (zh) * 2018-05-16 2018-09-14 北京百度网讯科技有限公司 Hls直播的处理方法、装置、服务器、终端及存储介质
CN108924145A (zh) * 2018-07-16 2018-11-30 百度在线网络技术(北京)有限公司 网络传输方法、装置及设备
CN109756757A (zh) * 2019-03-21 2019-05-14 北京数码视讯软件技术发展有限公司 直播数据处理方法及装置、直播方法及装置和直播服务器

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN111901696A (zh) * 2020-07-31 2020-11-06 杭州当虹科技股份有限公司 一种使用预加载方式基于hls技术的实时收录拆条系统
CN113038170A (zh) * 2021-03-01 2021-06-25 北京四达时代软件技术股份有限公司 直播hls数据生成方法及装置、处理方法及装置和控制系统
CN113038170B (zh) * 2021-03-01 2022-05-13 北京四达时代软件技术股份有限公司 直播hls数据生成方法及装置、处理方法及装置和控制系统
CN114173145A (zh) * 2021-12-08 2022-03-11 四川启睿克科技有限公司 一种基于hls协议动态码率低延迟直播方法
CN115150632A (zh) * 2022-06-30 2022-10-04 鹏城实验室 一种基于命名数据网络的低延时视频直播方法及系统
CN115150632B (zh) * 2022-06-30 2023-12-05 鹏城实验室 一种基于命名数据网络的低延时视频直播方法及系统
CN115297095A (zh) * 2022-08-08 2022-11-04 上海哔哩哔哩科技有限公司 回源处理方法、装置、计算设备及存储介质
CN115297095B (zh) * 2022-08-08 2024-03-08 上海哔哩哔哩科技有限公司 回源处理方法、装置、计算设备及存储介质

Similar Documents

Publication Publication Date Title
CN111372099A (zh) 一种低延迟hls直播的实现方法
US9871844B2 (en) Method and apparatus for transmitting and receiving adaptive streaming mechanism-based content
EP2391086B1 (en) Method and apparatus for playing live content
US20160119657A1 (en) Adaptive bitrate streaming latency reduction
CN109286820B (zh) 基于分布式存储系统的流媒体点播方法及系统
JP2017073814A (ja) コンテンツ送信装置およびコンテンツ再生装置
US7912218B2 (en) Method of broadcasting multimedia content via distribution network
WO2013053326A1 (zh) 回看节目录制、播放方法、服务器、客户端及系统
WO2004077790A1 (en) System for broadcasting multimedia content
KR20200109359A (ko) 비디오 스트리밍
US11321516B2 (en) Processing dynamic web content of an ISO BMFF web resource track
JP6338709B2 (ja) ストリーミング装置とその方法、これを用いたストリーミングサービスシステム及びコンピュータ読み取り可能な記録媒体(Streaming apparatus and method thereof,streaming service system using the streaming apparatus and computer readable recording medium)
US20080281803A1 (en) Method of Transmitting Content With Adaptation of Encoding Characteristics
WO2021143360A1 (zh) 资源传输方法及计算机设备
US8327406B2 (en) Method and server for downloading a broadcasted multimedia content over a distribution network
CN112104885B (zh) 一种直播中加快m3u8起始播放速度的系统及方法
CN113727199A (zh) 一种hls切片快速起播方法
CN109151614B (zh) 一种降低hls直播播放延迟的方法及装置
US20230164398A1 (en) Video stream control
CN115643426B (zh) 一种面向空间应用领域的通用视频播放方法和系统
CN110933476A (zh) 一种基于Relay的HLS首屏时间优化方案
CN107148779B (zh) 一种传送媒体内容的方法
CN113992956A (zh) 一种网络音视频快速切换的方法
CN113727137A (zh) 一种用于hls直播资源的录制存储方法

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
RJ01 Rejection of invention patent application after publication
RJ01 Rejection of invention patent application after publication

Application publication date: 20200703