一种基于srs的视频文件生产方法、后台服务器和系统

文档序号:956382 发布日期:2020-10-30 浏览:3次 >En<

阅读说明:本技术 一种基于srs的视频文件生产方法、后台服务器和系统 (Video file production method based on SRS, background server and system ) 是由 朱正辉 张常华 赵定金 于 2020-07-21 设计创作,主要内容包括:本发明公开了一种基于SRS的视频文件生产方法、后台服务器和系统,包括以下步骤:S1:获取直播视频流,并由SRS自动按预设顺序生成ts视频文件和第二索引文件,同时根据需要录制视频的起始时间和结束时间对ts文件进行编号;S2:通过预先录入的录制文件分析脚本遍历ts视频文件,再动态获取ts视频文件的文件特征信息,组装生成第一索引文件;S3:将步骤S2循环到的ts视频文件和生成的第一索引文件均复制到指定目录中。在本发明中,通过由ts视频文件的文件特征信息组装生成第一索引文件对ts视频文件进行播放,以使得ts视频文件无需再通过转码成其他格式或者进行额外的合并,即可适于终端进行播放,避免耗费大量时间去将ts视频文件进行合成或者转码。(The invention discloses a video file production method based on SRS, a background server and a system, comprising the following steps: s1: acquiring a live video stream, automatically generating a ts video file and a second index file according to a preset sequence by the SRS, and numbering the ts file according to the starting time and the ending time of the video to be recorded; s2: traversing the ts video file through a recording file analysis script which is input in advance, then dynamically acquiring file characteristic information of the ts video file, and assembling to generate a first index file; s3: the ts video file to which the loop of step S2 is looped and the generated first index file are both copied into the specified directory. In the invention, the ts video file is played by generating the first index file by assembling the file characteristic information of the ts video file, so that the ts video file can be played by a terminal without transcoding into other formats or extra merging, and the ts video file is prevented from being synthesized or transcoded by consuming a large amount of time.)

一种基于SRS的视频文件生产方法、后台服务器和系统

技术领域

本发明涉及视频处理技术领域,尤其涉及一种基于SRS的视频文件生产方法、后台服务器和系统。

背景技术

SRS(Simple RTMP Server)是一款非常优秀的开源流媒体服务器软件,可用于直播/录播/视频客服等多种场景,其定位是运营级的互联网直播服务器集群。

目前市场上同时提供直播服务和点播回放服务的系统(非CDN方式部署)总的来说有两种产生录制文件的方法。第一种,对接无录制功能的直播设备(如摄像头、第三方直播流),需要直播服务器自行首先录制为MP4文件,然后为兼容移动端的播放,还需要转码为适合移动端播放的其他格式,比如说M3U8,才能提供完整的点播服务;第二种,对接有录制功能的直播设备(公司自有直播设备或通用第三方直播产品),通过TCP协议对接,控制直播设备录制、暂停及停止来产生录制文件,直播结束后,直播设备通过FTP协议及预先搭建好的FTP服务通过回传录制文件到直播服务器的指定目录,然后直播服务器再扫描指定目录,将录制文件与直播信息进行匹配、关联、甚至数据库更新。有了录制文件之后,为了兼容移动端的播放,也需要转码为适合移动端播放的其他格式,比如说M3U8,才能提供完整的点播服务。不管哪种方式产生录制作文件,此过程都非常复杂,不仅容易出错,而且还费时费力,另外直播时间越长,后续出来的录制文件就越大,之后转码的时间就更长,而由于软编码耗时长,所以这个过程的耗时就特别长,同时对系统资源的占用也久久不能释放,最后的结果就是视频点播服务的提供会严重延迟和滞后,用户体验比较差。

发明内容

为了克服现有技术的不足,本发明的目的之一在于提供一种基于SRS的视频文件生产方法,其能解决视频点播服务的提供会严重延迟和滞后的问题。

本发明的目的之二在于提供一种基于SRS的视频文件生产后台服务器,其能解决视频点播服务的提供会严重延迟和滞后的问题。

