CN112118461B - 一种音视频文件存储和分发方法与装置 - Google Patents

一种音视频文件存储和分发方法与装置 Download PDF

Info

Publication number
CN112118461B
CN112118461B CN202011000009.4A CN202011000009A CN112118461B CN 112118461 B CN112118461 B CN 112118461B CN 202011000009 A CN202011000009 A CN 202011000009A CN 112118461 B CN112118461 B CN 112118461B
Authority
CN
China
Prior art keywords
audio
video
target
file
slice
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
Application number
CN202011000009.4A
Other languages
English (en)
Other versions
CN112118461A (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.)
Hunan Happly Sunshine Interactive Entertainment Media Co Ltd
Original Assignee
Hunan Happly Sunshine Interactive Entertainment Media 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 Hunan Happly Sunshine Interactive Entertainment Media Co Ltd filed Critical Hunan Happly Sunshine Interactive Entertainment Media Co Ltd
Priority to CN202011000009.4A priority Critical patent/CN112118461B/zh
Publication of CN112118461A publication Critical patent/CN112118461A/zh
Application granted granted Critical
Publication of CN112118461B publication Critical patent/CN112118461B/zh
Active legal-status Critical Current
Anticipated expiration legal-status Critical

Links

Images

Classifications

    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/80Generation or processing of content or additional data by content creator independently of the distribution process; Content per se
    • H04N21/83Generation or processing of protective or descriptive data associated with content; Content structuring
    • H04N21/845Structuring of content, e.g. decomposing content into time segments
    • H04N21/8456Structuring of content, e.g. decomposing content into time segments by decomposing the content in the time domain, e.g. in time segments
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/20Servers specifically adapted for the distribution of content, e.g. VOD servers; Operations thereof
    • H04N21/21Server components or server architectures
    • H04N21/218Source of audio or video content, e.g. local disk arrays
    • H04N21/2187Live feed
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/439Processing of audio elementary streams
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/43Processing of content or additional data, e.g. demultiplexing additional data from a digital video stream; Elementary client operations, e.g. monitoring of home network or synchronising decoder's clock; Client middleware
    • H04N21/44Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs
    • H04N21/44004Processing of video elementary streams, e.g. splicing a video clip retrieved from local storage with an incoming video stream or rendering scenes according to encoded video stream scene graphs involving video buffer management, e.g. video decoder buffer or video display buffer
    • HELECTRICITY
    • H04ELECTRIC COMMUNICATION TECHNIQUE
    • H04NPICTORIAL COMMUNICATION, e.g. TELEVISION
    • H04N21/00Selective content distribution, e.g. interactive television or video on demand [VOD]
    • H04N21/40Client devices specifically adapted for the reception of or interaction with content, e.g. set-top-box [STB]; Operations thereof
    • H04N21/47End-user applications
    • H04N21/482End-user interface for program selection
    • H04N21/4825End-user interface for program selection using a list of items to be played back in a given order, e.g. playlists

Landscapes

  • Engineering & Computer Science (AREA)
  • Multimedia (AREA)
  • Signal Processing (AREA)
  • Databases & Information Systems (AREA)
  • Human Computer Interaction (AREA)
  • Information Transfer Between Computers (AREA)

Abstract

本发明公开了一种音视频文件存储和分发方法及装置,该方法包括:当接收到对目标音视频文件的处理请求时,获取所述目标音视频文件的文件类型;基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储;基于与所述文件类型对应的目标分发方法,将所述各个音视频片段进行分发。上述的方法,在对目标音频文件进行存储时,先将目标音视频文件切分成各个音视频片段后在进行存储,在进行分发时也是以音视频片段进行缓存和分发的,减少了缓存时带宽的占用,避免了带宽资源的浪费。

Description

