CN105657578B - 基于hls协议的直播方法、系统及客户端 - Google Patents

基于hls协议的直播方法、系统及客户端 Download PDF

Info

Publication number
CN105657578B
CN105657578B CN201510718074.3A CN201510718074A CN105657578B CN 105657578 B CN105657578 B CN 105657578B CN 201510718074 A CN201510718074 A CN 201510718074A CN 105657578 B CN105657578 B CN 105657578B
Authority
CN
China
Prior art keywords
slice
downloaded
child servers
pts
pts timestamp
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.)
Expired - Fee Related
Application number
CN201510718074.3A
Other languages
English (en)
Other versions
CN105657578A (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.)
Leshi Zhixin Electronic Technology Tianjin Co Ltd
Original Assignee
Leshi Zhixin Electronic Technology Tianjin 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 Leshi Zhixin Electronic Technology Tianjin Co Ltd filed Critical Leshi Zhixin Electronic Technology Tianjin Co Ltd
Priority to CN201510718074.3A priority Critical patent/CN105657578B/zh
Priority to US15/120,244 priority patent/US20180227648A1/en
Priority to PCT/CN2016/085110 priority patent/WO2017071228A1/zh
Publication of CN105657578A publication Critical patent/CN105657578A/zh
Application granted granted Critical
Publication of CN105657578B publication Critical patent/CN105657578B/zh
Expired - Fee Related legal-status Critical Current
Anticipated expiration legal-status Critical

Links

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/61Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio
    • H04L65/611Network streaming of media packets for supporting one-way streaming services, e.g. Internet radio for multicast or broadcast
    • 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/65Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
    • 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
    • H04L69/00Network arrangements, protocols or services independent of the application payload and not provided for in the other groups of this subclass
    • H04L69/10Streamlined, light-weight or high-speed protocols, e.g. express transfer protocol [XTP] or byte stream
    • 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
    • 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/8547Content authoring involving timestamps for synchronizing content
    • 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
    • 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)
  • Computer Security & Cryptography (AREA)
  • Computer Networks & Wireless Communication (AREA)
  • Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种基于HLS协议的直播方法、系统及客户端,在基于HLS协议直播过程从子服务器下载M3U8索引列表,并根据M3U8索引列表下载节目资源的切片进行播放;其中,当主服务器为重新分配另一个子服务器后,从该新分配的子服务器下载M3U8索引列表和节目资源的切片;解析从新的子服务器中下载的节目资源切片,获取下载的切片中的PTS时间戳信息;将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较,根据比较结果确定播放或不播放当前新下载的节目资源切片。从而实现了用户在终端顺畅观看直播视频的体验。

Description