本发明的目的之三在于提供一种基于SRS的视频文件生产系统,其能解决视频点播服务的提供会严重延迟和滞后的问题。

为了达到上述目的之一,本发明所采用的技术方案如下:

一种基于SRS的视频文件生产方法,包括以下步骤:

S1:获取直播视频流,并按预设顺序生成ts视频文件,同时根据需要录制视频的起始时间和结束时间对ts文件进行编号;

S2:通过预先录入的录制文件分析脚本遍历ts视频文件,再动态获取ts视频文件的文件特征信息,组装生成第一索引文件;

S3:将ts视频文件和第一索引文件均复制到指定目录中。

优选的,所述S1具体有以下步骤实现:

S11:获取直播视频流,通过配置SRS的分发方式,将直播视频流按预设顺序生成若干个ts视频文件,同时根据需要录制视频的起始时间和结束时间对ts文件进行编号,并储存至储存器;

S12:生成第二索引文件,并储存至储存器;

S13:通过第二索引文件按预设顺序播放ts视频文件。

优选的,所述预设顺序为直播视频流信号画面播放的时间顺序。

优选的,所述SRS的分发方式为HLS分发方式。

优选的,所述S2具体有以下步骤实现:

S21:通过预先录入的录制文件分析SHELL脚本遍历ts视频文件;

S22:通过FFprobe命令动态获取ts视频文件的文件特征信息,动态组装成第一索引文件。

优选的,所述文件特征信息包括ts视频文件的名称、编号和播放时长。

为了达到上述目的之二,本发明所采用的技术方案如下:

一种基于SRS的视频文件生产后台服务器,包括储存器和处理器;

存储器,用于存储程序指令;

处理器,用于运行所述程序指令,以执行上述的基于SRS的视频文件生产方法。

为了达到上述目的之三,本发明所采用的技术方案如下:

一种基于SRS的视频文件生产系统,包括上述的基于SRS的视频文件生产后台服务器、直播设备和播放设备,所述直播设备和播放设备均与基于SRS的视频文件生产后台服务器连接。

相比现有技术,本发明的有益效果在于:通过SRS自带的HLS分发功能将直播视频流生成ts视频文件和动态第二索引文件,利用动态第二索引文件对ts视频文件进行播放,使得当前的直播保持比较低的延迟及终端设备播放兼容性,降低当前直播的影响,再采用文件特征信息动态组装成第一索引文件,并将第一索引文件与ts视频文件储存到至HTTP服务器可以访问的目录中,以使得用户可以直接访问点播流媒体地址,再通过播放器加载即可正常播放,在播放过程中无任何编码或者转码操作,能够尽快地向用户提供视频点播服务,改善了常规视频点播服务的延迟和滞后的问题,提高用户体验。

附图说明

图1为本发明中所述的基于SRS的视频文件生产方法的流程图。

具体实施方式

以下结合附图对本发明的优选实施例进行说明,应当理解,此处所描述的优选实施例仅用于说明和解释本发明,并不用于限定本发明。

在本发明的描述中,需要说明的是,术语“中心”、“上”、“下”、“左”、“右”、“竖直”、“水平”、“内”、“外”等指示的方位或位置关系为基于附图所示的方位或位置关系,仅是为了便于描述本发明和简化描述,而不是指示或暗示所指的装置或元件必须具有特定的方位、以特定的方位构造和操作,因此不能理解为对本发明的限制。此外,术语“第一”、“第二”、“第三”仅用于描述目的,而不能理解为指示或暗示相对重要性。

在本发明的描述中,需要说明的是,除非另有明确的规定和限定,术语“安装”、“相连”、“连接”应做广义理解,例如,可以是固定连接,也可以是可拆卸连接,或一体地连接;可以是机械连接,也可以是电连接;可以是直接相连,也可以通过中间媒介间接相连,可以是两个元件内部的连通。对于本领域的普通技术人员而言,可以具体情况理解上述术语在本发明中的具体含义。

