CN108124202A - 一种使流媒体服务器支持hls协议的方法 - Google Patents
一种使流媒体服务器支持hls协议的方法 Download PDFInfo
- Publication number
- CN108124202A CN108124202A CN201810119061.8A CN201810119061A CN108124202A CN 108124202 A CN108124202 A CN 108124202A CN 201810119061 A CN201810119061 A CN 201810119061A CN 108124202 A CN108124202 A CN 108124202A
- Authority
- CN
- China
- Prior art keywords
- file
- virtual clip
- media
- media file
- characteristic parameter
- 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.)
- Granted
Links
Classifications
-
- 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/60—Network 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/61—Network physical structure; Signal processing
- H04N21/6106—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network
- H04N21/6125—Network physical structure; Signal processing specially adapted to the downstream path of the transmission network involving transmission via Internet
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04L—TRANSMISSION OF DIGITAL INFORMATION, e.g. TELEGRAPHIC COMMUNICATION
- H04L65/00—Network arrangements, protocols or services for supporting real-time applications in data packet communication
- H04L65/60—Network streaming of media packets
- H04L65/65—Network streaming protocols, e.g. real-time transport protocol [RTP] or real-time control protocol [RTCP]
-
- 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/60—Network 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/643—Communication protocols
- H04N21/64322—IP
-
- 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/60—Network 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/63—Control signaling related to video distribution between client, server and network components; Network processes for video distribution between server and clients or between remote clients, e.g. transmitting basic layer and enhancement layers over different transmission paths, setting up a peer-to-peer communication via Internet between remote STB's; Communication protocols; Addressing
- H04N21/647—Control signaling between network components and server or clients; Network processes for video distribution between server and clients, e.g. controlling the quality of the video stream, by dropping packets, protecting content from unauthorised alteration within the network, monitoring of network load, bridging between two different networks, e.g. between IP and wireless
-
- 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
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Computer Networks & Wireless Communication (AREA)
- Computer Security & Cryptography (AREA)
- Information Transfer Between Computers (AREA)
Abstract
本发明提出了一种使流媒体服务器支持HLS协议的方法及装置,涉及流媒体技术领域,用以在减少占用服务器存储空间的情况下,使得现有流媒体服务器支持基于HLS协议的实时流媒体传输。该方法包括:获取流媒体服务器的服务器标识及流媒体服务器中存储的媒体文件的文件标识和特征参数;媒体文件的特征参数至少包括:媒体文件的文件大小和文件时长;获取片段分割时长和片段分割大小;根据媒体文件的特征参数、片段分割时长、片段分割大小确定媒体文件中每一虚拟片段的特征参数,并根据流媒体服务器的服务器标识、媒体文件的文件标识和每一虚拟片段的特征参数构造索引文件中的索引项。
Description
本申请是2015年01月30日提出的发明名称为“一种使流媒体服务器支持HLS协议的方法及装置”的中国发明专利申请201510051752.5 的分案申请。
技术领域
本发明涉及流媒体技术领域,尤其涉及一种使流媒体服务器支持HLS(HTTP LiveStreaming,超文本直播流;由苹果公司提出的基于HTTP实现实时流媒体传输的协议)协议的方法及装置。
背景技术
随着网络的发展,人们的日常生活与互联网的关系越来越紧密。由于互联网提供的视频资源的丰富性,越来越多的用户通过互联网点播电视剧、电影、综艺节目或其他音/视频信息。
通用的播放方法是用户选择需要获得的音/视频文件之后,从服务器中下载该音/视频文件,等到该文件全部下载完毕后,再在用户设备上对该音/视频文件进行播放。为了突破通用的播放方法需先将文件全部下载后才能播放的局限,开发人员提出了流媒体的概念,即将音/视频文件压缩后存储在服务器上,供用户边下载边播放。
现有技术中实现流媒体传输的协议主要有两种,一种是常规的流媒体直播协议(如RTMP(Real Time Messaging Protocol,实时消息传输协议)、RTSP(Real TimeStreaming Protocol,实时流传输协议)、MMS协议(Microsoft Media Server Protocol,微软媒体服务器协议)等),另一种是HLS协议。使用常规的流媒体直播协议的方法中,流媒体服务器将音/视频文件作为一个整体进行存储。相对于常规的流媒体直播协议,支持HLS协议的流媒体服务器把整个音/视频文件分成一个个小的分段文件进行存储,由于分段文件的时长很短,因此,在音/视频文件的播放过程中,客户端可以选择从不同的音/视频源中以不同的速率下载同样的音/视频资源,进行码率的切换,以适应不同带宽条件下的播放。鉴于上述优势,HLS协议越来越广泛的应用于各种音/视频文件的播放。
为了使支持常规流媒体直播协议的流媒体服务器也能够支持HLS协议,现有技术的实现方法可以为:首先将支持常规的流媒体服务器里存储的媒体文件下载,并将下载的媒体文件切割成一个个的小的分段文件,然后将分段文件上传到流媒体服务器,接着将分段文件的文件信息写入一个m3u8(用文本方式对分割后的媒体文件进行描述)文件中,最后将生成的m3u8文件上传到该流媒体服务器。
在实现上述使流媒体服务器支持HLS协议的过程中,发明人发现现有技术中至少存在如下问题:运用上述现有技术,流媒体服务器虽然能够同时支持常规的流媒体直播协议和HLS协议,但是需要存储原始的大文件和切割后的分段文件两种代表同样信息的文件,增加了服务器存储空间的磁盘负载。
发明内容
本发明的实施例提供一种使流媒体服务器支持HLS协议的方法及装置,用以在减少占用服务器存储空间的情况下,使得现有流媒体服务器支持基于HLS协议的实时流媒体传输。
为达到上述目的,本发明的实施例采用如下技术方案:
第一方面,本发明实施例提供了一种使流媒体服务器支持HLS协议的方法,包括:获取流媒体服务器的服务器标识及流媒体服务器中存储的媒体文件的文件标识和特征参数;媒体文件的特征参数至少包括:媒体文件的文件大小、媒体文件的文件时长;获取片段分割时长和片段分割大小;根据媒体文件的特征参数、片段分割时长、片段分割大小确定媒体文件中每一虚拟片段的特征参数,并根据流媒体服务器的服务器标识、媒体文件的文件标识和每一虚拟片段的特征参数构造索引文件中的索引项;虚拟片段的特征参数用于在媒体文件中唯一确定出虚拟片段。
第二方面,本发明实施例提供了一种流媒体服务器,包括:获取单元,用于获取流媒体服务器的服务器标识及流媒体服务器中存储的媒体文件的文件标识和特征参数;媒体文件的特征参数至少包括:媒体文件的文件大小、媒体文件的文件时长;获取单元,还用于获取片段分割时长和片段分割大小;处理单元,用于根据媒体文件的特征参数、片段分割时长、片段分割大小确定媒体文件中每一虚拟片段的特征参数,并根据流媒体服务器的服务器标识、媒体文件的文件标识和每一虚拟片段的特征参数构造索引文件中的索引项;虚拟片段的特征参数用于在媒体文件中唯一确定出虚拟片段。
本发明实施例提供的一种使流媒体服务器支持HLS协议的方法及装置,获取流媒体服务器的服务器标识及流媒体服务器中存储的媒体文件的文件标识和特征参数,并获取片段分割时长和片段分割大小;根据媒体文件的特征参数、片段分割时长、片段分割大小确定媒体文件中每一虚拟片段的特征参数,并根据流媒体服务器的服务器标识、媒体文件的文件标识和每一虚拟片段的特征参数构造索引文件中的索引项。通过将媒体文件虚拟的划分为虚拟片段,然后在索引文件中构造每一虚拟片段的索引项,这样使得流媒体服务器中存储的整个媒体文件有了对应的索引文件,在点播时只需要根据索引文件就能够分别获取到每一虚拟片段的内容,使得流媒体服务器能够支持HLS协议,同时由于索引文件相对于现有技术中将媒体文件进行分割后的分段文件相比需要的存储空间大大减少,所以较少了占用的服务器的存储空间。
附图说明
为了更清楚地说明本发明实施例的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本发明实施例提供的一种使流媒体服务器支持HLS协议的方法的流程示意图;
图2为本发明实施例提供的另一种使流媒体服务器支持HLS协议的方法的流程示意图;
图3为本发明实施例提供的另一种使流媒体服务器支持HLS协议的方法的流程示意图;
图4为本发明实施例提供的另一种使流媒体服务器支持HLS协议的方法的流程示意图;
图5为本发明实施例提供的一种流媒体服务器的功能示意图;
图6为本发明实施例提供的另一种流媒体服务器的功能示意图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
需要说明的是,HLS协议是用于实时流媒体传输的协议,其特点是将媒体文件进行分段传输,传输的内容包括两部分,一部分是用于存储媒体数据的TS(Transport Stream,传输流;全称MPEG2-TS)媒体文件,另一部分是用于索引TS媒体文件的M3U8索引文件。终端可以通过M3U8文件获取到TS媒体文件。
需要说明的是,本发明所有实施例中的流媒体服务器是指支持常规媒体直播协议(如RTMP、RTSP、MMS协议等),同时不支持HLS协议的流媒体服务器。
本发明实施例提供了一种使流媒体服务器支持HLS协议的方法,如图1所示,包括:
101、获取流媒体服务器的服务器标识及流媒体服务器中存储的媒体文件的文件标识和特征参数。
其中,媒体文件的特征参数至少包括:媒体文件的文件大小、媒体文件的文件时长。
需要说明的是,流媒体服务器的标识信息可以是流媒体服务器的主机号和端口号,还可以是能够唯一确定出流媒体服务器的其他标识,例如,域名、IP地址(InternetProtocol Address,网际协议地址)或节点标识等。本发明对此不做限制。
需要说明的是,流媒体服务器中可以存储有一个或多个媒体文件,且存储的媒体文件是整个文件。本发明的所有实施例都是从任意一个媒体文件的角度进行说明。
还需要说明的是,流媒体服务器的服务器标识用于在互联网中唯一标识一个服务器。媒体文件的文件标识用于在流媒体服务器中唯一标识一个媒体文件。媒体文件的文件大小是指该媒体文件所占的存储空间的大小。媒体文件的文件时长是指播放一遍该媒体文件所需的时间。
具体的,可以从流媒体服务器获取流媒体服务器的服务器标识及流媒体服务器中存储的媒体文件的文件标识和特征参数,也可以是将流媒体服务器的服务器标识、流媒体服务器中存储的媒体文件的文件标识和特征参数存储至存储设备中,从该存储设备获取流媒体服务器的服务器标识及流媒体服务器中存储的媒体文件的文件标识和特征参数。
102、获取片段分割时长和片段分割大小。
需要说明的是,将媒体文件虚拟划分为多个的虚拟片段,其中虚拟片段是对媒体文件逻辑上的划分,实际存储于流媒体服务器中的媒体文件仍然是一个整体的音/视频文件。片段分割时长是指将媒体文件进行划分时,除最后一个虚拟片段之外,其他所有虚拟片段所对应的时长,也就是说片段分割时长是除最后一个虚拟片段之外其他所有虚拟片段的平均时长。示例性的,若一个媒体文件的文件时长是130秒,若片段分割时长为3秒。那么根据片段分割时长可以将该媒体文件划分为44个虚拟片段,其中,前43个虚拟片段的时长都等于片段分割时长3秒,第44个虚拟片段的时长为1秒。
具体的,获取预先设定的片段分割时长,或者获取用户配置的片段分割时长。
需要说明的是,片段分割大小是指片段分割时长对应的文件的大小。片段分割大小是指将媒体文件进行划分时,除最后一个虚拟片段之外,其他所有虚拟片段所对应的文件的大小。
具体的,获取片段分割大小可以是获取预先设定的片段分割大小,也可以是获取用户配置的片段分割大小,还可以是根据媒体文件的特征参数及片段分割时长确定片段分割大小。
一般情况下,预设的片段分割大小为188字节的整数倍。
其中,根据媒体文件的特征参数及片段分割时长确定片段分割大小具体包括:首先根据媒体文件的文件大小和文件时长确定单位时间对应的文件大小,然后根据单位时间对应的文件大小和片段分割时长确定片段分割大小。
需要说明的是,由于划分媒体文件时的最小划分单位为字节(Byte),而根据上述方法算出的片段分割大小不一定是整数个字节,那么在划分虚拟片段时,虚拟片段的第一个字节和最后一个字节可能不是完整的一个字节,这两个字节不完整在播放虚拟片段时对用户观看感受的影响可以忽略不计。
为了消除每一个虚拟片段第一个字节与最后一个字节不是一个完整的字节的影响,可以将计算出的片段分割大小按照字节向下取整,例如,若计算出的片段分割大小为384.125字节,那么按照字节向下取整后得到384字节,那么可以确定分隔片段大小为384字节,那么除了最后一个虚拟片段之外的所有虚拟片段的大小都等于384字节,除最后一个虚拟片段之外的所有虚拟片段累计的误差,都可在最后一个字节进行修正。为了消除每一虚拟片段第一个字节与最后一个字节不是一个完整的字节的影响,还可以在计算出每一字节的结束位置时,按照结束位置的整数部分将字节数加一或者减一,以对每一虚拟片段的第一个字节或者最后一个字节的误差进行修正,例如,若根据计算的片段大小计算出某一虚拟片段的结束位置为第122.875字节,那么按照四舍五入,将该虚拟片段的结束位置设置为第123字节。
需要说明的是,在获取预先设定的片段分割大小或用户配置的片段分割大小得到片段分割大小的情况下,步骤101与步骤102没有先后顺序,可以先执行步骤101,再执行步骤102;也可以先执行步骤102,再执行步骤101;还可以同时执行步骤101和步骤102,本发明对此不作限制。在根据媒体文件的特征参数及片段分割时长确定片段分割大小的情况下,必须先执行步骤101和步骤102中的“获取片段分割时长”,然后才能获取片段分割大小,但是步骤101和步骤102中“获取片段分割时长”之间没有先后顺序。
103、根据媒体文件的特征参数、片段分割时长、片段分割大小确定媒体文件中每一虚拟片段的特征参数,并根据流媒体服务器的服务器标识、媒体文件的文件标识和每一虚拟片段的特征参数构造索引文件中的索引项。
其中,虚拟片段的特征参数用于在媒体文件中唯一确定出虚拟片段。
需要说明的是,在构造索引文件中的索引项前,还需要创建索引文件并写入基础字符串。索引文件分为基础字符串是索引文件的格式所要求的字符串。
需要说明的是,可以先计算媒体文件中所有虚拟片段的特征参数,并将每一虚拟片段的特征参数进行存储,然后根据流媒体服务器的服务器标识、媒体文件的文件标识和存储的每一虚拟片段的特征参数的构造索引文件;也可以在每计算出一个虚拟片段的特征参数时,就在索引文件中添加该虚拟片段对应的索引项。
需要说明的是,为了唯一确定出一个虚拟片段,所以需要的参数有虚拟片段在媒体文件中的具体位置,媒体文件在服务器中的标识以及存储该媒体文件的服务器在网络中的标识。M3U8文件中使用URL(Uniform Resource Locator, 统一资源定位符)语句构造索引项,其中URL的一般形式是:<URL的访问方式>://<主机>:<端口>/<路径>。
需要说明的是,每一虚拟片段的特征参数包括:每一虚拟片段的片段时长、起始位置和结束位置。相应的,步骤103可以通过如下步骤实现:
S1、初始化虚拟片段的起始位置。
需要说明的是,虚拟片段的起始位置就是需要配置相应索引项对应文件片段的相对于整个文件的位置。一般以整个文件的首地址为0进行偏移。
具体的,在需要制作媒体文件的整体对应的索引文件的情况下,初始化虚拟片段的起始位置相对于整个媒体文件的偏移量为0。所以一般情况下,此时会将该虚拟片段的起始位置设置为0。
S2、判断虚拟片段是否为媒体文件中的最后一个虚拟片段。
需要说明的是,由于需要根据固定的片段分割大小对文件进行划分,所以可能最后划分的一个虚拟片段的大小不等于片段分割大小,相应的,该虚拟片段的时间也可能不等于片段分割时长,那么最后一个虚拟片段的相关参数的确定方法与其他虚拟片段的参数的确定方法不同,所以需要判断当前等待处理的虚拟片段是否为最后一个虚拟片段。
需要说明的是,根据判断的结果不同,执行不同的步骤。若虚拟片段不是媒体文件中的最后一个虚拟片段,则执行步骤S3; 若虚拟片段是媒体文件中的最后一个虚拟片段,则执行步骤S4。
S3、若虚拟片段不是媒体文件中的最后一个虚拟片段,则根据虚拟片段的起始位置及片段分割大小确定虚拟片段的结束位置,将片段分割时长确定为虚拟片段的片段时长,根据流媒体服务器的服务器标识、媒体文件的文件标识和虚拟片段的特征参数构造索引文件中虚拟片段对应的索引项,并更新虚拟片段的起始位置,跳转至判断虚拟片段是否为媒体文件中的最后一个虚拟片段。
需要说明的是,在准备计算特征参数的虚拟片段不是最后一个虚拟片段的情况下,那么这个虚拟片段的片段时长就等于片段分割时长,这个虚拟片段的大小就等于片段分割大小。
需要说明的是,若该虚拟片段是第一个划分的虚拟片段,那么该虚拟片段的起始地址就是初始化时虚拟片段的起始位置;若该虚拟片段不是第一个划分的虚拟片段,那么该虚拟片段的起始位置已经在它前一个虚拟片段划分时确定。
具体的,将虚拟片段的起始位置加上片段分割大小后减一确定为虚拟片段的结束位置,即虚拟片段的结束位置=虚拟片段的起始位置+片段分割大小-1(字节),并且虚拟片段的片段时长=片段分割时长,然后按照索引项的构造规则,根据媒体服务器的服务器标识、媒体文件的文件标识和虚拟片段的特征参数在索引文件中添加该虚拟片段对应的索引项,此时当前虚拟片段的索引项构造完毕,然后就跳到下一虚拟片段,具体为更新虚拟片段的起始地址为虚拟片段的结束地址加上片段分割大小,然后跳装置步骤S2,继续判断下一虚拟片段是否为最后一个虚拟片段。
S4、若虚拟片段是媒体文件中的最后一个虚拟片段,则根据媒体文件的文件大小确定虚拟片段的结束位置,根据媒体文件的特征参数和虚拟片段的起始位置确定虚拟片段的片段时长,根据流媒体服务器的服务器标识、媒体文件的文件标识和虚拟片段的特征参数构造索引文件中虚拟片段对应的索引项。
需要说明的是,在准备计算特征参数的虚拟片段是最后一个虚拟片段的情况下,那么这个虚拟片段的片段时长和片段大小需要根据相关参数具体确定。
具体的,将媒体文件的文件大小对应的值确定为虚拟片段的结束位置,然后根据媒体文件的大小和虚拟片段的起始位置确定最后一个虚拟片段包含多少字节,接着根据媒体文件的文件大小和文件时长确定每一字节所需时长,最后根据最后一个虚拟片段包含的字节数目和每一字节所需时长确定最后一个虚拟片段的片段时长。接着按照索引项的构造规则,根据媒体服务器的服务器标识、媒体文件的文件标识和虚拟片段的特征参数在索引文件中添加该虚拟片段对应的索引项,此时所有虚拟片段的索引项构造完毕。
需要说明的是,判断最后一个虚拟片段的片段时长的方法还可以是将媒体文件的文件时长减去除最后一个虚拟片段外所有虚拟片段的片段时长得到的结果,确定为最后一个虚拟片段的片段时长。
需要说明的是,由于初始化虚拟片段的起始位置时将第一个虚拟片段的起始位置相对于整个媒体文件的偏移量设置为0,所以此时能够将最后一个虚拟片段的结束位置设置为媒体文件大小所对应的值。若第一个虚拟片段的起始位置设置N,那么最后一个虚拟片段的结束位置等于N+媒体文件大小所对应的值。
本发明实施例提供了一种使流媒体服务器支持HLS协议的方法,获取流媒体服务器的服务器标识及流媒体服务器中存储的媒体文件的文件标识和特征参数,并获取片段分割时长和片段分割大小;根据媒体文件的特征参数、片段分割时长、片段分割大小确定媒体文件中每一虚拟片段的特征参数,并根据流媒体服务器的服务器标识、媒体文件的文件标识和每一虚拟片段的特征参数构造索引文件中的索引项。通过将媒体文件虚拟的划分为虚拟片段,然后在索引文件中构造每一虚拟片段的索引项,这样使得流媒体服务器中存储的整个媒体文件有了对应的索引文件,在点播时只需要根据索引文件就能够分别获取到每一虚拟片段的内容,使得流媒体服务器能够支持HLS协议,同时由于索引文件相对于现有技术中将媒体文件进行分割后的分段文件相比需要的存储空间大大减少,所以较少了占用的服务器的存储空间。
本发明实施例提供了一种使流媒体服务器支持HLS协议的方法,如图2所示,包括:
201、获取流媒体服务器的服务器标识及流媒体服务器中存储的媒体文件的文件标识和特征参数。
其中,媒体文件的特征参数至少包括:媒体文件的文件大小、媒体文件的文件时长。
具体的,可参考步骤101,在此不再赘述。
202、获取片段分割时长和片段分割大小。
具体的,可参考步骤102,在此不再赘述。
203、初始化虚拟片段的起始位置,并根据媒体文件的文件时长初始化剩余播放时长。
需要说明的是,剩余播放时长就是该媒体文件播放至一个虚拟片段时,播放该媒体文件剩下内容所需的时长。
具体的,初始化虚拟片段的起始位置的方法可参考步骤103的S1,在此不再赘述。
具体的,在构造媒体文件的全部内容的索引文件时,第一个虚拟片段对应的剩余播放时长确定为媒体文件的文件时长。
204、判断剩余播放时长是否小于或等于片段分割时长。
需要说明的是,步骤204是判断当前虚拟片段是否为最后一个虚拟片段的一种方法,还可以用其他方法,例如根据剩余未划分的媒体文件大小和分割片段的大小判断。本发明对此不做限制。
需要说明的是,在获取片段分割大小时,如果采用了根据媒体文件的特征参数及片段分割时长确定片段分割大小的方法,并且为了消除每一虚拟片段第一个字节与最后一个字节不是一个完整的字节的影响,将计算出的片段分割大小按照字节向下取整,那么由于除最后一个虚拟片段外的其他虚拟片段的片段大小小于分割时长实际应该对应的片段大小,所以可能会出现当剩余时间小于片段分割时长,但是还未划分的文件大小大于片段分割大小的情况,此时需要根据剩余播放时长和片段分割时长判断是否为最后一个虚拟片段。
205、若剩余播放时长大于片段分割时长,则根据虚拟片段的起始位置及片段分割大小确定虚拟片段的结束位置,将片段分割时长确定为虚拟片段的片段时长,根据流媒体服务器的服务器标识、媒体文件的文件标识和虚拟片段的特征参数构造索引文件中虚拟片段对应的索引项,并更新虚拟片段的起始位置和播放文件剩余时长,跳转至判断虚拟片段是否为媒体文件中的最后一个虚拟片段。
具体的,根据虚拟片段的起始位置及片段分割大小确定虚拟片段的结束位置,将片段分割时长确定为虚拟片段的片段时长,根据流媒体服务器的服务器标识、媒体文件的文件标识和虚拟片段的特征参数构造索引文件中虚拟片段对应的索引项,并更新虚拟片段的起始位置,跳转至判断虚拟片段是否为媒体文件中的最后一个虚拟片段的方法,可参考步骤103中的S3,在此不在赘述。
需要说明的是,由于除最后一个虚拟片段外,其他虚拟片段的时长都等于片段分割时长,所以具体的更新播放文件剩余时长为当前剩余时长减去片段分割时长。
206、若剩余播放时长小于或等于片段分割时长的情况下,则根据媒体文件的文件大小确定虚拟片段的结束位置,根据媒体文件的特征参数和虚拟片段的起始位置确定虚拟片段的片段时长,根据流媒体服务器的服务器标识、媒体文件的文件标识和虚拟片段的特征参数构造索引文件中虚拟片段对应的索引项。
具体的,可参考步骤103中的S4,在此不在赘述。
本发明实施例提供了一种使流媒体服务器支持HLS协议的方法,获取流媒体服务器的服务器标识及流媒体服务器中存储的媒体文件的文件标识和特征参数,并获取片段分割时长和片段分割大小;根据媒体文件的特征参数、片段分割时长、片段分割大小确定媒体文件中每一虚拟片段的特征参数,并根据流媒体服务器的服务器标识、媒体文件的文件标识和每一虚拟片段的特征参数构造索引文件中的索引项。通过将媒体文件虚拟的划分为虚拟片段,然后在索引文件中构造每一虚拟片段的索引项,这样使得流媒体服务器中存储的整个媒体文件有了对应的索引文件,在点播时只需要根据索引文件就能够分别获取到每一虚拟片段的内容,使得流媒体服务器能够支持HLS协议,同时由于索引文件相对于现有技术中将媒体文件进行分割后的分段文件相比需要的存储空间大大减少,所以较少了占用的服务器的存储空间。
本发明实施例了一种使流媒体服务器支持HLS协议的方法,此时,用户点播的是媒体文件中的部分,可以不用构造媒体文件的所有内容对应的索引文件,只构造点播部分对应的索引文件。相应的如图3所示,包括:
301、获取流媒体服务器的服务器标识及流媒体服务器中存储的媒体文件的文件标识和特征参数。
其中,媒体文件的特征参数至少包括:媒体文件的文件大小、媒体文件的文件时长。
具体的,可参考步骤101,在此不再赘述。
302、获取播放文件的起始时间和结束时间。
其中,播放文件为媒体文件中的部分或全部。
需要说明的是,在用户只对媒体文件中的部分文件进行点播时,媒体文件中用户点播的部分被叫做播放文件,可以只对该部分文件制作索引文件。在用户使用HLS协议进行点播时,只能够对有索引文件的媒体文件中的部分文件进行点播。
需要说明的是,播放文件的起始时间和结束时间的值在0与媒体文件的文件时长之间。
具体的,可以将媒体文件分为几部分,每一部分都可以作为一个播放文件,此时可以从流媒体服务器获取播放文件的起始时间和结束时间。也可以是用户只点播该媒体文件的一部分,此时从终端获取播放文件的起始时间的结束时间。
需要说明的是,一般情况下用户只设定点播的起始时间,所以此时,可以默认结束时间是媒体文件的文件时长。
需要说明的是,在播放文件是媒体文件的全部的情况下,默认播放文件的起始时间为0,播放文件的结束时间为媒体文件的文件时长。
303、根据媒体文件的特征参数和播放文件的起始时间和结束时间确定播放文件的起始位置与结束位置。
具体的,首先根据媒体文件的文件大小和文件时长确定单位时间对应的文件大小,然后根据单位时间对应的文件大小和播放文件的起始时间确定播放文件的起始位置,并根据单位时间对应的文件大小和播放文件的结束时间确定播放文件的结束位置。
需要说明的是,上述具体实现的方式是将媒体文件的首地址的偏移量设置为0进行计算。若设置媒体文件的首地址的偏移量为M,相应 的,播放文件的起始位置和结束位置分别在上述计算的基础上加M。
304、获取片段分割时长和片段分割大小。
具体的,可参考步骤102,在此不再赘述。
305、根据媒体文件的特征参数、播放文件的起始时间和结束时间、片段分割时长、片段分割大小、播放文件的起始位置与结束位置确定媒体文件中每一虚拟片段的特征参数,并根据流媒体服务器的服务器标识、媒体文件的文件标识和每一虚拟片段的特征参数构造媒体文件中播放文件的索引文件的索引项。
需要说明的是,此时除了初始化虚拟片段的起始位置为播放文件的起始位置、以及判断虚拟片段是否为播放文件中的最后一个虚拟片段,其他都可参考步骤103,在此不再赘述。
本发明实施例提供了一种使流媒体服务器支持HLS协议的方法,获取流媒体服务器的服务器标识及流媒体服务器中存储的媒体文件的文件标识和特征参数,获取播放文件的起始时间和结束时间并计算出播放文件的启示起始位置和结束位置,然后获取片段分割时长和片段分割大小;根据媒体文件的特征参数、播放文件的起始时间和结束时间、片段分割时长、片段分割大小、播放文件的起始位置与结束位置确定媒体文件中每一虚拟片段的特征参数,并根据流媒体服务器的服务器标识、媒体文件的文件标识和每一虚拟片段的特征参数构造媒体文件中播放文件的索引文件的索引项。通过将媒体文件中的播放文件虚拟的划分为虚拟片段,然后在索引文件中构造每一虚拟片段的索引项,这样使得流媒体服务器中媒体文件中的播放文件有了对应的索引文件,在点播时只需要根据索引文件就能够分别获取到每一虚拟片段的内容,使得流媒体服务器能够支持HLS协议同时由于索引文件相对于现有技术中将媒体文件进行分割后的分段文件相比需要的存储空间大大减少,所以较少了占用的服务器的存储空间。
进一步的,如图4所示,在构造媒体文件的索引文件方法的基础上,还包括如图4所示的查找流程。包括:
401、获取终端的点播指令。
其中,点播指令用于点播流媒体服务器中存储的媒体文件。
需要说明的是,可以先执行步骤401获取点播指令,然后临时动态的构造索引文件;也可以在执行步骤401获取点播指令之前,就已经为流媒体服务器中的媒体文件构造了索引文件。本发明对此不做限制。但是步骤402的执行一定是在构造了需要点播的媒体文件的索引文件后执行。
402、根据点播指令,利用索引文件从媒体文件中查找虚拟片段,并依次将虚拟片段发送至终端。
具体的,终端先访问点播指令指示的需要点播的媒体文件对应的索引文件,依次获得索引项并解析索引项,然后根据索引项中的服务器标识查找到对应的流媒体服务器,根据媒体文件的文件标识在流媒体服务器中查找到对应的媒体文件,根据虚拟片段的特征参数确定媒体文件中的虚拟片段,最后将该虚拟片段中的数据发送至终端。
本发明实施例提供了一种使流媒体服务器支持HLS协议的方法,在制作媒体文件的索引文件之外,还提供了根据索引文件查找媒体文件中的虚拟片段,并依次将虚拟片段发送至终端,这样通过点播指令能够使用索引文件,使流媒体服务器能够支持HLS协议。同时由于索引文件相对于现有技术中将媒体文件进行分割后的分段文件相比需要的存储空间大大减少,所以较少了占用的服务器的存储空间。
如图5所示,其为本发明实施例提供的一种流媒体服务器的功能示意图。参考图5所示,该流媒体服务器包括:获取单元501和处理单元502。
获取单元501,用于获取流媒体服务器的服务器标识及流媒体服务器中存储的媒体文件的文件标识和特征参数。
其中,媒体文件的特征参数至少包括:媒体文件的文件大小、媒体文件的文件时长。
流媒体服务器的标识信息包括:流媒体服务器的主机号和端口号。
获取单元501,还用于获取片段分割时长和片段分割大小。
进一步的,获取单元501,具体用于根据媒体文件的特征参数及片段分割时长确定片段分割大小。
处理单元502,用于根据媒体文件的特征参数、片段分割时长、片段分割大小确定媒体文件中每一虚拟片段的特征参数,并根据流媒体服务器的服务器标识、媒体文件的文件标识和每一虚拟片段的特征参数构造索引文件中的索引项。
其中,虚拟片段的特征参数用于在媒体文件中唯一确定出虚拟片段。
具体的,每一虚拟片段的特征参数包括:每一虚拟片段的片段时长、起始位置和结束位置。
处理单元502,具体用于初始化虚拟片段的起始位置,以及判断虚拟片段是否为媒体文件中的最后一个虚拟片段;
在虚拟片段不是媒体文件中的最后一个虚拟片段的情况下,处理单元502具体用于根据虚拟片段的起始位置及片段分割大小确定虚拟片段的结束位置,将片段分割时长确定为虚拟片段的片段时长,根据流媒体服务器的服务器标识、媒体文件的文件标识和虚拟片段的特征参数构造索引文件中虚拟片段对应的索引项,并更新虚拟片段的起始位置,跳转至判断虚拟片段是否为媒体文件中的最后一个虚拟片段;
在虚拟片段是媒体文件中的最后一个虚拟片段的情况下,处理单元502具体用于根据媒体文件的文件大小确定虚拟片段的结束位置,根据媒体文件的特征参数和虚拟片段的起始位置确定虚拟片段的片段时长,根据流媒体服务器的服务器标识、媒体文件的文件标识和虚拟片段的特征参数构造索引文件中虚拟片段对应的索引项。
进一步的,处理单元502,还用于根据媒体文件的文件时长初始化剩余播放时长。
相应的,处理单元502,具体用于判断剩余播放时长是否小于或等于片段分割时长;
虚拟片段不是媒体文件中的最后一个虚拟片段包括:若剩余播放时长大于片段分割时长,则判断虚拟片段不是媒体文件中的最后一个虚拟片段;
虚拟片段是媒体文件中的最后一个虚拟片段包括:若剩余播放时长小于或等于片段分割时长,则判断虚拟片段是媒体文件中的最后一个虚拟片段;
处理单元502,还用于更新播放文件剩余时长。
进一步的,获取单元501,还用于获取播放文件的起始时间和结束时间;
其中,播放文件为媒体文件中的部分或全部。
相应的,处理单元502,还用于根据媒体文件的特征参数和播放文件的起始时间和结束时间确定播放文件的起始位置与结束位置。
处理单元502,具体用于根据媒体文件的特征参数、播放文件的起始时间和结束时间、片段分割时长、片段分割大小、播放文件的起始位置与结束位置确定媒体文件中每一虚拟片段的特征参数,并根据流媒体服务器的服务器标识、媒体文件的文件标识和每一虚拟片段的特征参数构造媒体文件中播放文件的索引文件的索引项。
在图5的基础上,进一步的,如图6所示,该流媒体服务器还包括:发送单元503。
相应的,获取单元501,还用于获取终端的点播指令。
其中,点播指令用于点播流媒体服务器中存储的媒体文件。
处理单元502,还用于根据点播指令,利用索引文件从媒体文件中查找虚拟片段。
发送单元503,用于依次将虚拟片段发送至终端。
本发明实施例提供了一种流媒体服务器,获取流媒体服务器的服务器标识及流媒体服务器中存储的媒体文件的文件标识和特征参数,获取播放文件的起始时间和结束时间并计算出播放文件的起始位置和结束位置,然后获取片段分割时长和片段分割大小;根据媒体文件的特征参数、播放文件的起始时间和结束时间、片段分割时长、片段分割大小、播放文件的起始位置与结束位置确定媒体文件中每一虚拟片段的特征参数,并根据流媒体服务器的服务器标识、媒体文件的文件标识和每一虚拟片段的特征参数构造媒体文件中播放文件的索引文件的索引项。通过将媒体文件中的播放文件虚拟的划分为虚拟片段,然后在索引文件中构造每一虚拟片段的索引项,这样使得流媒体服务器中媒体文件中的播放文件有了对应的索引文件,在点播时只需要根据索引文件就能够分别获取到每一虚拟片段的内容,使得流媒体服务器能够支持HLS协议,同时由于索引文件相对于现有技术中将媒体文件进行分割后的分段文件相比需要的存储空间大大减少,所以较少了占用的服务器的存储空间。
在本申请所提供的几个实施例中,应该理解到,所揭露的系统,装置和方法,可以通过其它的方式实现。例如,以上所描述的装置实施例仅仅是示意性的,例如,所述单元的划分,仅仅为一种逻辑功能划分,实际实现时可以有另外的划分方式,例如多个单元或组件可以结合或者可以集成到另一个系统,或一些特征可以忽略,或不执行。另一点,所显示或讨论的相互之间的耦合或直接耦合或通信连接可以是通过一些接口,装置或单元的间接耦合或通信连接,可以是电性,机械或其它的形式。
所述作为分离部件说明的单元可以是或者也可以不是物理上分开的,作为单元显示的部件可以是或者也可以不是物理单元,即可以位于一个地方,或者也可以分布到多个网络单元上。可以根据实际的需要选择其中的部分或者全部单元来实现本实施例方案的目的。
另外,在本发明各个实施例中的各功能单元可以集成在一个处理单元中,也可以是各个单元单独物理包括,也可以两个或两个以上单元集成在一个单元中。上述集成的单元既可以采用硬件的形式实现,也可以采用硬件加软件功能单元的形式实现。
上述以软件功能单元的形式实现的集成的单元,可以存储在一个计算机可读取存储介质中。上述软件功能单元存储在一个存储介质中,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例所述方法的部分步骤。而前述的存储介质包括:U盘、移动硬盘、只读存储器(Read-Only Memory,简称ROM)、随机存取存储器(Random Access Memory,简称RAM)、磁碟或者光盘等各种可以存储程序代码的介质。
最后应说明的是:以上实施例仅用以说明本发明的技术方案,而非对其限制;尽管参照前述实施例对本发明进行了详细的说明,本领域的普通技术人员应当理解:其依然可以对前述各实施例所记载的技术方案进行修改,或者对其中部分技术特征进行等同替换;而这些修改或者替换,并不使相应技术方案的本质脱离本发明各实施例技术方案的精神和范围。
Claims (6)
1.一种使流媒体服务器支持超文本直播流HLS协议的方法,其特征在于,包括:
获取流媒体服务器的服务器标识及所述流媒体服务器中存储的媒体文件的文件标识和特征参数;所述媒体文件的特征参数至少包括:所述媒体文件的文件大小、所述媒体文件的文件时长;
获取片段分割时长和片段分割大小;
所述获取片段分割大小为获取预先设定的片段分割大小,或者是获取用户配置的片段分割大小,或者是根据媒体文件的特征参数及片段分割时长确定片段分割大小;
根据所述媒体文件的特征参数、所述片段分割时长、所述片段分割大小确定所述媒体文件中每一虚拟片段的特征参数,并根据所述流媒体服务器的服务器标识、所述媒体文件的文件标识和所述每一虚拟片段的特征参数构造索引文件中的索引项;所述虚拟片段的特征参数用于在所述媒体文件中唯一确定出所述虚拟片段;
其中,所述虚拟片段的特征参数包括:所述虚拟片段的片段时长、起始位置和结束位置;
所述根据所述媒体文件的特征参数、所述片段分割时长、所述片段分割大小确定所述媒体文件中每一虚拟片段的特征参数,并根据所述流媒体服务器的服务器标识、所述媒体文件的文件标识和所述每一虚拟片段的特征参数构造所述索引文件中的索引项,具体包括:
初始化虚拟片段的起始位置;
判断所述虚拟片段是否为所述媒体文件中的最后一个虚拟片段;
若所述虚拟片段不是所述媒体文件中的最后一个虚拟片段,则根据所述虚拟片段的起始位置及所述片段分割大小确定所述虚拟片段的结束位置,将所述片段分割时长确定为所述虚拟片段的片段时长,根据所述流媒体服务器的服务器标识、所述媒体文件的文件标识和所述虚拟片段的特征参数构造所述索引文件中所述虚拟片段对应的索引项,并更新所述虚拟片段的起始位置,跳转至所述判断所述虚拟片段是否为所述媒体文件中的最后一个虚拟片段;
若所述虚拟片段是所述媒体文件中的最后一个虚拟片段,则根据所述媒体文件的文件大小确定所述虚拟片段的结束位置,根据所述媒体文件的特征参数和所述虚拟片段的起始位置确定所述虚拟片段的片段时长,根据所述流媒体服务器的服务器标识、所述媒体文件的文件标识和所述虚拟片段的特征参数构造所述索引文件中所述虚拟片段对应的索引项。
2.根据权利要求1所述的方法,其特征在于,在所述判断所述虚拟片段是否为所述媒体文件中的最后一个虚拟片段之前,还包括:
根据所述媒体文件的文件时长初始化剩余播放时长;
所述判断所述虚拟片段是否为所述媒体文件中的最后一个虚拟片段包括:判断所述剩余播放时长是否小于或等于所述片段分割时长;
所述虚拟片段不是所述媒体文件中的最后一个虚拟片段包括:若所述剩余播放时长大于所述片段分割时长,则判断所述虚拟片段不是所述媒体文件中的最后一个虚拟片段;
所述虚拟片段是所述媒体文件中的最后一个虚拟片段包括:若所述剩余播放时长小于或等于所述片段分割时长,则判断所述虚拟片段是所述媒体文件中的最后一个虚拟片段;
在所述更新所述虚拟片段的起始位置时,还包括:更新所述剩余播放时长。
3.根据权利要求1所述的方法,其特征在于,在所述根据所述媒体文件的特征参数、所述片段分割时长、所述片段分割大小确定所述媒体文件中每一虚拟片段的特征参数,并根据所述流媒体服务器的服务器标识、所述媒体文件的文件标识和所述每一虚拟片段的特征参数构造索引文件中的索引项之后,还包括:
获取终端的点播指令;所述点播指令用于点播所述流媒体服务器中存储的所述媒体文件;
根据所述点播指令,利用所述索引文件从所述媒体文件中查找虚拟片段,并依次将所述虚拟片段发送至所述终端。
4.根据权利要求1所述的方法,其特征在于,在所述根据所述媒体文件的特征参数、所述片段分割时长、所述片段分割大小确定所述媒体文件中每一虚拟片段的特征参数,并根据所述流媒体服务器的服务器标识、所述媒体文件的文件标识和所述每一虚拟片段的特征参数构造索引文件中的索引项之前,还包括:
获取播放文件的起始时间和结束时间;所述播放文件为所述媒体文件中的部分或全部;
根据所述媒体文件的特征参数和播放文件的起始时间和结束时间确定所述播放文件的起始位置与结束位置;
所述根据所述媒体文件的特征参数、所述片段分割时长、所述片段分割大小确定所述媒体文件中每一虚拟片段的特征参数,并根据所述流媒体服务器的服务器标识、所述媒体文件的文件标识和所述每一虚拟片段的特征参数构造索引文件的索引项包括:
根据所述媒体文件的特征参数、所述播放文件的起始时间和结束时间、所述片段分割时长、所述片段分割大小、所述播放文件的起始位置与结束位置确定所述媒体文件中每一虚拟片段的特征参数,并根据所述流媒体服务器的服务器标识、所述媒体文件的文件标识和所述每一虚拟片段的特征参数构造所述媒体文件中所述播放文件的索引文件的索引项。
5.根据权利要求1所述的方法,其特征在于,所述获取片段分割大小包括:
根据所述媒体文件的特征参数及所述片段分割时长确定所述片段分割大小。
6.根据权利要求1所述的方法,其特征在于,
所述流媒体服务器的标识信息包括:所述流媒体服务器的主机号和端口号。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810119061.8A CN108124202B (zh) | 2015-01-30 | 2015-01-30 | 一种使流媒体服务器支持hls协议的方法 |
Applications Claiming Priority (2)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201810119061.8A CN108124202B (zh) | 2015-01-30 | 2015-01-30 | 一种使流媒体服务器支持hls协议的方法 |
CN201510051752.5A CN104602138B (zh) | 2015-01-30 | 2015-01-30 | 一种使流媒体服务器支持hls协议的方法及装置 |
Related Parent Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510051752.5A Division CN104602138B (zh) | 2015-01-30 | 2015-01-30 | 一种使流媒体服务器支持hls协议的方法及装置 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN108124202A true CN108124202A (zh) | 2018-06-05 |
CN108124202B CN108124202B (zh) | 2020-07-21 |
Family
ID=53127571
Family Applications (2)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201810119061.8A Active CN108124202B (zh) | 2015-01-30 | 2015-01-30 | 一种使流媒体服务器支持hls协议的方法 |
CN201510051752.5A Active CN104602138B (zh) | 2015-01-30 | 2015-01-30 | 一种使流媒体服务器支持hls协议的方法及装置 |
Family Applications After (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201510051752.5A Active CN104602138B (zh) | 2015-01-30 | 2015-01-30 | 一种使流媒体服务器支持hls协议的方法及装置 |
Country Status (1)
Country | Link |
---|---|
CN (2) | CN108124202B (zh) |
Cited By (2)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111866549A (zh) * | 2019-04-29 | 2020-10-30 | 腾讯科技(深圳)有限公司 | 一种视频处理方法及装置、终端、存储介质 |
CN117336311A (zh) * | 2023-11-30 | 2024-01-02 | 深圳市小溪流科技有限公司 | 一种使多台hls服务器切片保持一致性的方法及其装置 |
Families Citing this family (13)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN104883626A (zh) * | 2015-05-22 | 2015-09-02 | 深圳市九洲电器有限公司 | 流媒体管理方法及系统 |
CN105302883B (zh) * | 2015-10-13 | 2018-12-21 | 深圳市乐唯科技开发有限公司 | 一种基于时间的媒体文件的管理方法和系统 |
CN106658230A (zh) * | 2015-10-29 | 2017-05-10 | 北京国双科技有限公司 | 视频时长的划分方法及装置 |
CN106658229A (zh) * | 2015-10-29 | 2017-05-10 | 北京国双科技有限公司 | 视频时长的划分方法及装置 |
CN107277081A (zh) * | 2016-04-06 | 2017-10-20 | 北京优朋普乐科技有限公司 | 流媒体数据的切片下载方法和装置、流媒体系统 |
CN105872598A (zh) * | 2016-04-25 | 2016-08-17 | 乐视控股(北京)有限公司 | 多媒体直播方法及装置 |
CN107613321A (zh) * | 2016-07-12 | 2018-01-19 | 北京数码视讯科技股份有限公司 | 一种节目录制方法及装置 |
CN106488259B (zh) * | 2016-10-25 | 2019-09-06 | 上海网达软件股份有限公司 | 一种hls流媒体分片的拼接方法及系统 |
CN106973080A (zh) * | 2017-02-20 | 2017-07-21 | 绿网天下(福建)网络科技股份有限公司 | 一种局域网大文件分发方法及系统 |
CN107370726B (zh) * | 2017-06-22 | 2021-05-04 | 上海网达软件股份有限公司 | 一种用于分布式媒体文件转码系统的虚拟切片方法及系统 |
CN110740342B (zh) * | 2019-09-06 | 2022-02-18 | 浙江大华技术股份有限公司 | 存储介质、流媒体传输及播放方法、分片方法和装置 |
CN112256634B (zh) * | 2020-10-14 | 2024-03-26 | 杭州当虹科技股份有限公司 | 一种基于http的低内存大文件解析方法 |
CN113806316B (zh) * | 2021-09-15 | 2022-06-21 | 星环众志科技(北京)有限公司 | 一种文件同步方法、设备及存储介质 |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227590A (zh) * | 2007-01-19 | 2008-07-23 | 北京风行在线技术有限公司 | 基于p2p协议的媒体文件点播控制方法及装置 |
US20110264727A1 (en) * | 2010-04-26 | 2011-10-27 | Samsung Electronics Co. Ltd. | Method and apparatus for playing live content |
CN102801690A (zh) * | 2011-05-25 | 2012-11-28 | 华为技术有限公司 | 流媒体的处理方法、分发服务器、客户端及系统 |
CN103354618A (zh) * | 2013-06-24 | 2013-10-16 | 西安交通大学 | 一种基于hls的多场景流媒体自适应直播方法 |
WO2013154364A1 (ko) * | 2012-04-13 | 2013-10-17 | 애니포인트 미디어그룹(영업소) | 스트리밍 재생 방법 및 이를 이용한 컴퓨팅 장치 |
Family Cites Families (3)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US7738561B2 (en) * | 2004-11-16 | 2010-06-15 | Industrial Technology Research Institute | MPEG-4 streaming system with adaptive error concealment |
CN101420452A (zh) * | 2008-12-05 | 2009-04-29 | 深圳市迅雷网络技术有限公司 | 一种视频文件的发布方法及装置 |
CN102088620B (zh) * | 2010-12-01 | 2014-06-18 | 中兴通讯股份有限公司南京分公司 | 一种内容分发网络中媒体文件下载方法及客户端 |
-
2015
- 2015-01-30 CN CN201810119061.8A patent/CN108124202B/zh active Active
- 2015-01-30 CN CN201510051752.5A patent/CN104602138B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101227590A (zh) * | 2007-01-19 | 2008-07-23 | 北京风行在线技术有限公司 | 基于p2p协议的媒体文件点播控制方法及装置 |
US20110264727A1 (en) * | 2010-04-26 | 2011-10-27 | Samsung Electronics Co. Ltd. | Method and apparatus for playing live content |
CN102801690A (zh) * | 2011-05-25 | 2012-11-28 | 华为技术有限公司 | 流媒体的处理方法、分发服务器、客户端及系统 |
WO2013154364A1 (ko) * | 2012-04-13 | 2013-10-17 | 애니포인트 미디어그룹(영업소) | 스트리밍 재생 방법 및 이를 이용한 컴퓨팅 장치 |
CN103354618A (zh) * | 2013-06-24 | 2013-10-16 | 西安交通大学 | 一种基于hls的多场景流媒体自适应直播方法 |
Cited By (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN111866549A (zh) * | 2019-04-29 | 2020-10-30 | 腾讯科技(深圳)有限公司 | 一种视频处理方法及装置、终端、存储介质 |
US11600299B2 (en) | 2019-04-29 | 2023-03-07 | Tencent Technology (Shenzhen) Company Limited | Video processing method and apparatus, terminal, and storage medium |
CN111866549B (zh) * | 2019-04-29 | 2023-03-24 | 腾讯科技(深圳)有限公司 | 一种视频处理方法及装置、终端、存储介质 |
US11922972B2 (en) | 2019-04-29 | 2024-03-05 | Tencent Technology (Shenzhen) Company Limited | Method and apparatus for video coding |
CN117336311A (zh) * | 2023-11-30 | 2024-01-02 | 深圳市小溪流科技有限公司 | 一种使多台hls服务器切片保持一致性的方法及其装置 |
CN117336311B (zh) * | 2023-11-30 | 2024-03-12 | 深圳市小溪流科技有限公司 | 一种使多台hls服务器切片保持一致性的方法及其装置 |
Also Published As
Publication number | Publication date |
---|---|
CN104602138B (zh) | 2018-05-08 |
CN104602138A (zh) | 2015-05-06 |
CN108124202B (zh) | 2020-07-21 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN104602138B (zh) | 一种使流媒体服务器支持hls协议的方法及装置 | |
US8943215B2 (en) | Distributed smooth streaming utilizing dynamic manifests | |
US8516144B2 (en) | Startup bitrate in adaptive bitrate streaming | |
JP4592749B2 (ja) | セッション記述メッセージ拡張子 | |
JP6173485B2 (ja) | 適応型ストリーミングにおけるurlパラメータ挿入及び追加 | |
CN104581374B (zh) | 一种获取切片文件和生成子m3u8文件的方法、节点及服务器 | |
CN106162062B (zh) | 获取监控视频的方法和系统 | |
KR101743228B1 (ko) | 스트리밍 장치 및 그 방법, 이를 이용한 스트리밍 서비스 시스템 및 컴퓨터로 판독 가능한 기록매체 | |
JP2008546229A (ja) | ネットワーク伝送のためコンテンツをパケット化する方法および装置 | |
US20160134900A1 (en) | Streaming media processing method, apparatus, and system | |
KR20120103649A (ko) | 서술파일을 기반으로 한 개별화된 데이터 통신 | |
CN105279217B (zh) | 可重构内容对象 | |
KR20150131239A (ko) | 광고 다운로드 검증 | |
WO2012162995A1 (zh) | 传输流媒体的方法及设备 | |
US20150268808A1 (en) | Method, Device and System for Multi-Speed Playing | |
CN109151491A (zh) | 数据分发系统、方法及计算机可读存储介质 | |
WO2012126257A1 (zh) | 媒体数据处理方法及其装置 | |
CN105592369B (zh) | 一种视频摘要处理方法及装置 | |
CN112153042A (zh) | Web端音频在线播放防止下载的方法、系统、设备及介质 | |
US11490171B2 (en) | Early termination of content | |
CN110519656B (zh) | 自适应流媒体的播放方法、系统以及服务器 | |
CN108540481B (zh) | 一种音频文件的在线播放方法及装置 | |
CN107645475A (zh) | 异质网络中的文件资源分发系统与方法 | |
CN110545489A (zh) | 自适应流媒体的播放方法、系统及客户端 | |
CN106303577A (zh) | 下载流媒体的方法及装置 |
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 |