基于HLS协议的直播方法、系统及客户端
技术领域
本发明涉及网络通信技术领域,特别是指一种基于HLS协议的直播方法、系统及客户端。
背景技术
内容分发网络(CDN,Content Delivery Network)是一种新型网络构建方式。其依靠部署在各地的边缘服务器,通过中心平台的负载均衡、内容分发、调度等功能模块,使用户就近获取所需内容,降低网络拥塞,提高用户访问响应速度和命中率。CDN的基本思路是尽可能避开互联网上有可能影响数据传输速度和稳定性的瓶颈和环节,使内容传输的更快、更稳定。其目的是使用户可就近取得所需内容,解决Internet网络拥挤的状况,提高用户访问网站的响应速度。CDN通过负载均衡、本地缓存等策略使得客户可以更方便的从本地服务器上获得资源,避免全网的网络拥堵,在视频分发等领域有很广泛的应用。CDN的基本原理是广泛采用各种缓存服务器,将这些缓存服务器分布到用户访问相对集中的地区或网络中,在用户访问网站时,利用全局负载技术将用户的访问指向距离最近的工作正常的缓存服务器上,由缓存服务器直接响应用户请求。CDN的关键技术主要有内容存储和分发技术。
HLS(Http live streaming)协议是苹果公司实现的基于超文本传输协议Http的流媒体传输协议,HLS协议将容量巨大的连续媒体数据进行分段,分割为数量众多的小文件进行传递,迎合了网页服务器的文件传输性,并采用一个不断更新的轻量级索引文件来控制分割后小媒体文件的下载和播放,可以实现流媒体的直播和点播。
通过HLS协议,视频数据经处理后分为视频节目切片TS文件以及媒体数据索引M3U8文件,并存在于云服务器上。M3U8文件中通常包括视频片段的多个统一资源定位符URL。多媒体播放器获取M3U8文件后,进而按照其中的URL下载对应的视频片段并进行播放。也可以按照M3U8文件中的URL将视频片段下载并存储在本地,以供后续在本地进行播放。
目前,视频的直播和点播也广泛应用了CDN加速技术,在手机和电视业务中,CDN配合HLS协议来实现视频内容的直播和点播是最常见的视频观看方式。
现有技术在CDN配置下,直播节目通常会使用重定向的技术隐藏具体的码流URL地址,通过主服务器的Master URL地址与各个分发子服务器Sub URL地址配合的方法实现,例如:
1.用户客户端首先得到一个Master URL。
2.用户客户端向主服务器请求这个Master URL。
3.主服务器根据用户客户端的地域情况通过重定向技术向用户客户端分发一个子服务器B的新的Sub URL,记为URLb。
4.用户客户端通过URLb向服务器获取直播节目M3U8索引列表。
5.客户端解析M3U8索引列表并下载具体的节目码流切片。
6.根据HLS协议规定,M3U8索引列表在直播情况下仅包含3个最近的切片,用户客户端需要定时的去更新M3U8列表,因此客户端会返回步骤2定时更新M3U8列表并下载新的切片,以此不断重复步骤2-5。
7.在某一个时刻,子服务器B带宽不足的情况,CDN会通过均衡负载将用户的请求重定向到新的子服务器H,得到一个新的URLb。
然而,目前由于不同子服务器之间M3U8索引序号没有可比性,CDN服务器无法保证其不同的子服务器的码流切片分发一致性,因此直播节目中,往往会出现节目回跳或者节目切片丢失等情况,造成用户无法流畅观看直播节目,使得用户体验降低。
发明内容
有鉴于此,本发明的目的在于提出一种基于HLS协议的直播方法、系统及客户端,解决了用户在观看直播节目时,出现的节目回跳或者节目切片丢失问题。
基于上述目的本发明提供的基于HLS协议的直播方法,在基于HLS协议直播过程从子服务器下载M3U8索引列表,并根据M3U8索引列表下载节目资源的切片进行播放;其中,当主服务器为重新分配另一个子服务器后,从该新分配的子服务器下载M3U8索引列表和节目资源的切片;
解析从新的子服务器中下载的节目资源切片,获取下载的切片中的PTS时间戳信息;
将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较,根据比较结果确定播放或不播放当前新下载的节目资源切片。
可选地,所述根据比较结果确定播放或不播放当前新下载的节目资源切片过程包括:如果所述从新的子服务器下载的切片中的PTS时间戳信息早于或等于所述从原先子服务器下载的切片中的PTS时间戳信息,则判定该新下载的切片已经在本地存在,选择下一个新下载的切片中的PTS时间戳继续执行与从原先子服务器下载的切片中的PTS时间戳比较的步骤;和/或所述根据比较结果确定播放或不播放当前下载的节目资源切片过程包括:如果所述从新的子服务器下载的切片中的PTS时间戳信息晚于从原先子服务器下载的切片中的PTS时间戳信息,则播放当前新下载的节目资源切片。
进一步地,将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较的过程包括:从新获取切片中选择M3U8索引号最小的切片的PTS时间戳信息与从原先子服务器下载的M3U8索引号最大的切片的PTS时间戳信息进行比较;如果所述从新的子服务器下载的切片中的PTS时间戳信息早于或等于所述从原先子服务器下载的切片中的PTS时间戳信息,则按照M3U8索引号由小到大的顺序依次选择下一个新下载的切片中的PTS时间戳继续执行与从原先子服务器下载的切片中的PTS时间戳比较的步骤。
进一步地,所述判定出如果所述从新的子服务器下载的切片中的PTS时间戳信息晚于所述从原先子服务器下载的切片中的PTS时间戳信息后,进一步包括:判断所述从新的子服务器下载的切片中的PTS时间戳信息比从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔是否超出预设的时间阈值,如果是,则暂不播放当前新下载的节目资源切片,否则播放该PTS时间戳信息所对应的切片。
进一步地,所述如果判定出从新的子服务器下载的切片中的PTS时间戳信息比所述从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔超出预设的时间阈值后,还包括:
向所述新分配的子服务器请求下载M3U8序列号更小的M3U8索引列表和节目资源的切片,并重复将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较的步骤,直至从新的子服务器下载的切片中的PTS时间戳信息比所述从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔未超出预设的时间阈值,播放该PTS时间戳信息所对应的切片。
可选地,每次从子服务器下载节目资源的切片后,如果下载过程正常,则下一次直接向当前子服务器下载M3U8索引列表以及节目资源的切片;否则,向主服务器请求重新分配另一个子服务器。
在另一方面,本发明还提供了一种基于HLS协议的直播系统,包括:
子服务器,用于提供直播节目的M3U8索引列表以及节目资源的切片;
主服务器,用于为所述客户端重新分配子服务器后;
客户端,用于从该新分配的子服务器下载M3U8索引列表和节目资源的切片;解析从新的子服务器中下载的节目资源切片,获取PTS时间戳信息;并将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较,根据比较结果确定播放或不播放当前新下载的节目资源切片。
可选地,所述客户端,还用于在确定所述从新的子服务器下载的切片中的PTS时间戳信息早于或等于所述从原先子服务器下载的切片中的PTS时间戳信息后,判定该新下载的切片已经在本地存在,选择下一个新下载的切片中的PTS时间戳继续执行与本地切片中的PTS时间戳比较的步骤;
和/或所述客户端,还用于在确定所述从新的子服务器下载的切片中的PTS时间戳信息晚于所述从原先子服务器下载的切片中的PTS时间戳信息后,播放当前新下载的节目资源切片。
进一步地,所述客户端还用于从新的子服务器下载的切片中选择M3U8索引号最小的切片的PTS时间戳信息与从原先子服务器下载的M3U8索引号最大的切片的PTS时间戳信息进行比较;如果所述从新的子服务器下载的切片中的PTS时间戳信息早于或等于所述从原先子服务器下载的切片中的PTS时间戳信息,则按照M3U8索引号由小到大的顺序依次选择下一个新下载的切片中的PTS时间戳继续执行与从原先子服务器下载的切片中的PTS时间戳比较的过程。
进一步地,所述客户端,还用于判断所述从新的子服务器下载的切片中的PTS时间戳信息比所述从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔是否超出预设的时间阈值,如果是,则暂不播放当前新下载的节目资源切片,否则播放该PTS时间戳信息所对应的切片。
进一步地,所述客户端,还用于向所述新分配的子服务器请求下载M3U8序列号更小的M3U8索引列表和节目资源的切片,并重复所述客户端将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较的步骤,直至新获取的PTS时间戳信息比所述从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔未超出预设的时间阈值,播放该PTS时间戳信息所对应的切片。
可选地,所述客户端每次从子服务器下载节目资源的切片后,如果下载过程正常,则下一次直接向当前子服务器下载M3U8索引列表以及节目资源的切片;否则,向主服务器请求重新分配另一个子服务器。
此外,在本发明的第三个方面提供了一种基于HLS协议的客户端,包括依次连接的地址获取单元、视频请求单元、切片下载单元以及播放判断单元;
地址获取单元,用于能够获得节目视频主服务器的地址,并且根据该主服务器的地址,向主服务器发送获取节目视频的请求;
视频请求单元,用于根据主服务器分配的子服务器的地址和HLS协议,向该子服务器发送节目资源请求;
切片下载单元,用于从子服务器下载M3U8索引列表;其中,当主服务器为所述客户端重新分配另一个子服务器后,切片下载单元从新分配的子服务器下载M3U8索引列表和节目资源的切片;解析下载的节目资源切片,获取PTS时间戳信息;
播放判断单元,用于根据M3U8索引列表下载节目资源的切片进行播放;其中,当节目资源切片是从重新分配的另一个子服务器下载时,播放判断单元将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较,根据比较结果确定播放或不播放当前新下载的节目资源切片。
可选地,所述的播放判断单元根据比较结果确定播放或不播放当前新下载的节目资源切片过程包括:如果所述从新的子服务器下载的切片中的PTS时间戳信息早于或等于所述从原先子服务器下载的切片中的PTS时间戳信息,则判定该新下载的切片已经在本地存在,选择下一个新下载的切片中的PTS时间戳继续执行与从原先子服务器下载的切片中的PTS时间戳比较的步骤;和/或所述根据比较结果确定播放或不播放当前下载的节目资源切片过程包括:如果所述从新的子服务器下载的切片中的PTS时间戳信息晚于所述从原先子服务器下载的切片中的PTS时间戳信息,则播放当前新下载的节目资源切片。
进一步地,所述的播放判断单元将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较的过程包括:所述客户端从新的子服务器下载的切片中选择M3U8索引号最小的切片的PTS时间戳信息与从原先子服务器下载的M3U8索引号最大的切片的PTS时间戳信息进行比较;如果所述从新的子服务器下载的的切片中的PTS时间戳信息早于或等于所述从原先子服务器下载的切片中的PTS时间戳信息,则按照M3U8索引号由小到大的顺序依次选择下一个新下载的切片中的PTS时间戳继续执行与本地切片中的PTS时间戳比较的步骤。
进一步地,所述播放判断单元判定出如果所述从新的子服务器下载的切片中的PTS时间戳信息晚于所述从原先子服务器下载的切片中的PTS时间戳信息后,进一步包括:判断所述从新的子服务器下载的切片中的PTS时间戳信息比所述从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔是否超出预设的时间阈值,如果是,则暂不播放当前新下载的节目资源切片,否则播放该PTS时间戳信息所对应的切片。
进一步地,所述播放判断单元如果判定出从新的子服务器下载的切片中的PTS时间戳信息比所述从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔超出预设的时间阈值后,还包括:
客户端向所述新分配的子服务器请求下载M3U8序列号更小的M3U8索引列表和节目资源的切片,并重复所述客户端将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较的步骤,直至从新的子服务器下载的切片中的PTS时间戳信息比所述从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔未超出预设的时间阈值,播放该PTS时间戳信息所对应的切片。
可选地,所述播放判断单元每次从子服务器下载节目资源的切片后,如果下载过程正常,则下一次直接向当前子服务器下载M3U8索引列表以及节目资源的切片;否则,向主服务器请求重新分配另一个子服务器。
从上面所述可以看出,本发明提供的基于HLS协议的直播方法、系统及客户端,在主服务器为客户端重定向到另一个子服务器的过程中,由该客户端主动对从该新分配的子服务器中获取节目切片进行解析,并获取其中的PTS时间戳信息,将其与本地原先已下载的节目资源切片中的PTS时间戳信息进行比较,借此判断出该节目切片是否被重复播放过。从而解决了现有技术中由于不同子服务器之间M3U8索引序号没有可比性,使得CDN服务器无法保证其不同的子服务器的码流切片分发一致性的问题,避免了直播过程中节目回跳等情况的发生,优化了用户观看直播节目的效果。
附图说明
图1为本发明实施例中基于HLS协议的直播方法的流程示意图;
图2为本发明一可参考实施例中基于HLS协议的直播方法的流程示意图;
图3为本发明另一实施例中基于HLS协议的直播方法的时序示意图;
图4为本发明基于HLS协议的直播客户端的结构示意图。
具体实施方式
为使本发明的目的、技术方案和优点更加清楚明白,以下结合具体实施例,并参照附图,对本发明进一步详细说明。
根据现有HLS协议,客户端是通过M3U8索引序列表到子服务器中下载对应的节目切片。但是由于不同子服务器中,所存储的同一直播节目M3U8索引列表中的对应节目切片的索引序号不同,不具有可比性,因此当主服务器将客户端重定向到一个新的子服务器的过程中,往往会导致节目切片重复下载,或者切片丢失等情况。为了解决这一问题,本发明中考虑到虽然不同子服务器之间的节目切片索引序号不同,但是节目切片的内容相同,节目切片中的PTS时间戳信息具有可比性,因此本发明的思路是在重定向子服务器的过程中,增加对新的子服务器中首次下载节目切片的解析,并将解析出的PTS时间戳信息与客户端本地原先下载的节目切片中的时间戳信息进行比较,从而确定节目切片是否被重复下载,或者切片丢失等情况。
参阅图1所示,为本发明第一实施例中基于HLS协议的直播方法的流程示意图,所述基于HLS协议的直播方法包括:
步骤101,在客户端基于HLS协议直播过程中,所述客户端从子服务器下载M3U8索引列表,并根据M3U8索引列表下载节目资源的切片进行播放。
步骤102,当主服务器为所述客户端重新分配另一个子服务器后,该客户端从该新分配的子服务器下载M3U8索引列表,并根据该M3U8索引列表下载节目资源的切片。
步骤103,所述客户端解析从新的子服务器中下载的节目资源切片,获取PTS时间戳信息。
根据HLS协议,从子服务器中保存的视频数据中包括:视频节目切片TS文件以及M3U8索引列表,每次下载M3U8索引列表仅包含三个视频节目切片的索引号,客户端根据索引号再向子服务器下载对应的视频节目切片。在视频节目切片中包含视频节目的内容数据以及该节目内容的PTS时间戳信息。客户端通过解析视频节目的切片可以获取到PTS时间戳信息。
此时,所述客户端并不直接播放下载的节目资源切片,而是执行步骤104。
步骤104,所述客户端将新获取的所述PTS时间戳信息与本地原先已下载的节目资源切片中的PTS时间戳信息进行比较。
具体地,所述客户端解析新获取的切片中的PTS时间戳信息,此外对本地从原先的子服务器中下载的切片信息也解析获得PTS时间戳信息,将二者进行比较。
步骤105,客户端根据比较结果确定是否播放当前新下载的节目资源切片。
本步骤中的比较结果会有多种情况,根据不同的情况可采取不同的处理方式,作为一个实施例:如果所述新获取的PTS时间戳信息早于或等于所述本地切片中的PTS时间戳信息,则判定该新下载的切片已经在本地存在,选择下一个新下载的切片中的PTS时间戳继续执行与本地切片中的PTS时间戳比较的步骤;
可选的,如果所述新获取的PTS时间戳信息晚于所述本地切片中的PTS时间戳信息,则播放当前新下载的节目资源切片。
此外,为了防止丢帧或跳帧的情况发生,还可以在判定出所述新获取的PTS时间戳信息晚于所述本地切片中的PTS时间戳信息后,进一步包括:判断所述新获取的PTS时间戳信息比所述本地切片中的PTS时间戳信息相差的时间间隔是否超出预设的时间阈值,如果是,则暂不播放当前新下载的节目资源切片,可以先存储在本地;否则播放该PTS时间戳信息所对应的切片。
如果超出了预设的时间阈值,还可以进一步包括:客户端向所述新分配的子服务器请求下载M3U8序列号更小的M3U8索引列表和节目资源的切片,并重复所述客户端将新获取的所述PTS时间戳信息与从原先子服务器下载的本地切片中的PTS时间戳信息进行比较的步骤,直至新获取的PTS时间戳信息比所述本地切片中的PTS时间戳信息相差的时间间隔未超出预设的时间阈值,播放该PTS时间戳信息所对应的切片。
作为一个较佳的实施方式,为了提高上面各实施例中时间戳比较的效率,考虑到切片的M3U8索引号一般是按照从小到大的顺序依次编排的,因此上面各实施例中的时间戳比较过程可采取如下步骤:所述客户端从新获取切片中选择M3U8索引号最小的切片的PTS时间戳信息与本地M3U8索引号最大的切片的PTS时间戳信息进行比较;如果所述新获取的PTS时间戳信息早于或等于所述本地切片中的PTS时间戳信息,则按照M3U8索引号由小到大的顺序依次选择下一个新下载的切片中的PTS时间戳继续执行与本地切片中的PTS时间戳比较的步骤。
作为一个可参考的实施例,参阅图2所示,所述基于HLS协议的直播方法具体可采用如下步骤:
步骤201,在客户端基于HLS协议直播过程中,所述客户端从子服务器B下载M3U8索引列表,并根据M3U8索引列表下载节目资源的切片进行播放。
当由于网络错误、带宽不足以及速度下降等原因使得不能够从当前下载的子服务器正常下载的所述节目资源切片播放所述的节目时,例如:客户端更新M3U8索引列表时超过了预先设定的更新时间阈值(比如10s),或者客户端下载切片超过预设的下载时间阈值(比如超过20s),则客户端判断发生了网络错误,向主服务器报告。则主服务器用重定向技术根据该客户端所处位置为其分配一个离该客户端较近的新子服务器H。
步骤202,主服务器为所述客户端重新分配新子服务器H后,该客户端从子服务器H下载M3U8索引列表,并根据该M3U8索引列表下载节目资源的切片。
步骤203,所述客户端根据M3U8索引列表从子服务器H中下载的节目资源切片中选择M3U8索引号最小的切片(也就是第一个切片)进行解析,获取该切片的PTS时间戳信息。
例如:从子服务器H中下载的三个切片为22.ts、23.ts、24.ts,解析M3U8索引号最小的(即第一个)切片22.ts,分离出视频和音频的ES流,获得各自的PTS时间戳信息,例如89.66s。
步骤204,所述客户端将所述PTS时间戳信息与本地中(即从子服务器B中下载的)M3U8索引号最大的切片中解析的PTS时间戳信息进行比较,如果早于或者等于该本地切片中的PTS时间戳,则执行步骤205;否则,执行步骤206。
例如:从原来的子服务器B中选择M3U8索引号最大的(即最后下载的)本地切片为101.ts;解析该切片101.ts,分离出视频和音频的ES流,获得各自的PTS时间戳信息,例如110.33s;比较切片22.ts的PTS时间戳89.66s和切片101.ts的PTS时间戳110.33s,发现切片22.ts的PTS时间戳早于切片101.ts的PTS时间戳110.33s,说明当前下载的切片在本地已播放过,执行步骤205;如果新下载切片的时间戳晚于本地时间戳则说明该切片还未在本地播放过,执行步骤206。
步骤205,根据M3U8索引号从小到大的顺序选择下一个新下载的切片解析出PTS时间戳信息,返回步骤204。
例如:对从子服务器H新下载的第二个切片23.ts进行解析,返回步骤204,用该第二个切片的时间戳信息与本地切片的时间戳信息进行比较。
通过本步骤,可避免视频节目的切片被重复播放而引起的回跳现象。
步骤206,判断所述PTS时间戳信息比所述本地切片中的PTS时间戳信息相差的时间间隔是否超出预设的时间阈值,如果是,则暂不播放当前新下载的节目资源切片,执行步骤207;否则播放该PTS时间戳信息所对应的切片。
其中,所述时间阈值的长度可以根据每个切片平均播放时间长度来设定,比如每个切片的平均播放时间为8s,则所述时间阈值可以设定为8s。
例如:假设解析出当前新下载切片22.ts的PTS时间戳信息为126.33s,而预先设定的时间阈值为8s,则切片22.ts的PTS时间戳信息为126.33s比本地切片101.ts的PTS时间戳信息110.33s超出了16s,则显然已超过阈值,则执行步骤207。
步骤207,客户端向所述新分配的子服务器请求下载M3U8序列号更小的M3U8索引列表和节目资源的切片,并返回步骤204,直至新获取的PTS时间戳信息比所述本地切片中的PTS时间戳信息相差的时间间隔未超出预设的时间阈值,播放该PTS时间戳信息所对应的切片。
例如:客户端从子服务器下载M3U8序列号更小的M3U8索引表,比如索引号分别为19.ts、20.ts、21.ts,并据此下载所对应的节目资源切片19.ts、20.ts、21.ts。解析第一个切片19.ts的PTS时间戳信息为102.33s,通过与本地切片101.ts的PTS时间戳信息110.33s的比较,发现早于本地切片,则执行步骤205;继续解析出下一个切片20.ts的PTS时间戳信息为110.33s,通过比较发现,当前切片时间戳信息与本地切片的相等,则继续返回执行步骤205;继续解析第三个切片21.ts的PTS时间戳信息为118.33,恰好与本地切片101.ts的PTS时间戳信息110.33s相差8s,未超出预设的8s时间阈值,因此播放该第三切片节目。
根据上面的实施例可以看出,本发明所述的基于HLS协议的直播方法能够有效地避免,用户在观看直播视频时回跳、丢帧的现象,进而可以很流畅的进行直播。
参阅图3所示,所述基于HLS协议的直播方法的实施例还可以是包括如下步骤:
步骤301,客户端基于HLS协议获得节目视频主服务器的地址Master URL。
步骤302,客户端根据该主服务器的地址Master URL,向主服务器发送获取节目视频的请求。
其中,所述获取节目视频的请求中可以包括该客户端的IP地址、节目视频名称等信息。
步骤303,主服务器根据该客户端的IP地址分配一个子服务器,例如子服务器B,并将该子服务器的地址Sub url B发送给所述的客户端。
较佳地,主服务器根据该客户端的IP地址分配一个距离该客户端最近的子服务器。
步骤304,该客户端根据接收的子服务器地址和HLS协议,向该子服务器B发送节目资源请求。
步骤305,子服务器B根据接收的该请求查找到所述节目资源的M3U8索引列表返回给客户端。
步骤306,客户端根据接收的M3U8索引列表逐个从子服务器B下载所述节目资源的切片。
步骤307,直播节目的数据下载正常的情况下,客户端定时返回步骤304,继续从当前的子服务器B获取直播节目的M3U8索引列表以及切片。
步骤308,如果由于网络错误、带宽不足以及速度下降等原因使得客户端不能够正常从当前子服务器B下载直播节目,则客户端根据所述主服务器的地址,向主服务器发送获取节目视频的请求。
步骤309,主服务器根据该客户端的IP地址通过重定向技术分配另外一个较近子服务器H,并将该子服务器的地址发送给客户端,返回步骤304。
根据HLS协议规定,M3U8索引列表在直播情况下仅仅包含3个最近的切片,因此客户端只能定时访问主服务器,获取主服务器分配的子服务器地址,再从该子服务器下载新的M3U8索引列表以及直播节目的切片。而在本实施例中,客户端无需每次都要访问主服务器,而是直接从之前访问的子服务器中下载新的M3U8索引列表以及直播节目的切片,只有在与当前连接的子服务器之间的通信发生故障时,才向主服务器请求分配新的子服务器。通过这一手段,使原有的交互过程大为简化,尤其对于直播节目而言,使用户的体验度得到进一步提升,进一步提高了直播节目过程中的流畅度。
在本发明的另一方面,还提供了一种基于HLS协议的直播系统,作为一个实施例该系统包括:客户端、主服务和子服务器;
子服务器,用于提供直播节目的M3U8索引列表以及节目资源的切片;
主服务器,用于为所述客户端重新分配子服务器后;
客户端,用于从该新分配的子服务器下载M3U8索引列表和节目资源的切片;解析从新的子服务器中下载的节目资源切片,获取PTS时间戳信息;并将新获取的所述PTS时间戳信息与从原先子服务器下载的本地切片中的PTS时间戳信息进行比较,根据比较结果确定是否播放当前新下载的节目资源切片。
较佳地,客户端用于判定该新下载的切片已经在本地存在,选择下一个新下载的切片中的PTS时间戳继续执行与本地切片中的PTS时间戳比较的步骤。如果所述新获取的PTS时间戳信息晚于所述本地切片中的PTS时间戳信息,则播放当前新下载的节目资源切片。
优选地,判断新获取的PTS时间戳信息比所述本地切片中的PTS时间戳信息相差的时间间隔是否超出预设的时间阈值,如果是,则暂不播放当前新下载的节目资源切片,可以先存储在本地;否则播放该PTS时间戳信息所对应的切片。
如果超出了预设的时间阈值,还可以进一步包括:客户端向所述新分配的子服务器请求下载M3U8序列号更小的M3U8索引列表和节目资源的切片,并重复所述客户端将新获取的所述PTS时间戳信息与从原先子服务器下载的本地切片中的PTS时间戳信息进行比较的步骤,直至新获取的PTS时间戳信息比所述本地切片中的PTS时间戳信息相差的时间间隔未超出预设的时间阈值,播放该PTS时间戳信息所对应的切片。
作为实施例,所述获取节目视频的请求中可以包括该客户端的IP地址、节目视频名称等等。较佳地,主服务器根据客户端的IP地址,将所述的请求通过重定向技术分配一个子服务器。优选地,可以通过主服务器根据该客户端的IP地址,分配一个距离该客户端最近的子服务器,并将该子服务器的地址发送给所述的客户端。
作为另一实施例,客户端根据接收的子服务器地址和HLS协议,向该子服务器发送节目资源请求。之后,子服务器根据接收的该请求查找到所述节目资源的切片列表,发送更新后的HLS协议中M3U8索引列表给该客户端进行下载。最后,客户端判断是否能正常的播放所述的节目资源,若能正常播放则向子服务器循环发送请求并更新下载M3U8索引列表,直至完成整个所述视频节目的下载。若不能正常播放,则通过主服务器重新获得另一个子服务器。较佳地,客户端向该子服务器发送节目资源请求之后,客户端可以判断向该子服务器发送节目资源请求是否成功,若成功则子服务器根据接收的该请求查找到所述节目资源的切片列表;若不成功则客户端通过主服务器重新获得另一个子服务器。
作为本发明的另一个实施例,本发明还设计了一种基于HLS协议的直播客户端,其具体的结构为包括依次连接的地址获取单元401、视频请求单元402、切片下载单元403以及播放判断单元404。
其中,所述的地址获取单元401能够获得节目视频主服务器的地址,并且根据该主服务器的地址,向主服务器发送获取节目视频的请求。所述的视频请求单元402可以根据主服务器分配的子服务器的地址和HLS协议,向该子服务器发送节目资源请求。较佳地,视频请求单元402可以用于客户端判断向该子服务器发送节目资源请求是否成功,若成功则视频请求单元402与切片下载单元403连接;若不成功则视频请求单元402与地址获取单元连接403,即重新通过主服务器获得不同子服务器的地址进行节目视频的获取。
所述的切片下载单元403可以接收并下载子服务器更新后的HLS协议中M3U8索引列表。之后,播放判断单元404判断下载的M3U8索引列表中切片视频是否能够正常播放,若能则播放判断单元404与视频请求单元402连接,即循环更新HLS协议中的M3U8索引列表直至完成整个所述视频节目的下载。若不能正常播放则播放判断单元404与地址获取单元401连接,即重新通过主服务器获得不同子服务器的地址进行节目视频的获取。
还有,当切片下载单元403是根据新分配的子服务器发送的M3U8索引列表进行解析、下载节目资源的切片时,所述的播放判断单元404需要获取M3U8索引列表中切片的PTS时间戳信息,将新获取的所述PTS时间戳信息与本地原先已下载的节目资源切片中的PTS时间戳信息进行比较,并根据比较结果确定是否播放当前新下载的节目资源切片。
综上所述,本发明提供的基于HLS协议的直播方法、系统及直播客户端,创造性地解决了丢失跳段和重复的情况,同时节省了网络交互的时间消耗;使得直播节目更加稳定流畅,提高直播体验效果;最后,整个所述的基于HLS协议的直播方法、系统及直播客户端简便、紧凑,易于实现。
所属领域的普通技术人员应当理解:以上所述仅为本发明的具体实施例而已,并不用于限制本发明,凡在本发明的精神和原则之内,所做的任何修改、等同替换、改进等,均应包含在本发明的保护范围之内。

