CN115665112B - 一种适用于工业互联网的视频格式转换系统及方法 - Google Patents
一种适用于工业互联网的视频格式转换系统及方法 Download PDFInfo
- Publication number
- CN115665112B CN115665112B CN202211359163.XA CN202211359163A CN115665112B CN 115665112 B CN115665112 B CN 115665112B CN 202211359163 A CN202211359163 A CN 202211359163A CN 115665112 B CN115665112 B CN 115665112B
- Authority
- CN
- China
- Prior art keywords
- ffmpeg
- generated
- pid
- file
- video
- 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
Links
- 238000000034 method Methods 0.000 title claims abstract description 79
- 238000006243 chemical reaction Methods 0.000 title claims abstract description 17
- 238000012544 monitoring process Methods 0.000 claims abstract description 7
- 230000002159 abnormal effect Effects 0.000 claims description 6
- 238000012545 processing Methods 0.000 abstract description 3
- 238000012546 transfer Methods 0.000 description 2
- 238000012800 visualization Methods 0.000 description 2
- 238000001514 detection method Methods 0.000 description 1
- 238000010586 diagram Methods 0.000 description 1
- 230000000694 effects Effects 0.000 description 1
- 238000012423 maintenance Methods 0.000 description 1
- 230000000007 visual effect Effects 0.000 description 1
Landscapes
- Closed-Circuit Television Systems (AREA)
Abstract
本发明涉及一种适用于工业互联网的视频格式转换系统及方法,属于视频处理技术领域。一种适用于工业互联网的视频格式转换系统,其特征在于,包括前端的ffmpeg控制台界面和网络摄像头,以及ffmpeg控制系统后台。一种适用于工业互联网的视频格式转换方法,其特征在于,包括以下步骤:S1、系统获取运行系统所需的数据源;S2、系统对ffmpeg远程控制;S3、系统对ffmpeg进程守护;S4、系统对ffmpeg远程监控;S5、系统启动nginx转流。本发明避免了因网络波动或者前端网络摄像机重启而导致的视频中断问题,提高了用户体验。
Description
技术领域
本发明涉及一种视频格式转换系统及方法,属于视频处理技术领域。
背景技术
在工业互联网的视频应用领域中,经常存在需要前端摄像机直接在浏览器上打开画面的需求,而现有浏览器大多不支持flash插件导致无法打开rtsp格式的视频流,而现有的主流前端网络摄像机大多不能提供直接在浏览器可以播放的视频流格式,但可以提供rtsp格式的视频流。在现有技术发展状况下,在转码路数不多时,使用ffmpeg将rtsp格式的视频流转变为易于在浏览器播放的hls格式的视频流是较优的选择,但使用ffmpeg时仍存在一些问题:
1、当网络波动或者前端网络摄像机重启时,ffmpeg并不会主动拉rtsp视频流,如果不对ffmpeg进程进行监测、重启,ffmpeg就会处于假死状态,导致提供给web端的视频流中断,影响客户端使用。
2、ffmpeg进程受到服务器系统环境影响或者其他因素导致进程异常结束,进而导致转流中止。
3、用户需要操作服务器启动ffmpeg进程,并单独配置nginx,操作比较繁琐,如果ffmpeg有报错也需要人为登录服务器查看报错,影响用户体验,工作效率较为低下。
发明内容
为解决上述问题,本发明提供了一种适用于工业互联网的视频格式转换系统及方法。
本发明的技术方案如下:
一种适用于工业互联网的视频格式转换系统,其特殊之处在于,包括前端的ffmpeg控制台界面和网络摄像头,以及ffmpeg控制系统后台;
所述网络摄像头用以向ffmpeg控制系统提供rtsp视频流;
所述ffmpeg控制台界面用以向ffmpeg控制系统后台提供用户输入的ffmpeg参数。
一种适用于工业互联网的视频格式转换方法,特殊之处在于,包括以下步骤:
S1、系统获取运行所需的数据源
系统获取前端网络摄像机的rtsp视频流以及用户在ffmpeg控制台界面输入的ffmpeg参数,保存在特定的配置文件中,供后面重启进程时重新获取对应参数;
S2、 系统对ffmpeg远程控制
系统启动对应的ffmpeg进程,通过JAVA的runtime和Process 执行ps命令来检测是否生成对应进程的pid,如果生成pid则返回生成成功,继续执行S3-S5;如果没有生成pid则返回参数失败,并将错误日志通过接口的形式返回到ffmpeg控制台界面,然后生成一段nginx配置插入到原有的配置之中,并重载nginx配置;
所述S2的具体执行过程包括:
通过JAVA的runtime和Process 执行linux命令,调用Process的waitFor方法实现在linux环境下远程启动ffmpeg进程;
用变量接收到生成的pid之后,开始执行如下定时任务:每分钟调用查询最新生成文件时间的shell脚本(脚本利用ll -lnt及awk获取特定目录最新的文件生成时间)获取最新的文件生成时间,与服务器时间对比,如果相差时间超过1分钟,则会重新利用waitfor方法启动ffmpeg进程;
S3、系统对ffmpeg进程守护
系统保存生成进程的pid和m3u8索引文件名到配置文件中,通过对pid的是否存在来判断进程是否处于活跃状态,如果pid在系统的进程列表里找不到,则系统重启进程从而来实现对ffmpeg的进程守护;
S4、系统对ffmpeg远程监控
系统利用S2的定时任务对生成的ts切片文件进行监控,如果预定时间内没有新的ts切片生成,则认为视频流异常,或者前端摄像机网络异常或者关机,对ffmpeg进程进行重启,让ffmpeg主动去拉取前端网络摄像机rtsp流进行转流。
S5、系统启动nginx开始转流
系统通过JAVA的runtime和Process 执行systemd命令启动nginx开始对m3u8格式的序列文件进行反向代理,生成hls格式的视频流地址,直接调用hls格式的视频流即可将ffmpeg生成的ts切片文件按照时间的顺序进行播放。
本发明的一种适用于工业互联网的视频格式转换系统及方法,通过对ffmpeg进程进行监测、重启,避免了因网络波动或者前端网络摄像机重启而导致的视频中断问题。实现了ffmpeg进程的远程控制以及ffmpeg参数配置的可视化、检测ffmpeg进程状态、对ffmpeg日志的可视化,以及ffmpeg进程的进程守护等功能。
附图说明
图1为实施例一的视频格式转换流程示意图。
具体实施方式
以下结合附图给出本发明的一个具体实施例,以对本发明的技术原理及方案作进一步详细说明。应当理解的是,实施例中的方案不得解释为对本申请保护范围的限制。
实施例一
应用场景为某工业企业的可视化物联网生产屏显项目,该项目要求实现在生产系统的数据展示网页页面中可以直接浏览摄像头画面的功能,且不能安装插件。现场摄像机的网络环境时有波动,单单利用ffmpeg对摄像机rtsp流进行转换,得到的hls流时断时续,经过videojs处理后在浏览器上播放的效果不好,经常出现打不开画面的情况,但增加本系统,对ffmpeg进行远程配置,监管,控制,大大提升了系统的稳定性,节约了时间和运维成本。
为此,本实施例提出适用于工业互联网的视频格式转换系统,该系统包括配置在生产现场的若干台网络摄像头、ffmpeg控制台界面以及后台的ffmpeg控制系统,所述控制系统通过一种视频格式转换方法,使前端网络摄像机的视频能够在浏览器中流畅播放。
所述视频格式转换方法包括以下步骤:
S1、首先确定前端网络摄像机的rtsp流地址和用户输入ffmpeg参数,系统获取到前端网络摄像机的rtsp视频流和用户在ffmpeg控制台界面输入的ffmpeg参数后,通过接口传递给ffmpeg控制系统后台;
S2、ffmpeg控制系统后台启动对应的ffmpeg进程,检测是否生成对应进程的pid,如果生成pid则返回生成成功,继续执行S3-S5;相反,没有生成pid则返回参数失败,并将错误日志通过接口的形式返回到ffmpeg控制台界面,然后生成一段nginx配置插入到原有的配置之中,并重载nginx配置;
上述具体执行过程包括:
通过JAVA的runtime和Process 执行linux命令,调用Process的waitFor方法实现在linux环境下远程启动ffmpeg进程;
用变量接收到生成的pid之后,开始执行如下定时任务:每分钟调用查询最新生成文件时间的shell脚本(脚本利用ll -lnt及awk获取特定目录最新的文件生成时间)获取最新的文件生成时间,与服务器时间对比,如果相差时间超过1分钟,则会重新利用waitfor方法启动ffmpeg进程;
S3、ffmpeg控制系统后台保存生成进程的pid和m3u8索引文件名到配置文件中,通过对pid的是否存在来判断进程是否处于活跃状态,如果pid在系统的进程列表里找不到,则系统重启进程从而来实现对ffmpeg的进程守护;
S4、系统对生成的ts切片文件进行监控,如果短时间内没有新的ts切片生成,则认为视频流异常,或者前端摄像机网络异常或者关机,对ffmpeg进程进行重启,让ffmpeg主动去拉取前端网络摄像机rtsp流进行转流,如果此时前端摄像机网络恢复,就可以实现中断画面的及时重连,并且重启ffmpeg进程后ffmpeg控制系统后台会根据系统时间删除当前时间之前产生的ts切片文件,减少ts切片视频占用磁盘空间的大小;
S5、启动nginx开始对m3u8格式的序列文件进行反向代理,生成可以兼容大部分浏览器的hls格式的视频流地址,直接调用hls格式的视频流就可以将ffmpeg生成的ts切片文件按照时间的顺序进行播放,每一个ffmpeg进程都将提供一个对应的对应的hls格式的地址,供开发者或者客户端调用。
前端开发者通过video,js将hls链接放入网页中实现浏览器打开网页后可以实现播放网络摄像机实时画面的功能,且不会受到摄像机重启或者网络波动或其他因素影响。
对比现有技术方案,本发明系统及方法具有以下3个方面的技术优势:
1、对ffmpeg的进程加以监控和守护,在网络和其他不确定因素的影响下,提供更稳定的视频流;
2、提供可以供用户输入配置的web界面,用户无需登录服务器即可进行视频流格式的转换,实现对服务器的远程操作;
3、可以直接在web浏览相关的报错内容。
Claims (2)
1.一种适用于工业互联网的视频格式转换方法,其特征在于,包括以下步骤:
S1、系统获取运行系统所需的数据源
系统获取前端网络摄像机的rtsp视频流以及用户在ffmpeg控制台界面输入的ffmpeg参数,保存在特定的配置文件中,供后面重启进程时重新获取对应参数;
S2、 系统对ffmpeg远程控制
系统启动对应的ffmpeg进程,通过JAVA的runtime和Process 执行ps命令来检测是否生成对应进程的pid,如果生成pid则返回生成成功,继续执行S3-S5;如果没有生成pid则返回参数失败,并将错误日志通过接口的形式返回到ffmpeg控制台界面,然后生成一段nginx配置插入到原有的配置之中,并重载nginx配置;
S3、系统对ffmpeg进程守护
系统保存生成进程的pid和m3u8索引文件名到配置文件中,通过对pid的是否存在来判断进程是否处于活跃状态,如果pid在系统的进程列表里找不到,则系统重启进程从而来实现对ffmpeg的进程守护;
S4、系统对ffmpeg远程监控
系统利用S2的定时任务对生成的ts切片文件进行监控,如果预定时间内没有新的ts切片生成,则认为视频流异常,或者前端摄像机网络异常或者关机,对ffmpeg进程进行重启,让ffmpeg主动去拉取前端网络摄像机rtsp流进行转流;
S5、系统启动nginx开始转流
系统通过JAVA的runtime和Process 执行systemd命令启动nginx开始对m3u8格式的序列文件进行反向代理,生成hls格式的视频流地址,直接调用hls格式的视频流即可将ffmpeg生成的ts切片文件按照时间的顺序进行播放。
2.如权利要求1所述的一种适用于工业互联网的视频格式转换方法,其特征在于,
所述S2的具体执行过程包括:
通过JAVA的runtime和Process 执行linux命令,调用Process的waitFor方法实现在linux环境下远程启动ffmpeg进程;
用变量接收到生成的pid之后,开始执行如下定时任务:每分钟调用查询最新生成文件时间的shell脚本获取最新的文件生成时间,与服务器时间对比,如果相差时间超过1分钟,则会重新利用waitfor方法启动ffmpeg进程。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211359163.XA CN115665112B (zh) | 2022-11-02 | 2022-11-02 | 一种适用于工业互联网的视频格式转换系统及方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202211359163.XA CN115665112B (zh) | 2022-11-02 | 2022-11-02 | 一种适用于工业互联网的视频格式转换系统及方法 |
Publications (2)
Publication Number | Publication Date |
---|---|
CN115665112A CN115665112A (zh) | 2023-01-31 |
CN115665112B true CN115665112B (zh) | 2024-04-05 |
Family
ID=84995665
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202211359163.XA Active CN115665112B (zh) | 2022-11-02 | 2022-11-02 | 一种适用于工业互联网的视频格式转换系统及方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN115665112B (zh) |
Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN205647807U (zh) * | 2016-04-29 | 2016-10-12 | 中傲智能科技(苏州)有限公司 | 视频采集与转发系统 |
CN112019805A (zh) * | 2020-07-24 | 2020-12-01 | 神华和利时信息技术有限公司 | 工艺环境及流程的监控方法、装置、存储介质及电子设备 |
CN113938656A (zh) * | 2021-10-27 | 2022-01-14 | 南京工业大学 | 一种浏览器无插件低延迟播放网络监控摄像头视频方法 |
CN114007138A (zh) * | 2021-11-01 | 2022-02-01 | 南京淡兰消防科技有限公司 | 通过rtsp视频流转flv格式实现h5网页端以video控件播放的方法 |
CN114125565A (zh) * | 2021-11-23 | 2022-03-01 | 深圳康佳电子科技有限公司 | 一种基于浏览器播放视频流的方法、装置及存储介质 |
-
2022
- 2022-11-02 CN CN202211359163.XA patent/CN115665112B/zh active Active
Patent Citations (5)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN205647807U (zh) * | 2016-04-29 | 2016-10-12 | 中傲智能科技(苏州)有限公司 | 视频采集与转发系统 |
CN112019805A (zh) * | 2020-07-24 | 2020-12-01 | 神华和利时信息技术有限公司 | 工艺环境及流程的监控方法、装置、存储介质及电子设备 |
CN113938656A (zh) * | 2021-10-27 | 2022-01-14 | 南京工业大学 | 一种浏览器无插件低延迟播放网络监控摄像头视频方法 |
CN114007138A (zh) * | 2021-11-01 | 2022-02-01 | 南京淡兰消防科技有限公司 | 通过rtsp视频流转flv格式实现h5网页端以video控件播放的方法 |
CN114125565A (zh) * | 2021-11-23 | 2022-03-01 | 深圳康佳电子科技有限公司 | 一种基于浏览器播放视频流的方法、装置及存储介质 |
Non-Patent Citations (1)
Title |
---|
曹恒峰 ; 彭来湖 ; 史伟民.基于加速稳健特征算法的监控摄像头视频融合技术 .《软件工程 》.2021,第2-5页. * |
Also Published As
Publication number | Publication date |
---|---|
CN115665112A (zh) | 2023-01-31 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
EP2712119B1 (en) | Abnormality handling method, device and client | |
CN109286529B (zh) | 一种恢复RabbitMQ网络分区的方法及系统 | |
EP2864873B1 (en) | Auto-update while running a client software application with update handshake between versions and runtime validation of the successor version | |
WO2018019242A1 (zh) | 网站服务器的自恢复方法和自恢复系统 | |
CN112000292A (zh) | 数据迁移的方法、装置、电子设备和计算机存储介质 | |
CN108108296B (zh) | 一种云测试方法、服务器及客户端 | |
CN111143170A (zh) | 云手机监控系统和方法 | |
US11588874B2 (en) | Web-based content recording and adaptive streaming | |
CN111554219A (zh) | 一种显示设备的测试方法、装置、电子产品及存储介质 | |
CN110442506B (zh) | 一种日志获取方法、装置、业务服务器、系统及存储介质 | |
CN115002013A (zh) | 运行状态的确定方法、装置、存储介质及电子装置 | |
CN115665112B (zh) | 一种适用于工业互联网的视频格式转换系统及方法 | |
JP2015230674A (ja) | 管理対象装置、管理装置及びネットワーク管理システム | |
CN109117277B (zh) | 异步环境中模拟同步阻塞的方法及装置、存储介质、服务器、终端 | |
CN114143569B (zh) | 一种网页录制和直播方法及系统 | |
JP2007200103A (ja) | クライアントサーバシステムおよびリソース制御方法 | |
US11768588B2 (en) | Window overlay display processing method and apparatus, and electronic device | |
KR102145137B1 (ko) | 데이터를 처리하기 위한 방법 및 디바이스 | |
CN113434384B (zh) | 一种压力测试方法和装置 | |
CN112087341B (zh) | 基于多通道补偿的通信方法、系统、电子设备及存储介质 | |
US11019129B1 (en) | System for controlling transfer of data to a connected device | |
CN112115003A (zh) | 一种服务进程的掉线恢复方法、装置、设备及存储介质 | |
JP4875222B2 (ja) | サーバ装置及び起動制御方法及び情報処理装置 | |
US8234487B2 (en) | Server apparatus and startup control method | |
JP2017034610A (ja) | 呼処理装置、セッション復旧方法及び呼処理サーバプログラム |
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 |