一种音视频文件存储和分发方法与装置
技术领域
本发明涉及音视频处理技术领域,尤其涉及一种音视频文件存储和分发方法与装置。
背景技术
目前,互联网视频平台主要通过商业CDN承载大部分的流量访问,针对因视频播放领域,对于任何一个点播资源,无论是单一的音视频文件,一路直播流,当用户点击对应的音视频文件进行播放时,都会将当前音视频文件作为整体进行缓存。
但是,用户可能只观看当前音视频文件很短的时间就切换到其它音视频,导致当前视频文件在整体缓存时占用较大带宽,造成了带宽资源的浪费。
发明内容
有鉴于此,本发明提供了一种音视频文件存储和分发方法与装置,用于解决在进行音视频文件播放时,都会将当前音视频文件作为整体进行缓存。但是,用户可能只观看当前音视频文件很短的时间就切换到其它音视频,导致当前视频文件在整体缓存时占用较大带宽,造成了带宽资源的浪费的问题。具体方案如下:
一种音视频文件存储和分发方法,包括:
当接收到对目标音视频文件的处理请求时,获取所述目标音视频文件的文件类型;
基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储;
基于与所述文件类型对应的目标分发方法,将所述各个音视频片段进行分发。
上述的方法,可选的,当接收到对目标音视频文件的处理请求时,获取所述目标音视频文件的文件类型,包括:
获取与所述目标音视频文件对应的元数据,其中,所述元数据包括:资源ID和文件类型;
获取所述元数据中包括的文件类型。
上述的方法,可选的,在所述文件类型为单独音视频时,基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储,包括:
确定所述目标分片方法中的预设常量;
基于所述预设常量将所述目标音视频文件切分成各个音视频片段;
为每个音视频片段分配切片ID,其中,所述切片ID其中,所述切片ID=资源ID+range(start-end),其中,start表示开始偏移量,end表示结束偏移量,range(start-end)表示预设常量;
将所述各个音视频片段和其对应的切片ID存储至边缘计算节点。
上述的方法,可选的,基于与所述文件类型对应的目标分发方法,将所述各个音视频片段进行分发,包括:
在所述目标音视频文件为单独音视频时,获取所述资源ID和所述预设常量;
基于所述资源ID和所述预设常量构建所述切片ID;
向所述边缘计算节点请求所述切片ID,接收所述边缘计算节点分发的与所述切片ID对应的音视频片段。
上述的方法,可选的,在所述文件类型为播放列表时,基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储,包括:
获取所述目标音视频文件的各个音视频片段和每个切片音视频片段的切片序列号;
基于针对每个音视频片段,基于所述资源ID和其对应的切片序列号构建切片ID,其中,所述切片ID=资源ID+对应切片序列号;
将所述各个音视频片段和其对应的切片ID存储至边缘计算节点。
上述的方法,可选的,基于与所述文件类型对应的目标分发方法,将所述各个音视频片段进行分发,包括:
在所述目标音视频文件为播放列表时,获取所述资源ID和所述对应的切片序列号;
基于所述资源ID和所述对应的切片序列号构建所述切片ID;
向所述边缘计算节点请求所述切片ID,接收所述边缘计算节点分发的与所述切片ID对应的音视频片段。
上述的方法,可选的,在所述文件类型为直播流时,基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储,包括:
确定所述目标分片方法中的预设切片时长;
基于所述预设切片时长将所述目标音视频文件切分成各个音视频片段,为每个拼视频片段分配分段索引号,其中,所述分段索引号用于标识音视频片段;
基于所述视频ID和对应的分段索引号为每个音视频片段分配切片ID,其中,所述切片ID其中,所述切片ID=资源ID+对应的分段索引号;
将所述各个音视频片段和其对应的切片ID存储至边缘计算节点。
上述的方法,可选的,基于与所述文件类型对应的目标分发方法,将所述各个音视频片段进行分发,包括:
在所述目标音视频文件为直播流时,获取所述资源ID和所述对应的分段索引号;
基于所述资源ID和所述对应的分段索引号构建所述切片ID;
向所述边缘计算节点请求所述切片ID,接收所述边缘计算节点分发的与所述切片ID对应的音视频片段。
上述的方法,可选的,还包括:
更新与所述目标音视频文件对应的元数据。
一种音视频文件存储和分发装置,包括:
获取模块,用于当接收到对目标音视频文件的处理请求时,获取所述目标音视频文件的文件类型;
切分和存储模块,用于基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储;
分发模块,用于基于与所述文件类型对应的目标分发方法,将所述各个音视频片段进行分发。
与现有技术相比,本发明包括以下优点:
本发明公开了一种音视频文件存储和分发方法及装置,该方法包括:当接收到对目标音视频文件的处理请求时,获取所述目标音视频文件的文件类型;基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储;基于与所述文件类型对应的目标分发方法,将所述各个音视频片段进行分发。上述的方法,在对目标音频文件进行存储时,先将目标音视频文件切分成各个音视频片段后在进行存储,在进行分发时也是以音视频片段进行缓存和分发的,减少了缓存时带宽的占用,避免了带宽资源的浪费。
附图说明
为了更清楚地说明本发明实施例或现有技术中的技术方案,下面将对实施例或现有技术描述中所需要使用的附图作简单地介绍,显而易见地,下面描述中的附图仅仅是本发明的一些实施例,对于本领域普通技术人员来讲,在不付出创造性劳动的前提下,还可以根据这些附图获得其他的附图。
图1为本申请实施例公开的一种音视频文件存储和分发方法流程图;
图2为本申请实施例公开的一种音视频文件切片方法示意图;
图3为本申请实施例公开的一种音视频文件切片方法又一示意图;
图4为本申请实施例公开的一种音视频文件切片方法又一示意图;
图5为本申请实施例公开的一种音视频文件存储和分发方法执行示意图;
图6为本申请实施例公开的一种音视频文件存储和分发装置结构框图。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的技术方案进行清楚、完整地描述,显然,所描述的实施例仅仅是本发明一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有做出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
对所公开的实施例的上述说明,使本领域专业技术人员能够实现或使用本发明。对这些实施例的多种修改对本领域的专业技术人员来说将是显而易见的,本文中所定义的一般原理可以在不脱离本发明的精神或范围的情况下,在其它实施例中实现。因此,本发明将不会被限制于本文所示的这些实施例,而是要符合与本文所公开的原理和新颖特点相一致的最宽的范围。
本发明公开了一种音视频文件存储和分发方法及装置,应用于对音视频文件的存储和分发过程中,以视频点播为例,对于任何一个点播资源,无论是单一的音视频文件,一路直播流,还是HLS的播放列表或DASH的播放列表,需要一套统一,涵盖多种格式的资源存储机制,来实现边缘节点与播放端,以及播放端之间的分发和传输。现有技术中,音视频文件的存储和分发都是基于整体进行的,整体缓存需要占用较大带宽,造成了带宽资源的浪费,为了解决上述问题,本发明提供了一种音视频文件的存储和分发方法,所述方法的执行流程如图1所示,包括步骤:
S101、当接收到对目标音视频文件的处理请求时,获取所述目标音视频文件的文件类型;
本发明实施例中,所述目标音视频文件的文件类型可以为单独音视频文件、HLS、DASH的播放列表或者直播流中的一个。针对每一个目标音视频文件,都会存在一个与其对应的元数据,该元数据存储在元数据服务器上,元数据中包括:资源ID和文件类型,其中,资源ID是音视频资源访问的全局唯一路径生成类GUID格式字符串,因此,所述文件类型可以在所述元数据中的指定位置获取。
S102、基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储;
本发明实施例中,针对每一个目标音视频文件,其访问由资源ID+切片ID组成,其中,资源ID用StreamSwarmID来表示;比如StreamSwarmID=sha1(hex(md5(play_stream_url)))。切片ID根据对应的目标分片方法来产生,这里用SegmentID来表示。其中,所述目标分片方法与所述文件类型有关,针对每一种文件类型,都会对应一个目标分片方法,在所述文件类型为单独音视频时,以所述目标音视频为MP4,ts文件为例进行说明,切片ID的确定过程如图2所示:确定所述目标分片方法中的预设常量,其中,所述预设常量的确定可以基于经验或者具体情况进行设定,本发明实施例中,以所述预设常量为1M为例进行说明,其中,切片ID=treamSwarmID+range(start-end),其中,start表示当前切片区间开始偏移量,end表示当前切片区间结束偏移量,针对所述目标音视频文件是MP4时,资源IDStreamSwarmID根据播放URL:Http:??host/xxx/abc.MP4生成,算法如下:sha1(hex(md5(play_stream_url))),切片区间范围range(0-1M),range(1-2M),range(2-3M)…range(nM-)。针对所述目标音视频文件问ts时,资源ID StreamSwarmID根据播放URL:Http:??host/xxx/abc.ts生成,算法如下:sha1(hex(md5(play_stream_url))),切片区间范围range(0-1M),range(1-2M),range(2-3M)…range(nM-)。进一步的,切片完成时,将该目标音视频文件经切分得到的各个分片进行存储,并将资源ID、所述目标音视频文件的文件大小、所述预设的切片大小和类型(file)存储到与所述目标音视频文件对应的元数据服务器,更新对应的元数据。
在所述文件类型为播放列表时,以所述播放列表为HLS、DASH为例进行说明,切片的确定过程如图2所示,因为HLS/DASH是基于切片传输协议,其中,切片传输协议指类似HLS/DASH这类协议,工作原理是把整个视频或流分成一个个小的基于HTTP的切片文件来下载。切片ID=StreamSwarmID+切片序列号,比如第一个切片序列号为1,第二个切片序列号为2,依次类推第K个切片序列号为K。若所述目标音视频文件为HLS,则资源IDStreamSwarmID根据播放URL:https://host/xxx/playlist/m3u8生成,算法如下:sha1(hex(md5(play_stream_url))),切片序列号为segment-1、segment-2、segment-3…segment-n。若所述目标音视频文件为HLS,则资源ID StreamSwarmID根据播放URL:https://host/xxx/bbb_30fps.mpd生成,算法如下:sha1(hex(md5(play_stream_url))),切片序列号为video-segment-、audio-segment-1、video-segment-2、audio-segment-2…video-segment-n、audio-segment-n。进一步的,切片完成时,将该目标音视频文件经切分得到的各个分片进行存储,并将资源ID,类型(segment)存储到与所述目标音视频文件对应的元数据服务器,更新对应的元数据。
在所述文件类型为直播流时,主流的直播流格式有hls,http-flv,http-ts,其中hls请参考文件类型播放列表即可,在此不再赘述。以所述文件类型为http-flv,http-ts为例进行说明,切片过程如图4所示,http-flv/http-ts按照时长切片规则,在推流端或推流节点处往视频流或音频流***分段信息,边缘节点拉取直播流时,解析视频流或音频流中的分段信息,根据分段信息将直播流,分割成一段段文件。切片ID=StreamSwarmID+分段索引号,分段索引号从推流开始时计算,第一个分段索引号为1,第一个分段索引号为2,依次类推,第K个分段索引号为K;这里的分段按照设定时长来分割,比如1秒切片时长,每隔1秒就分割一次。若所述目标音视频文件为http-flv,则资源ID StreamSwarmID根据播放URL:https://host/xxx/ab.flv生成,算法如下:sha1(hex(md5(play_stream_url))),切片索引号为segment1,segment2…segmentn。若所述目标音视频文件为http-ts,则资源IDStreamSwarmID根据播放URL:https://host/xxx/ab.ts生成,算法如下:sha1(hex(md5(play_stream_url))),切片索引号为segment1,segment2…segmentn。进一步的,切片完成时,将该目标音视频文件经切分得到的各个分片进行存储,并将资源ID、类型(live)存储到与所述目标音视频文件对应的元数据服务器,更新对应的元数据。
S103、基于与所述文件类型对应的目标分发方法,将所述各个音视频片段进行分发。
本发明实施例中,切片方法与分发方法存在对应关系,由于切片方法与文件类型存在对应关系,因此,针对每一个文件类型,都会存在对应的切片方法和分发方法。例如:若采用切片方法A进行切片,必须采用与所述切片方法A对应的分发方法进行分发。优选的,在进行分发之前,需要从对应的云数据服务器中获取元数据。
在所述文件类型为单独音视频时,在对应的元数据中获得资源ID,文件大小以及预设常量,类型等元数据,检测文件类型是否是File类型,如果不是,则退出结束;如果是,根据资源ID和预设常量,得到切片ID=资源ID+range(start-end),其中,start表示开始偏移量,end表示结束偏移量。开闭原则,左闭右开,即(start-end],表示包含start偏移量至end偏移量的内容,但不包含end偏移量。向边缘计算节点请求切片ID,边缘计算节点返回切片ID的文件内容,结束本次分发。
在所述文件类型为播放列表时,在对应的元数据中获得资源ID和类型等元数据,检测文件类型是否是Segment类型,如果不是,则退出结束;如果是,根据资源ID,序列号,得到切片ID=资源ID+序列号,其中序列号从1开始递增,第一个切片文件,序列号为1,第二个切片文件,序列号为2,依次类推。向边缘计算节点请求切片ID,边缘计算节点返回切片ID的内容,结束本次分发。
若所述文件类型为直播流时,在对应的元数据中获得资源ID和类型等元数据,检测文件类型是否是Live类型,如果不是则退出结束;如果是,根据资源ID,序列号,得到切片ID=资源ID+分段索引号;其中开始索引号在启播阶段请求http-flv/http-ts直播流,解析分段索引号获得;下一个分段索引号=当前索引号递增1。向边缘计算节点请求切片ID,边缘计算节点返回切片ID文件内容,结束本次分发。
本发明公开了一种音视频文件存储和分发方法,包括:当接收到对目标音视频文件的处理请求时,获取所述目标音视频文件的文件类型;基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储;基于与所述文件类型对应的目标分发方法,将所述各个音视频片段进行分发。上述的方法,在对目标音频文件进行存储时,先将目标音视频文件切分成各个音视频片段后在进行存储,在进行分发时也是以音视频片段进行缓存和分发的,减少了缓存时带宽的占用,避免了带宽资源的浪费。
本发明实施例中,利提出了一种统一,跨文件格式的资源存储及分发的方法,兼顾http和p2p资源请求要求。所述方法处理流程示意图如图5所示,,源站、内容分发网络CDN(Content Delivery Network)分发和边缘计算节点,各播放端都统一资源存储和分发格式,节省了存储空间,提供了存储利用率;利用边缘计算节点空闲带宽和存储,基于http或者P2P分发资源,有效节省了带宽成本;边缘计算节点,播放端资源互通,提高了资源分发效率。
本发明实施例中,边缘计算节点,包含各类合作节点,矿机、运营商MEC(即多接入边缘计算),各类流量共享路由器,机顶盒等。
播放端,包含pc,web,android,ios,平板,ott盒子等日常设备。
基于上述的方法进行举例,实施步骤如下:
1)将新上线的热片或推荐资源提前下拉到边缘计算节点。
2)边缘计算节点按照资源类型,统一进行切片存储。
3)如果是单一的视频或文件,则按照预设大小进行切片存储,同时存储资源ID,切片大小以及类型等元数据到元数据服务器中。其中元数据服务器负责请求资源的元数据存储及访问。
4)如果是HLS/DASH播放列表,则按照HLS/DASH规范存储分片文件;同时将资源ID保存到元数据服务器。
5)如果是一路直播流,则解析直播流的分段索引号。解析到分段索引号,则根据分段索引号存储相应的切片文件,同时保存资源ID到元数据服务器中。
6)播放端首先获取请求资源的元数据信息,得到资源ID,类型,分片大小等信息。
7)如果请求资源是单一的视频,文件,计算切片ID=资源ID+range(start-end),其中start-end表示起始和结束偏移量,比如分片大小SegmentSize为1024(1k),第一个片range(0-1024),第二个片range(1024-2048),根据分片大小依次类推。得出range(start-end)=(i*SegmentSize-(i+1)*SegmentSize),其中i表示第i个分片,从0开始计算。
8)如果请求资源是HLS/DASH列表,既可以通过http请求hls/dash播放列表,又可以通过切片ID访问,切片ID=资源ID+序列号。第一个切片,序列号为1;第二个切片,序列号为2,依次类推。
9)如果请求资源是一路直播流,如果是HLS/DASH直播列表文件,则参考步骤8进行访问,如果是http-flv/http-ts直播流,则按照步骤10请求。
10)启播阶段,首先请求http-flv/http-ts直播流,解析流中的分段索引号。如果播放器成功获取分段索引号,且播放器缓存大小满足预设大小(比如5秒缓存),可以向边缘计算节点请求切片ID=资源ID+(最后获取的分段索引号+1)否则继续读取http-flv/http-ts直播流数据。
11)考虑到直播延时实时性问题,一般设置分片时长1-2秒,启播阶段之后,播放器可以通过切片ID,持续向边缘计算节点或CDN或播放端请求直播切片内容进行直播观看。
基于上述的一种音视频文件存储和分发方法,本发明实施例中还提供了一种音视频文件存储和分发装置,所述分发装置的结构框图如图6所示,包括:
获取模块201、切分和存储模块202和分发模块203。
其中,
所述获取模块201,用于当接收到对目标音视频文件的处理请求时,获取所述目标音视频文件的文件类型;
所述切分和存储模块202,用于基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储;
所述分发模块203,用于基于与所述文件类型对应的目标分发方法,将所述各个音视频片段进行分发。
本发明公开了一种音视频文件存储和分发装置,包括:当接收到对目标音视频文件的处理请求时,获取所述目标音视频文件的文件类型;基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储;基于与所述文件类型对应的目标分发方法,将所述各个音视频片段进行分发。上述的装置,在对目标音频文件进行存储时,先将目标音视频文件切分成各个音视频片段后在进行存储,在进行分发时也是以音视频片段进行缓存和分发的,减少了缓存时带宽的占用,避免了带宽资源的浪费。
需要说明的是,本说明书中的各个实施例均采用递进的方式描述,每个实施例重点说明的都是与其他实施例的不同之处,各个实施例之间相同相似的部分互相参见即可。对于装置类实施例而言,由于其与方法实施例基本相似,所以描述的比较简单,相关之处参见方法实施例的部分说明即可。
最后,还需要说明的是,在本文中,诸如第一和第二等之类的关系术语仅仅用来将一个实体或者操作与另一个实体或操作区分开来,而不一定要求或者暗示这些实体或操作之间存在任何这种实际的关系或者顺序。而且,术语“包括”、“包含”或者其任何其他变体意在涵盖非排他性的包含,从而使得包括一系列要素的过程、方法、物品或者设备不仅包括那些要素,而且还包括没有明确列出的其他要素,或者是还包括为这种过程、方法、物品或者设备所固有的要素。在没有更多限制的情况下,由语句“包括一个……”限定的要素,并不排除在包括所述要素的过程、方法、物品或者设备中还存在另外的相同要素。
为了描述的方便,描述以上装置时以功能分为各种单元分别描述。当然,在实施本发明时可以把各单元的功能在同一个或多个软件和/或硬件中实现。
通过以上的实施方式的描述可知,本领域的技术人员可以清楚地了解到本发明可借助软件加必需的通用硬件平台的方式来实现。基于这样的理解,本发明的技术方案本质上或者说对现有技术做出贡献的部分可以以软件产品的形式体现出来,该计算机软件产品可以存储在存储介质中,如ROM/RAM、磁碟、光盘等,包括若干指令用以使得一台计算机设备(可以是个人计算机,服务器,或者网络设备等)执行本发明各个实施例或者实施例的某些部分所述的方法。
以上对本发明所提供的一种音视频文件存储和分发方法及装置进行了详细介绍,本文中应用了具体个例对本发明的原理及实施方式进行了阐述,以上实施例的说明只是用于帮助理解本发明的方法及其核心思想;同时,对于本领域的一般技术人员,依据本发明的思想,在具体实施方式及应用范围上均会有改变之处,综上所述,本说明书内容不应理解为对本发明的限制。