Claims (18)

1.一种基于HLS协议的直播方法,用于客户端,其特征在于,包括步骤:
在基于HLS协议直播过程中从子服务器下载M3U8索引列表,并根据M3U8索引列表下载节目资源的切片进行播放;其中,当主服务器重新分配另一个子服务器后,从该新分配的子服务器下载M3U8索引列表和节目资源的切片;
解析从新的子服务器中下载的节目资源切片,获取下载的切片中的PTS时间戳信息;
将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较,根据比较结果确定播放或不播放当前新下载的节目资源切片。
2.根据权利要求1所述的方法,其特征在于,所述根据比较结果确定播放或不播放当前新下载的节目资源切片过程包括:如果所述从新的子服务器下载的切片中的PTS时间戳信息早于或等于所述从原先子服务器下载的切片中的PTS时间戳信息,则判定该新下载的切片已经在本地存在,选择下一个新下载的切片中的PTS时间戳继续执行与从原先子服务器下载的切片中的PTS时间戳比较的步骤;和/或所述根据比较结果确定播放或不播放当前下载的节目资源切片过程包括:如果所述从新的子服务器下载的切片中的PTS时间戳信息晚于从原先子服务器下载的切片中的PTS时间戳信息,则播放当前新下载的节目资源切片。
3.根据权利要求2所述的方法,其特征在于,将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较的过程包括:从新获取切片中选择M3U8索引号最小的切片的PTS时间戳信息与从原先子服务器下载的M3U8索引号最大的切片的PTS时间戳信息进行比较;如果所述从新的子服务器下载的切片中的PTS时间戳信息早于或等于所述从原先子服务器下载的切片中的PTS时间戳信息,则按照M3U8索引号由小到大的顺序依次选择下一个新下载的切片中的PTS时间戳继续执行与从原先子服务器下载的切片中的PTS时间戳比较的步骤。
4.根据权利要求2或3所述的方法,其特征在于,在确定从新的子服务器下载的切片中的PTS时间戳信息晚于所述从原先子服务器下载的切片中的PTS时间戳信息后,还包括:判断所述从新的子服务器下载的切片中的PTS时间戳信息比从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔是否超出预设的时间阈值,如果是,则暂不播放当前新下载的节目资源切片,否则播放该PTS时间戳信息所对应的切片。
5.根据权利要求4所述的方法,其特征在于,所述如果判定出从新的子服务器下载的切片中的PTS时间戳信息比所述从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔超出预设的时间阈值后,还包括:
向所述新分配的子服务器请求下载M3U8序列号更小的M3U8索引列表和节目资源的切片,并重复将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较的步骤,直至从新的子服务器下载的切片中的PTS时间戳信息比所述从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔未超出预设的时间阈值,播放该PTS时间戳信息所对应的切片。
6.根据权利要求1所述的方法,其特征在于,每次从子服务器下载节目资源的切片后,如果下载过程正常,则下一次直接向当前子服务器下载M3U8索引列表以及节目资源的切片;否则,向主服务器请求重新分配另一个子服务器。
7.一种基于HLS协议的直播系统,其特征在于,包括:
子服务器,用于提供直播节目的M3U8索引列表以及节目资源的切片;
主服务器,用于为客户端重新分配子服务器;
客户端,用于从该新分配的子服务器下载M3U8索引列表和节目资源的切片;解析从新的子服务器中下载的节目资源切片,获取PTS时间戳信息;并将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较,根据比较结果确定播放或不播放当前新下载的节目资源切片。
8.根据权利要求7所述的系统,其特征在于,所述客户端,还用于在确定所述从新的子服务器下载的切片中的PTS时间戳信息早于或等于所述从原先子服务器下载的切片中的PTS时间戳信息后,判定该新下载的切片已经在本地存在,选择下一个新下载的切片中的PTS时间戳继续执行与本地切片中的PTS时间戳比较的步骤;
和/或所述客户端,还用于在确定所述从新的子服务器下载的切片中的PTS时间戳信息晚于所述从原先子服务器下载的切片中的PTS时间戳信息后,播放当前新下载的节目资源切片。
9.根据权利要求8所述的系统,其特征在于,所述客户端还用于从新的子服务器下载的切片中选择M3U8索引号最小的切片的PTS时间戳信息与从原先子服务器下载的M3U8索引号最大的切片的PTS时间戳信息进行比较;如果所述从新的子服务器下载的切片中的PTS时间戳信息早于或等于所述从原先子服务器下载的切片中的PTS时间戳信息,则按照M3U8索引号由小到大的顺序依次选择下一个新下载的切片中的PTS时间戳继续执行与从原先子服务器下载的切片中的PTS时间戳比较的过程。
10.根据权利要求8或9所述的系统,其特征在于,所述客户端,在确定所述从新的子服务器下载的切片中的PTS时间戳信息晚于所述从原先子服务器下载的切片中的PTS时间戳信息后,还用于判断所述从新的子服务器下载的切片中的PTS时间戳信息比所述从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔是否超出预设的时间阈值,如果是,则暂不播放当前新下载的节目资源切片,否则播放该PTS时间戳信息所对应的切片。
11.根据权利要求10所述的系统,其特征在于,所述客户端,还用于向所述新分配的子服务器请求下载M3U8序列号更小的M3U8索引列表和节目资源的切片,并重复所述客户端将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较的步骤,直至新获取的PTS时间戳信息比所述从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔未超出预设的时间阈值,播放该PTS时间戳信息所对应的切片。
12.根据权利要求7所述的系统,其特征在于,所述客户端每次从子服务器下载节目资源的切片后,如果下载过程正常,则下一次直接向当前子服务器下载M3U8索引列表以及节目资源的切片;否则,向主服务器请求重新分配另一个子服务器。
13.一种基于HLS协议的客户端,其特征在于,包括依次连接的地址获取单元、视频请求单元、切片下载单元以及播放判断单元;
地址获取单元,用于能够获得节目视频主服务器的地址,并且根据该主服务器的地址,向主服务器发送获取节目视频的请求;
视频请求单元,用于根据主服务器分配的子服务器的地址和HLS协议,向该子服务器发送节目资源请求;
切片下载单元,用于从子服务器下载M3U8索引列表;其中,当主服务器为所述客户端重新分配另一个子服务器后,切片下载单元从新分配的子服务器下载M3U8索引列表和节目资源的切片;解析下载的节目资源切片,获取PTS时间戳信息;
播放判断单元,用于根据M3U8索引列表下载节目资源的切片进行播放;其中,当节目资源切片是从重新分配的另一个子服务器下载时,播放判断单元将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较,根据比较结果确定播放或不播放当前新下载的节目资源切片。
14.根据权利要求13所述的客户端,其特征在于,所述的播放判断单元根据比较结果确定播放或不播放当前新下载的节目资源切片过程包括:如果所述从新的子服务器下载的切片中的PTS时间戳信息早于或等于所述从原先子服务器下载的切片中的PTS时间戳信息,则判定该新下载的切片已经在本地存在,选择下一个新下载的切片中的PTS时间戳继续执行与从原先子服务器下载的切片中的PTS时间戳比较的步骤;和/或所述根据比较结果确定播放或不播放当前下载的节目资源切片过程包括:如果所述从新的子服务器下载的切片中的PTS时间戳信息晚于所述从原先子服务器下载的切片中的PTS时间戳信息,则播放当前新下载的节目资源切片。
15.根据权利要求14所述的客户端,其特征在于,所述的播放判断单元将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较的过程包括:所述客户端从新的子服务器下载的切片中选择M3U8索引号最小的切片的PTS时间戳信息与从原先子服务器下载的M3U8索引号最大的切片的PTS时间戳信息进行比较;如果所述从新的子服务器下载的的切片中的PTS时间戳信息早于或等于所述从原先子服务器下载的切片中的PTS时间戳信息,则按照M3U8索引号由小到大的顺序依次选择下一个新下载的切片中的PTS时间戳继续执行与本地切片中的PTS时间戳比较的步骤。
16.根据权利要求14或15所述的客户端,其特征在于,所述的播放判断单元在确定从新的子服务器下载的切片中的PTS时间戳信息晚于所述从原先子服务器下载的切片中的PTS时间戳信息后,还包括:判断所述从新的子服务器下载的切片中的PTS时间戳信息比所述从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔是否超出预设的时间阈值,如果是,则暂不播放当前新下载的节目资源切片,否则播放该PTS时间戳信息所对应的切片。
17.根据权利要求16所述的客户端,其特征在于,所述播放判断单元如果判定出从新的子服务器下载的切片中的PTS时间戳信息比所述从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔超出预设的时间阈值后,还包括:
客户端向所述新分配的子服务器请求下载M3U8序列号更小的M3U8索引列表和节目资源的切片,并重复所述客户端将从新的子服务器下载的切片中的PTS时间戳信息与从原先子服务器下载的切片中的PTS时间戳信息进行比较的步骤,直至从新的子服务器下载的切片中的PTS时间戳信息比所述从原先子服务器下载的切片中的PTS时间戳信息相差的时间间隔未超出预设的时间阈值,播放该PTS时间戳信息所对应的切片。
18.根据权利要求13所述的客户端,其特征在于,所述播放判断单元每次从子服务器下载节目资源的切片后,如果下载过程正常,则下一次直接向当前子服务器下载M3U8索引列表以及节目资源的切片;否则,向主服务器请求重新分配另一个子服务器。
CN201510718074.3A 2015-10-29 2015-10-29 基于hls协议的直播方法、系统及客户端 Expired - Fee Related CN105657578B (zh)

