CN106162075A - 一种单台pc实现多路视频输入的稳定解决方法 - Google Patents
一种单台pc实现多路视频输入的稳定解决方法 Download PDFInfo
- Publication number
- CN106162075A CN106162075A CN201610431691.XA CN201610431691A CN106162075A CN 106162075 A CN106162075 A CN 106162075A CN 201610431691 A CN201610431691 A CN 201610431691A CN 106162075 A CN106162075 A CN 106162075A
- Authority
- CN
- China
- Prior art keywords
- capture process
- command line
- capture
- line parameter
- designated
- 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
Classifications
-
- 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/181—Closed-circuit television [CCTV] systems, i.e. systems in which the video signal is not broadcast for receiving images from a plurality of remote sources
Landscapes
- Engineering & Computer Science (AREA)
- Multimedia (AREA)
- Signal Processing (AREA)
- Two-Way Televisions, Distribution Of Moving Picture Or The Like (AREA)
- Television Signal Processing For Recording (AREA)
Abstract
本发明公开了一种单台PC实现多路视频输入的稳定解决方法。本发明包括如下步骤:步骤一,应用程序主进程创建启动捕获进程的命令行参数,命令行参数内容包括主进程用于进程间通信的窗口句柄、捕获进程的标识编号和要捕获的摄像头编号,然后通过该命令行参数来启动捕获进程。步骤二,从命令行参数中解析出主进程用于进程间通信的窗口句柄、捕获进程的标识编号和要捕获的摄像头编号,然后调用Windows的DirectShow框架提供的捕获功能开始捕获。步骤三,将捕获到的数据和捕获进程的标识编号组合在一起,通过SendMessage发送给命令行参数传递过来的窗口句柄,由主进程接收后做后续处理。本发明使用多进程技术,简化采集流程,提升压缩稳定性的方法。
Description
技术领域
本发明属于计算机桌面应用领域,尤其是需要进行多路视频捕获时,减少复杂度,增强稳定性的方法。
背景技术
随着当今网络带宽的增加,视频应用开始向高清发展,当单路视频满足不了用户需求时,多路视频同时摄制和发送的需求也就应运而生。在计算机进行多路视频采集、压缩、发送时,消耗的资源较为巨大,有时候可能造成系统的不稳定,导致视频采集发生中断等异常现象。
发明内容
本发明的目的是针对现有技术的空白,提供了一种单台PC实现多路视频输入的稳定解决方法。
本发明解决其技术问题所采用的技术方案的具体步骤如下:
步骤一,应用程序主进程创建启动捕获进程的命令行参数,命令行参数内容包括主进程用于进程间通信的窗口句柄、捕获进程的标识编号和要捕获的摄像头编号,然后通过该命令行参数来启动捕获进程。
步骤二,捕获进程在启动后,从命令行参数中解析出主进程用于进程间通信的窗口句柄、捕获进程的标识编号和要捕获的摄像头编号,然后调用Windows的DirectShow框架提供的捕获功能开始捕获。
步骤三,捕获进程将捕获到的数据和捕获进程的标识编号组合在一起,通过SendMessage发送给命令行参数传递过来的窗口句柄,由主进程接收后做后续处理。
所述的步骤一中,捕获进程的文件名记为iCamera.exe,将进程间通信的窗口句柄记为hWndMain,捕获进程的标识编号记为SubID,要捕获的摄像头编号记为CameraID,然后将这些参数名和参数内容相加得到一个新的 字符串,记为CmdLine,执行CmdLine即可启动捕获进程iCamera.exe。
所述的步骤二中,Windows的DirectShow框架提供的捕获功能捕获到的数据是以回调形式获取到的一块内存区域,记为MEMData。
所述的步骤三中,捕获进程将MEMData与SubID一起打包后,使用SendMessage的方式,发送给hWndMain。
本发明有益效果如下:
使用多进程技术,简化采集流程,提升压缩稳定性的方法,本方法的思想是使用Windows提供的多进程功能,以及进程间通信技术,创建多个捕获进程,每个进程负责一路摄像头的捕获和视频数据的压缩,主要的创新点是使用了多个进程的方式,隔离了同一进程内可能的相关干扰,充分利用了多核CPU的优势,使本方法在各种环境下都有良好的稳定性。
具体实施方式
下面结合实施例对本发明做进一步说明。
一种单台PC实现多路视频输入的稳定解决方法,具体步骤如下:
步骤一,应用程序主进程创建启动捕获进程的命令行参数,命令行参数内容包括主进程用于进程间通信的窗口句柄、捕获进程的标识编号和要捕获的摄像头编号,然后通过该命令行参数来启动捕获进程。
步骤二,捕获进程在启动后,从命令行参数中解析出主进程用于进程间通信的窗口句柄、捕获进程的标识编号和要捕获的摄像头编号,然后调用Windows的DirectShow框架提供的捕获功能开始捕获。
步骤三,捕获进程将捕获到的数据和捕获进程的标识编号组合在一起,通过SendMessage发送给命令行参数传递过来的窗口句柄,由主进程接收后做后续处理。
所述的步骤一中,捕获进程的文件名记为iCamera.exe,将进程间通信的窗口句柄记为hWndMain,捕获进程的标识编号记为SubID,要捕获的摄像头编号记为CameraID,然后将这些参数名和参数内容相加得到一个新的字符串,记为CmdLine,执行CmdLine即可启动捕获进程iCamera.exe。
所述的步骤二中,Windows的DirectShow框架提供的捕获功能捕获到的数据是以回调形式获取到的一块内存区域,记为MEMData。
所述的步骤三中,捕获进程将MEMData与SubID一起打包后,使用SendMessage的方式,发送给hWndMain。
实施例:
假设主进程正在捕获1号摄像头的内容,现需要捕获2号摄像头内容,主进程则创建如下命令行参数:"/hWndMain 45348876/SubID 1/CameraID 2",创建后执行如下命令来创建捕获进程"iCamera.exe/hWndMain 45348876/SubID 1/CameraID 2",捕获进程获取到参数后,知道本进程应该对2号摄像头进行捕获,捕获后的数据MEMData加上本捕获进程的标识"SubID=1"后,发送到45348876这个窗口,这个窗口是主进程的接收窗口,接收数据后根据SubID=1,即可知道这是1号捕获进程,即2号摄像头捕获得到的数据。
Claims (1)
1.一种单台PC实现多路视频输入的稳定解决方法,其特征在于具体步骤如下:
步骤一,应用程序主进程创建启动捕获进程的命令行参数,命令行参数内容包括主进程用于进程间通信的窗口句柄、捕获进程的标识编号和要捕获的摄像头编号,然后通过该命令行参数来启动捕获进程;
步骤二,捕获进程在启动后,从命令行参数中解析出主进程用于进程间通信的窗口句柄、捕获进程的标识编号和要捕获的摄像头编号,然后调用Windows的DirectShow框架提供的捕获功能开始捕获;
步骤三,捕获进程将捕获到的数据和捕获进程的标识编号组合在一起,通过SendMessage发送给命令行参数传递过来的窗口句柄,由主进程接收后做后续处理;
所述的步骤一中,捕获进程的文件名记为iCamera.exe,将进程间通信的窗口句柄记为hWndMain,捕获进程的标识编号记为SubID,要捕获的摄像头编号记为CameraID,然后将这些参数名和参数内容相加得到一个新的字符串,记为CmdLine,执行CmdLine即可启动捕获进程iCamera.exe;
所述的步骤二中,Windows的DirectShow框架提供的捕获功能捕获到的数据是以回调形式获取到的一块内存区域,记为MEMData;
所述的步骤三中,捕获进程将MEMData与SubID一起打包后,使用SendMessage的方式,发送给hWndMain。
Priority Applications (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610431691.XA CN106162075A (zh) | 2016-06-17 | 2016-06-17 | 一种单台pc实现多路视频输入的稳定解决方法 |
Applications Claiming Priority (1)
Application Number | Priority Date | Filing Date | Title |
---|---|---|---|
CN201610431691.XA CN106162075A (zh) | 2016-06-17 | 2016-06-17 | 一种单台pc实现多路视频输入的稳定解决方法 |
Publications (1)
Publication Number | Publication Date |
---|---|
CN106162075A true CN106162075A (zh) | 2016-11-23 |
Family
ID=57353740
Family Applications (1)
Application Number | Title | Priority Date | Filing Date |
---|---|---|---|
CN201610431691.XA Pending CN106162075A (zh) | 2016-06-17 | 2016-06-17 | 一种单台pc实现多路视频输入的稳定解决方法 |
Country Status (1)
Country | Link |
---|---|
CN (1) | CN106162075A (zh) |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11671678B2 (en) | 2019-10-15 | 2023-06-06 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and device, equipment, and storage medium for data processing |
Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236417A (zh) * | 2008-02-28 | 2008-08-06 | 北京铭龙天同科技有限公司 | 一种Windows环境下同时控制多台数控机器的方法 |
CN101262484A (zh) * | 2008-03-27 | 2008-09-10 | 北京中星微电子有限公司 | 一种Windows平台上对实时视频数据处理的方法及装置 |
CN102355429A (zh) * | 2011-08-12 | 2012-02-15 | 北京思创银联科技股份有限公司 | 基于管道的多进程间消息通信方法 |
CN102801961A (zh) * | 2012-08-21 | 2012-11-28 | 北京捷成世纪科技股份有限公司 | 一种基于多进程的音视频数据处理方法及系统 |
US20130091332A1 (en) * | 2011-10-05 | 2013-04-11 | Andre Vankov | OS-independent Framework and Software Library for Real Time Inter-process Data Transfer (Data River) |
CN103631664A (zh) * | 2013-12-09 | 2014-03-12 | 北京奇虎科技有限公司 | 一种进程间的通信方法和装置 |
CN105159786A (zh) * | 2015-07-03 | 2015-12-16 | 北京奇虎科技有限公司 | 一种进程间通信的方法和装置 |
-
2016
- 2016-06-17 CN CN201610431691.XA patent/CN106162075A/zh active Pending
Patent Citations (7)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
CN101236417A (zh) * | 2008-02-28 | 2008-08-06 | 北京铭龙天同科技有限公司 | 一种Windows环境下同时控制多台数控机器的方法 |
CN101262484A (zh) * | 2008-03-27 | 2008-09-10 | 北京中星微电子有限公司 | 一种Windows平台上对实时视频数据处理的方法及装置 |
CN102355429A (zh) * | 2011-08-12 | 2012-02-15 | 北京思创银联科技股份有限公司 | 基于管道的多进程间消息通信方法 |
US20130091332A1 (en) * | 2011-10-05 | 2013-04-11 | Andre Vankov | OS-independent Framework and Software Library for Real Time Inter-process Data Transfer (Data River) |
CN102801961A (zh) * | 2012-08-21 | 2012-11-28 | 北京捷成世纪科技股份有限公司 | 一种基于多进程的音视频数据处理方法及系统 |
CN103631664A (zh) * | 2013-12-09 | 2014-03-12 | 北京奇虎科技有限公司 | 一种进程间的通信方法和装置 |
CN105159786A (zh) * | 2015-07-03 | 2015-12-16 | 北京奇虎科技有限公司 | 一种进程间通信的方法和装置 |
Cited By (1)
Publication number | Priority date | Publication date | Assignee | Title |
---|---|---|---|---|
US11671678B2 (en) | 2019-10-15 | 2023-06-06 | Beijing Baidu Netcom Science And Technology Co., Ltd. | Method and device, equipment, and storage medium for data processing |
Similar Documents
Publication | Publication Date | Title |
---|---|---|
CN105306808B (zh) | 视频影像分配方法 | |
KR20140035707A (ko) | 가상화 시스템 및 가상화 서비스 제공방법 | |
CN105141998B (zh) | 一种基于dlna的智能电视语音遥控器控制方法及系统 | |
CN104199723B (zh) | 基于虚拟设备的摄像头映射方法 | |
WO2021139114A1 (zh) | 一种基于反馈优化的人机视觉编码方法和装置 | |
CN103995567B (zh) | 一种双系统智能交互一体机及其双系统切换实现方法 | |
US20170063950A1 (en) | Method and Apparatus for Use of Input Messages in Media Transport to Support Interactive Communications | |
TW200700968A (en) | Computer platform system program remote control recovery method and system | |
WO2011159442A3 (en) | Sessions to host processes with special requirements | |
CN109462637A (zh) | 基于电力设备3d模型库的mr专家远程协作方法及系统 | |
DE102005008745A1 (de) | Audio-/Videokomponentenvernetzungssystem und -verfahren | |
WO2017101412A1 (zh) | 用于安卓平台的播放方法、装置及移动终端设备 | |
US20140280722A1 (en) | Distribution control system, distribution system, distribution control method, and computer-readable storage medium | |
CN103905783A (zh) | 对视频流进行解码显示的方法及设备 | |
CN104780430B (zh) | 多系统电视设备中整机系统与扩展系统之间的交互方法 | |
CN105391804A (zh) | 一种可减少传输流量的远程调用方法 | |
CN107454177A (zh) | 网络通信的动态实现方法 | |
CN106790347A (zh) | 一种基于netty的大规模并发数据转发方法 | |
CN106162075A (zh) | 一种单台pc实现多路视频输入的稳定解决方法 | |
CN111478934A (zh) | 坐席内容推送方法、坐席协作控制系统及装置 | |
CN102722152B (zh) | 一种基于嵌入式系统的远程控制设备的实现方法 | |
JP2015508254A5 (zh) | ||
CN103209209B (zh) | 基于Windows系统和网络传输的应用虚拟化实现方法及系统 | |
CN101968681A (zh) | 一种显示窗口尺寸可调的KVM over IP方法 | |
WO2013174337A2 (zh) | 字幕提取方法及装置 |
Legal Events
Date | Code | Title | Description |
---|---|---|---|
C06 | Publication | ||
PB01 | Publication | ||
C10 | Entry into substantive examination | ||
SE01 | Entry into force of request for substantive examination | ||
RJ01 | Rejection of invention patent application after publication |
Application publication date: 20161123 |
|
RJ01 | Rejection of invention patent application after publication |