999精品在线视频,手机成人午夜在线视频,久久不卡国产精品无码,中日无码在线观看,成人av手机在线观看,日韩精品亚洲一区中文字幕,亚洲av无码人妻,四虎国产在线观看 ?

基于QEMU視頻監控系統的設計與實現

2023-06-02 06:02:26連赟
電子產品世界 2023年5期
關鍵詞:嵌入式

連赟

關鍵詞:嵌入式;QEMU;視頻監控系統

0 引言

嵌入式系統是軟硬件相結合、定制化、產品化相結合的復雜性系統工程,它涉及半導體、電子信息、信號處理、軟件工程等多學科的知識與技能,已經廣泛地應用于消費電子、國防工業、物聯網、家居安防、政務教育等諸多領域[1],并且隨著嵌入式操作系統的應用和技術的成熟,產品更加多樣化,迭代速度更加快速。

在設計開發某款嵌入式產品時,業內常見的做法通常會選用某款開發板,根據產品需求訂制所需CPU 型號、RAM、ROM、電源模塊、顯示模塊等硬件環境,選定操作系統平臺及該平臺上所使用的各項開發工具,例如編譯器、鏈接器等。根據廠家的硬件規格與軟件說明編譯出在目標平臺(開發板)上運行的鏡像文件,通過JTAG 等燒錄工具燒錄到目標平臺上。完成軟硬件環境的搭建后,之后才進入嵌入式應用程序的開發環節。

然而,嵌入式系統開發前期過程中存在著硬件經濟成本高、環境搭建復雜繁瑣、軟件開發周期長、問題錯誤定位難、學習者學習成本高等問題,特別對于初學者在遇到開發板硬件問題時,較難判斷問題原因以及尋求一對一指導解決。如何解決上述諸多問題,已成為嵌入式軟件從業者迫切需要研究的問題。

1 QEMU軟件開發

QEMU 最初是由法國程序員Fabrice Bellard 開發的一個開源模擬器,廣泛應用于虛擬化和硬件仿真。QEMU 能夠完成用戶程序模擬和系統虛擬化模擬。用戶程序模擬指的是QEMU 能夠將一個平臺編譯的二進制文件運行在另一個不同的平臺,如一個ARM 指令集的二進制程序,通過QEMU 的TCG(Tiny CodeGenerator)引擎的處理之后,ARM 指令被轉換成TCG中間代碼,然后再轉換成目的平臺的代碼。系統虛擬化模擬是指QEMU 能夠模擬出一臺擁有自己的虛擬CPU、芯片組、虛擬內存以及各種虛擬外部設備的完整系統虛擬機,能夠將與物理計算機完全一致的硬件視圖呈現在虛擬機中運行的操作系統和應用軟件上[]。QEMU 能夠模擬的平臺很多,包括x86、ARM、MIPS等等,比如QEMU 可以虛擬一個基于x86 架構PC 主機的基于ARM 架構的開發板,運行嵌入式的和應用程序。

QEMU 通過支持對ARM 平臺的指令級仿真,使目標系統運行在仿真環境中,就像運行在真實的物理環境中一樣,在嵌入式系統的開發過程中,通過建立虛擬硬件環境,使嵌入式軟件在沒有實體硬件環境的情況下運行,能夠為軟件開發者提供一個開發和測試的平臺,開發效率大大提高,QEMU 可以模擬很多體系結構以及硬件板子,包括ARM Cortex A9 系列的Vexpress 板子、支持ARM64 的Virt 板子以及RISC-V 的板子等。具體操作上只需要1 臺安裝了Linux 發行版的個人計算機即可,使用QEMU 虛擬機來打造ARM 實驗平臺,它具有如下特點,見表1。

本文基于QEMU 虛擬機模擬4 核Cortex-A9 的Versatile Express 開發平臺,完成Linux4.0 和根文件系統的移植工作,并在搭建的虛擬平臺上設計實現了嵌入式視頻監控器,用戶可以在通過網絡遠程訪問并拉取音視頻流媒體。通過該案例以驗證基于QEMU 的嵌入式軟件開發方法是可行有效的,過程簡化為如下步驟和內容:

1)在開發平臺上建立開發環境。選擇Ubuntu、CentOS、Fedora 等Linux 發行版,下載安裝GCC 交叉編譯器等依賴軟件,下載安裝QEMU;

