环球电气之家-午夜精彩视频-中国专业电气电子产品行业服务网站!

產品分類

當前位置: 首頁 > 工業控制產品 > 樓宇自動化 > CCTV監控系統 > CCTV監控主機

類型分類:
科普知識
數據分類:
CCTV監控主機

嵌入式遠程視頻采集系統的設計與實現

發布日期:2022-04-27 點擊率:103

多媒體通信技術的發展為信息的獲取和傳輸提供了豐富的手段,視頻采集是其中不可缺少的重要組成部分,該系統基于S3C2410的ARM9芯片和嵌入式Linux操作系統,采用USB攝像頭捕捉視頻,經MPEG-4算法壓縮編碼,系統直接與網絡相連,用戶使用標準的網絡瀏覽器和流媒體播放程序即可查看遠程視頻影像。

1、硬件系統

系統硬件平臺選用北京博創公司的UP-NETARM2410開發板,該系統基于ARM9架構嵌入式芯片S3C2410,穩定工作在202MHz主頻,板載64MB SDRAM 64MB FLASH,主板資源包括:主USB口、從USB口、10M/100M以太網口,觸摸屏、彩色LCD、鍵盤、8個用戶自定義LED數碼管, A/D,RTC電路,2個串口、1個JTAG通用接口,音頻模塊,支持MPEG4,MP3編解碼,3個168PIN的擴展插座,32位的數據總線,保留充分擴展空間。

其中標配模塊包括:IC卡+PS2模塊、IDE硬盤+CF卡模塊、PCMCIA+SD/MMC模塊。另外可選配模塊有:GPS模塊,GPRS模塊,FPGA模塊,CAN+AD+DA模塊、紅外模塊、藍牙模塊、攝像頭模塊。

2、軟件系統

2.1 內核配置與USB攝像頭驅動

假定已經搭建好嵌入式Linux的開發環境,下面第一步工作就是USB攝像頭的安裝與驅動。

首先檢查Linux Kernel中是否已經添加了USB模塊的支持,并且加入Video4Linux支持。

Multimedia devices→<M>Video For Linux
Video For Linux→[*]V4L information in proc filesystem

在主菜單的USB Support下還有各種攝像頭的驅動,選中將要使用的攝像頭芯片類型。

<>USB IBM (Xirlink)C-it Camera support<*>USB OV511 Camera support<>USB Philips Cameras
<>USB SE401 Camera support<>USB STV680(Pencam)Camera support<>USB 3com HomeConnect(akavicam)support

在USB攝像頭選購時,優先考慮Linux內核公開支持的攝像頭芯片,不然要額外編寫相應的USB攝像頭驅動程序,然后進行編譯、安裝。在此選用網眼公司的V3000產品,他采用了OV511的芯片。

確定USB攝像頭被正常驅動后,下一步就是使用Video4Linux提供的API函數集來編寫視頻采集程序。

2.2 基于V4L設計的視頻采集模塊

在Linux下,所有外設都被看成是一種特殊的文件,稱為設備文件。系統調用是內核和應用程序之間的接口,而設備驅動程序則是內核和外設之間的接口。他完成設備的初始化和釋放、對設備文件的各種操作和中斷處理等功能,為應用程序屏蔽了外設硬件的細節,使得應用程序可以像普通文件一樣對外設進行操作。

Linux系統中的視頻子系統Video4Linux為視頻應用程序提供了一套統一的API,視頻應用程序通過標準的系統調用即可操作各種不同的視頻捕獲設備。Video4Linux向虛擬文件系統注冊視頻設備文件,應用程序通過操作視頻設備文件實現對視頻設備的訪問。

Linux下與Video4Linux相關設備及用途如表1所示。

這里主要針對設備文件/dev/video進行視頻捕捉方面的程序設計。

Linux下視頻采集流程如圖2所示。

其中用到的主要函數有:

Camera_open():用來開啟視頻設備文件,使用前需要首先聲明一個video_device類型的設備文件。
Camera_get_capability():通過調用ioctl()函數取得設備文件的相關信息,并存放到video_capability結構里。
Camera_get_picture():通過調用ioctl()函數取得圖像的相關信息,并且存放到video_picture結構里。
Camera_close():用來關閉設備文件。
Camera_grab_image():用來抓取圖像,采用mmap方式,直接將設備文件/dev/video0映射到內存,加速文件I/O操作,還可以使多個線程共享數據。

剩下的還有設備初始化、參數設備等相關函數,不再詳述。

2.3 視頻壓縮編碼模塊

獲取圖像數據后,可以直接輸出到frameBuffer進行顯示,由于本系統要將采集到的視頻影響通過網絡傳輸出去,所以在傳輸之前要對原始的圖像數據進行壓縮編碼,在此選用MPEG-4視頻編解碼方案。和其他標準相比,MPEG-4壓縮比更高,節省存儲空間,圖像質量更好,特別適合在低帶寬條件下傳輸視頻,并能保持圖像的質量。