Claims (7)

1.一种音视频文件存储和分发方法,其特征在于,包括:
当接收到对目标音视频文件的处理请求时,获取所述目标音视频文件的文件类型;
基于与所述文件类型对应的目标分片方法,边缘计算节点将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储;
基于与所述文件类型对应的目标分发方法,边缘计算节点将所述各个音视频片段进行分发;
在所述文件类型为单独音视频时,基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储,包括:
确定所述目标分片方法中的预设常量;
基于所述预设常量将所述目标音视频文件切分成各个音视频片段;
为每个音视频片段分配切片ID,其中,所述切片ID=资源ID+range(start-end),其中,start表示开始偏移量,end表示结束偏移量,range(start-end)表示预设常量;
将所述各个音视频片段和其对应的切片ID存储至边缘计算节点;
在所述文件类型为播放列表时,基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储,包括:
获取所述目标音视频文件的各个音视频片段和每个切片音视频片段的切片序列号;
针对每个音视频片段,基于所述资源ID和其对应的切片序列号构建切片ID,其中,所述切片ID=资源ID+对应切片序列号;
将所述各个音视频片段和其对应的切片ID存储至边缘计算节点;
在所述文件类型为直播流时,基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储,包括:
确定所述目标分片方法中的预设切片时长;
基于所述预设切片时长将所述目标音视频文件切分成各个音视频片段,为每个音视频片段分配分段索引号,其中,所述分段索引号用于标识音视频片段;
基于所述资源ID和对应的分段索引号为每个音视频片段分配切片ID,其中,所述切片ID=资源ID+对应的分段索引号;
将所述各个音视频片段和其对应的切片ID存储至边缘计算节点。
2.根据权利要求1所述的方法,其特征在于,当接收到对目标音视频文件的处理请求时,获取所述目标音视频文件的文件类型,包括:
获取与所述目标音视频文件对应的元数据,其中,所述元数据包括:资源ID和文件类型;
获取所述元数据中包括的文件类型。
3.根据权利要求1所述的方法,其特征在于,基于与所述文件类型对应的目标分发方法,将所述各个音视频片段进行分发,包括:
在所述目标音视频文件为单独音视频时,获取所述资源ID和所述预设常量;
基于所述资源ID和所述预设常量构建所述切片ID;
向所述边缘计算节点请求所述切片ID,接收所述边缘计算节点分发的与所述切片ID对应的音视频片段。
4.根据权利要求1所述的方法,其特征在于,基于与所述文件类型对应的目标分发方法,将所述各个音视频片段进行分发,包括:
在所述目标音视频文件为播放列表时,获取所述资源ID和所述对应的切片序列号;
基于所述资源ID和所述对应的切片序列号构建所述切片ID;
向所述边缘计算节点请求所述切片ID,接收所述边缘计算节点分发的与所述切片ID对应的音视频片段。
5.根据权利要求1所述的方法,其特征在于,基于与所述文件类型对应的目标分发方法,将所述各个音视频片段进行分发,包括:
在所述目标音视频文件为直播流时,获取所述资源ID和所述对应的分段索引号;
基于所述资源ID和所述对应的分段索引号构建所述切片ID;
向所述边缘计算节点请求所述切片ID,接收所述边缘计算节点分发的与所述切片ID对应的音视频片段。
6.根据权利要求1所述的方法,其特征在于,还包括:
更新与所述目标音视频文件对应的元数据。
7.一种音视频文件存储和分发装置,其特征在于,包括:
获取模块,用于当接收到对目标音视频文件的处理请求时,获取所述目标音视频文件的文件类型;
切分和存储模块,用于基于与所述文件类型对应的目标分片方法,边缘计算节点将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储;
分发模块,用于基于与所述文件类型对应的目标分发方法,边缘计算节点将所述各个音视频片段进行分发;
在所述文件类型为单独音视频时,基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储,包括:
确定所述目标分片方法中的预设常量;
基于所述预设常量将所述目标音视频文件切分成各个音视频片段;
为每个音视频片段分配切片ID,其中,所述切片ID=资源ID+range(start-end),其中,start表示开始偏移量,end表示结束偏移量,range(start-end)表示预设常量;
将所述各个音视频片段和其对应的切片ID存储至边缘计算节点;
在所述文件类型为播放列表时,基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储,包括:
获取所述目标音视频文件的各个音视频片段和每个切片音视频片段的切片序列号;
针对每个音视频片段,基于所述资源ID和其对应的切片序列号构建切片ID,其中,所述切片ID=资源ID+对应切片序列号;
将所述各个音视频片段和其对应的切片ID存储至边缘计算节点;
在所述文件类型为直播流时,基于与所述文件类型对应的目标分片方法,将所述目标音视频文件切分成各个音视频片段,将所述各个音视频片段进行存储,包括:
确定所述目标分片方法中的预设切片时长;
基于所述预设切片时长将所述目标音视频文件切分成各个音视频片段,为每个音视频片段分配分段索引号,其中,所述分段索引号用于标识音视频片段;
基于所述资源ID和对应的分段索引号为每个音视频片段分配切片ID,其中,所述切片ID=资源ID+对应的分段索引号;
将所述各个音视频片段和其对应的切片ID存储至边缘计算节点。
CN202011000009.4A 2020-09-22 2020-09-22 一种音视频文件存储和分发方法与装置 Active CN112118461B (zh)

