CN105357544A - 一种基于hls的多媒体文件处理方法及服务器 - Google Patents

一种基于hls的多媒体文件处理方法及服务器 Download PDF

Info

Publication number
CN105357544A
CN105357544A CN201510718500.3A CN201510718500A CN105357544A CN 105357544 A CN105357544 A CN 105357544A CN 201510718500 A CN201510718500 A CN 201510718500A CN 105357544 A CN105357544 A CN 105357544A
Authority
CN
China
Prior art keywords
file
section
tmpfs
stored
sub
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
CN201510718500.3A
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.)
Inspur Software Group Co Ltd
Original Assignee
Inspur Software Group 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 Inspur Software Group Co Ltd filed Critical Inspur Software Group Co Ltd
Priority to CN201510718500.3A priority Critical patent/CN105357544A/zh
Publication of CN105357544A publication Critical patent/CN105357544A/zh
Pending legal-status Critical Current

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/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/23Processing of content or additional data; Elementary server operations; Server middleware
    • H04N21/231Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion
    • H04N21/23113Content storage operation, e.g. caching movies for short term storage, replicating data over plural servers, prioritizing data for deletion involving housekeeping operations for stored content, e.g. prioritizing content for deletion because of storage space restrictions
    • 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/234Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs
    • H04N21/2343Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements
    • H04N21/234336Processing of video elementary streams, e.g. splicing of video streams or manipulating encoded video stream scene graphs involving reformatting operations of video signals for distribution or compliance with end-user requests or end-user device requirements by media transcoding, e.g. video is transformed into a slideshow of still pictures or audio is converted into text
    • 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

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Information Retrieval, Db Structures And Fs Structures Therefor (AREA)

Abstract

本发明提供了一种基于HLS的多媒体文件处理方法及服务器,其中,所述方法包括:构建tmpfs文件***;在tmpfs文件***中构建至少一个文件夹;将目标多媒体文件转码成至少一个切片文件,将全部切片文件存储至至少一个文件夹下;针对每一个切片文件,将当前切片文件的文件信息存储至数据库中;分别接收来自至少两个客户端的播放请求指令,生成分别对应于每一个客户端的索引文件M3U8,将生成的M3U8返回至对应的客户端;分别接收来自至少两个客户端的文件请求指令,根据文件请求指令从tmpfs文件***中获取目标切片文件并向对应的客户端提供目标切片文件。通过本发明的技术方案,可提升用户体验。

Description

