一种实时视频的HLS快速分享的方法技术

技术编号:22977671 阅读:43 留言:0更新日期:2020-01-01 00:31
本发明专利技术公开了一种实时视频的HLS快速分享的方法,IP摄像机和服务器准备就绪,服务器周期获取IP摄像机的当前截图或者IP摄像机周期向服务器上传截图;服务器定时使用截图素材生成视频片段;服务器收到客户端的HLS媒体请求后,立即使用步骤2的视频片段生成HLS播放地址M3U8,并记为地址A,返回地址A给客户端;客户端播放该播放地址A,同时服务器开始获取该摄像机视频,开启正常的HLS转码过程。本发明专利技术即时生成播放地址,用户即时可播,无需等待。

【技术实现步骤摘要】
一种实时视频的HLS快速分享的方法
本专利技术涉及一种分享方法,特别是一种实时视频的HLS快速分享的方法,属于流媒体

技术介绍
实时视频的HLS分享是指基于HLS协议,分发实时视频数据。针对实时视频,一般持续采集视频,然后按HLS协议规范,对视频进行分片、同时生成索引文件(.M3U8)。在广播电视等领域,这种方式比较适合。但在视频监控等领域,由于视频源数量庞大,同时受前端限制,这个HLS的处理一般在后端服务器来做。如果仍然采用上述“持续”处理的方式,则服务器和带宽需求巨大。因此一般采取需要观看的时候服务器端临时启动转码的过程。但是这样在用户触发观看后,需要等待一定的时间播放地址才能生成、播放,影响用户体验。从触发到能播放这个等待的时间却是无法去除的——服务器获取媒体数据,服务器产生媒体片段,待片段产生一定数量后产生索引文件(.M3U8)均需要时间。同时,上述的等待该流媒体备好的这个等待时长对于各播放端来说是不可确知的,也给播放端的开发制造了一定的困难——不可播放需要再试等。
技术实现思路
本专利技术所要解决的技术问题是提供一种实时视频的HLS快速分享的方法,即时生成播放地址,用户即时可播。为解决上述技术问题,本专利技术所采用的技术方案是:一种实时视频的HLS快速分享的方法,其特征在于包含以下步骤:步骤一:IP摄像机和服务器准备就绪,服务器周期获取IP摄像机的当前截图或者IP摄像机周期向服务器上传截图;步骤二:服务器定时使用截图素材生成视频片段;步骤三:服务器收到客户端的HLS媒体请求后,立即使用步骤二的视频片段,按照hls规范将其分片,同时生成HLS的M3U8索引文件,记为播放地址A,返回给客户端;步骤四:客户端播放该播放地址A,同时服务器开始获取该摄像机视频,开启正常的HLS转码过程。进一步地,所述步骤二中生成视频片段的具体过程为2.1视频片段的帧率为f,视频片段的时长为r,则一段视频片段共计有f*r幅图片;2.2设定截图周期为T1,那么至少需要T1*(f*r+1)秒才能准备好一个视频片段的全部照片;由于HLS的视频片段的帧率和时长一般是一定的,因此制作视频片段的周期T2>=T1*(f*r+1);2.3视频片段生成:按照图片生成的时间,顺序读取图片,并解码为编码器可以利用的图像数据,然后使用视频压缩算法按一定的帧率将上述图片数据作为视频帧进行编码压缩,进一步地按Mp4格式存成文件,形成视频片段。进一步地,所述2.3中编码器可以利用的图像数据格式为YUV。进一步地,所述2.3中视频压缩算法采用H.264。进一步地,所述2.3中视频片段生成的过程代码为定义一个文件8128CD2002D_0_1.m3u8:#EXTM3U#EXT-X-VERSION:3#EXT-X-MEDIA-SEQUENCE:3#EXT-X-TARGETDURATION:8#EXTINF:5.089,8128CD2002D_0_1-3.ts#EXTINF:4.255,8128CD2002D_0_1-4.ts#EXTINF:4.547,8128CD2002D_0_1-5.ts#EXT-X-DISCONTINUITY#EXTINF:7.770,8128CD2002D_0_1-6.ts#EXTINF:6.000,8128CD2002D_0_1-7.ts8128CD2002D_0_1-6.ts和8128CD2002D_0_1-7.ts为新媒体片,上部为预先生成的媒体片,#EXT-X-DISCONTINUITY为按HLS协议规范。进一步地,所述步骤四中的客户端为专用的客户端软件或者浏览器。进一步地,所述步骤四中,服务器开启正常的HLS转码过程,产生正常HLS播放地址M3U8,并记为地址B,按HLS协议规范,将新文件片加入到A地址的M3U8文件后。本专利技术与现有技术相比,具有以下优点和效果:本专利技术提供了一种实时视频的HLS快速分享的方法,即时生成播放地址,用户即时可播,无需等待。附图说明图1是本专利技术的一种实时视频的HLS快速分享的方法的流程图。具体实施方式下面通过实施例对本专利技术作进一步的详细说明,以下实施例是对本专利技术的解释而本专利技术并不局限于以下实施例。如图1所示,本专利技术的一种实时视频的HLS快速分享的方法,其特征在于包含以下步骤:步骤一:IP摄像机和服务器准备就绪,服务器周期获取IP摄像机的当前截图或者IP摄像机周期向服务器上传截图;步骤二:服务器定时使用截图素材生成视频片段;其具体过程为:2.1视频片段的帧率为f,视频片段的时长为r,则一段视频片段共计有f*r幅图片;2.2设定截图周期为T1,那么至少需要T1*(f*r+1)秒才能准备好一个视频片段的全部照片;由于HLS的视频片段的帧率和时长一般是一定的,因此制作视频片段的周期T2>=T1*(f*r+1);2.3视频片段生成:按照图片生成的时间,顺序读取图片,并解码为编码器可以利用的图像数据,然后使用视频压缩算法按一定的帧率将上述图片数据作为视频帧进行编码压缩,进一步地按Mp4格式存成文件,形成视频片段。其中,2.3实现的代码为:定义一个文件8128CD2002D_0_1.m3u8:#EXTM3U#EXT-X-VERSION:3#EXT-X-MEDIA-SEQUENCE:3#EXT-X-TARGETDURATION:8#EXTINF:5.089,8128CD2002D_0_1-3.ts#EXTINF:4.255,8128CD2002D_0_1-4.ts#EXTINF:4.547,8128CD2002D_0_1-5.ts#EXT-X-DISCONTINUITY#EXTINF:7.770,8128CD2002D_0_1-6.ts#EXTINF:6.000,8128CD2002D_0_1-7.ts8128CD2002D_0_1-6.ts和8128CD2002D_0_1-7.ts为新媒体片,上部为预先生成的媒体片,#EXT-X-DISCONTINUITY为按HLS协议规范。在本实施例中,视频片段的帧率f一般取值为25,时长r为5秒钟,则一段视频片段共计有f*r=25*5=125幅画片。设截图周期T1为2则至少需要T1*(f*r+1)=2*(25*5+1)=252秒方能准备好一个视频片段的全部照片;HLS的视频片段的帧率和时长一般是一定的,更多数量的的截图显然是可以制作更多的视频片段。基于以上条件,则制作视频片段的周期T2>=T1*(f*r+1)。步骤三:服务器收到客户端的HLS媒体请求后,立即本文档来自技高网...