下面,结合附图以及具体实施方式,对本发明做进一步描述:

在本发明中,所述直播设备可以为不具备录制功能的设备(不限制对接设备),同时不需要定制TCP协议去控制直播设备,更不需要搭建FTP系统(回传录制文件),也避免了部署录制文件扫描服务,所述播放设备可以为电脑、手机等可以登陆到HTTP服务器的设别,所述指定目录为HTTP服务器可以访问的目录。

实施例一:

如图1所示,在本实施例中,一种基于SRS的视频文件生产方法,包括以下步骤:

S1:获取直播视频流,并按预设顺序生成ts视频文件,同时根据需要录制视频的起始时间和结束时间对ts文件进行编号;

具体的,所述基于SRS的视频文件生产后台服务器获取到直播设备上传的直播视频流后,将对直播视频流进行切片保存,以便于后续的视频的点播,在本实施例中,所述S1具体有以下步骤实现:

S11:获取直播视频流,通过配置SRS的分发方式,优选的,采用HLS分发方式,将直播视频流按预设顺序生成若干个ts视频文件,同时根据需要录制视频的起始时间和结束时间对ts文件进行编号,并储存至储存器;

具体的,所述基于SRS的视频文件生产后台服务器获取到直播设备上传的直播视频流后,开始配置HLS分发方式,将直播视频流按照直播视频流的画面播放的时间顺序生成若干个ts视频文件,每个ts视频文件对应的播放时间的长度不等,同时根据需要录制视频的起始时间和结束时间对ts视频文件进行编号;在本实施例中,基于SRS的视频文件生产后台服务器可通过配置HLS分发方式,将直播视频流的0-3秒生成第一个ts视频文件、4-8秒生成第二ts视频文件、9-10秒生成第三个ts视频文件,如此类推,随着播放的时间的延长,生成的ts视频文件就会越多,同时对生成的ts视频文件进行编号,编号从1开始,每次加1,即第一个ts视频文件的编号为1、第二个ts视频文件的编号为2,第n个ts视频文件的编号为n(n属于正整数),然后保存至储存器中;

S12:生成第二索引文件,并储存至储存器;

具体的,在基于SRS的视频文件生产后台服务器可通过配置HLS分发方式生成ts视频文件的同时,还生成第二索引文件,例如index.m3u8,在本实施例中,所述第二索引文件为动态索引文件,用于当前的直播,能够使当前的直播保持比较低的延迟,例如与RTMP分发方式相比,能够稳定地保持延迟在30秒以内。

S13:通过第二索引文件按预设顺序播放ts视频文件;

具体的,基于SRS的视频文件生产后台服务器生成第二索引文件,例如index.m3u8后,开始通过第二索引文件对ts视频文件进行播放,在本实施例中,所述第二索引文件的容量有限,只能够同时保存1个或者其中几个ts视频文件,所以第二索引文件index.m3u8在播放ts视频文件时,按照播视频流信号画面播放的时间顺序,依次将ts视频文件保持到第二索引文件index.m3u8中,例如第二索引文件index.m3u8的容量是时长20秒ts视频文件,编号:1的ts视频文件的时长为5秒,编号:2的ts视频文件的时长为6秒,编号:3的ts视频文件的时长为9秒、编号:4的ts视频文件的时长为4秒,编号:5的ts视频文件的时长为7秒,编号:6的ts视频文件的时长为5秒,编号:7的ts视频文件的时长为4秒;那么第二索引文件index.m3u8在播放ts视频文件之前,则会按照编号顺序和和自身容量去保存相应的ts视频文件,具体的,先保存编号:1-3的ts视频文件,并播放编号:1的ts视频文件,播放顺序1-2-3。当编号:1的ts视频文件播放完之后,开始播放编号:2的ts视频文件,则将编号:1的ts视频文件删除,需要注意的是,这里删除的是编号:1的ts视频文件在第二索引文件index.m3u8中记录的相应信息,并不是删除物理文件,然后将编号:4的ts视频文件保存到第二索引文件index.m3u8中,此时播放顺序为2-3-4,如此类推,直至将所有的ts视频文件播放完。