一种基于HLS的多媒体文件处理方法及服务器
技术领域
本发明涉及多媒体技术领域,特别涉及一种基于HLS的多媒体文件处理方法及服务器。
背景技术
HLS(HTTPLiveStreaming,动态码率自适应技术)是当前用于实现播放多媒体文件的主要技术手段,通过在服务器中将目标多媒体文件(比如,音频、视频)转码成多个切片文件,然后将转码后的切片文件存储至磁盘中,将每一个切片文件的转码时间点、播放时长以及在磁盘上的存储路径等文件信息存放在数据库中,当存在客户端需要播放目标多媒体文件时,服务器即会根据客户端的播放需求生成一个文件目录索引文件,客户端可通过该文件目录索引文件从服务器的磁盘中读取相应的切片文件以完成播放目标多媒体文件。
在上述技术方案中,切片文件存储在服务器的磁盘中,当多个客户端同时播放该磁盘上的目标多媒体文件时,即需要对该磁盘进行频繁的读写操作,导致服务器的响应速度较慢,甚至出现IO瓶颈导致部分客户端并不能成功播放目标多媒体文件,用户体验较差。
发明内容
有鉴于此,本发明提供了一种基于HLS的多媒体文件处理方法及服务器,可提升用户体验。
第一方面,本发明提供了一种基于HLS的多媒体文件处理方法,包括:
S0:构建tmpfs文件***;
S1:在tmpfs文件***中构建至少一个文件夹;
S2:获取目标多媒体文件,将目标多媒体文件转码成至少一个切片文件,将全部切片文件存储至至少一个文件夹下;
S3:针对存储在至少一个文件夹下的每一个切片文件,将当前切片文件的文件信息存储至数据库中;
S4:分别接收来自至少两个客户端的播放请求指令,分别根据不同的播放请求指令以及数据库中存储的每一个切片文件的文件信息,生成分别对应于每一个客户端的索引文件M3U8,将生成的M3U8返回至对应的客户端;
S5:分别接收来自至少两个客户端根据对应的M3U8触发的文件请求指令,所述文件请求指令中携带目标切片文件的文件信息,根据目标切片文件的文件信息从tmpfs文件***中获取目标切片文件并向对应的客户端提供目标切片文件。
进一步的,
所述在文件***中构建至少一个文件夹之后,还包括:在至少一个文件夹下,构建至少两个子文件夹,每一个子文件夹分别用于存储在不同时间段内转码的切片文件;
所述将全部切片文件存储至至少一个文件夹下,包括:确定每一个切片文件的转码时间,根据每一个切片文件分别对应的转码时间点分别将每一个切片文件存储至至少一个文件夹下的子文件夹中。
进一步的,
所述将目标多媒体文件转码成至少一个切片文件之后,进一步包括:针对每一个切片文件,按照YYMMDDHHMMSS_LENGTH.TS格式对当前切片文件进行命名;
所述构建至少两个子文件夹之后,进一步包括:针对每一个子文件夹,按照YYMMDDHH格式对当前子文件夹进行命名;
其中,YYMMDDHHMMSS用于表征当前切片文件的转码时间点、LENGTH用于表征当前切片文件的播放时长、TS用于表征当前切片文件的文件格式,YYMMDDHHMM用于表征当前子文件夹内存储的每一个切片文件的转码时间点对应的时间范围。
进一步的,所述将当前切片文件的文件信息存储至数据库中,包括:
将当前切片文件的文件名称、存储路径、以及转码时间存储至数据库中。
进一步的,所述构建tmpfs文件***,包括:
执行如下命令以构建tmpfs文件***:
#mounttmpfs/tmpfs/inspur_shift-ttmpfs;
#mounttmpfs/tmpfs/inspur_shift-ttmpfs-osize=3g。
第二方面,本发明提供了一种服务器,包括:
第一构建单元,用于构建tmpfs文件***;
第二构建单元,用于在tmpfs文件***中构建至少一个文件夹;
第一处理单元,用于获取目标多媒体文件,将目标多媒体文件转码成至少一个切片文件,将全部切片文件存储至至少一个文件夹下;
数据库,用于针对存储在至少一个文件夹下的每一个切片文件,将当前切片文件的文件信息存储至数据库中;
第二处理单元,用于分别接收来自至少两个客户端的播放请求指令,分别根据不同的播放请求指令以及数据库中存储的每一个切片文件的文件信息,生成分别对应于每一个客户端的索引文件M3U8,将生成的M3U8返回至对应的客户端;
第三处理单元,用于分别接收来自至少两个客户端根据对应的M3U8触发的文件请求指令,所述文件请求指令中携带目标切片文件的文件信息,根据目标切片文件的文件信息从tmpfs文件***中获取目标切片文件并向对应的客户端提供目标切片文件。
进一步的,
所述第二构建单元,进一步用于在至少一个文件夹下,构建至少两个子文件夹,每一个子文件夹分别用于存储在不同时间段内转码的切片文件;
所述第一处理单元,用于确定每一个切片文件的转码时间,根据每一个切片文件分别对应的转码时间点分别将每一个切片文件存储至至少一个文件夹下的子文件夹中。
进一步的,
所述第一处理单元,进一步用于针对每一个切片文件,按照YYMMDDHHMMSS_LENGTH.TS格式对当前切片文件进行命名;;
所述第二构建单元,进一步用于针对每一个子文件夹,按照YYMMDDHH格式对当前子文件夹进行命名;
其中,YYMMDDHHMMSS用于表征当前切片文件的转码时间点、LENGTH用于表征当前切片文件的播放时长、TS用于表征当前切片文件的文件格式,YYMMDDHHMM用于表征当前子文件夹内存储的每一个切片文件的转码时间点对应的时间范围。
进一步的,
所述数据库,用于将当前切片文件的文件名称、存储路径、以及转码时间存储至数据库中。
进一步的,
所述第一构建单元,用于执行如下命令以构建tmpfs文件***:
#mounttmpfs/tmpfs/inspur_shift-ttmpfs;
#mounttmpfs/tmpfs/inspur_shift-ttmpfs-osize=3g。
本发明提供了一种基于HLS的多媒体文件处理方法及服务器,通过构建tmpfs文件***,将目标多媒体文件对应的切片文件存储至tmpfs文件***下的至少一个文件夹,并将每一个切片文件在tmpfs文件***下的文件信息存储至数据库中,当分别接收到来自至少两个客户端的播放请求指令时,根据播放请求指令以及数据库中存储的每一个切片文件的文件信息生成分别对应每一个客户端的索引文件M3U8,分别将生成的索引文件返回至对应的客户端,以使客户端可通过M3U8触发携带目标切片文件的文件信息的文件请求指令,当接收到来自客户端的文件请求指令时,即可根据文件请求指令中携带的目标切片文件的文件信息从tmpfs文件***中读取对应的目标切片文件,并向对应的客户端提供目标切片文件;由于tmpfs是一种基于内存的文件***,目标多媒体文件的切片文件均存储在内存中,因此,针对切片文件的存取过程对应于对内存的读写操作,内存读写速度较快,可提高服务器的响应速度,进而提升用户体验。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1是本发明一实施例提供的一种基于HLS的多媒体文件处理方法的流程图;
图2是本发明一实施例提供的另一种基于HLS的多媒体文件处理方法的流程图;
图3是本发明一实施例提供的一种切片文件在tmpfs文件***下的存储结构示意图;
图4是本发明一实施例提供的一种切片文件的文件信息在数据库中的存储结构示意图;
图5是本发明一实施例提供的一种M3U8的结构示意图;
图6是本发明一实施例提供的一种服务器。
具体实施方式
为使本发明实施例的目的、技术方案和优点更加清楚,下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例是本发明一部分实施例,而不是全部的实施例,基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动的前提下所获得的所有其他实施例,都属于本发明保护的范围。
如图1所示,本发明实施例提供了一种基于HLS的多媒体文件处理方法,该方法可以包括以下步骤:
S0:构建tmpfs文件***;
S1:在tmpfs文件***中构建至少一个文件夹;
S2:获取目标多媒体文件,将目标多媒体文件转码成至少一个切片文件,将全部切片文件存储至至少一个文件夹下;
S3:针对存储在至少一个文件夹下的每一个切片文件,将当前切片文件的文件信息存储至数据库中;
S4:分别接收来自至少两个客户端的播放请求指令,分别根据不同的播放请求指令以及数据库中存储的每一个切片文件的文件信息,生成分别对应于每一个客户端的索引文件M3U8,将生成的M3U8返回至对应的客户端;
S5:分别接收来自至少两个客户端根据对应的M3U8触发的文件请求指令,所述文件请求指令中携带目标切片文件的文件信息,根据目标切片文件的文件信息从tmpfs文件***中获取目标切片文件并向对应的客户端提供目标切片文件。
本发明一实施例中,通过构建tmpfs文件***,将目标多媒体文件对应的切片文件存储至tmpfs文件***下的至少一个文件夹,并将每一个切片文件在tmpfs文件***下的文件信息存储至数据库中,当分别接收到来自至少两个客户端的播放请求指令时,根据播放请求指令以及数据库中存储的每一个切片文件的文件信息生成分别对应每一个客户端的索引文件M3U8,分别将生成的索引文件返回至对应的客户端,以使客户端可通过M3U8触发携带目标切片文件的文件信息的文件请求指令,当接收到来自客户端的文件请求指令时,即可根据文件请求指令中携带的目标切片文件的文件信息从tmpfs文件***中读取对应的目标切片文件,并向对应的客户端提供目标切片文件;由于tmpfs是一种基于内存的文件***,目标多媒体文件的切片文件均存储在内存中,因此,针对切片文件的存取过程对应于对内存的读写操作,内存读写速度较快,可提高服务器的响应速度,进而提升用户体验。
进一步的,为了方便对切片文件进行管理,防止一个文件夹下存储太多的切片文件而影响在tmpfs文件***中存取切片文件的效率,可通过设置不同的文件夹以存放不同时间段内转码的切片文件;具体地,本发明一个优选实施例中,所述在文件***中构建至少一个文件夹之后,还包括:在至少一个文件夹下,构建至少两个子文件夹,每一个子文件夹分别用于存储在不同时间段内转码的切片文件;
所述将全部切片文件存储至至少一个文件夹下,包括:确定每一个切片文件的转码时间,根据每一个切片文件分别对应的转码时间点分别将每一个切片文件存储至至少一个文件夹下的子文件夹中。
进一步的,为了方便管理以及在进行时移、回看时生成M3U8文件,本发明一个优选实施例中,所述将目标多媒体文件转码成至少一个切片文件之后,进一步包括:针对每一个切片文件,按照YYMMDDHHMMSS_LENGTH.TS格式对当前切片文件进行命名;
所述构建至少两个子文件夹之后,进一步包括:针对每一个子文件夹,按照YYMMDDHH格式对当前子文件夹进行命名;
其中,YYMMDDHHMMSS用于表征当前切片文件的转码时间点、LENGTH用于表征当前切片文件的播放时长、TS用于表征当前切片文件的文件格式,YYMMDDHHMM用于表征当前子文件夹内存储的每一个切片文件的转码时间点对应的时间范围。
进一步的,为了使客户端可通过生成的M3U8从tmpfs文件***中获取到对应的切片文件以实现播放目标多媒体文件,本发明一个优选实施例中,所述将当前切片文件的文件信息存储至数据库中,包括:
将当前切片文件的文件名称、存储路径、以及转码时间存储至数据库中。
进一步的,本发明一个优选实施例中,可通过如下方式来实现构建tmpfs文件***,执行如下命令以构建tmpfs文件***:
#mounttmpfs/tmpfs/inspur_shift-ttmpfs;
#mounttmpfs/tmpfs/inspur_shift-ttmpfs-osize=3g。
为使本发明的目的、技术方案和优点更加清楚,下面结合附图及具体实施例对本发明作进一步地详细描述。
如图2所示,本发明实施例提供了一种基于HLS的多媒体文件处理方法,该方法可以包括以下步骤:
步骤201,构建tmpfs文件***。
Tmpfs文件***是一种基于内存的文件***,它和虚拟磁盘ramdisk比较类似像,但不完全相同,和ramdisk一样,tmpfs可以使用内存,即通过在内存上建立相应的文件夹来存储数据。
具体地,本发明一实施例中,可通过执行如下指令来构建tmpfs文件***:#mounttmpfs/tmpfs/inspur_shift-ttmpfs;
#mounttmpfs/tmpfs/inspur_shift-ttmpfs-osize=3g。
步骤202,在tmpfs文件***中构建至少一个文件夹。
本发明实施例中,可结合实际需求构建相应的文件夹,比如,构建文件夹shandongweishi以对应山东卫视频道,相应的,可构建其他不同的文件夹以分别对应不同的频道。
举例来说,可在/tmpfs/inspur_shift目录下,创建不同的文件夹,比如:shandongweishi对应山东卫视频道,又如CCTV-1_profile2等;其中profile2用于标识同一个频道不同分辨率的节目;相应的,可规定profile1标识1080P,profile2标识720P,profile3标识480P;当然,在可能实现的情况下,也可以设置其他的对应关系。
步骤203,在至少一个文件夹下建立至少两个子文件夹。
本发明一实施例中,为了方便对切片文件进行管理,以及方便实现时移、回看等功能,可通过设置多个子文件夹来分别存放切片文件。
步骤204,命名每一个子文件夹。
本发明一实施例中,为了方便实现时移、回看等功能,可按照切片文件的转码时间顺序设置不同的文件夹来存放切片文件。
具体地,每一个子文件夹的命名格式可以包括:YYMMDDHH格式,比如改格式下可对应一个具体的子文件夹名称为:2015093013,这里,该文件夹即可用于存放2015年9月30日13点0分至2015年9月30日14点0分之间转码的切片文件。
需要说明的是,步骤203和步骤204中,也可以通过设置固定的时间间隔自动生成一个子文件夹来存储下一个时间间隔内转码的切片文件。
需要说明的是,每个子文件夹下存放的切片文件转码时间点对应的时间范围可合理设置,比如,该文件夹也可用于存储2015年9月30日13点0分至2015年9月30日15点0分之间转码的切片文件。
需要说明的是,时间、时间间隔等可以以对应的服务器时间为参考标准。
步骤205,获取目标多媒体文件。
多媒体文件可以包括音频/视频等流媒体文件。
步骤206,将目标多媒体文件转码成至少一个切片文件。
步骤207,确定每一个切片文件的转码时间点。
本发明一实施例中,每一个切片文件对应的时间点可以以对应的服务器时间为参考标准;当然,也可以采用其他的参考标准,只要与步骤204中所需要用的参考标准一致即可。
步骤208,命名每一个切片文件。
本发明实施例中,可采用如下格式来命名对应的切片文件:YYMMDDHHMMSS_LENGTH.TS,其中,YYMMDDHHMMSS用于表征当前切片文件的转码时间点、LENGTH用于表征当前切片文件的播放时长、TS用于表征当前切片文件的文件格式;举例来说,针对转码时间点为2015年9月30日13点40分40秒的切片文件,且该切片文件的播放时长的5秒,则可使用如下名称来命名该切片文件:20150930134040_5.000.ts。
步骤209,分别根据每一个切片文件的文件名称将每一个切片文件存储至对应的子文件夹中。
举例来说,步骤208中的切片文件20150930134040_5.000.TS可存储至步骤204中所述的文件夹2015093013中。
切片文件在tmpfs文件***中的存储格式可参考图3。
步骤210,将每一个切片文件的文件信息存储至数据库中。
本发明实施例中,文件信息可以包括:当前切片文件的文件名称、存储路径、以及转码时间点。
切片文件对应的文件信息在数据库中的存储格式可参考图4。
需要说明的是,这里,可以设置相应的监控线程监控tmpfs文件***,一旦tmpfs文件***发生变化即同时更新对应的数据库中的文件信息。
步骤211,接收客户端发送的播放请求指令,生成M3U8,并将M3U8返回至对应的客户端。
本发明实施例中,可分别接收来自至少两个客户端的播放请求指令,分别根据不同的播放请求指令以及数据库中存储的每一个切片文件的文件信息,生成分别对应于每一个客户端的索引文件M3U8,将生成的M3U8返回至对应的客户端。
M3U8文件是UTF-8编码格式的M3U文件,是一个纯文本文件,该文本文件记录了需要播放的目标多媒体文件对应的文件信息。
生成的M3U8文件的文件格式可参考图5。
步骤212,接收客户端发送的文件请求指令,根据文件请求指令从tmpfs文件***中获取目标切片文件并向对应的客户端提供目标切片文件。
本发明一实施例中,可分别接收来自至少两个客户端根据对应的M3U8触发的文件请求指令,所述文件请求指令中携带目标切片文件的文件信息,根据目标切片文件的文件信息从tmpfs文件***中获取目标切片文件并向对应的客户端提供目标切片文件。
M3U8中记录了需要播放的目标多媒体文件对应的文件信息,客户端即可根据它的索引找到对应的切片文件在tmpfs文件***中的存储地址以进行播放。
本发明实施例中,文件请求指令可以包括如下所述的格式:http://192.168.3.77/icdn-srm/live/CCTV-1_profile2/live.m3u8?segmentserverid=cctv1;其中,segmentserverid用于标记请求的哪个频道、CCTV-1_profile2用于标识请求频道对应的哪个分辨率的节目;当然,不同规格的服务器可能对应不同格式的请求指令。
通过上述实施例所述的各个步骤,可实现基于HLS的音频、视频等多媒体文件的直播或点播,且通过构建tmpfs文件***,在播放多媒体文件时对应切片文件的存取过程中,实现在内存上存取切片文件,由于在内存上存取文件即对应于针对内存的读写操作,针对内存的读写速度较快,因此,可提高服务器的相应速度,快速的向客户端提供对应的切片文件,可提高用户体验。
如图6所示,本发明实施例提供了一种服务器,包括:
第一构建单元601,用于构建tmpfs文件***;
第二构建单元602,用于在tmpfs文件***中构建至少一个文件夹;
第一处理单元603,用于获取目标多媒体文件,将目标多媒体文件转码成至少一个切片文件,将全部切片文件存储至至少一个文件夹下;
数据库604,用于针对存储在至少一个文件夹下的每一个切片文件,将当前切片文件的文件信息存储至数据库中;
第二处理单元605,用于分别接收来自至少两个客户端的播放请求指令,分别根据不同的播放请求指令以及数据库中存储的每一个切片文件的文件信息,生成分别对应于每一个客户端的索引文件M3U8,将生成的M3U8返回至对应的客户端;
第三处理单元606,用于分别接收来自至少两个客户端根据对应的M3U8触发的文件请求指令,所述文件请求指令中携带目标切片文件的文件信息,根据目标切片文件的文件信息从tmpfs文件***中获取目标切片文件并向对应的客户端提供目标切片文件。
进一步的,为了方便对转码的切片文件进行管理,在一种可能实现的方式中,所述第二构建单元602,进一步用于在至少一个文件夹下,构建至少两个子文件夹,每一个子文件夹分别用于存储在不同时间段内转码的切片文件;
所述第一处理单元603,用于确定每一个切片文件的转码时间,根据每一个切片文件分别对应的转码时间点分别将每一个切片文件存储至至少一个文件夹下的子文件夹中。
进一步的,为了方便管理以及在进行时移、回看时生成M3U8文件,在一种可能实现的方式中,所述第一处理单元603,进一步用于针对每一个切片文件,按照YYMMDDHHMMSS_LENGTH.TS格式对当前切片文件进行命名;;
所述第二构建单元602,进一步用于针对每一个子文件夹,按照YYMMDDHH格式对当前子文件夹进行命名;
其中,YYMMDDHHMMSS用于表征当前切片文件的转码时间点、LENGTH用于表征当前切片文件的播放时长、TS用于表征当前切片文件的文件格式,YYMMDDHHMM用于表征当前子文件夹内存储的每一个切片文件的转码时间点对应的时间范围。
进一步的,为了使客户端可通过生成的M3U8从tmpfs文件***中获取到对应的切片文件以实现播放目标多媒体文件,在一种可能实现的方式中,所述数据库604,用于将当前切片文件的文件名称、存储路径、以及转码时间存储至数据库中。
进一步的,在一种可能实现的方式中,所述第一构建单元601,用于执行如下命令以构建tmpfs文件***:
#mounttmpfs/tmpfs/inspur_shift-ttmpfs;
#mounttmpfs/tmpfs/inspur_shift-ttmpfs-osize=3g。
上述装置内的各单元之间的信息交互、执行过程等内容,由于与本发明方法实施例基于同一构思,具体内容可参见本发明方法实施例中的叙述,此处不再赘述。
本发明实施例至少具有如下有益效果:
1、通过构建tmpfs文件***,将目标多媒体文件对应的切片文件存储至tmpfs文件***下的至少一个文件夹,并将每一个切片文件在tmpfs文件***下的文件信息存储至数据库中,当分别接收到来自至少两个客户端的播放请求指令时,根据播放请求指令以及数据库中存储的每一个切片文件的文件信息生成分别对应每一个客户端的索引文件M3U8,分别将生成的索引文件返回至对应的客户端,以使客户端可通过M3U8触发携带目标切片文件的文件信息的文件请求指令,当接收到来自客户端的文件请求指令时,即可根据文件请求指令中携带的目标切片文件的文件信息从tmpfs文件***中读取对应的目标切片文件,并向对应的客户端提供目标切片文件;由于tmpfs是一种基于内存的文件***,目标多媒体文件的切片文件均存储在内存中,因此,针对切片文件的存取过程对应于对内存的读写操作,内存读写速度较快,可提高服务器的响应速度,进而提升用户体验。
2、通过构建至少两个子文件夹以分别存储不同时间段转码的切片文件,对应的子文件夹以及当前子文件夹下存储的切片文件均与切片文件的转码时间相关联,便于时移、回看时生成M3U8.
3、在播放目标多媒体文件时,将播放过程中针对磁盘的读写操作转为针对内存的读写速度,针对内存的读写速度快于针对磁盘的读写速度,因此,可提高服务器的响应时间,实现高并发直播或点播时快速向对应的客户端提供切片文件。
需要说明的是,在本文中,诸如第一和第二之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个〃〃〃〃〃〃”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同因素。
最后需要说明的是:以上所述仅为本发明的较佳实施例,仅用于说明本发明的技术方案,并非用于限定本发明的保护范围。凡在本发明的精神和原则之内所做的任何修改、等同替换、改进等,均包含在本发明的保护范围内。