2)建立根文件系統。下載Busybox 進行功能裁剪,制作一個最基本的根文件系統;

3)下載開源操作系統Linux 源碼并編譯,選擇4.0版本;

4)編寫編譯應用程序;

5)啟動QEMU 運行內核、根文件系統,在QEMU中執行應用程序,見圖1。

對比傳統的嵌入式軟件開發方法,基于QEMU 的嵌入式軟件開發方法流程更精簡、開發更高效、成本更低廉,見表2。

2 視頻監控系統設計

視頻監控系統是一種電子系統或網絡系統,通過攝像機查看所在位置的情況,同時將該位置情況的圖像、聲音傳送到中心控制系統,便于對異常情況的及時發現、記錄和處置,廣泛應用于公安、消防、交通、銀行、醫療、工廠等眾多行業的安全保衛和現場管理,一般由前端攝像、傳輸、控制、顯示和記錄等主要部分組成,簡而言之,視頻監控系統主要包括對攝像頭采取實時拉流、設備控制等操作。本文設計實現了一款基于QEMU 的視頻控制系統,該系統對外提供自定義私有協議和RTSP 協議,分別對外提供攝像頭的系統控制服務和RTSP 音視頻流媒體服務。

2.1 中心控制系統

中心控制系統采用平臺圖形用戶界面應用程序開發框架QT 編程實現,程序啟動后創建線程等待視頻控制系統連接,視頻控制系統啟動后完成USB 攝像頭初始化并啟動流媒體服務。待雙方建立Socket 連接后,根據自定義私有協議,中心控制系統獲取到視頻控制系統的RTSP URL 地址,并調用視頻播放組件實時拉取音視頻流數據,實現視頻監控功能,見圖2。

2.2 視頻監控系統

1)內核環境準備

選擇Ubuntu 發行版,下載安裝GCC 交叉編譯器等依賴軟件:sudo apt-get install libncurses5-dev gccarm-linux-gnueabi build-essential,下載安裝QEMU:sudo apt install qemu-system-arm。下載Busybox 進行功能裁剪,制作一個最基本的根文件系統。下載Linux內核源碼并編譯。

2)編寫應用程序

RTSP 是一種網絡控制協議,被設計用于多媒體通信系統中建立和控制流媒體服務器。流媒體數據本身的傳輸并不是RTSP 的任務,實現上還要搭配RTP、RTCP 來完成真正意義上的碼流傳輸及控制。協議分工如下:RTSP 負責建立和控制會話(默認端口:554),基于TCP 實現;RTP 負責傳輸流媒體數據;RTCP 負責與RTP 控制流量統計。要實現視頻監控系統的RTSP 音視頻流媒體服務,需要實現圖像采集、圖像轉換、視頻編碼、視頻分發等環節步驟,見圖3。

ff mpeg 有著強大的視頻采集、視頻格式轉換、視頻編碼、視頻解碼等功能,可用于音視頻的記錄、轉換,并能將其轉化為數據流。圖像采集模塊設置video4linux2 的采集方式,設置分辨率、圖像格式、采集幀率等參數,并打開攝像頭(/dev/video0), 在循環中不斷采集圖像幀,然后進行下一步的圖像轉換和編碼處理。圖像轉換模塊設置源圖像格式YUV422 以及目標圖像格式YUV420,轉換后存放在AVFrame 中,給下一編碼環節使用。視頻編碼模塊設置分辨率、幀率、圖像格式、碼率等參數后,向編碼器添加1 幀上一環節的YUV420 圖像,讀取到H.264 視頻編碼幀之后傳遞給RTSP 服務模塊分發數據。

Live555 是1 套使用開放標準協議(RTP/RTCP,RTSP, SIP) 的用于多媒體拉流的開源C++ 庫。該開源庫能夠讀取,接收和處理MPEG, H.265, H.264, H.263+,DV 或者JPEG 視頻[],以及其他的音視頻編碼格式,也可以用于構建基本的RTSP 客戶端和服務器。

基于live555 實現RTSP 協議服務功能, 包含OPTIONS、DESCRIBE、SETUP、PLAY、PAUSE、TAERDOWN 等方法。在live555 中RTSP 是1 個攝像頭的RTSP 會話對應1 個ServerMediaSession,而每個RTSP 會話需要傳輸視頻、音頻等碼流,而每一個流對應 ServerMediaSubSession,對于視頻流,常見的編碼格式有H.264、H.265 等,可將攝像頭的圖像編碼為H.264格式, 因此采用H264VideoFileServerMediaSubSession實現ServerMediaSubSession。最后將移植編譯成功的ff mpeg 和live555 二進制文件拷貝至kmodules 共享目錄中,在QEMU 輸入框啟動視頻監控系統。