Priority Applications (1)

Application Number Priority Date Filing Date Title
CN202011000009.4A CN112118461B (zh) 2020-09-22 2020-09-22 一种音视频文件存储和分发方法与装置

Applications Claiming Priority (1)

Application Number Priority Date Filing Date Title
CN202011000009.4A CN112118461B (zh) 2020-09-22 2020-09-22 一种音视频文件存储和分发方法与装置

Publications (2)

Publication Number Publication Date
CN112118461A CN112118461A (zh) 2020-12-22
CN112118461B true CN112118461B (zh) 2022-10-18

Family

ID=73800378

Family Applications (1)

Application Number Title Priority Date Filing Date
CN202011000009.4A Active CN112118461B (zh) 2020-09-22 2020-09-22 一种音视频文件存储和分发方法与装置

Country Status (1)

Country Link
CN (1) CN112118461B (zh)

Families Citing this family (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN114125572B (zh) * 2021-11-22 2022-06-03 江苏经贸职业技术学院 一种基于p2p的视频数据分发与存储***

Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155296A (zh) * 2006-09-29 2008-04-02 中国科学技术大学 数据传输的方法
CN102510395A (zh) * 2011-10-21 2012-06-20 合一网络技术(北京)有限公司 一种基于P2SP的flash视频调度方法
CN102546786A (zh) * 2011-12-29 2012-07-04 中兴通讯股份有限公司 内容分发网络中多媒体文件变长存取的方法和***
CN103634616A (zh) * 2012-08-27 2014-03-12 中兴通讯股份有限公司 一种基于云存储的流媒体点播方法和装置
CN105392068A (zh) * 2015-11-04 2016-03-09 合一网络技术(北京)有限公司 分布式多传输信道网络直播视频并行分发方法及***
CN106792271A (zh) * 2016-12-30 2017-05-31 中广热点云科技有限公司 自适应流媒体中文件表达关联的***和方法
CN107018446A (zh) * 2017-04-07 2017-08-04 无锡职业技术学院 一种网络视频点播以及直播的推流方法
CN107222484A (zh) * 2017-06-12 2017-09-29 北京经纬中天信息技术有限公司 支持多协议输入和输出的流媒体服务器***
CN107801051A (zh) * 2017-10-27 2018-03-13 广东省南方数字电视无线传播有限公司 虚拟切片信息传输方法和装置、视频服务器
CN107809684A (zh) * 2017-10-27 2018-03-16 广东省南方数字电视无线传播有限公司 视频切片生成方法和装置、缓存服务器
CN109525622A (zh) * 2017-09-19 2019-03-26 阿里巴巴集团控股有限公司 分片资源id的生成方法、资源分享方法,装置及电子设备
CN110933464A (zh) * 2019-11-13 2020-03-27 北京思维造物信息科技股份有限公司 一种用于为多媒体文件添加数字水印的方法及***
CN111541903A (zh) * 2020-01-14 2020-08-14 深圳市华曦达科技股份有限公司 直播加速方法、源站端、边缘节点、客户端及直播***
CN111629075A (zh) * 2020-08-03 2020-09-04 腾讯科技(深圳)有限公司 一种数据下载方法和相关装置

Family Cites Families (1)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
US9240217B2 (en) * 2013-06-20 2016-01-19 Tivo Inc. Storing same channel overlapping recordings

Patent Citations (14)

* Cited by examiner, † Cited by third party
Publication number Priority date Publication date Assignee Title
CN101155296A (zh) * 2006-09-29 2008-04-02 中国科学技术大学 数据传输的方法
CN102510395A (zh) * 2011-10-21 2012-06-20 合一网络技术(北京)有限公司 一种基于P2SP的flash视频调度方法
CN102546786A (zh) * 2011-12-29 2012-07-04 中兴通讯股份有限公司 内容分发网络中多媒体文件变长存取的方法和***
CN103634616A (zh) * 2012-08-27 2014-03-12 中兴通讯股份有限公司 一种基于云存储的流媒体点播方法和装置
CN105392068A (zh) * 2015-11-04 2016-03-09 合一网络技术(北京)有限公司 分布式多传输信道网络直播视频并行分发方法及***
CN106792271A (zh) * 2016-12-30 2017-05-31 中广热点云科技有限公司 自适应流媒体中文件表达关联的***和方法
CN107018446A (zh) * 2017-04-07 2017-08-04 无锡职业技术学院 一种网络视频点播以及直播的推流方法
CN107222484A (zh) * 2017-06-12 2017-09-29 北京经纬中天信息技术有限公司 支持多协议输入和输出的流媒体服务器***
CN109525622A (zh) * 2017-09-19 2019-03-26 阿里巴巴集团控股有限公司 分片资源id的生成方法、资源分享方法,装置及电子设备
CN107801051A (zh) * 2017-10-27 2018-03-13 广东省南方数字电视无线传播有限公司 虚拟切片信息传输方法和装置、视频服务器
CN107809684A (zh) * 2017-10-27 2018-03-16 广东省南方数字电视无线传播有限公司 视频切片生成方法和装置、缓存服务器
CN110933464A (zh) * 2019-11-13 2020-03-27 北京思维造物信息科技股份有限公司 一种用于为多媒体文件添加数字水印的方法及***
CN111541903A (zh) * 2020-01-14 2020-08-14 深圳市华曦达科技股份有限公司 直播加速方法、源站端、边缘节点、客户端及直播***
CN111629075A (zh) * 2020-08-03 2020-09-04 腾讯科技(深圳)有限公司 一种数据下载方法和相关装置

Non-Patent Citations (1)

* Cited by examiner, † Cited by third party
Title
基于P2P的视频点播***关键技术研究;肖俊;《中国优秀硕士学位论文全文数据库》;20190215;第2章,2.2节 *

Also Published As

Publication number Publication date
CN112118461A (zh) 2020-12-22

Similar Documents

Publication Publication Date Title
JP6308442B2 (ja) ストリーミングメディアデータを取得するための方法、デバイス、およびシステム
CN105917656B (zh) 用于在内容递送网络中预先供应自适应位速率(abr)资产的***和方法
WO2016058411A1 (zh) 一种http实时流媒体分片的拼接方法及拼接***
US8489760B2 (en) Media file storage format and adaptive delivery system
TWI575950B (zh) 串流伺服器及用於將一內容串流透過一網路提供至一用戶端之方法
CN108566370B (zh) 一种数据回源的方法以及装置
US20080160911A1 (en) P2P-based broadcast system and method using the same
BR112014000597B1 (pt) Método e sistema para download de arquivo multimídia
CN105339922A (zh) 个人过顶网络视频记录器
WO2009062385A1 (en) A storage system and method of stream media file
US10530509B2 (en) Identification of concurrently broadcast time-based media
CN103813185B (zh) 一种分段节目快速分发的方法、服务器及客户端
WO2018153237A1 (zh) 用于直播回看的缓存方法、***及播放方法、***
WO2017080428A1 (zh) 流媒体频道录制、回看方法、装置、服务器及存储介质
US11496805B2 (en) Video delivery method and apparatus, and electronic device
US10284894B2 (en) Methods and apparatus for naming video content chunks
CN109842804A (zh) 音视频数据的处理方法及服务器、计算机存储介质
CN107801051A (zh) 虚拟切片信息传输方法和装置、视频服务器
WO2021073539A1 (zh) 一种hls播放方法、客户端、服务器及存储介质
CN112118461B (zh) 一种音视频文件存储和分发方法与装置
KR100809641B1 (ko) 이종 시스템간의 컨텐츠 교환 방법 및 그 방법을 수행하는컨텐츠 관리 시스템
CN105812831B (zh) 网络节目的录制方法、装置、***以及播放方法、装置
CN104702978A (zh) 一种视频数据定位的方法及网络播放设备
CN114222086B (zh) 音视频码流的调度方法、***、介质及电子装置
CN108924606A (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