Priority Applications (3)

Application Number Priority Date Filing Date Title
CN201510718074.3A CN105657578B (zh) 2015-10-29 2015-10-29 基于hls协议的直播方法、系统及客户端
US15/120,244 US20180227648A1 (en) 2015-10-29 2016-06-07 Method for live broadcast based on hls protocol and electronic device
PCT/CN2016/085110 WO2017071228A1 (zh) 2015-10-29 2016-06-07 基于hls协议的直播方法、系统及客户端

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510718074.3A CN105657578B (zh) 2015-10-29 2015-10-29 基于hls协议的直播方法、系统及客户端

Publications (2)

Publication Number Publication Date
CN105657578A CN105657578A (zh) 2016-06-08
CN105657578B true CN105657578B (zh) 2018-06-29

Family

ID=56481812

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510718074.3A Expired - Fee Related CN105657578B (zh) 2015-10-29 2015-10-29 基于hls协议的直播方法、系统及客户端

Country Status (3)

Country Link
US (1) US20180227648A1 (zh)
CN (1) CN105657578B (zh)
WO (1) WO2017071228A1 (zh)

Families Citing this family (26)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US10149193B2 (en) 2016-06-15 2018-12-04 At&T Intellectual Property I, L.P. Method and apparatus for dynamically managing network resources
US10505870B2 (en) 2016-11-07 2019-12-10 At&T Intellectual Property I, L.P. Method and apparatus for a responsive software defined network
US10785116B1 (en) * 2017-01-12 2020-09-22 Electronic Arts Inc. Computer architecture for asset management and delivery
CN106998478B (zh) * 2017-03-15 2020-12-11 海信视像科技股份有限公司 一种用于智能电视当前播放列表的偏移校正方法和装置
CN106993236B (zh) * 2017-04-01 2019-07-23 青岛海信电器股份有限公司 一种视频播放方法及终端
US10819606B2 (en) 2017-04-27 2020-10-27 At&T Intellectual Property I, L.P. Method and apparatus for selecting processing paths in a converged network
US10749796B2 (en) 2017-04-27 2020-08-18 At&T Intellectual Property I, L.P. Method and apparatus for selecting processing paths in a software defined network
US10673751B2 (en) 2017-04-27 2020-06-02 At&T Intellectual Property I, L.P. Method and apparatus for enhancing services in a software defined network
US10257668B2 (en) 2017-05-09 2019-04-09 At&T Intellectual Property I, L.P. Dynamic network slice-switching and handover system and method
US10382903B2 (en) 2017-05-09 2019-08-13 At&T Intellectual Property I, L.P. Multi-slicing orchestration system and method for service and/or content delivery
US10070344B1 (en) 2017-07-25 2018-09-04 At&T Intellectual Property I, L.P. Method and system for managing utilization of slices in a virtual network function environment
US10104548B1 (en) 2017-12-18 2018-10-16 At&T Intellectual Property I, L.P. Method and apparatus for dynamic instantiation of virtual service slices for autonomous machines
CN110120930A (zh) * 2018-02-06 2019-08-13 阿里巴巴集团控股有限公司 获取传输文件的方法、系统及多媒体设备
CN108259805B (zh) * 2018-03-30 2020-11-10 深圳市华宝电子科技有限公司 多路视频解码的方法、播放的方法、装置、行车记录仪
CN111338917B (zh) * 2018-12-19 2023-03-28 贵州白山云科技股份有限公司 一种确定服务器服务能力的动态控制方法及装置
CN109729387B (zh) * 2019-01-07 2021-05-14 烽火通信科技股份有限公司 基于hls协议的网络直播在故障恢复后的播放方法及系统
CN112911315A (zh) * 2019-11-19 2021-06-04 中兴通讯股份有限公司 一种流媒体直播录制方法、网络设备及存储介质
CN111327920A (zh) * 2020-03-24 2020-06-23 上海万面智能科技有限公司 基于直播的信息交互方法、装置、电子设备及可读存储介质
CN111866603B (zh) * 2020-07-21 2022-04-26 广州市保伦电子有限公司 一种基于srs的视频文件生产方法、后台服务器和系统
CN112104885B (zh) * 2020-09-09 2022-06-24 海看网络科技(山东)股份有限公司 一种直播中加快m3u8起始播放速度的系统及方法
RU2759595C1 (ru) * 2020-09-28 2021-11-15 Общество С Ограниченной Ответственностью "Джи-Кор Рус" Система отказоустойчивого транскодирования и выдачи прямых потоков в формате hls
CN112312162B (zh) * 2020-10-16 2022-11-08 安擎(天津)计算机有限公司 一种传输视频流的视频服务器
CN114630143B (zh) * 2020-12-10 2024-03-22 浙江宇视科技有限公司 视频流存储方法、装置、电子设备和存储介质
CN112752111B (zh) * 2020-12-24 2023-05-16 广州博冠信息科技有限公司 直播流处理方法及装置、计算机可读存储介质、电子设备
CN114157643B (zh) * 2021-12-20 2023-01-13 海看网络科技(山东)股份有限公司 基于转码器hls协议固定码率参数的方法
CN114666319B (zh) * 2022-03-02 2024-03-22 北京百度网讯科技有限公司 数据下载方法、装置、电子设备和可读存储介质

Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102487458A (zh) * 2010-12-02 2012-06-06 中兴通讯股份有限公司 Ts文件的播放处理方法及装置
CN104410902A (zh) * 2014-12-04 2015-03-11 华为技术有限公司 一种直播节目的播放方法及终端、索引文件的生成方法及设备