【技术保护点】
1.一种实时视频的HLS快速分享的方法,其特征在于包含以下步骤:/n步骤一:IP摄像机和服务器准备就绪,服务器周期获取IP摄像机的当前截图或者IP摄像机周期向服务器上传截图;/n步骤二:服务器定时使用截图素材生成视频片段;/n步骤三:服务器收到客户端的HLS媒体请求后,立即使用步骤二的视频片段,按照hls规范将其分片,同时生成HLS的M3U8索引文件,记为播放地址A,返回给客户端;/n步骤四:客户端播放该播放地址A,同时服务器开始获取该摄像机视频,开启正常的HLS转码过程。/n

【技术特征摘要】
1.一种实时视频的HLS快速分享的方法,其特征在于包含以下步骤:
步骤一:IP摄像机和服务器准备就绪,服务器周期获取IP摄像机的当前截图或者IP摄像机周期向服务器上传截图;
步骤二:服务器定时使用截图素材生成视频片段;
步骤三:服务器收到客户端的HLS媒体请求后,立即使用步骤二的视频片段,按照hls规范将其分片,同时生成HLS的M3U8索引文件,记为播放地址A,返回给客户端;
步骤四:客户端播放该播放地址A,同时服务器开始获取该摄像机视频,开启正常的HLS转码过程。


2.按照权利要求1所述的一种实时视频的HLS快速分享的方法,其特征在于:所述步骤二中生成视频片段的具体过程为
2.1视频片段的帧率为f,视频片段的时长为r,则一段视频片段共计有f*r幅图片;
2.2设定截图周期为T1,那么至少需要T1*(f*r+1)秒才能准备好一个视频片段的全部照片;由于HLS的视频片段的帧率和时长一般是一定的,因此制作视频片段的周期T2>=T1*(f*r+1);
2.3视频片段生成:按照图片生成的时间,顺序读取图片,并解码为编码器可以利用的图像数据,然后使用视频压缩算法按一定的帧率将上述图片数据作为视频帧进行编码压缩,进一步地按Mp4格式存成文件,形成视频片段。


3.按照权利要求2所述的一种实时视频的HLS快速分享的方法,其特征在于:所述2.3中编码器可以利用的图像数据格式为YUV。


4.按照权利要求2所述的一种实时视频的HLS快速分享的方法,其特征在于:所述2.3中视频压缩算法采用H.264...

【专利技术属性】
技术研发人员:吴俊杰季金辉杜春花周伟侯凝冰
申请(专利权)人:江苏鸿信系统集成有限公司
类型:发明
国别省市:江苏;32

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

1