Claims (10)

1.一种基于动态码率自适应技术HLS的多媒体文件处理方法,其特征在于,包括:构建tmpfs文件***;还包括:
在tmpfs文件***中构建至少一个文件夹;
获取目标多媒体文件,将目标多媒体文件转码成至少一个切片文件,将全部切片文件存储至至少一个文件夹下;
针对存储在至少一个文件夹下的每一个切片文件,将当前切片文件的文件信息存储至数据库中;
分别接收来自至少两个客户端的播放请求指令,分别根据不同的播放请求指令以及数据库中存储的每一个切片文件的文件信息,生成分别对应于每一个客户端的索引文件M3U8,将生成的M3U8返回至对应的客户端;
分别接收来自至少两个客户端根据对应的M3U8触发的文件请求指令,所述文件请求指令中携带目标切片文件的文件信息,根据目标切片文件的文件信息从tmpfs文件***中获取目标切片文件并向对应的客户端提供目标切片文件。
2.根据权利要求1所述的方法,其特征在于,
所述在文件***中构建至少一个文件夹之后,还包括:在至少一个文件夹下,构建至少两个子文件夹,每一个子文件夹分别用于存储在不同时间段内转码的切片文件;
所述将全部切片文件存储至至少一个文件夹下,包括:确定每一个切片文件的转码时间,根据每一个切片文件分别对应的转码时间点分别将每一个切片文件存储至至少一个文件夹下的子文件夹中。
3.根据权利要求2所述的方法,其特征在于,
所述将目标多媒体文件转码成至少一个切片文件之后,进一步包括:针对每一个切片文件,按照YYMMDDHHMMSS_LENGTH.TS格式对当前切片文件进行命名;
所述构建至少两个子文件夹之后,进一步包括:针对每一个子文件夹,按照YYMMDDHH格式对当前子文件夹进行命名;
其中,YYMMDDHHMMSS用于表征当前切片文件的转码时间点、LENGTH用于表征当前切片文件的播放时长、TS用于表征当前切片文件的文件格式,YYMMDDHHMM用于表征当前子文件夹内存储的每一个切片文件的转码时间点对应的时间范围。
4.根据权利要求1所述的方法,其特征在于,所述将当前切片文件的文件信息存储至数据库中,包括:
将当前切片文件的文件名称、存储路径、以及转码时间点存储至数据库中。
5.根据权利要求1至4中任一所述的方法,其特征在于,所述构建tmpfs文件***,包括:
执行如下命令以构建tmpfs文件***:
#mounttmpfs/tmpfs/inspur_shift-ttmpfs;
#mounttmpfs/tmpfs/inspur_shift-ttmpfs-osize=3g。
6.一种服务器,其特征在于,包括:
第一构建单元,用于构建tmpfs文件***;
第二构建单元,用于在tmpfs文件***中构建至少一个文件夹;
第一处理单元,用于获取目标多媒体文件,将目标多媒体文件转码成至少一个切片文件,将全部切片文件存储至至少一个文件夹下;
数据库,用于针对存储在至少一个文件夹下的每一个切片文件,将当前切片文件的文件信息存储至数据库中;
第二处理单元,用于分别接收来自至少两个客户端的播放请求指令,分别根据不同的播放请求指令以及数据库中存储的每一个切片文件的文件信息,生成分别对应于每一个客户端的索引文件M3U8,将生成的M3U8返回至对应的客户端;
第三处理单元,用于分别接收来自至少两个客户端根据对应的M3U8触发的文件请求指令,所述文件请求指令中携带目标切片文件的文件信息,根据目标切片文件的文件信息从tmpfs文件***中获取目标切片文件并向对应的客户端提供目标切片文件。
7.根据权利要求6所述的服务器,其特征在于,
所述第二构建单元,进一步用于在至少一个文件夹下,构建至少两个子文件夹,每一个子文件夹分别用于存储在不同时间段内转码的切片文件;
所述第一处理单元,用于确定每一个切片文件的转码时间,根据每一个切片文件分别对应的转码时间点分别将每一个切片文件存储至至少一个文件夹下的子文件夹中。
8.根据权利要求7所述的服务器,其特征在于,
所述第一处理单元,进一步用于针对每一个切片文件,按照YYMMDDHHMMSS_LENGTH.TS格式对当前切片文件进行命名;;
所述第二构建单元,进一步用于针对每一个子文件夹,按照YYMMDDHH格式对当前子文件夹进行命名;
其中,YYMMDDHHMMSS用于表征当前切片文件的转码时间点、LENGTH用于表征当前切片文件的播放时长、TS用于表征当前切片文件的文件格式,YYMMDDHHMM用于表征当前子文件夹内存储的每一个切片文件的转码时间点对应的时间范围。
9.根据权利要求6所述的服务器,其特征在于,
所述数据库,用于将当前切片文件的文件名称、存储路径、以及转码时间存储至数据库中。
10.根据权利要求6至9中任一所述的服务器,其特征在于,
所述第一构建单元,用于执行如下命令以构建tmpfs文件***:
#mounttmpfs/tmpfs/inspur_shift-ttmpfs;
#mounttmpfs/tmpfs/inspur_shift-ttmpfs-osize=3g。
CN201510718500.3A 2015-10-29 2015-10-29 一种基于hls的多媒体文件处理方法及服务器 Pending CN105357544A (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN201510718500.3A CN105357544A (zh) 2015-10-29 2015-10-29 一种基于hls的多媒体文件处理方法及服务器

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN201510718500.3A CN105357544A (zh) 2015-10-29 2015-10-29 一种基于hls的多媒体文件处理方法及服务器

Publications (1)

Publication Number Publication Date
CN105357544A true CN105357544A (zh) 2016-02-24

Family

ID=55333383

Family Applications (1)

Application Number Title Priority Date Filing Date
CN201510718500.3A Pending CN105357544A (zh) 2015-10-29 2015-10-29 一种基于hls的多媒体文件处理方法及服务器

Country Status (1)

Country Link
CN (1) CN105357544A (zh)

Cited By (6)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107426630A (zh) * 2017-09-05 2017-12-01 成都索贝数码科技股份有限公司 一种高码文件媒体数据访问方法和***
CN108965910A (zh) * 2018-08-09 2018-12-07 网宿科技股份有限公司 一种视频缓存方法及播放器
CN109040769A (zh) * 2018-08-22 2018-12-18 广东省南方数字电视无线传播有限公司 基于hls协议的直播时移方法及装置
CN109089174A (zh) * 2018-08-16 2018-12-25 咪咕视讯科技有限公司 一种多媒体数据流的处理方法及装置、计算机存储介质
CN109918471A (zh) * 2019-01-28 2019-06-21 平安科技(深圳)有限公司 文件归档方法、装置、计算机设备及存储介质
CN115412777A (zh) * 2021-05-28 2022-11-29 北京金山云网络技术有限公司 流媒体数据的传输方法及装置、***

Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459809A (zh) * 2008-11-26 2009-06-17 天柏宽带网络科技(北京)有限公司 一种数字电视节目播放的方法和***
CN102932670A (zh) * 2012-11-29 2013-02-13 百视通网络电视技术发展有限责任公司 一种流媒体切片方法及***
CN104080011A (zh) * 2014-07-08 2014-10-01 浪潮软件集团有限公司 一种基于hls协议实现时移***的方法
CN104168488A (zh) * 2014-08-29 2014-11-26 北京奇艺世纪科技有限公司 一种视频转码方法及装置

Patent Citations (4)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101459809A (zh) * 2008-11-26 2009-06-17 天柏宽带网络科技(北京)有限公司 一种数字电视节目播放的方法和***
CN102932670A (zh) * 2012-11-29 2013-02-13 百视通网络电视技术发展有限责任公司 一种流媒体切片方法及***
CN104080011A (zh) * 2014-07-08 2014-10-01 浪潮软件集团有限公司 一种基于hls协议实现时移***的方法
CN104168488A (zh) * 2014-08-29 2014-11-26 北京奇艺世纪科技有限公司 一种视频转码方法及装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
ORACLE SOLARIS开发团队: "《Oracle Solaris 10***管理基础教程》", 30 November 2010, 人民邮电出版社 *

Cited By (8)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN107426630A (zh) * 2017-09-05 2017-12-01 成都索贝数码科技股份有限公司 一种高码文件媒体数据访问方法和***
CN108965910A (zh) * 2018-08-09 2018-12-07 网宿科技股份有限公司 一种视频缓存方法及播放器
CN108965910B (zh) * 2018-08-09 2022-05-10 网宿科技股份有限公司 一种视频缓存方法及播放器
CN109089174A (zh) * 2018-08-16 2018-12-25 咪咕视讯科技有限公司 一种多媒体数据流的处理方法及装置、计算机存储介质
CN109089174B (zh) * 2018-08-16 2020-12-22 咪咕视讯科技有限公司 一种多媒体数据流的处理方法及装置、计算机存储介质
CN109040769A (zh) * 2018-08-22 2018-12-18 广东省南方数字电视无线传播有限公司 基于hls协议的直播时移方法及装置
CN109918471A (zh) * 2019-01-28 2019-06-21 平安科技(深圳)有限公司 文件归档方法、装置、计算机设备及存储介质
CN115412777A (zh) * 2021-05-28 2022-11-29 北京金山云网络技术有限公司 流媒体数据的传输方法及装置、***

Similar Documents

Publication Publication Date Title
CN105357544A (zh) 一种基于hls的多媒体文件处理方法及服务器
US9852762B2 (en) User interface for video preview creation
US20170019715A1 (en) Media production system with scheduling feature
US8776150B2 (en) Implementation method and system for a media-on-demand frame-spanning playing mode in a peer-to-peer network
CN105376612A (zh) 一种视频播放方法、媒体设备、播放设备以及多媒体***
CN103164525B (zh) Web应用发布方法和装置
US20140245334A1 (en) Personal videos aggregation
CN104244079A (zh) 一种视频下载方法及装置
US10381043B2 (en) Media-production system with social media content interface feature
CN102438004A (zh) 获取媒体文件的元数据信息的方法、***及多媒体播放器
KR100809641B1 (ko) 이종 시스템간의 컨텐츠 교환 방법 및 그 방법을 수행하는컨텐츠 관리 시스템
CN103220587A (zh) 一种获取时移内容的方法及装置
WO2017028736A1 (zh) 电视节目的录制方法和服务器
EP2840783B1 (en) Content management apparatus, content management method, program, and content display method
US20150026147A1 (en) Method and system for searches of digital content
US10321180B2 (en) News production system with dynamic character generator output
CN104994443A (zh) 一种epg视频文件的生成方法及装置
US20200004833A1 (en) Method and system for managing a time-based database for contextual searching and commenting on multimedia
CN116611948A (zh) 身份数据的挖掘方法、装置、存储介质及电子设备
CN117676183A (zh) 录像存储方法、录像播放方法、装置、设备及存储介质
US20170308588A1 (en) System and method for providing a searchable platform for online content including metadata
King File Based Workflows: Managing the Unmanageable
De Vos Usability improvements on a Metadata Server for Video on Demand based on Free Software
Benta Leveraging Cloud Computing for IPTV: Moving the Set-Top Box to the Cloud/Potenciacoã da Computão em Cloud Computing Para IPTV: Coloca¸ coãda Set-Top Box na Cloud
KR20060037106A (ko) 방송 무인 자동 녹화 시스템과 그 운영방법 및 그 방법에대한 컴퓨터 프로그램을 저장하는 기록 매체

Legal Events

Date Code Title Description
C06 Publication
PB01 Publication
C10 Entry into substantive examination
SE01 Entry into force of request for substantive examination
WD01 Invention patent application deemed withdrawn after publication
WD01 Invention patent application deemed withdrawn after publication

Application publication date: 20160224