MPEG-4中基于對象的視頻編碼過程可以分為3步進行:

(1)從原始視頻流中分割視頻對象。

(2)對視頻對象進行編碼,對不同視頻對象的運動信息、形狀信息、紋理信息分配不同的碼字。對輸入的任意形狀的VOP序列,用基于塊的混合編碼技術編碼,處理順序是先IVOP后PVOP,BVOP。在對VOP的形狀信息編碼后,取得任意形狀VOP的采樣,每個VOP劃分為不相交的宏塊,每個宏塊含有4個8×8象素塊進行運動補償以及紋理編碼,已編碼的VOP幀保存在幀存中,在當前VOP幀和已編碼VOP幀之間的計算運動矢量;對將編碼的塊和宏塊,計算他們的運動補償預測誤差;運動補償預測后的IVOP及誤差用8×8塊DCT變換,并進行DCT系數的量化,然后是游程編碼和熵編碼。

(3)對各個視頻對象的碼流進行復合,每個視頻對象的形狀、運動紋理信息復合成VOL比特流,各視頻對象視頻流復合成統一的碼流輸出。對視頻流進行壓縮編碼以后,接下來就要實現網絡傳輸部分的功能。

2.4 JRTPLIB網絡傳輸模塊

流媒體指的是在網絡中使用流技術傳輸的連續時基媒體,RTP是目前解決流媒體實時傳輸問題的好辦法,JRTPLIB是一個面向對象的RTP庫,他完全遵循RFC1889設計,下面講述如何在Linux平臺上運用RTP協議進行實時流媒體編程。

(1) 初始化

在使用JRTPLIB進行實時流媒體數據傳輸之前,首先應該生成RTPSession類的一個實例來表示此次RTP會話,然后調用Create()方法來對其進行初始化操作。RTPSession類的Create()方法只有一個參數,用來指明此次RTP會話所采用的端口號。

(2) 數據發送

當RTP會話成功建立起來之后,接下來就可以開始進行流媒體數據的實時傳輸了。首先需要設置好數據發送的目標地址,RTP協議允許同一會話存在多個目標地址,這可以通過調用RTPSession類的AddDestination()、DeleteDestination()和ClearDestinations()方法來完成。目標地址全部指定之后,接著就可以調用RTPSession類的SendPacket()方法,向所有的目標地址發送流媒體數據。

(3) 數據接收

對于流媒體數據的接收端,首先需要調用PollData()方法來接收發送過來的RTP或者RTCP數據報。由于同一個RTP會話中允許有多個參與者(源),因此既可以通過調用GotoFirstSource()和GotonextSource()方法來遍歷所有的源,也可以通過調用GotoFisstSourceWithDat()和GotonextSourceWithData()方法來遍歷那些攜帶有數據的源。在從RTP會話中檢測出有效的數據源之后,接下去就可以調用RTPSession類的GetNextPacket()方法從中抽取RTP數據報,當接收到的RTP數據報處理完之后,要及時釋放。

JRTPLIB為RTP數據報定義了3種接收模塊,通過調用RTPSession類的SetReceiveMode()方法可以設置下列這些接收模式:

RECEIVEMODE_ALL:缺省的接收模式,所有到達的RTP數據報都將被接受;
RECEIVEMODE_IGNORESOME:除了某些特定的發送者之外,所有到達的RTP數據報都將被接受,而被拒絕的發送者列表可以通過調用AddToIgnoreList(),DeleteFromIgnoreList()和ClearIgnoreList()方法來進行設置;
RECEIVEMODE_ACCEPTSOME:除了某些特定的發送者之外,所有到達的RTP數據報都將被拒絕,而被接受的發送者列表可以通過調用AddToAcceptList(),DeleteFromAcceptList和ClearAcceptList()方法來進行設置。

(4) 控制信息

JRTPLIB是一個高度封裝后的RTP庫,只要PollData()或者SendPacket()方法被成功調用,JRTPLIB就能夠自動對達到的RTCP數據報進行處理,并且還會需在要的時候發送RTCP數據報,從而能夠確保整個RTP會話過程的正確性。

在本系統中,使用RTPSession JRTPLIB類庫提供的方法來實現底層的RTP/RTCP操作,并且把他封裝在CrtpTransmitter類中,該類從Media Sink類繼承而來,接收到相應的媒體幀數據,使用RTPSession類庫的操作把數據發送到網絡上。

3、結語

本系統基于S3C2410平臺和Linux操作系統,利用Video4Linux設計采集程序,使用MPEG-4壓縮編碼算法,通過實時流媒體傳輸技術實現了網絡傳輸,整個系統具有穩定可靠、安裝簡便、成本低廉等特點,可擴展應用在工業控制、視頻會議系統、可視電話、遠程監控系統等諸多領域。

