一种视频文件实时转码方法技术

技术编号:15522687 阅读:122 留言:0更新日期:2017-06-04 11:38
本发明专利技术公开了一种视频文件实时转码方法,前端代理在客户端接收实时点播m3u8文件请求时,当m3u8文件不存在时,创建一个会话,所述会话中根据原始文件时长生成m3u8文件,生成的所述m3u8文件返回所述客户端,且所述会话中保存每个所述TS切片文件对应的起始时间点和结束时间点,这种视频文件实时转码方法,由于m3u8和TS切片文件是在点播时实时生成的,实时转码生成hls格式的点播视频,使得实时转码可任意SEEK,客户有较好的体验。

Real time transcoding method for video file

The invention discloses a method for real-time transcoding of video files on the client front-end proxy to receive real-time on-demand m3u8 file request, when the m3u8 file does not exist, create a session in the session according to the original file longevity into m3u8 file, the m3u8 file generated is returned to the client, and the session in the save starting time and ending time point corresponding to each of the sections of the TS file, this method of real-time transcoding of video files, because m3u8 and TS slice file is generated in demand in real time, real-time transcoding generated HLS format video, the real-time transcoding can be arbitrary SEEK, customers have a better experience.

【技术实现步骤摘要】
一种视频文件实时转码方法
本专利技术涉及一种视频文件实时转码方法。
技术介绍
目前视频文件的爆炸式增长,视频格式越来越多,而播放终端的多样化,为了兼容各种播放终端、节省存储空间以及用户的即时观看需求,实时转码点播成为迫切的需求。目前行业中采用的基本是边转边播的方式,但普遍存在的问题是在实时转码过程中,播放器无法SEEK到没有转码的位置,同时播放器界面长的时长会不断变化,客户体验很差。
技术实现思路
本专利技术的目的在于克服现有技术中的不足而提供一种视频文件实时转码方法。为实现上述目的,一方面,本专利技术提供的一种视频文件实时转码方法,包括如下步骤:前端代理在客户端接收实时点播m3u8文件请求时,当m3u8文件不存在时,创建一个会话,所述会话中根据原始文件时长生成m3u8文件,生成的所述m3u8文件中包含实际不存在的TS切片文件,且所有所述TS切片文件的总时长与所述原始文件的时长相同,生成的所述m3u8文件返回所述客户端,且所述会话中保存每个所述TS切片文件对应的起始时间点和结束时间点。根据本专利技术提供的一种视频文件实时转码方法,由于m3u8和TS切片文件是在点播时实时生成的,实时转码生成hls格式的点播视频,使得实时转码可任意SEEK,客户有较好的体验。具体实施方式下面详细描述本专利技术的实施例。本专利技术一实施例提供了一种视频文件实时转码方法,包含一支持本专利技术的视频编码算法的一种系统,其中系统中包括前端代理模块、存储模块、m3u8生成模块和实时转码模块。具体地,前端代理模块用于面向客户端,接收m3u8文件及TS切片文件的请求,维护实时转码会话,经过其他模块处理后,将视频信息或视频流返回给客户端;存储模块用于保存实时转码后实时生成的m3u8文件和TS切片文件;m3u8生成模块用于根据原始文件时长生成m3u8文件,m3u8文件中包含实际不存在的TS切片文件,m3u8文件中所有TS切片文件的时长总和与原始文件的时长相同,此外,为了让播放时有较好体验,一般情况下,开始的几个切片的时长会设置稍短,下详述。实时转码模块用于处理TS切片文件实时转码请求,将原始视频文件中指定时间段的视频内容转码并生成TS切片文件,该TS切片文件实施转码请求中包括原始视频文件路径、开始时间、结束时间等参数。本专利技术一实施例的一种视频文件实时转码方法,依托上述系统,执行过程具体地包括如下步骤:步骤1、前端代理模块收到客户端播放请求,一般地,即请求m3u8文件;步骤2.1、如果发现存储模块中已存在该m3u8文件,则直接将m3u8文件内容返回给客户端;步骤2.2、如果该m3u8文件不存在,则先查找该m3u8文件相对应的实时转码会话是否存在,如果不存在,则创建一个会话;步骤3、在会话中,根据原始文件时长,实时生成m3u8文件,m3u8文件中包含实际不存在的TS切片文件,m3u8文件中所有TS切片文件的时长总和与原始文件的时长相同,m3u8文件生成后保存在存储模块中,并返回给客户端,同时会话中保存每个TS切片文件对应的起始时间点及结束时间点;步骤4、为了后续播放能够快速开始,会话立即发送第一个TS切片文件的转码请求给实时转码模块,该第一个TS切片文件的转码请求包括会话发送文件、第一个TS切片文件开始时间及第一个TS切片文件结束时间等参数,如该第一个TS切片文件的开始时间为00:00:00,该第一个TS切片文件结束时间为一个切片的时长(一般设置为3~5秒左右)。通常开始几个TS切片文件的时长可以设置短一点以缩短转码时间,使客户端能够快速播放从而改善体验;步骤5、实时转码模块收到第一个TS切片文件的转码请求后,对第一个TS切片文件进行转码,并同步返回实时数据流;步骤6、前端代理模块收到该实时数据流后,将该实时数据流保存到存储模块;步骤7、当客户端收到m3u8文件后,读取m3u8文件中的内容,从第一个TS切片文件开始依次向服务器请求TS切片文件的地址;步骤8、前端代理模块在收到TS切片文件的地址后,先查找相应的会话;步骤8.1、如果相应会话不存在,则创建一个会话,先在存储模块中查找m3u8文件是否存在,如果存在,则直接返回。由于第一个TS切片文件之前就开始转码了,而且文件比较短,那么在大部分情况下,可以直接返回给客户端;步骤8.2、如果TS切片文件还没有生成,则立即开始该TS切片文件的转码,并返回实时数据流,且同时保存到存储模块;步骤9、会话会继续依次转码后续的2个切片,以便下次请求来时能够快点拿到TS切片文件;步骤10、客户端不管是SEEK还是顺序播放,都会重复步骤8至步骤9的动作,直到播放结束或停止播放;步骤11、当客户端一段时间内都没有请求过来,那么会话会自动结束。在上述步骤中,生成m3u8的方式具体如下:假设原视频时长为23.4秒,那么如果每个TS切片文件设置为3秒,那么生成的m3u8文件内容可能如下:#EXTM3U#EXT-X-VERSION:3#EXT-X-TARGETDURATION:3#EXTINF:3.000,TS_1_03000.TS#EXTINF:3.000,TS_2_3000_6000.TS#EXTINF:3.000,TS_3_6000_9000.TS#EXTINF:3.000,TS_4_9000_12000.TS#EXTINF:3.000,TS_5_12000_15000.TS#EXTINF:3.000,TS_6_15000_18000.TS#EXTINF:3.000,TS_7_18000_21000.TS#EXTINF:2.400,TS_8_21000_23400.TS#EXT-X-ENDLIST值得说明的是,TS切片文件名可以根据实际情况来命名,TS切片文件的切片时长亦可以根据实际情况做调整,上述只是本专利技术一实施例示例。综上,根据本专利技术提供的一种视频文件实时转码方法,由于m3u8和TS切片文件是在点播时实时生成的,实时转码生成hls格式的点播视频,使得实时转码可任意SEEK,客户有较好的体验。在本说明书的描述中,参考术语“一个实施例”、“一些实施例”、“示例”、“具体示例”、或“一些示例”等的描述意指结合该实施例或示例描述的具体特征或者特点包含于本专利技术的至少一个实施例或示例中。在本说明书中,对上述术语的示意性表述不一定指的是相同的实施例或示例。尽管上面已经示出和描述了本专利技术的实施例,可以理解的是,上述实施例是示例性的,不能理解为对本专利技术的限制,本领域的普通技术人员在不脱离本专利技术的原理和宗旨的情况下在本专利技术的范围内可以对上述实施例进行变化、修改、替换和变型。本文档来自技高网...

【技术保护点】
一种视频文件实时转码方法,其特征在于,包括如下步骤:前端代理在客户端接收实时点播m3u8文件请求时,当m3u8文件不存在时,创建一个会话,所述会话中根据原始文件时长生成m3u8文件,生成的所述m3u8文件中包含实际不存在的TS切片文件,且所有所述TS切片文件的总时长与所述原始文件的时长相同,生成的所述m3u8文件返回所述客户端,且所述会话中保存每个所述TS切片文件对应的起始时间点和结束时间点。

【技术特征摘要】
1.一种视频文件实时转码方法,其特征在于,包括如下步骤:前端代理在客户端接收实时点播m3u8文件请求时,当m3u8文件不存在时,创建一个会话,所述会话中根据原始文件时长生成m3u8文件,生成的所述m3...

【专利技术属性】
技术研发人员:李妃军陈勇
申请(专利权)人:杭州当虹科技有限公司
类型:发明
国别省市:浙江,33

网友询问留言 已有0条评论
  • 还没有人留言评论。发表了对其他浏览者有用的留言会获得科技券。

1