Family Cites Families (7)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US20070022123A1 (en) * 2005-07-20 2007-01-25 Marndi Raj N Methods and devices for use in transferring an electronic file
CN102291599A (zh) * 2011-05-07 2011-12-21 董友球 网络视频播放方法及网络视频播放装置
US9813740B2 (en) * 2012-08-24 2017-11-07 Google Inc. Method and apparatus for streaming multimedia data with access point positioning information
US9257148B2 (en) * 2013-03-15 2016-02-09 JBF Interlude 2009 LTD System and method for synchronization of selectably presentable media streams
CN103648019A (zh) * 2013-11-29 2014-03-19 乐视致新电子科技(天津)有限公司 一种基于hls协议的视频下载方法及其装置
CN103648011B (zh) * 2013-11-29 2017-03-15 乐视致新电子科技(天津)有限公司 一种基于hls协议的音视频同步装置和方法
CN104363472A (zh) * 2014-10-20 2015-02-18 中兴通讯股份有限公司 基于hls的能力控制方法及服务系统和slb服务器

Patent Citations (2)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN102487458A (zh) * 2010-12-02 2012-06-06 中兴通讯股份有限公司 Ts文件的播放处理方法及装置
CN104410902A (zh) * 2014-12-04 2015-03-11 华为技术有限公司 一种直播节目的播放方法及终端、索引文件的生成方法及设备

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
HTTP Live Streaming draft-pantos-http-live-streaming-17;R. Pantos, Ed.等;《Internet-Draft》;20151016;第四节 *