S2:通过预先录入的录制文件分析脚本遍历ts视频文件,再动态获取ts视频文件的文件特征信息,组装生成第一索引文件;

具体的,随着直播时间的延长,直播视频流被基于SRS的视频文件生产后台服务器通过HLS的分发生成的ts视频文件则会越来越多,直至直播结束后,SRS直播系统根据需要录制视频的起始时间和结束时间对应的ts视频文件编号,假设分别编号为X和Y,则遍历X和Y之间的的ts视频文件,以获取所有的ts视频文件对应的文件特征信息,从而生成第一索引文件,在本实施例中,所述S2具体有以下步骤实现:

S21:通过预先录入的录制文件分析SHELL脚本遍历ts视频文件;

具体的,预先录入录制文件分析SHELL脚本,通过录制文件分析SHELL脚本遍历所有的ts视频文件,在本实施例中,若直播视频流被基于SRS的视频文件生产后台服务器通过HLS的分发生成150个ts视频文件,则录制文件分析SHELL脚本在直播结束后,遍历1(ts视频文件编号)至150(ts视频文件编号)之间的ts视频文件。

S22:通过FFprobe命令动态获取ts视频文件的文件特征信息,动态组装成第一索引文件。

具体的,当录制文件分析SHELL脚本遍历所有的ts视频文件后,执行FFprobe命令动态查看以及获取ts视频文件的文件特征信息,在本实施例中,所述文件特征信息包括ts视频文件的名称、编号和播放时长,当FFprobe命令动态获取ts视频文件的名称和播放时长,利用ts视频文件的名称和播放时长重新组装出第一索引文件,例如live001.m3u8。

S3:将ts视频文件和第一索引文件均复制到指定目录中。

具体的,当基于SRS的视频文件生产后台服务器利用ts视频文件的名称和播放时长生成第一索引文件后,再将通过HLS的分发生成的所有的ts视频文件(150个ts视频文件)和第一索引文件live001.m3u8复制至HTTP服务器可以访问的目录中,即可将该直播对应的视频(ts视频文件)提供对外界直接访问,具体的,用户可以直接访问点播流媒体M3U8格式的HTTP地址,再通过播放器加载即可正常播放,在播放过程中无任何编码或者转码操作,能够尽快地向用户提供视频点播服务,改善了常规视频点播服务的延迟和滞后的问题,提高用户体验。

实施例二:

一种基于SRS的视频文件生产后台服务器,包括储存器和处理器;

存储器,用于存储程序指令;

处理器,用于运行所述程序指令,以执行实施例一中所述的基于SRS的视频文件生产方法。

实施例三:

一种基于SRS的视频文件生产系统,包括实施例二的基于SRS的视频文件生产后台服务器、直播设备和播放设备,所述直播设备和播放设备均与基于SRS的视频文件生产后台服务器连接。

在本实施例中,所述直播设备通过物联网将直播视频流传输至基于SRS的视频文件生产后台服务器,然后基于SRS的视频文件生产后台服务器开始实施例一所述的基于SRS的视频文件生产方法得步骤,从而生成ts视频文件和第一索引文件,并储存至HTTP服务器可以访问的目录中,用户可以通过手机、电脑或者平板电脑等设备访问HTTP服务器用来储存ts视频文件和第一索引文件的目录,观看直播视频流所对应的视频。

对本领域的技术人员来说,可根据以上描述的技术方案以及构思,做出其它各种相应的改变以及形变,而所有的这些改变以及形变都应该属于本发明权利要求的保护范围之内。

8页详细技术资料下载
上一篇:一种医用注射器针头装配设备
下一篇:一种音视频传输方法及系统

网友询问留言

已有0条留言

还没有人留言评论。精彩留言会获得点赞!

精彩留言,会给你点赞!

技术分类