当前位置: 首页 > news >正文

FFMPEG录制远程监控摄像头MP4

手绘效果图

        上图是录制功能的HTML前端页面,录制功能和解码视频放在一起。录制功能关键是录制(开始录制按钮)、停止录像按钮。当点击“录制”的时候则会开始录制MP4文件, 当点击停止的时候就会停止录制MP4。经过录制后,则会生成MP4,并放到我的RV1126的/tmp目录下。因为我的板子内存不够,只能放到这里。 

HTML和CGI和RV1126后台程序交互框图

        图是HTML、CGI、RV1126后台程序的交互框图。HTML的界面主要是设置两个按钮,分别是录制、停止录制。在HTML页面点击开始录制按钮的时候就会跳转到start_record_cgi.cgi, 它的主要作用是封装消息队列的数据, 具体的实现是message.mtype=1,message.data=2(开始录制MP4标识)并发送到RV1126后台程序,若后台程序msgrcv接收到data == 2的指令则调用FFMPEG开始录制。

        点击“停止录制”则跳转到stop_record_cgi.cgi,它的主要作用是封装停止录制的消息队列数据,具体的实现是message.mtype=1,message.data=3(停止录制MP4标识)并发送到RV1126后台程序, 若后台程序msgrcv接收到data == 3的指令则停止MP4录制。

FFMPEG远程录制功能的代码实现

        上图是HTML的实现, 画红框部分就是开始录制按钮和停止录制按钮的设计,开始按钮的实现是<button type="button" class="button green" οnclick="window.location.href='/cgi-bin/start_record_cgi.cgi'">Start_Record</button>,这里的关键是οnclick="window.location.href='/cgi-bin/start_record_cgi.cgi指的是跳转到start_record_cgi.cgi的CGI程序。停止录制的按钮是<button type="button" class="button blue" οnclick="window.location.href='/cgi-bin/stop_record_cgi.cgi'">Stop_Record</button>,这里的关键是οnclick="window.location.href='/cgi-bin/stop_record_cgi.cgi指的是跳转到stop_record_cgi.cgi的CGI程序。

start_record_cgi.cgi的CGI程序 

stop_record_cgi.cgi程序

RV1126后台程序代码实现

        消息队列接收开始录制和停止录制指令,在rv1126后台程序里面通过一个线程,一直在这里面获取消息队列里面的数据

http://www.dtcms.com/a/68488.html

相关文章:

  • 量子纠缠与类空间隔信息传送
  • 课上测试:MIRACL共享库使用测试
  • 【项目管理git】git学习
  • SpringBoot旅游管理系统的设计与实现
  • 【CSS3】化神篇
  • AI助力芯片设计:解决日益复杂的问题
  • Web后端开发之Maven
  • cudaSetDeviceFlags()函数简介
  • Linux权限(0基础)
  • 探索CSS魔法:3D翻转与渐变光效的结合
  • Axure设计之堆叠柱状图教程(中继器)
  • 2006-2023年上市公司社会责任报告文本(TXT格式)
  • 【生活好帮手】saas小程序,让线上服务触手可及。
  • FreeRTOS之互斥量
  • 机器视觉工程师如何学习C#通讯
  • SANS 网络安全 网络安全三件套
  • 解决MySQL 8.x初始化后设置忽略表和字段大小写敏感的问题
  • 算法刷题整理合集(二)
  • C题库-判断水仙花数
  • 基于 Redis Stream 实现消息队列功能
  • Java基础关键_021_集合(五)
  • Spring TX配置(声明式事务管理+annotation)
  • 计算矩阵边缘元素之和(信息学奥赛一本通-1121)
  • Python 实现的采集诸葛灵签
  • 研发团队协作软件推荐:18款工具对比
  • win10升级到22H2版本后无法联网
  • 01-Canvas-使用fabric初始
  • 从零搭建微服务项目Pro(第2-2章——JSR303自定义文件校验+整合至微服务公共模块)
  • Java使用JDBC连接操作Sqlite 笔记250314
  • 【算法】 【c++】字符串s1 中删除所有 s2 中出现的字符