Also Published As

Publication number Publication date
US20180227648A1 (en) 2018-08-09
CN105657578A (zh) 2016-06-08
WO2017071228A1 (zh) 2017-05-04

Similar Documents

Publication Publication Date Title
CN105657578B (zh) 基于hls协议的直播方法、系统及客户端
US9712408B2 (en) Bandwidth management in a content distribution network
CN105357591B (zh) 一种自适应码率视频直播的QoE监控和优化方法
US8806529B2 (en) Variability in available levels of quality of encoded content
US20140095593A1 (en) Method and apparatus for transmitting data file to client
EP2028804A1 (en) Media delivery system, apparatus and stream media playing method
US9521178B1 (en) Dynamic bandwidth thresholds
CN109756757A (zh) 直播数据处理方法及装置、直播方法及装置和直播服务器
CN105578211B (zh) 基于无限服务节点的直播加速网络卡顿优化方法及系统
DE112013002247T5 (de) Kombinierte Broadcast- und Unicast-Übermittlung
CN103813185B (zh) 一种分段节目快速分发的方法、服务器及客户端
US20080281803A1 (en) Method of Transmitting Content With Adaptation of Encoding Characteristics
CN106961630B (zh) 一种基于dash优化的p2p流媒体视频播放方法
CN107864402A (zh) 直播视频播放方法及装置
CN108668146A (zh) 一种调整流媒体码率的方法及设备
CN112311874B (zh) 媒体数据处理方法、装置、存储介质及电子设备
US20170272498A1 (en) Streaming media file distribution method and system
US20160381127A1 (en) Systems and methods for dynamic networked peer-to-peer content distribution
CN108063769A (zh) 一种内容服务的实现方法、装置及内容分发网络节点
US8327406B2 (en) Method and server for downloading a broadcasted multimedia content over a distribution network
CN107040615B (zh) 媒体分片的下载方法、终端和计算机可读存储介质
CN113727199A (zh) 一种hls切片快速起播方法
CN111131843A (zh) 一种网络直播系统和方法
CN104683833B (zh) 自适应媒体服务的方法及装置
CN108574883A (zh) 实现多个cdn并行下载视频切片的方法

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
GR01 Patent grant
GR01 Patent grant
CF01 Termination of patent right due to non-payment of annual fee
CF01 Termination of patent right due to non-payment of annual fee

Granted publication date: 20180629

Termination date: 20181029