CN113870470A - 一种基于ffmpeg的门禁系统及处理方法 - Google Patents
一种基于ffmpeg的门禁系统及处理方法 Download PDFInfo
- Publication number
- CN113870470A CN113870470A CN202111054091.3A CN202111054091A CN113870470A CN 113870470 A CN113870470 A CN 113870470A CN 202111054091 A CN202111054091 A CN 202111054091A CN 113870470 A CN113870470 A CN 113870470A
- Authority
- CN
- China
- Prior art keywords
- screen
- player
- mouse
- ffmpeg
- server
- 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.)
- Pending
Links
- 238000003672 processing method Methods 0.000 title claims abstract description 11
- 238000006243 chemical reaction Methods 0.000 claims description 3
- 238000012423 maintenance Methods 0.000 abstract description 11
- 238000000034 method Methods 0.000 description 3
- 238000013475 authorization Methods 0.000 description 2
- 238000010586 diagram Methods 0.000 description 2
- 230000009286 beneficial effect Effects 0.000 description 1
- 238000002513 implantation Methods 0.000 description 1
Images
Classifications
-
- G—PHYSICS
- G07—CHECKING-DEVICES
- G07C—TIME OR ATTENDANCE REGISTERS; REGISTERING OR INDICATING THE WORKING OF MACHINES; GENERATING RANDOM NUMBERS; VOTING OR LOTTERY APPARATUS; ARRANGEMENTS, SYSTEMS OR APPARATUS FOR CHECKING NOT PROVIDED FOR ELSEWHERE
- G07C9/00—Individual registration on entry or exit
- G07C9/20—Individual registration on entry or exit involving the use of a pass
- G07C9/22—Individual registration on entry or exit involving the use of a pass in combination with an identity check of the pass holder
-
- G—PHYSICS
- G06—COMPUTING; CALCULATING OR COUNTING
- G06F—ELECTRIC DIGITAL DATA PROCESSING
- G06F3/00—Input arrangements for transferring data to be processed into a form capable of being handled by the computer; Output arrangements for transferring data from processing unit to output unit, e.g. interface arrangements
- G06F3/01—Input arrangements or combined input and output arrangements for interaction between user and computer
- G06F3/03—Arrangements for converting the position or the displacement of a member into a coded form
- G06F3/033—Pointing devices displaced or positioned by the user, e.g. mice, trackballs, pens or joysticks; Accessories therefor
- G06F3/038—Control and interface arrangements therefor, e.g. drivers or device-embedded control circuitry
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/14—Systems for two-way working
- H04N7/141—Systems for two-way working between two video terminals, e.g. videophone
-
- H—ELECTRICITY
- H04—ELECTRIC COMMUNICATION TECHNIQUE
- H04N—PICTORIAL COMMUNICATION, e.g. TELEVISION
- H04N7/00—Television systems
- H04N7/18—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast
- H04N7/183—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a single remote source
- H04N7/186—Video door telephones
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Physics & Mathematics (AREA)
- General Physics & Mathematics (AREA)
- General Engineering & Computer Science (AREA)
- Theoretical Computer Science (AREA)
- Human Computer Interaction (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
Abstract
本发明公开了一种基于FFMPEG的门禁系统,属于门禁系统领域,包括设备端、服务端和播放器,设备端包括用来驱动鼠标的虚拟鼠标驱动器和用于录制屏幕桌面的录屏服务,服务端包括流媒体服务器和设备控制服务器,录屏服务连接流媒体服务器和播放器,虚拟鼠标驱动器连接设备控制服务器和播放器,播放器用于播放屏幕流。本发明的一种基于FFMPEG的门禁系统,在操作时,先将屏幕流推送到客户端,再利用播放器去播放屏幕流,就能远程检测门禁系统的运行问题,给维护人员带来了方便,减少了维护成本、提高了维护效率。本发明还公开了一种基于FFMPEG的门禁处理方法,主要步骤包括:获取屏幕数据,格式转换,推流,拉流和播放。
Description
技术领域
本发明涉及门禁系统技术领域,特别涉及一种基于FFMPEG的门禁系统及处理方法。
背景技术
门禁系统是基于android主板写的APP软件。开门的原理是:客户刷卡或者二维码,APP收到卡号或者二维码后传送到云服务器进行逻辑处理,如果需要开门,那么APP就通过GPIO口写入中断信号实现开门。
现有的门禁设备一般都是跟随电线埋入墙壁中,而且无法外接显示屏。因此,系统一旦出问题,无法知道APP或者系统的运行情况。给运维人员带来了不少的烦恼。
传统的解决办法有:
1)凿墙拿出设备接上显示器进行调试:这种方法成本高,操作不便;
2)在设备写日志,然后上传到服务器,开发人员拿到日志后进行分析,这种方法效率低,因为日志不是实时上传的,且只能看到APP的日志。
因此,我们需要一种方案,既能远程看到设备的屏幕,又能远程操作设备。就好比在直机操作一样。
发明内容
本发明的主要目的是提出一种基于FFMPEG的门禁系统及处理方法,旨在解决现有门禁系统维护不便,成本高和效率低的技术问题。
为实现上述目的,本发明提出一种基于FFMPEG的门禁开门系统,包括设备端、服务端和播放器,所述设备端包括用来驱动鼠标的虚拟鼠标驱动器和用于录制屏幕桌面的录屏服务,所述服务端包括流媒体服务器和设备控制服务器,所述录屏服务连接流媒体服务器和播放器,所述虚拟鼠标驱动器连接设备控制服务器和播放器,所述播放器用于播放屏幕流。
优选地,所述录屏服务用于录制屏幕桌面并编码成h264格式,并向所述流媒体服务器进行推流,所述播放器从所述流媒体服务器拉流并进行播放。
优选地,所述播放器能捕获鼠标状态,并上报到设备控制服务器,所述设备控制服务器将鼠标状态下发到虚拟鼠标驱动器,由鼠标驱动进行执行相应的操作。
优选地,所述设备控制服务器用于接收转发鼠标事件,所述播放器为基于SDL2编写的流播放器,用于投屏和捕获鼠标事件。
优选地,所述设备端上需要植入虚拟鼠标驱动器,用来驱动鼠标,植入后,将在系统字符设备中添加一个鼠标字符设备,主设备号为INPUT_MAJOR。
优选地,所述播放器通过捕获鼠标事件,监听鼠标的拖或拉或按等操作,将鼠标事件产生的事件类型、坐标信息通过socket的方式即时上报到设备控制服务器,所述设备控制服务器将鼠标事件转发到设备上去,转交给虚拟鼠标驱动去实现鼠标的相关操作。
本发明还提出了一种基于FFMPEG的门禁处理方法,处理步骤为:
S1:获取当前屏幕数据,通过MediaProjectionManage申请录屏权限,用户允许后开始使用录屏服务录制屏幕;然后通过ImageReader.OnImageAvailableListener对视频数据进行处理;
S2:格式转换,由于获取到的屏幕数据是YUV_420_888格式,需要转换成YUV420P格式;
S3:推流,将YUV420P格式的数据转换成AVFrame格式的数据包,通过编码器编码成AVPacket帧数据,调用av_interleaved_write_frame将数据包推送到流媒体服务器;
S4:拉流和播放,通过FFMPEG从流媒体服务器中拉取一帧一帧的数据,并解封装为YUV420p格式的数据,通过SDL2库显示在流播放器上。
优选地,步骤S3在Native层实现,推流前先设置好编码器为H264编码器。
本发明技术方案的有益效果在于:
本发明的一种基于FFMPEG的门禁系统,主要包括设备端、服务端和播放器,其中,设备端包括虚拟鼠标驱动器和录屏服务,服务端包括流媒体服务器和设备控制服务器,流媒体服务器可以为RTMP服务器或SRS服务器,播放器主要用于播放屏幕流;服务端连接设备端和流播放器,在使用时,三者处于TCP的长连接状态。本发明的门禁系统在操作时,先将屏幕流推送到客户端,再利用播放器去播放屏幕流,就能远程检测门禁系统的运行问题,给维护人员带来了方便,减少了维护成本、提高了维护效率。
附图说明
图1为本发明一种基于FFMPEG的门禁开门系统一实施例的结构框图;
图2为本发明一种基于FFMPEG的门禁开门处理方法的步骤框图。
图中:1-设备端、11-虚拟鼠标驱动器、12-录屏服务、2-服务端、21-流媒体服务器、22-设备控制服务器、3-播放器。
具体实施方式
下面将结合本发明实施例中的附图,对本发明实施例中的方案进行清楚完整的描述,显然,所描述的实施例仅是本发明中的一部分实施例,而不是全部的实施例。基于本发明中的实施例,本领域普通技术人员在没有作出创造性劳动前提下所获得的所有其他实施例,都属于本发明保护的范围。
本发明提出一种基于FFMPEG的门禁开门系统,参照图1,包括设备端1、服务端2和播放器3,设备端1包括用来驱动鼠标的虚拟鼠标驱动器11和用于录制屏幕桌面的录屏服务12,服务端2包括流媒体服务器21和设备控制服务器22,录屏服务12连接流媒体服务器21和播放器3,虚拟鼠标驱动器11连接设备控制服务器21和播放器3,播放器3用于播放屏幕流。
本发明的一种基于FFMPEG的门禁开门系统,主要包括设备端1、服务端2和播放器3,其中,设备端1包括虚拟鼠标驱动器11和录屏服务12,服务端2包括流媒体服务器21和设备控制服务器22,流媒体服务器21可以为RTMP服务器或SRS服务器,播放器3主要用于播放屏幕流;服务端2连接设备端1和流播放器3,在使用时,三者处于TCP的长连接状态。本发明的门禁系统在操作时,先将屏幕流推送到客户端,再利用播放器去播放屏幕流,就能远程检测门禁系统的运行问题,给维护人员带来了方便,减少了维护成本、提高了维护效率。
在一个较佳实施方式中,参照图1,录屏服务12用于录制屏幕桌面并编码成h264格式,并向流媒体服务器21进行推流,播放器3从流媒体服务器21拉流并进行播放。
在一个较佳实施方式中,参照图1,播放器3能捕获鼠标状态,并上报到设备控制服务器22,设备控制服务器22将鼠标状态下发到虚拟鼠标驱动器11,由鼠标驱动进行执行相应的操作。
在一个较佳实施方式中,参照图1,设备控制服务器22用于接收转发鼠标事件,播放器3为基于SDL2编写的流播放器,用于投屏和捕获鼠标事件。
在一个较佳实施方式中,参照图1,设备端1上需要植入虚拟鼠标驱动器11,用来驱动鼠标,植入后,将在系统字符设备中添加一个鼠标字符设备,主设备号为INPUT_MAJOR。
在一个较佳实施方式中,参照图1,播放器3通过捕获鼠标事件,监听鼠标的拖或拉或按等操作,将鼠标事件产生的事件类型、坐标信息通过socket的方式即时上报到设备控制服务器22,设备控制服务器22将鼠标事件转发到设备上去,转交给虚拟鼠标驱动去实现鼠标的相关操作。
本发明还提出了一种基于FFMPEG的门禁处理方法,参照图2,处理步骤为:
S1:获取当前屏幕数据,通过MediaProjectionManage申请录屏权限,用户允许后开始使用录屏服务12录制屏幕;然后通过ImageReader.OnImageAvailableListener对视频数据进行处理;
S2:格式转换,由于获取到的屏幕数据是YUV_420_888格式,需要转换成YUV420P格式;
S3:推流,将YUV420P格式的数据转换成AVFrame格式的数据包,通过编码器编码成AVPacket帧数据,同时设置pts、dts、duration参数,调用av_interleaved_write_frame将数据包推送到流媒体服务器;
S4:拉流和播放,通过FFMPEG从流媒体服务器中拉取一帧一帧的数据,并解封装为YUV420p格式的数据,通过SDL2库显示在播放器3的屏幕上。为了方便操作,播放器3的分辨率和设备端1上的分辨率保持一致。
更进一步地,步骤S3在Native层实现,推流前先设置好编码器为H264编码器。
本发明的一种基于FFMPEG的门禁处理方法,首先需要获取屏幕数据,具体获取方式为,Context.getSystemService(MEDIA_PROJECTION_SERVICE)获取一个MediaProjectionManager的实例,然后MediaProjectionManager.createScreenCaptureIntent()弹出dialog询问用户是否授权应用捕捉屏幕,在onActivityResult()获取授权结果,如果授权成功,通过MediaProjectionManager.getMediaProjection获取一个MediaProjection实例。通过MediaProjectionManager.getMediaProjection获取一个MediaProjection实例,通过MediaProjection.createVirtualDisplay(Stringname,intidth,intheight,intdpi,intflags,Surface,VirtualDisplay.Callbackcallback,Handlerhandler)来创建一个虚拟屏幕的实例,surface参数传入ImageReader.GetSurface()的实例,ImageReader需要注入OnImageAvailableListener接口,通过OnImageAvailableListener.onImageAvailable方法获取屏幕数据。
以上所述的仅为本发明的部分或优选实施例,无论是文字还是附图都不能因此限制本发明保护的范围,凡是在与本发明一个整体的构思下,利用本发明说明书及附图内容所作的等效结构变换,或直接/间接运用在其他相关的技术领域均包括在本发明保护的范围内。
Claims (8)
1.一种基于FFMPEG的门禁系统,其特征在于:包括设备端、服务端和播放器,所述设备端包括用来驱动鼠标的虚拟鼠标驱动器和用于录制屏幕桌面的录屏服务,所述服务端包括流媒体服务器和设备控制服务器,所述录屏服务连接流媒体服务器和播放器,所述虚拟鼠标驱动器连接设备控制服务器和播放器,所述播放器用于播放屏幕流。
2.根据权利要求1所述的基于FFMPEG的门禁系统,其特征在于,所述录屏服务用于录制屏幕桌面并编码成h264格式,并向所述流媒体服务器进行推流,所述播放器从所述流媒体服务器拉流并进行播放。
3.根据权利要求1所述的基于FFMPEG的门禁系统,其特征在于,所述播放器能捕获鼠标状态,并上报到设备控制服务器,所述设备控制服务器将鼠标状态下发到虚拟鼠标驱动器,由鼠标驱动进行执行相应的操作。
4.根据权利要求1所述的基于FFMPEG的门禁系统,其特征在于,所述设备控制服务器用于接收转发鼠标事件,所述播放器为基于SDL2编写的流播放器,用于投屏和捕获鼠标事件。
5.根据权利要求1所述的基于FFMPEG的门禁系统,其特征在于,所述设备端上需要植入虚拟鼠标驱动器,用来驱动鼠标,植入后,将在系统字符设备中添加一个鼠标字符设备,主设备号为INPUT_MAJOR。
6.根据权利要求4所述的基于FFMPEG的门禁系统,其特征在于,所述播放器通过捕获鼠标事件,监听鼠标的拖或拉或按等操作,将鼠标事件产生的事件类型、坐标信息通过socket的方式即时上报到设备控制服务器,所述设备控制服务器将鼠标事件转发到设备上去,转交给虚拟鼠标驱动去实现鼠标的相关操作。
7.一种基于FFMPEG的门禁处理方法,其特征在于,处理步骤为:
S1:获取当前屏幕数据,通过MediaProjectionManage申请录屏权限,用户允许后开始使用录屏服务录制屏幕;然后通过ImageReader.OnImage AvailableListener对视频数据进行处理;其中,MediaProjectionManage为屏幕采集的接口;
S2:格式转换,由于获取到的屏幕数据是YUV_420_888格式,需要转换成YUV420P格式;
S3:推流,将YUV420P格式的数据转换成AVFrame格式的数据包,通过编码器编码成AVPacket帧数据,调用av_interleaved_write_frame将数据包推送到流媒体服务器;
S4:拉流和播放,通过FFMPEG从流媒体服务器中拉取一帧一帧的数据,并解封装为YUV420p格式的数据,通过SDL2库显示在流播放器上。
8.根据权利要求7所述的基于FFMPEG的门禁处理方法,其特征在于,步骤S3在Native层实现,推流前先设置好编码器为H264编码器。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111054091.3A CN113870470A (zh) | 2021-09-08 | 2021-09-08 | 一种基于ffmpeg的门禁系统及处理方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN202111054091.3A CN113870470A (zh) | 2021-09-08 | 2021-09-08 | 一种基于ffmpeg的门禁系统及处理方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN113870470A true CN113870470A (zh) | 2021-12-31 |
Family
ID=78995007
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN202111054091.3A Pending CN113870470A (zh) | 2021-09-08 | 2021-09-08 | 一种基于ffmpeg的门禁系统及处理方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN113870470A (zh) |
Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013116975A1 (zh) * | 2012-02-06 | 2013-08-15 | 华为技术有限公司 | 流媒体播放方法、设备及系统 |
CN106652115A (zh) * | 2016-09-30 | 2017-05-10 | 广东京奥信息科技有限公司 | 一种基于服务器平台的视频门禁监控系统 |
CA3049058A1 (en) * | 2018-07-11 | 2020-01-11 | Total Safety U.S., Inc. | Centralized monitoring of confined spaces |
CN111225222A (zh) * | 2018-11-26 | 2020-06-02 | 北京奇虎科技有限公司 | 基于rtmp的屏幕数据的视频流播放方法、装置和系统 |
KR20210074162A (ko) * | 2019-12-11 | 2021-06-21 | 엘지전자 주식회사 | 복수의 홈 디바이스간 연결을 제공하는 인공 지능 장치 및 그 방법 |
CN113301373A (zh) * | 2021-05-21 | 2021-08-24 | 山东新一代信息产业技术研究院有限公司 | 一种实现视频直播与回放的方法及系统 |
-
2021
- 2021-09-08 CN CN202111054091.3A patent/CN113870470A/zh active Pending
Patent Citations (6)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
WO2013116975A1 (zh) * | 2012-02-06 | 2013-08-15 | 华为技术有限公司 | 流媒体播放方法、设备及系统 |
CN106652115A (zh) * | 2016-09-30 | 2017-05-10 | 广东京奥信息科技有限公司 | 一种基于服务器平台的视频门禁监控系统 |
CA3049058A1 (en) * | 2018-07-11 | 2020-01-11 | Total Safety U.S., Inc. | Centralized monitoring of confined spaces |
CN111225222A (zh) * | 2018-11-26 | 2020-06-02 | 北京奇虎科技有限公司 | 基于rtmp的屏幕数据的视频流播放方法、装置和系统 |
KR20210074162A (ko) * | 2019-12-11 | 2021-06-21 | 엘지전자 주식회사 | 복수의 홈 디바이스간 연결을 제공하는 인공 지능 장치 및 그 방법 |
CN113301373A (zh) * | 2021-05-21 | 2021-08-24 | 山东新一代信息产业技术研究院有限公司 | 一种实现视频直播与回放的方法及系统 |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
JP4703767B2 (ja) | メディア状態ユーザーインターフェース | |
US7627664B2 (en) | Method and apparatus for remotely controlling a terminal by a control terminal and storing control history information at the terminal being remotely controlled | |
CN101827082B (zh) | 记录及回放用户的桌面操作信息的方法及设备 | |
CN103077673B (zh) | 视频对应物品广告播放方法及系统 | |
CN107948567B (zh) | Usb有线传屏的方法及装置 | |
US20110255841A1 (en) | Method and apparatus for presenting interactive multimedia using storage device interface | |
WO2022036865A1 (zh) | 日志文件自动抓取方法、装置和计算机设备 | |
CN107948565B (zh) | 实现有线传屏的方法及装置 | |
CN111182306B (zh) | 用于视频压缩的视频提取方法、系统、终端及存储介质 | |
US20100278506A1 (en) | Multi dvr video packaging for incident forensics | |
CN113870470A (zh) | 一种基于ffmpeg的门禁系统及处理方法 | |
US7383344B2 (en) | Remote encoder system and method for capturing the live presentation of video multiplexed with images | |
CN102932640B (zh) | 一种视频流帧率的控制方法 | |
CN107948569B (zh) | 实现有线传屏的方法及装置 | |
CN110554939A (zh) | 一种调试嵌入式设备的方法、系统及终端 | |
EP2091046A1 (en) | Presentation system and method for controlling the same | |
CN102761453A (zh) | 一种测试客户端可用性的方法及客户端 | |
CN201869278U (zh) | 一种演播室图象采集系统 | |
US20020063715A1 (en) | System, method, and computer program product for capturing a visualization session | |
CN205356548U (zh) | 一种交互录播系统 | |
CN112788282B (zh) | 一种视频信息获取方法 | |
CN111311194B (zh) | 审讯过程中笔录与录音录像的联动方法、系统及存储介质 | |
CN111158501B (zh) | 一种基于kvm的视频监控系统 | |
CN103024362B (zh) | 一种高清图像动态帧率解码显示调节方法 | |
CN109089084B (zh) | 视频线传输数据在线提取与隐形存储控制装置及其工作方法 |
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 | ||
WD01 | Invention patent application deemed withdrawn after publication | ||
WD01 | Invention patent application deemed withdrawn after publication |
Application publication date: 20211231 |