CN114124941B - m3u8格式文件下载方法、播放方法及m3u8格式文件下载系统 - Google Patents
m3u8格式文件下载方法、播放方法及m3u8格式文件下载系统 Download PDFInfo
- Publication number
- CN114124941B CN114124941B CN202111468054.7A CN202111468054A CN114124941B CN 114124941 B CN114124941 B CN 114124941B CN 202111468054 A CN202111468054 A CN 202111468054A CN 114124941 B CN114124941 B CN 114124941B
- Authority
- CN
- China
- Prior art keywords
- download
- downloading
- file
- slice
- server
- 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
Links
Images
Classifications
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L67/00—Network arrangements or protocols for supporting network services or applications
- H04L67/01—Protocols
- H04L67/06—Protocols specially adapted for file transfer, e.g. file transfer protocol [FTP]
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/83—Generation or processing of protective or descriptive data associated with content; Content structuring
- H04N21/845—Structuring of content, e.g. decomposing content into time segments
- H04N21/8456—Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N21/00—Selective content distribution, e.g. interactive television or video on demand [VOD]
- H04N21/80—Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
- H04N21/85—Assembly of content; Generation of multimedia applications
- H04N21/854—Content authoring
- H04N21/85406—Content authoring involving a specific file format, e.g. MP4 format
Abstract
本发明实施例提供一种m3u8格式文件下载方法、播放方法及m3u8格式文件下载系统,属于互联网技术领域。所述方法包括:获取m3u8格式文件的下载任务,所述m3u8格式文件包含一个头文件和多个切片文件;根据所述下载任务下载所述m3u8格式文件的头文件;对所述头文件进行解析,获取所述下载任务的文件信息;基于所述文件信息确定用于执行并行下载的下载服务器以及对应的并行下载方案;根据所述并行下载方案进行所述m3u8格式文件拆分,并将拆分后的m3u8格式文件分配给各下载服务器进行并行下载;确定各下载服务器均完成下载,对下载内容进行拼接以用于所述m3u8格式文件播放。本发明方案提高了m3u8格式文件下载的效率,同时减小了服务器的压力。
Description
技术领域
本发明涉及互联网技术领域,具体地涉及一种m3u8格式文件下载方法、一种m3u8格式文件播放方法及一种m3u8格式文件下载系统。
背景技术
传统的MPEG2格式和MP4格式文件主要应用于存储的具有固定时长的节目,而随着直播行业兴起,无论是电视直播还是网络直播,这些格式文件均无法满足需求,因为若MPEG2格式和MP4格式文件中的某部分损坏,整个文件都无法解码了。m3u8基本实现原理为将一个大的媒体文件进行分片,将该分片文件资源路径记录于m3u8文件内,其中附带一些额外描述用于提供给客户端,客户端依据该m3u8文件即可获取对应的媒体资源,进行播放。正是基于该特性,m3u8可以从不同服务器下载不同的片段,可以更好的服务用户,且可以在缺少部分文件的情况下播放。所以m3u8在移动端的应用有着很大的价值。且因为是流媒体,播放的是一个个切片,所以比较适合直播。其在金融业和移动端中应用十分广泛。
但是,现在大多数对流媒体m3u8格式的使用停留在播放但不支持下载,缺少一套完整的m3u8格式的流媒体的播放下载,本地播放的方案。市面上支持m3u8的app多为在线播放,等需要下载时会采取后端转码下载mp4的方式,这样浪费后端资源,并且下载的时候只能从一个地址下载,对服务器的压力增加。针对目前m3u8格式文件下载存在的诸多问题,需要创造一种新的m3u8格式文件下载方法。
发明内容
本发明实施方式的目的是提供一种m3u8格式文件下载方法、播放方法及系统,以至少解决现有m3u8格式文件下载方法存在系统资源占有大和对服务器的压力很大的问题。
为了实现上述目的,本发明第一方面提供一种m3u8格式文件下载方法,所述方法包括:获取m3u8格式文件的下载任务,所述m3u8格式文件包含一个头文件和多个切片文件;根据所述下载任务下载所述m3u8格式文件的头文件;对所述头文件进行解析,获取所述下载任务的文件信息;基于所述文件信息确定用于执行并行下载的下载服务器以及对应的并行下载方案;根据所述并行下载方案进行所述m3u8格式文件拆分,并将拆分后的m3u8格式文件分配给各下载服务器进行并行下载;确定各下载服务器均完成下载,对下载内容进行拼接以用于所述m3u8格式文件播放。
在本申请实施例中,所述下载任务的文件信息,包括:所述m3u8格式文件的ts切片数量、各ts切片的序号和各ts切片的地址信息。
在本申请实施例中,所述基于所述文件信息确定用于执行并行下载的下载服务器,包括:根据所述m3u8格式文件的任一ts切片的地址信息发起模拟下载请求至允许建立通讯连接的多个服务器,并回收来自各服务器的反馈信息;基于所述反馈信息确定各服务器的文件传输速度;根据预设的下载服务器数量,将文件传输速度最大的前预设数量个服务器作为下载服务器。
在本申请实施例中,所述下载服务器包括:多个直接下载服务器和至少一个备用下载服务器;所述基于所述文件信息确定用于执行并行下载的下载服务器,还包括:根据预设的直接下载服务器数量,将文件传输速度最大的前预设数量个服务器作为直接下载服务器;根据预设的备用下载服务器数量,将剩余服务器中文件传输速度最大的前预设数量个服务器作为备用下载服务器。
在本申请实施例中,基于所述文件信息确定对应的并行下载方案,包括:根据直接下载服务器的数量设置对应数量个下载切片集,将所述m3u8格式文件的所有ts切片平均分配到各下载切片集中;其中,未能平均分配的剩余切片被任意分配到某一下载切片集中;针对每一直接下载服务器生成对应下载切片集中的ts切片下载的下载方案。
在本申请实施例中,根据所述并行下载方案进行所述m3u8格式文件拆分,包括:将各直接下载服务器对应的下载切片集内的ts切片的地址信息收录在下载队列中;其中,每一下载切片集的下载队列中ts切片的下载顺序与ts切片的序号排序相同。
在本申请实施例中,所述将拆分后的m3u8格式文件分配给各下载服务器进行并行下载,包括:各直接下载服务器基于各自对应的下载队列进行文件同步下载;每一直接下载服务器在下载过程中,若某一ts切片下载错误:
将下载错误的ts切片根据预设循环结构转录到下一直接下载服务器的下载队列中,在当前下载队列中删除该下载错误的ts切片;其中,所述预设循环结构为上下直接下载服务器的对应规则;
若确定存在转录自上一下载服务器的下载错误的ts切片,优先执行该转录的下载错误的ts切片的下载;
若一下载错误的ts切片经过预设循环结构转存至初始的直接下载服务器时依旧未能被正确下载,则初始的直接下载服务器将该下载错误的ts切片转录到备用下载服务器中进行下载;若备用下载服务器尝试预设次数后依旧未能正确下载转录自直接下载服务器的下载错误的ts切片,则放弃下载该下载错误的ts切片。
在本申请实施例中,所述方法还包括:构建所述预设循环结构,包括:按照文件传输速度从大到小的顺序对各直接下载服务器进行排序;将排序最末的直接下载服务器与排序最前的直接下载服务器相邻接,构成循环结构。
在本申请实施例中,所述方法还包括:在一个拆分后的m3u8格式文件下载过程中,每放弃一个下载错误的ts切片,放弃计数一次;当放弃计数达到预设容错数量阈值时,判定该拆分后的m3u8格式文件下载失败,输出下载失败提示;其中,所述预设容错数量阈值根据该拆分后的m3u8格式文件的各ts切片的大小和用户需求调整。
在本申请实施例中,在对下载内容进行拼接后,进行所述m3u8格式文件播放之前,所述方法还包括:若确定存在预设加密需求,对拼接后的m3u8格式文件的头文件或各切片文件进行加密;响应于播放请求指令,进行加密后的文件解密,并将解密文件转存到临时文件夹中,供后续进行m3u8格式文件播放;所述临时文件夹中的解密文件在所述m3u8格式文件播放之后被清除。
本发明第二方面提供一种m3u8格式文件的播放方法,所述m3u8格式文件根据上述m3u8格式文件下载方法下载,所述方法包括:获取用户的需求码率,并基于所述需求码率进行所述m3u8格式文件播放;若在所述m3u8格式文件播放过程中接收到用户修改的需求码率,则记录当前播放时间节点,在完成码率切换后,自记录的播放时间节点进行后续文件播放。
本发明第三方面提供一种m3u8格式文件下载系统,所述系统包括:采集单元,用于获取m3u8格式文件的下载任务,所述m3u8格式文件包含一个头文件和多个切片文件;下载单元,用于根据所述下载任务下载所述m3u8格式文件的头文件;所述采集单元还用于对所述头文件进行解析,获取所述下载任务的文件信息;处理单元,用于:基于所述文件信息确定用于执行并行下载的下载服务器以及对应的并行下载方案;根据所述并行下载方案进行所述m3u8格式文件拆分,并将拆分后的m3u8格式文件分配给各下载服务器进行并行下载;确定各下载服务器均完成下载,对下载内容进行拼接以用于所述m3u8格式文件播放。
在本申请实施例中,所述下载任务的文件信息,包括:所述m3u8格式文件的ts切片数量、各ts切片的序号和各ts切片的地址信息;所述下载服务器包括:多个直接下载服务器和至少一个备用下载服务器;所述基于所述文件信息确定用于执行并行下载的下载服务器,包括:根据所述m3u8格式文件的任一ts切片的地址信息发起模拟下载请求至允许建立通讯连接的多个服务器,并回收来自各服务器的反馈信息;基于所述反馈信息确定各服务器的文件传输速度;根据预设的直接下载服务器数量,将文件传输速度最大的前预设数量个服务器作为直接下载服务器;根据预设的备用下载服务器数量,将剩余服务器中文件传输速度最大的前预设数量个服务器作为备用下载服务器。
在本申请实施例中,基于所述文件信息确定对应的并行下载方案,包括:根据直接下载服务器的数量设置对应数量个下载切片集,将所述m3u8格式文件的所有ts切片平均分配到各下载切片集中;其中,未能平均分配的剩余切片被任意分配到某一下载切片集中;针对每一直接下载服务器生成对应下载切片集中的ts切片下载的下载方案;根据所述并行下载方案进行所述m3u8格式文件拆分,包括:将各直接下载服务器对应的下载切片集内的ts切片的地址信息收录在下载队列中;其中,每一下载切片集的下载队列中ts切片的下载顺序与ts切片的序号排序相同。
在本申请实施例中,所述将拆分后的m3u8格式文件分配给各下载服务器进行并行下载,包括:各直接下载服务器基于各自对应的下载队列进行文件同步下载;每一直接下载服务器在下载过程中,若某一ts切片下载错误:
将下载错误的ts切片根据预设循环结构转录到下一直接下载服务器的下载队列中,在当前下载队列中删除该下载错误的ts切片;其中,所述预设循环结构为上下直接下载服务器的对应规则;
若确定存在转录自上一下载服务器的下载错误的ts切片,优先执行该转录的下载错误的ts切片的下载;
若一下载错误的ts切片经过预设循环结构转存至初始的直接下载服务器时依旧未能被正确下载,则初始的直接下载服务器将该下载错误的ts切片转录到备用下载服务器中进行下载;若备用下载服务器尝试预设次数后依旧未能正确下载转录自直接下载服务器的下载错误的ts切片,则放弃下载该下载错误的ts切片;每放弃一个下载错误的ts切片,放弃计数一次;当放弃计数达到预设容错数量阈值时,判定该拆分后的m3u8格式文件下载失败;所述系统还包括:报警单元,用于生成下载失败提示。
在本申请实施例中,所述系统还包括:人机交互单元,包括:显示单元,用于显示所述m3u8格式文件的播放画面;输入单元,用于根据拆分后的m3u8格式文件中的各ts切片大小和用户需求,调整所述预设容错数量阈值。
在本申请实施例中,所述处理单元还包括:
加密单元,用于确定是否存在预设加密需求,若确定存在预设加密需求,对拼接后的m3u8格式文件的头文件或各切片文件进行加密;解密单元,用于响应于播放请求指令,进行加密后的文件解密,并将解密文件转存到临时文件夹中,供后续进行m3u8格式文件播放;清除单元,用于在所述m3u8格式文件播放之后清除所述临时文件夹中的解密文件。
本发明第四方面提供一种计算机可读储存介质,该计算机可读存储介质上储存有指令,其在计算机上运行时使得计算机执行上述的m3u8格式文件下载方法或上述的m3u8格式文件播放方法。
本发明第五方面提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行上述的m3u8格式文件下载方法或上述的m3u8格式文件播放方法。
通过上述技术方案,本申请在进行m3u8格式文件下载时,基于m3u8格式文件多ts切片特性,预选多个同时下载的服务器进行并行下载,并在下载完成后进行ts切片拼接。因为采用的是ts切片直接下载方法,没有采取后端转码下载mp4的方式,节约了系统资源。且多服务器并行下载,提高了m3u8格式文件下载的效率,同时减小了服务器的压力。
本发明实施方式的其它特征和优点将在随后的具体实施方式部分予以详细说明。
附图说明
附图是用来提供对本发明实施方式的进一步理解,并且构成说明书的一部分,与下面的具体实施方式一起用于解释本发明实施方式,但并不构成对本发明实施方式的限制。在附图中:
图1是本发明一种实施方式提供的m3u8格式文件下载方法的步骤流程图;
图2是本发明一种实施方式提供的并行下载方案生成步骤流程图;
图3是本发明一种实施方式提供的ts切片下载步骤流程图;
图4是本发明一种实施方式提供的m3u8格式文件下载系统的系统结构图。
具体实施方式
以下结合附图对本发明的具体实施方式进行详细说明。应当理解的是,此处所描述的具体实施方式仅用于说明和解释本发明,并不用于限制本发明。
随着音视频播放需求多样化出现,音视频的文件格式也存在多样话,传统的MPEG2格式和MP4格式文件主要应用于存储的具有固定时长的节目,而随着直播行业兴起,无论是电视直播还是网络直播,这些格式文件均无法满足需求,因为若MPEG2格式和MP4格式文件中的某部分损坏,整个文件都无法解码了。m3u8是Unicode版本的M3U,用UTF-8编码。"M3U"和"M3U8"文件都是苹果公司使用的HTTP Live Streaming(HLS)协议格式的基础,这种协议格式可以在iPhone和Macbook等设备播放。HLS的工作原理是把整个流分成一个个小的基于HTTP的文件来下载,每次只下载一些。当媒体流正在播放时,客户端可以选择从许多不同的备用源中以不同的速率下载同样的资源,允许流媒体会话适应不同的数据速率。在开始一个流媒体会话时,客户端会下载一个包含元数据的extended M3U(m3u8)playlist文件,用于寻找可用的媒体流。HLS只请求基本的HTTP报文,与实时传输协议(RTP)不同,HLS可以穿过任何允许HTTP数据通过的防火墙或者代理服务器。它也很容易使用内容分发网络来传输媒体流。所以M3U8基本实现原理为将一个大的媒体文件进行分片,将该分片文件资源路径记录于m3u8文件内,其中附带一些额外描述用于提供给客户端,客户端依据该m3u8文件即可获取对应的媒体资源,进行播放。正是基于该特性,m3u8可以从不同服务器下载不同的片段,可以更好的服务用户,且可以在缺少部分文件的情况下播放。所以m3u8在移动端的应用有着很大的价值。且因为是流媒体,播放的是一个个切片,所以比较适合直播。其在金融业和移动端中应用十分广泛。
但是,现在大多数对流媒体m3u8格式的使用停留在播放但不支持下载,缺少一套完整的m3u8格式的流媒体的播放下载,本地播放的方案。市面上支持m3u8的app多为在线播放,等需要下载时会采取后端转码下载mp4的方式,这样浪费后端资源,并且下载的时候只能从一个地址下载,对服务器的压力增加。
本发明方案便是针对现有m3u8格式文件的下载和播放方法存在的缺陷而设计,通过多服务器并行下载的方式,极大提高m3u8格式文件的下载效率,且提供了加密解密的方法,保证了文件下载和播放的安全性能。
图4是本发明一种实施方式提供的m3u8格式文件下载系统的系统结构图。如图4所示,本发明实施方式提供一种m3u8格式文件下载系统,所述系统包括:采集单元,用于获取m3u8格式文件的下载任务,所述m3u8格式文件包含一个头文件和多个切片文件;下载单元,用于根据所述下载任务下载所述m3u8格式文件的头文件;所述采集单元还用于对所述头文件进行解析,获取所述下载任务的文件信息;处理单元,用于:基于所述文件信息确定用于执行并行下载的下载服务器以及对应的并行下载方案;根据所述并行下载方案进行所述m3u8格式文件拆分,并将拆分后的m3u8格式文件分配给各下载服务器进行并行下载;确定各下载服务器均完成下载,对下载内容进行拼接以用于所述m3u8格式文件播放。
图1是本发明一种实施方式提供的m3u8格式文件下载方法的方法流程图。如图1所示,本发明实施方式提供一种m3u8格式文件下载方法,所述方法包括:
步骤S10:获取m3u8格式文件的下载任务,所述m3u8格式文件包含一个头文件和多个切片文件。
具体的,m3u8格式文件是多个切片组成的组合文件,基于该特性可进行适用于本申请的m3u8格式文件拆分的方案,所以,进行m3u8格式文件拆分前,首先需要获取详细的m3u8格式文件的切片信息,然后基于该切片信息进行后续的拆分和并行下载。每个m3u8格式文件包含一个头文件和多个切片文件,其中,头文件记录了该m3u8格式文件的基础信息,包括对应m3u8格式文件的ts切片数量、各ts切片的序号和各ts切片的地址信息。获得该m3u8格式文件的这些基础信息后,便可以针对这些信息进行后续拆分和并行下载方案生成。
所以,首先,响应于用户的m3u8格式文件下载需求,采集单元获取m3u8格式文件的下载任务,该下载需求由用户的触发视频连接决定。
步骤S20:根据所述下载任务下载所述m3u8格式文件的头文件。
下载单元根据触发的下载需求,首先进行对应m3u8格式文件头文件下载,因为头文件体量很小,所以该步骤的执行时间很短,不会造成很大的时延。下载单元根据头文件地址通过对应服务器进行下载。
步骤S30:对所述头文件进行解析,获取所述下载任务的文件信息。
具体的,采集单元获得头文件后,对头文件进行解析,提取其中包含的下载任务的文件信息,该下载任务的文件信息即步骤S10中的m3u8格式文件的基础信息,包括对应m3u8格式文件的ts切片数量、各ts切片的序号和各ts切片的地址信息。其中,ts切片数量为具体文件切片的数量,各ts切片的序号为根据播放时序预设的ts切片序号,序号越低,播放时序上越早。各ts切片的地址信息为下载的目标地址,便于后续进行对应切片下载。
步骤S40:基于所述文件信息确定用于执行并行下载的下载服务器以及对应的并行下载方案。
具体的,获得m3u8格式文件的基础信息后,需要根据这些信息进行下载服务器选定和对应的并行下载方案生成,具体的,如图2,包括以下步骤:
步骤S401:选定下载服务器。
具体的,在现有的下载方案中,因为需要在下载时采取后端转码下载mp4的方法,导致浪费大量的后端资源,且下载的时候只能从一个地址下载,下载效率和对服务器的压力均存在很大的影响。本申请是直接对ts切片进行下载,所以不需要进行转码,且可以进行多个服务器同时下载。
首先,处理单元任选一ts切片发起模拟下载请求到各可以建立通讯连接的服务器,然后根据各服务器的反馈信息判断对应服务器的文件传输速度。文件传输速度越快,则后续下载过程的效率越高。获得所有可通讯服务器反馈文件传输速度后,进行各服务器文件传输速度对比,根据文件传输速度从大到小的顺序对各服务器进行排序。然后根据预设的下载服务器数量N,选定前N个服务器作为下载服务器。例如,预设需要3个下载服务器,则选定排序后服务器的前3个服务器为下载服务器。
在本发明实施例中,进行各服务器文件传输速度对比,筛选出文件传输速度最快的几个服务器作为下载服务器,这些服务器为用户所在地最佳匹配服务器,可以有效提高后续文件下载的速度,从而整体提高m3u8文件的下载速度。
在一个实施例中,为了避免后续下载过程中某服务器突然宕机或其他突发原因导致的文件传输失败,而需要重新选定服务器作为下载服务器导致的文件传输效率降低的问题,将选定的下载服务器设定为直接下载服务器,并增设至少一个备用下载服务器。该备用下载服务器在直接下载服务器正常下载过程中不会工作,仅当直接下载服务器无法正常完成下载时进行备用使用。因为提前预设了备用下载服务器,当发生下载故障时,可以直接调取该备用下载服务器,而不需要重新进行服务器选定,保证系统的整体效率。为了避免备用下载服务器的文件传输速度过低,优选的,进行备用下载服务器选定时,在选取直接下载服务器后的剩余服务器中选择传输速度最快的一个或多个服务器作为备用服务器。例如,直接下载服务器选定了3个,则备用服务器为第4个,或从4往后的多个。优选的,备用服务器设定为1个,因为备用下载服务器的使用频率本身就不高,选定多个备用下载服务器的意义不大。当然,根据用户需求,备用下载服务器的数量并不限制。
步骤S402:生成并行下载方案。
具体的,因为是多个服务器并行下载,所以整个m3u8文件的下载速度与最长服务器下载时间相同。所以,若各直接下载服务器的任务分配量不均与,即使某些直接下载服务器完成了文件下载,但任务量最多的直接下载服务器依旧在下载,整体的下载效率依旧收到了影响,所以最理想的并行下载方式为多个直接下载服务器同时完成任务下载。因此,需要进行各直接下载服务器任务均匀分配。处理单元根据直接下载服务器的数量预设对应数量个下载切片集,然后将ts切片总量平均分配到各下载切片集中。若选定的直接下载服务器的数量为m,总ts切片数量为n,则将n除以m并取整,若商数为a,余数为b,则每一个下载切片集均至少包括a个ts切片。剩余未被分配的b个切片任意分配到某下载切片集中,完成任务分配。例如,预设选定了3个直接下载服务器,共存在50个待下载切片,平均每个下载切片集分配16个ts切片后,该剩余2个未被分配ts,则将该ts切片分配到任意某下载切片集中,则3个直接下载服务器的任务分配量分别为16,16和18。
在一个实施例中,预设未被平均分配剩余ts切片的分配规则。上述已知,系统的整体下载时间与某服务器的长下载时间相同,而影响直接下载服务器下载时间的因素有任务量和文件传输速度两种因素。所以,为了更加使各直接下载服务器的完成下载时间接近,优选的,剩余ts切片优先分配给文件传输更快的直接下载服务器。例如,存在3个直接下载服务器:服务器1、服务器2和服务器3,这三个直接下载服务器的文件传输速度为:服务器1>服务器2>服务器3,则根据上述距离,将剩余的2个ts切片优先分配给服务器1,因为服务器1的文件传输速度最快,所以即使增加了小部分任务量,其完成时间不会造成太大的影响。而为了更加优化分配规则,优选的,剩余的多个ts贴片同样进行平均分配,平均分配的对象为最快的对应数量个直接下载服务器。例如,剩余2个未分配ts切片,将它们平均分给前两个直接下载服务器,即服务器1和服务器2各增加一个未分配ts切片。则上述举例中,各直接下载服务器的分配任务量分别为17,17和16。
步骤S50:根据所述并行下载方案进行所述m3u8格式文件拆分,并将拆分后的m3u8格式文件分配给各下载服务器进行并行下载。
具体的,处理单元选定直接下载服务器和完成下载任务分配后,便需要进行各服务器并行下载。优选的,下载单元的下载器采用iOS系统提供的nsurlsession和多线程相关api封装。同时启用各直接下载服务器的下载线程,将各直接下载服务器对应的下载切片集中的切片录入对应直接下载服务器的下载队列,各直接下载服务器根据自己的下载队列进行对应切片逐一下载。以选定3个直接下载服务器为例,具体的,如图3,文件下载过程包括:
步骤S501:若某个ts切片下载错误,将下载错误的ts切片根据预设循环结构转录到下一直接下载服务器的下载队列中,在当前下载队列中删除该下载错误的ts切片。
具体的,在ts切片下载过程中,可能存在下载错误,这些下载错误可能是服务器原因可能是ts切片的自身原因,具体错误原因难以获取,为了避免追究错误原因导致的下载效率受限,直接进行下载错误ts切片更换服务器下载。即若某个ts切片下载错误,则将对应的ts切片根据预设循环结构转存到下一个直接下载服务器的下载队列中,同时在当前直接下载服务器的下载队列中删除所述下载错误的ts切片。对于预设的循环结构,例如,服务器2为服务器1的下一个直接下载服务器,服务器3为服务器2的下一个直接下载服务器。因为仅存在3个服务器,服务器3后续不存在其他服务器,但本步骤的本身意义为换服务器下载,而对于文件传输速度不参考,所以服务器1作为服务器3的下一个直接下载服务器,以此过程闭环的循环结构。当服务器1中某ts切片下载失败时,服务器1将该ts切片从自身的下载队列中删除,并转交给服务器2,服务器2对该ts切片进行重新尝试下载。
步骤S502:若确定存在转录自上一下载服务器的下载错误的ts切片,优先执行该转录的下载错误的ts切片的下载。
具体的,服务器2增加该出现错误的ts切片后,将该ts切片作为下一个候选下载切片,因为若将错误ts切片放置在下载队列末端,则在整个下载流程的末段时间,剩余的全是错误ts切片,然后进行这些错误ts切片重新流转势必会造成时延加长。服务器2直接对该错误ts切片进行重新尝试下载,判断是否下载成功。
步骤S503:若依旧出现下载错误,则重复步骤S501-S503,直到下载错误的ts切片下载正确。
具体的,若服务器2下载成功,则服务器2继续执行自身下载队列的剩余ts切片下载。若服务器2尝试下载后,也就判定下载失败,则继续将该错误ts切片流转到服务器3的下载队列中,服务器2将该错误ts切片从自身的下载队列中删除。服务器3直接对该错误ts切片重新尝试下载,并判断是否下载成功。
若服务器3依旧判定该错误ts切片存在下载错误,若继续将该切片流转到下一个直接下载服务器,即服务器1,因为该错误ts切片的流转源头便是服务器1,若流转回来,服务器1依旧会发生下载错误,所以继续流转的意义不大。当出现这种错误ts切片流转到初始直接下载服务器的情况时,将对应的错误ts切片流转给备用下载服务器下载。备用服务器进行重新尝试下载,为了进一步确认为ts切片本身错误,在备用服务器中尝试多次重新下载,例如,尝试预设3次重新下载,若尝试多次后,依旧为下载错误,则可判定该ts切片为本身错误,无论使用哪个服务器均无法正常下载,则直接放弃该ts切片。若备用下载服务器为多个,则与直接下载服务器的流转规则相同,在多个备用下载服务器中循环流转一遍,直到该ts切片被正常下载或放弃。因为m3u8的特性,缺少某个ts并不会导致播放失败,只是会丢失这个ts的内容,所以即使放弃小部分ts切片,对文件播放的完整性并不会产生较大的影响。
在一个实施例中,每放弃一个ts切片,放弃切片队列计数一次;当所述放弃切片队列技术达到预设容错数量阈值时,判定该m3u8格式文件下载失败,并输出下载失败报警信息;其中,所述预设容错数量阈值根据各ts切片大小和用户需求进行调整。放弃小部分ts切片对文件播放完整性不会产生较大的影响,但是若大面积的出现下载错误的ts切片,且均被放弃,则剩余的ts切片虽然可以正常播放,但视频完整性将大大收到影响,用户甚至无法获取想要的视频信息。为了避免这种情况,预设容错数量阈值,即当放弃的ts切片大于该阈值时,表示视频完整性已经无法满足用户需求,则输出m3u8文件下载失败信息,输出报警信息,提醒用户进行资源检查,避免浪费下载资源。缺少某个ts并不会导致播放失败,只是会丢失这个ts的内容,所以切片的时候每个切片不要太大,这样即使丢失,仍然可以播放,对连续性要求较低的视频可以提高容错率。所以,ts切片越大,放弃一个ts切片对视频完整性的影响越大,即ts切片越小,预设的容错数量阈值可以越大。而用户若对视频的连续性要求极高,则容许放弃的ts切片数量越少。即所述预设容错数量阈值根据各ts切片大小和用户需求进行调整,用户对视频连续性要求月底,ts切片越小,预设的容错数量阈值越大;用户对视频连续性要求越高,ts切片越大,预设的容错数量阈值越小。
步骤S60:确定各下载服务器均完成下载,对下载内容进行拼接以用于所述m3u8格式文件播放。
具体的,各直接下载服务器完成对应的ts切片下载后,基于该m3u8有文件限定的目录,进行ts切片拼接,拼接顺序由ts切片的序号决定,序号越小,目录下的顺序越靠前。对于需要加密的文件,在下载后对m3u8的头文件进行加密,在播放时临时解密并将解密后的文件放入临时文件夹,并在完成播放后清除临时文件夹中的内容。而若对加密要求很高,则可以开启高级加密,会对所有ts文件也加入到加密解密的流程中,同样转发到临时文件夹进行播放,并在完成播放后清除临时文件夹中的内容。
在一个实施例中,m3u8文件是流媒体文件,直接给播放器地址是不能播放的,这时候就需要本地处理文件。在iphone中启用本地服务器,配置好本地服务器和服务器地址后,将下载好的文件移动到本地服务器文件夹下,再获取该视频文件在本地服务器中的地址,将此地址给到前面我们封装好的播放器,则可以正常播放,本地服务器参考开源项目CocoaHTTPServer搭建。
在一个实施例中,所述处理单元还用于每放弃一个ts切片,放弃切片队列计数一次;当所述放弃切片队列技术达到预设容错数量阈值时,判定该m3u8格式文件下载失败,并输出下载失败报警信息;所述系统还包括:报警单元,用于生成所述下载失败报警信息。
在一个实施例中,所述系统还包括:人机交互单元,包括:显示单元,用于显示所述m3u8格式文件的播放画面;输入单元,用于根据拆分后的m3u8格式文件中的各ts切片大小和用户需求,调整所述预设容错数量阈值。
在一个实施例中,所述系统还包括:加密单元,用于确定是否存在预设加密需求,若确定存在预设加密需求,对拼接后的m3u8格式文件的头文件或各切片文件进行加密;解密单元,用于响应于播放请求指令,进行加密后的文件解密,并将解密文件转存到临时文件夹中,供后续进行m3u8格式文件播放;清除单元,用于在所述m3u8格式文件播放之后清除所述临时文件夹中的解密文件。
本发明实施方式还提供一种m3u8格式文件的播放方法,所述m3u8格式文件根据上述的m3u8格式文件下载方法下载,所述方法包括:获取用户的需求码率,并基于所述需求码率进行所述m3u8格式文件播放;若在所述m3u8格式文件播放过程中接收到用户修改的需求码率,则记录当前播放时间节点,在完成码率切换后,自记录的播放时间节点进行后续文件播放。
本发明实施方式还提供一种计算机可读储存介质,该计算机可读存储介质上储存有指令,其在计算机上运行时使得计算机执行上述的m3u8格式文件下载方法或上述的m3u8格式文件播放方法。
本发明实施方式还提供一种计算机程序产品,包括计算机程序,所述计算机程序在被处理器执行时实现上述的m3u8格式文件下载方法或上述的m3u8格式文件播放方法。
本领域内的技术人员应明白,本申请的实施例可提供为方法、系统、或计算机程序产品。因此,本申请可采用完全硬件实施例、完全软件实施例、或结合软件和硬件方面的实施例的形式。而且,本申请可采用在一个或多个其中包含有计算机可用程序代码的计算机可用存储介质(包括但不限于磁盘存储器、CD-ROM、光学存储器等)上实施的计算机程序产品的形式。
本申请是参照根据本申请实施例的方法、设备(系统)、和计算机程序产品的流程图和/或方框图来描述的。应理解可由计算机程序指令实现流程图和/或方框图中的每一流程和/或方框、以及流程图和/或方框图中的流程和/或方框的结合。可提供这些计算机程序指令到通用计算机、专用计算机、嵌入式处理机或其他可编程数据处理设备的处理器以产生一个机器,使得通过计算机或其他可编程数据处理设备的处理器执行的指令产生用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的装置。
这些计算机程序指令也可存储在能引导计算机或其他可编程数据处理设备以特定方式工作的计算机可读存储器中,使得存储在该计算机可读存储器中的指令产生包括指令装置的制造品,该指令装置实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能。
这些计算机程序指令也可装载到计算机或其他可编程数据处理设备上,使得在计算机或其他可编程设备上执行一系列操作步骤以产生计算机实现的处理,从而在计算机或其他可编程设备上执行的指令提供用于实现在流程图一个流程或多个流程和/或方框图一个方框或多个方框中指定的功能的步骤。
在一个典型的配置中,计算设备包括一个或多个处理器(CPU)、输入/输出接口、网络接口和内存。
存储器可能包括计算机可读介质中的非永久性存储器,随机存取存储器(RAM)和/或非易失性内存等形式,如只读存储器(ROM)或闪存(flash RAM)。存储器是计算机可读介质的示例。
计算机可读介质包括永久性和非永久性、可移动和非可移动媒体,可以由任何方法或技术来实现信息存储。信息可以是计算机可读指令、数据结构、程序的模块或其他数据。计算机的存储介质的例子包括,但不限于相变内存(PRAM)、静态随机存取存储器(SRAM)、动态随机存取存储器(DRAM)、其他类型的随机存取存储器(RAM)、只读存储器(ROM)、电可擦除可编程只读存储器(EEPROM)、快闪记忆体或其他内存技术、只读光盘只读存储器(CD-ROM)、数字多功能光盘(DVD)或其他光学存储、磁盒式磁带,磁带磁磁盘存储或其他磁性存储设备或任何其他非传输介质,可用于存储可以被计算设备访问的信息。按照本文中的界定,计算机可读介质不包括暂存电脑可读媒体(transitory media),如调制的数据信号和载波。
还需要说明的是,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、商品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、商品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括要素的过程、方法、商品或者设备中还存在另外的相同要素。
以上仅为本申请的实施例而已,并不用于限制本申请。对于本领域技术人员来说,本申请可以有各种更改和变化。凡在本申请的精神和原理之内所作的任何修改、等同替换、改进等,均应包含在本申请的权利要求范围之内。
Claims (17)
1.一种m3u8格式文件下载方法,其特征在于,所述方法包括:
获取m3u8格式文件的下载任务,所述m3u8格式文件包含一个头文件和多个切片文件;
根据所述下载任务下载所述m3u8格式文件的头文件;
对所述头文件进行解析,获取所述下载任务的文件信息;
基于所述文件信息确定用于执行并行下载的下载服务器以及对应的并行下载方案;其中,
所述下载服务器包括:
多个直接下载服务器和至少一个备用下载服务器;
根据所述并行下载方案进行所述m3u8格式文件拆分,并将拆分后的m3u8格式文件分配给各下载服务器进行并行下载,包括:
各直接下载服务器基于各自对应的下载队列进行文件同步下载;每一直接下载服务器在下载过程中,若某一ts切片下载错误:
将下载错误的ts切片根据预设循环结构转录到下一直接下载服务器的下载队列中,在当前下载队列中删除该下载错误的ts切片;其中,所述预设循环结构为上下直接下载服务器的对应规则;
若确定存在转录自上一下载服务器的下载错误的ts切片,优先执行该转录的下载错误的ts切片的下载;
若一下载错误的ts切片经过预设循环结构转存至初始的直接下载服务器时依旧未能被正确下载,则初始的直接下载服务器将该下载错误的ts切片转录到备用下载服务器中进行下载;
若备用下载服务器尝试预设次数后依旧未能正确下载转录自直接下载服务器的下载错误的ts切片,则放弃下载该下载错误的ts切片;
确定各下载服务器均完成下载,对下载内容进行拼接以用于所述m3u8格式文件播放。
2.根据权利要求1所述的方法,其特征在于,所述下载任务的文件信息,包括:
所述m3u8格式文件的ts切片数量、各ts切片的序号和各ts切片的地址信息。
3.根据权利要求2所述的方法,其特征在于,所述基于所述文件信息确定用于执行并行下载的下载服务器,包括:
根据所述m3u8格式文件的任一ts切片的地址信息发起模拟下载请求至允许建立通讯连接的多个服务器,并回收来自各服务器的反馈信息;
基于所述反馈信息确定各服务器的文件传输速度;
根据预设的下载服务器数量,将文件传输速度最大的前预设数量个服务器作为下载服务器。
4.根据权利要求3所述的方法,其特征在于,
所述基于所述文件信息确定用于执行并行下载的下载服务器,还包括:
根据预设的直接下载服务器数量,将文件传输速度最大的前预设数量个服务器作为直接下载服务器;
根据预设的备用下载服务器数量,将剩余服务器中文件传输速度最大的前预设数量个服务器作为备用下载服务器。
5.根据权利要求4所述的方法,其特征在于,基于所述文件信息确定对应的并行下载方案,包括:
根据直接下载服务器的数量设置对应数量个下载切片集,将所述m3u8格式文件的所有ts切片平均分配到各下载切片集中;其中,未能平均分配的剩余切片被任意分配到某一下载切片集中;
针对每一直接下载服务器生成对应下载切片集中的ts切片下载的下载方案。
6.根据权利要求5所述的方法,其特征在于,根据所述并行下载方案进行所述m3u8格式文件拆分,包括:
将各直接下载服务器对应的下载切片集内的ts切片的地址信息收录在下载队列中;其中,每一下载切片集的下载队列中ts切片的下载顺序与ts切片的序号排序相同。
7.根据权利要求1所述的方法,其特征在于,所述方法还包括:
构建所述预设循环结构,包括:
按照文件传输速度从大到小的顺序对各直接下载服务器进行排序;
将排序最末的直接下载服务器与排序最前的直接下载服务器相邻接,构成循环结构。
8.根据权利要求1所述的方法,其特征在于,所述方法还包括:
在一个拆分后的m3u8格式文件下载过程中,每放弃一个下载错误的ts切片,放弃计数一次;
当放弃计数达到预设容错数量阈值时,判定该拆分后的m3u8格式文件下载失败,输出下载失败提示;其中,
所述预设容错数量阈值根据该拆分后的m3u8格式文件的各ts切片的大小和用户需求调整。
9.根据权利要求1所述的方法,其特征在于,在对下载内容进行拼接后,进行所述m3u8格式文件播放之前,所述方法还包括:
若确定存在预设加密需求,对拼接后的m3u8格式文件的头文件或各切片文件进行加密;
响应于播放请求指令,进行加密后的文件解密,并将解密文件转存到临时文件夹中,供后续进行m3u8格式文件播放;
所述临时文件夹中的解密文件在所述m3u8格式文件播放之后被清除。
10.一种m3u8格式文件的播放方法,其特征在于,所述m3u8格式文件根据权利要求1-9中任一项权利要求所述m3u8格式文件下载方法下载,所述方法包括:
获取用户的需求码率,并基于所述需求码率进行所述m3u8格式文件播放;
若在所述m3u8格式文件播放过程中接收到用户修改的需求码率,则记录当前播放时间节点,在完成码率切换后,自记录的播放时间节点进行后续文件播放。
11.一种m3u8格式文件下载系统,其特征在于,所述系统包括:
采集单元,用于获取m3u8格式文件的下载任务,所述m3u8格式文件包含一个头文件和多个切片文件;
下载单元,用于根据所述下载任务下载所述m3u8格式文件的头文件;
所述采集单元还用于对所述头文件进行解析,获取所述下载任务的文件信息;
处理单元,用于:
基于所述文件信息确定用于执行并行下载的下载服务器以及对应的并行下载方案;其中,
所述下载服务器包括:
多个直接下载服务器和至少一个备用下载服务器;
根据所述并行下载方案进行所述m3u8格式文件拆分,并将拆分后的m3u8格式文件分配给各下载服务器进行并行下载,包括:
各直接下载服务器基于各自对应的下载队列进行文件同步下载;每一直接下载服务器在下载过程中,若某一ts切片下载错误:
将下载错误的ts切片根据预设循环结构转录到下一直接下载服务器的下载队列中,在当前下载队列中删除该下载错误的ts切片;其中,所述预设循环结构为上下直接下载服务器的对应规则;
若确定存在转录自上一下载服务器的下载错误的ts切片,优先执行该转录的下载错误的ts切片的下载;
若一下载错误的ts切片经过预设循环结构转存至初始的直接下载服务器时依旧未能被正确下载,则初始的直接下载服务器将该下载错误的ts切片转录到备用下载服务器中进行下载;
若备用下载服务器尝试预设次数后依旧未能正确下载转录自直接下载服务器的下载错误的ts切片,则放弃下载该下载错误的ts切片;
确定各下载服务器均完成下载,对下载内容进行拼接以用于所述m3u8格式文件播放。
12.根据权利要求11所述的系统,其特征在于,所述下载任务的文件信息,包括:所述m3u8格式文件的ts切片数量、各ts切片的序号和各ts切片的地址信息;
所述基于所述文件信息确定用于执行并行下载的下载服务器,包括:
根据所述m3u8格式文件的任一ts切片的地址信息发起模拟下载请求至允许建立通讯连接的多个服务器,并回收来自各服务器的反馈信息;
基于所述反馈信息确定各服务器的文件传输速度;
根据预设的直接下载服务器数量,将文件传输速度最大的前预设数量个服务器作为直接下载服务器;
根据预设的备用下载服务器数量,将剩余服务器中文件传输速度最大的前预设数量个服务器作为备用下载服务器。
13.根据权利要求12所述的系统,其特征在于,基于所述文件信息确定对应的并行下载方案,包括:
根据直接下载服务器的数量设置对应数量个下载切片集,将所述m3u8格式文件的所有ts切片平均分配到各下载切片集中;其中,未能平均分配的剩余切片被任意分配到某一下载切片集中;
针对每一直接下载服务器生成对应下载切片集中的ts切片下载的下载方案;
根据所述并行下载方案进行所述m3u8格式文件拆分,包括:
将各直接下载服务器对应的下载切片集内的ts切片的地址信息收录在下载队列中;其中,每一下载切片集的下载队列中ts切片的下载顺序与ts切片的序号排序相同。
14.根据权利要求11所述的系统,其特征在于,每放弃一个下载错误的ts切片,放弃计数一次;
当放弃计数达到预设容错数量阈值时,判定该拆分后的m3u8格式文件下载失败;
所述系统还包括:
报警单元,用于生成下载失败提示。
15.根据权利要求14所述的系统,其特征在于,所述系统还包括:
人机交互单元,包括:
显示单元,用于显示所述m3u8格式文件的播放画面;
输入单元,用于根据拆分后的m3u8格式文件中的各ts切片大小和用户需求,调整所述预设容错数量阈值。
16.根据权利要求11所述的系统,其特征在于,所述处理单元还包括:
加密单元,用于确定是否存在预设加密需求,若确定存在预设加密需求,对拼接后的m3u8格式文件的头文件或各切片文件进行加密;
解密单元,用于响应于播放请求指令,进行加密后的文件解密,并将解密文件转存到临时文件夹中,供后续进行m3u8格式文件播放;
清除单元,用于在所述m3u8格式文件播放之后清除所述临时文件夹中的解密文件。
17.一种计算机可读储存介质,该计算机可读存储介质上储存有指令,其在计算机上运行时使得计算机执行权利要求1-9中任一项权利要求所述的m3u8格式文件下载方法或权利要求10所述的m3u8格式文件的播放方法。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111468054.7A CN114124941B (zh) | 2021-12-03 | 2021-12-03 | m3u8格式文件下载方法、播放方法及m3u8格式文件下载系统 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111468054.7A CN114124941B (zh) | 2021-12-03 | 2021-12-03 | m3u8格式文件下载方法、播放方法及m3u8格式文件下载系统 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN114124941A CN114124941A (zh) | 2022-03-01 |
CN114124941B true CN114124941B (zh) | 2023-05-12 |
Family
ID=80366393
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111468054.7A Active CN114124941B (zh) | 2021-12-03 | 2021-12-03 | m3u8格式文件下载方法、播放方法及m3u8格式文件下载系统 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN114124941B (zh) |
Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103648019A (zh) * | 2013-11-29 | 2014-03-19 | 乐视致新电子科技(天津)有限公司 | 一种基于hls协议的视频下载方法及其装置 |
CN103929427A (zh) * | 2014-04-23 | 2014-07-16 | 无锡天脉聚源传媒科技有限公司 | 一种动态多线程下载装置及其下载方法 |
CN106358047A (zh) * | 2016-10-09 | 2017-01-25 | 天脉聚源(北京)科技有限公司 | 一种播放流媒体视频的方法及装置 |
CN109803167A (zh) * | 2017-11-17 | 2019-05-24 | 中国电信股份有限公司 | 流媒体文件传输方法、流媒体客户端和计算机可读存储介质 |
-
2021
- 2021-12-03 CN CN202111468054.7A patent/CN114124941B/zh active Active
Patent Citations (4)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN103648019A (zh) * | 2013-11-29 | 2014-03-19 | 乐视致新电子科技(天津)有限公司 | 一种基于hls协议的视频下载方法及其装置 |
CN103929427A (zh) * | 2014-04-23 | 2014-07-16 | 无锡天脉聚源传媒科技有限公司 | 一种动态多线程下载装置及其下载方法 |
CN106358047A (zh) * | 2016-10-09 | 2017-01-25 | 天脉聚源(北京)科技有限公司 | 一种播放流媒体视频的方法及装置 |
CN109803167A (zh) * | 2017-11-17 | 2019-05-24 | 中国电信股份有限公司 | 流媒体文件传输方法、流媒体客户端和计算机可读存储介质 |
Also Published As
Publication number | Publication date |
---|---|
CN114124941A (zh) | 2022-03-01 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP6308442B2 (ja) | ストリーミングメディアデータを取得するための方法、デバイス、およびシステム | |
US9332051B2 (en) | Media manifest file generation for adaptive streaming cost management | |
US8943215B2 (en) | Distributed smooth streaming utilizing dynamic manifests | |
CN105282627A (zh) | 一种获取直播视频切片的方法及服务器 | |
US8510460B2 (en) | Reduced video player start-up latency in HTTP live streaming and similar protocols | |
US20120222075A1 (en) | Method, terminal, and server for implementing fast playout | |
CN108810657B (zh) | 一种设置视频封面的方法和系统 | |
WO2017092327A1 (zh) | 一种播放方法及装置 | |
US9356985B2 (en) | Streaming video to cellular phones | |
EP3471421B1 (en) | Live broadcast video replay method, server, and system | |
US9313084B2 (en) | Systems and methods for client-side media chunking | |
WO2017071604A1 (zh) | 一种播放方法、装置及存储介质 | |
US20160260141A1 (en) | Communication Method, User Device, Content Server and Controller | |
US10284894B2 (en) | Methods and apparatus for naming video content chunks | |
CN103220587A (zh) | 一种获取时移内容的方法及装置 | |
EP2538629A1 (en) | Content delivering method | |
WO2019085243A1 (zh) | 一种音视频数据播放方法以及服务器和客户端 | |
US10750248B1 (en) | Method and apparatus for server-side content delivery network switching | |
CN114124941B (zh) | m3u8格式文件下载方法、播放方法及m3u8格式文件下载系统 | |
US20150319210A1 (en) | Method and apparatus for handling files in association with media content delivery | |
US11895350B2 (en) | Techniques for providing a content stream based on a delivered stream of content | |
CN112887786A (zh) | 视频播放方法、装置及计算机可读介质 | |
WO2018078152A1 (en) | Method to transmit an audio/video stream of to a destination device | |
US10854241B2 (en) | Generation of media diff files | |
US10750216B1 (en) | Method and apparatus for providing peer-to-peer content delivery |
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 |