下一篇: 斷路器、隔離開關、接

上一篇: 索爾維全系列Solef?PV

推薦產品

更多
主站蜘蛛池模板: 上海深蓝_缠绕机_缠膜机-上海深蓝机械装备有限公司 | 青岛美佳乐清洁工程有限公司|青岛油烟管道清洗|酒店|企事业单位|学校工厂厨房|青岛油烟管道清洗 插针变压器-家用电器变压器-工业空调变压器-CD型电抗器-余姚市中驰电器有限公司 | 游泳池设计|设备|配件|药品|吸污机-东莞市太平洋康体设施有限公司 | 杭州网络公司_百度SEO优化-外贸网络推广_抖音小程序开发-杭州乐软科技有限公司 | 合肥制氮机_合肥空压机厂家_安徽真空泵-凯圣精机 | 广东恩亿梯电源有限公司【官网】_UPS不间断电源|EPS应急电源|模块化机房|电动汽车充电桩_UPS电源厂家(恩亿梯UPS电源,UPS不间断电源,不间断电源UPS) | 武汉天安盾电子设备有限公司 - 安盾安检,武汉安检门,武汉安检机,武汉金属探测器,武汉测温安检门,武汉X光行李安检机,武汉防爆罐,武汉车底安全检查,武汉液体探测仪,武汉安检防爆设备 | 中控室大屏幕-上海亿基自动化控制系统工程有限公司 | 自动配料系统_称重配料控制系统厂家 | 硫酸钡厂家_高光沉淀硫酸钡价格-河南钡丰化工有限公司 | 石牌坊价格石牌坊雕刻制作_石雕牌坊牌楼石栏杆厂家_山东嘉祥石雕有限公司 | 密封圈_泛塞封_格莱圈-[东莞市国昊密封圈科技有限公司]专注密封圈定制生产厂家 | 单电机制砂机,BHS制砂机,制沙机设备,制砂机价格-正升制砂机厂家 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 玄米影院| 汝成内控-行政事业单位内部控制管理服务商 | 圆周直径尺-小孔内视镜-纤维研磨刷-东莞市高腾达精密工具 | 东莞压铸厂_精密压铸_锌合金压铸_铝合金压铸_压铸件加工_东莞祥宇金属制品 | 「安徽双凯」自动售货机-无人售货机-成人用品-自动饮料食品零食售货机 | 洛阳装修公司-洛阳整装一站式品牌-福尚云宅装饰 | 河北中仪伟创试验仪器有限公司是专业生产沥青,土工,水泥,混凝土等试验仪器的厂家,咨询电话:13373070969 | 「阿尔法设计官网」工业设计_产品设计_产品外观设计 深圳工业设计公司 | 电主轴-高速精密电主轴-高速电机厂家-瑞德沃斯品牌有限公司 | 西门子伺服电机维修,西门子电源模块维修,西门子驱动模块维修-上海渠利 | 不锈钢水箱生产厂家_消防水箱生产厂家-河南联固供水设备有限公司 | 网站制作优化_网站SEO推广解决方案-无锡首宸信息科技公司 | 泉州陶瓷pc砖_园林景观砖厂家_石英砖地铺石价格 _福建暴风石英砖 | 室内室外厚型|超薄型|非膨胀型钢结构防火涂料_隧道专用防火涂料厂家|电话|价格|批发|施工 | 罐体电伴热工程-消防管道电伴热带厂家-山东沃安电气 | 大倾角皮带机-皮带输送机-螺旋输送机-矿用皮带输送机价格厂家-河南坤威机械 | 合肥展厅设计-安徽展台设计-合肥展览公司-安徽奥美展览工程有限公司 | Maneurop/美优乐压缩机,活塞压缩机,型号规格,技术参数,尺寸图片,价格经销商 | 自动部分收集器,进口无油隔膜真空泵,SPME固相微萃取头-上海楚定分析仪器有限公司 | 北京律师事务所_房屋拆迁律师_24小时免费法律咨询_云合专业律师网 | 高考志愿规划师_高考规划师_高考培训师_高报师_升学规划师_高考志愿规划师培训认证机构「向阳生涯」 | 深圳货架厂_仓库货架公司_重型仓储货架_线棒货架批发-深圳市诺普泰仓储设备有限公司 | 郑州墨香品牌设计公司|品牌全案VI设计公司| 柴油发电机组_柴油发电机_发电机组价格-江苏凯晨电力设备有限公司 | 塑料脸盆批发,塑料盆生产厂家,临沂塑料广告盆,临沂家用塑料盆-临沂市永顺塑业 | 造价工程师网,考试时间查询,报名入口信息-网站首页 | 德国GMN轴承,GMN角接触球轴承,GMN单向轴承,GMN油封,GMN非接触式密封 | 创绿家招商加盟网-除甲醛加盟-甲醛治理加盟-室内除甲醛加盟-创绿家招商官网 |