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

產品分類

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

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

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

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

多媒體通信技術的發展為信息的獲取和傳輸提供了豐富的手段,視頻采集是其中不可缺少的重要組成部分,該系統基于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

推薦產品

更多
主站蜘蛛池模板: 山东活动策划|济南活动公司|济南公关活动策划-济南锐嘉广告有限公司 | 银川美容培训-美睫美甲培训-彩妆纹绣培训-新娘化妆-学化妆-宁夏倍莱妮职业技能培训学校有限公司 临时厕所租赁_玻璃钢厕所租赁_蹲式|坐式厕所出租-北京慧海通 | 欧版反击式破碎机-欧版反击破-矿山石料破碎生产线-青州奥凯诺机械 | 青海电动密集架_智能密集架_密集架价格-盛隆柜业青海档案密集架厂家 | 通风气楼_通风天窗_屋顶风机-山东美创通风设备有限公司 | 上海冠顶工业设备有限公司-隧道炉,烘箱,UV固化机,涂装设备,高温炉,工业机器人生产厂家 | 超声波成孔成槽质量检测仪-压浆机-桥梁预应力智能张拉设备-上海硕冠检测设备有限公司 | 上海平衡机-单面卧式动平衡机-万向节动平衡机-圈带动平衡机厂家-上海申岢动平衡机制造有限公司 | 纸布|钩编布|钩针布|纸草布-莱州佳源工艺纸布厂 | 杭州中央空调维修_冷却塔/新风机柜/热水器/锅炉除垢清洗_除垢剂_风机盘管_冷凝器清洗-杭州亿诺能源有限公司 | 丹佛斯变频器-Danfoss战略代理经销商-上海津信变频器有限公司 | 挤奶设备过滤纸,牛奶过滤纸,挤奶机过滤袋-济南蓝贝尔工贸有限公司 | 气动隔膜阀_气动隔膜阀厂家_卫生级隔膜阀价格_浙江浙控阀门有限公司 | 无线讲解器-导游讲解器-自助讲解器-分区讲解系统 品牌生产厂家[鹰米讲解-合肥市徽马信息科技有限公司] | 光环国际-新三板公司_股票代码:838504 | 云南标线|昆明划线|道路标线|交通标线-就选云南云路施工公司-云南云路科技有限公司 | LED太阳能中国结|发光红灯笼|灯杆造型灯|节日灯|太阳能灯笼|LED路灯杆装饰造型灯-北京中海轩光电 | 上海宿田自动化设备有限公司-双面/平面/单面贴标机 | 液压升降货梯_导轨式升降货梯厂家_升降货梯厂家-河南东圣升降设备有限公司 | 中医中药治疗血小板减少-石家庄血液病肿瘤门诊部 | 磁力抛光研磨机_超声波清洗机厂家_去毛刺设备-中锐达数控 | 熔体泵|换网器|熔体齿轮泵|熔体计量泵厂家-郑州巴特熔体泵有限公司 | 河南空气能热水器-洛阳空气能采暖-洛阳太阳能热水工程-洛阳润达高科空气能商行 | 无轨电动平车_轨道平车_蓄电池电动平车★尽在新乡百特智能转运设备有限公司 | 柔性测斜仪_滑动测斜仪-广州杰芯科技有限公司| 档案密集架_电动密集架_移动密集架_辽宁档案密集架-盛隆柜业厂家现货批发销售价格公道 | 生产自动包装秤_颗粒包装秤_肥料包装秤等包装机械-郑州鑫晟重工科技有限公司 | 辐射色度计-字符亮度测试-反射式膜厚仪-苏州瑞格谱光电科技有限公司 | 工作服定制,工作服定做,工作服厂家-卡珀职业服装(苏州)有限公司 | 点胶机_点胶阀_自动点胶机_智能点胶机_喷胶机_点胶机厂家【欧力克斯】 | 安全光栅|射频导纳物位开关|音叉料位计|雷达液位计|两级跑偏开关|双向拉绳开关-山东卓信机械有限公司 | 工程管道/塑料管材/pvc排水管/ppr给水管/pe双壁波纹管等品牌管材批发厂家-河南洁尔康建材 | 干粉砂浆设备-干粉砂浆生产线-干混-石膏-保温砂浆设备生产线-腻子粉设备厂家-国恒机械 | 单电机制砂机,BHS制砂机,制沙机设备,制砂机价格-正升制砂机厂家 单级/双级旋片式真空泵厂家,2xz旋片真空泵-浙江台州求精真空泵有限公司 | 乐之康护 - 专业护工服务平台,提供医院陪护-居家照护-居家康复 | 影合社-影视人的内容合作平台 | 定制/定做冲锋衣厂家/公司-订做/订制冲锋衣价格/费用-北京圣达信 | 威实软件_软件定制开发_OA_OA办公系统_OA系统_办公自动化软件 | 超声波破碎仪-均质乳化机(供应杭州,上海,北京,广州,深圳,成都等地)-上海沪析实业有限公司 | 冷藏车厂家|冷藏车价格|小型冷藏车|散装饲料车厂家|程力专用汽车股份有限公司销售十二分公司 | 隧道风机_DWEX边墙风机_SDS射流风机-绍兴市上虞科瑞风机有限公司 |