3)啟動應用程序

啟動1 個帶有集成網絡攝像頭的QEMU 虛擬機,設置參數-device usb-host,hostbus=1,hostaddr=3,其中1 和3 分別代表總線和設備值。同時指定硬件平臺、內核數量、內存大小、內核鏡像路徑、共享目錄路徑等參數:sudo qemu-system-arm -M vexpress-a...。最后啟動中心控制系統QT 軟件,點擊“打開”按鈕成功拉取攝像頭實時監控視頻,效果圖見圖4。

3 結束語

對比傳統的需要購買硬件開發板的嵌入式軟件開發方法,本文基于QEMU 虛擬機搭建了一個嵌入式硬件Versatile Express 的系統仿真環境,在此環境下實現了嵌入式Linux 內核、根文件系統的編譯移植,并設計實現了一款嵌入式視頻監控系統應用程序,通過QT 中心控制系統實現了對目標平臺(視頻監控系統)的遠程訪問和視頻監控,驗證了該方法的可行性和高效性,可作為高校學生或行業初學者的實驗平臺,用于嵌入式軟件的開發及教學工作。

猜你喜歡
嵌入式
Focal&Naim同框發布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內核的自恢復設計
嵌入式系統通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設計與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發平臺
基于嵌入式系統Windows CE的應用程序開發
嵌入式單片機在電機控制系統中的應用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產流程控制系統中的應用
電鍍與環保(2016年3期)2017-01-20 08:15:32
Altera加入嵌入式視覺聯盟
主站蜘蛛池模板: 99久久国产精品无码| 欧美激情一区二区三区成人| 欧美成人h精品网站| 亚洲综合色区在线播放2019| 国精品91人妻无码一区二区三区| 欧美视频在线第一页| 日本三级欧美三级| 91在线丝袜| 91毛片网| 国产成人1024精品下载| 国产视频 第一页| 女人18毛片一级毛片在线| 99久久性生片| 色欲色欲久久综合网| 婷婷激情亚洲| 动漫精品中文字幕无码| 亚洲午夜18| 在线观看欧美国产| 亚洲无线观看| 在线观看国产精品第一区免费| 欧美精品二区| 国产福利在线免费| 午夜精品一区二区蜜桃| 国产精品自在线拍国产电影| 麻豆精品在线视频| 尤物午夜福利视频| 97在线免费| 亚洲人成网7777777国产| 成人免费视频一区| 色老头综合网| 国产 在线视频无码| 青草视频在线观看国产| 国产h视频免费观看| 91系列在线观看| 亚洲成人福利网站| 婷婷久久综合九色综合88| 亚洲第一天堂无码专区| 国产免费福利网站| 91小视频版在线观看www| 99福利视频导航| 免费看的一级毛片| 五月丁香在线视频| 午夜精品影院| 狠狠色噜噜狠狠狠狠色综合久| 国产精品自拍露脸视频| 欧美国产日韩另类| a级毛片免费网站| 小13箩利洗澡无码视频免费网站| 国产视频欧美| 成人精品免费视频| 亚洲人精品亚洲人成在线| 国产在线欧美| 国产91导航| 日本日韩欧美| lhav亚洲精品| 日韩精品高清自在线| 丝袜亚洲综合| 国产迷奸在线看| 色精品视频| 亚洲一区无码在线| 成人无码区免费视频网站蜜臀| 国产精品极品美女自在线看免费一区二区| 色综合成人| 成人综合在线观看| 日韩免费视频播播| 国产无码精品在线播放| 国产黄网站在线观看| 国产视频a| 91免费国产高清观看| 男女性午夜福利网站| 国产乱子精品一区二区在线观看| 国产69精品久久| 久久精品女人天堂aaa| 一区二区三区毛片无码| 国产男女免费完整版视频| 青草视频免费在线观看| 久久精品亚洲专区| 国产爽妇精品| 欧美日韩理论| av在线无码浏览| 国产真实乱了在线播放| 国产女人18毛片水真多1|