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

基于QEMU視頻監(jiān)控系統(tǒng)的設計與實現(xiàn)

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

連赟

關鍵詞:嵌入式;QEMU;視頻監(jiān)控系統(tǒng)

0 引言

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

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

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

1 QEMU軟件開發(fā)

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

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

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

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

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

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

4)編寫編譯應用程序;

5)啟動QEMU 運行內(nèi)核、根文件系統(tǒng),在QEMU中執(zhí)行應用程序,見圖1。

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

2 視頻監(jiān)控系統(tǒng)設計

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

2.1 中心控制系統(tǒng)

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

2.2 視頻監(jiān)控系統(tǒng)

1)內(nèi)核環(huán)境準備

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

2)編寫應用程序

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

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

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

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

3)啟動應用程序

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

3 結束語

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

猜你喜歡
嵌入式
Focal&Naim同框發(fā)布1000系列嵌入式揚聲器及全新Uniti Atmos流媒體一體機
TS系列紅外傳感器在嵌入式控制系統(tǒng)中的應用
電子制作(2019年7期)2019-04-25 13:17:14
基于嵌入式Linux內(nèi)核的自恢復設計
嵌入式系統(tǒng)通信技術的應用
電子制作(2018年18期)2018-11-14 01:48:16
嵌入式PLC的設計與研究
電子制作(2018年16期)2018-09-26 03:27:18
搭建基于Qt的嵌入式開發(fā)平臺
基于嵌入式系統(tǒng)Windows CE的應用程序開發(fā)
嵌入式單片機在電機控制系統(tǒng)中的應用探討
電子制作(2017年8期)2017-06-05 09:36:15
嵌入式軟PLC在電鍍生產(chǎn)流程控制系統(tǒng)中的應用
Altera加入嵌入式視覺聯(lián)盟
主站蜘蛛池模板: 国产在线第二页| 国产97色在线| 日本精品影院| 99热最新网址| 亚洲无码精品在线播放| 国产欧美日韩91| 国产精品.com| 精品三级网站| a毛片在线| 成人福利在线视频免费观看| 丝袜亚洲综合| 国产一级毛片网站| 伊人成人在线视频| 青青草原偷拍视频| 五月天天天色| 五月婷婷激情四射| 国产永久免费视频m3u8| 国产成人精品高清在线| 国产成人三级| jijzzizz老师出水喷水喷出| 狼友视频一区二区三区| 91精品人妻一区二区| 最新精品国偷自产在线| 国产精品久久久久鬼色| 日本黄色不卡视频| 亚洲国产中文在线二区三区免| 欧美不卡视频在线| 久久国产精品麻豆系列| 中文字幕在线日本| 亚洲欧美日韩另类在线一| 午夜精品久久久久久久99热下载| 国产三区二区| 在线观看国产小视频| 国产微拍一区二区三区四区| 亚洲黄网在线| 亚洲毛片在线看| 伊人久久大香线蕉影院| 51国产偷自视频区视频手机观看| 亚洲品质国产精品无码| 国产福利一区在线| 国产手机在线观看| 日韩无码视频网站| 精品无码人妻一区二区| 欧美日韩亚洲综合在线观看| 国产精品亚洲一区二区三区z| 国产在线欧美| 91久久精品国产| 久久精品人人做人人爽电影蜜月| 国产亚洲一区二区三区在线| 26uuu国产精品视频| 97精品国产高清久久久久蜜芽| 国产尤物在线播放| 成人综合久久综合| 国产在线无码一区二区三区| 就去色综合| 国产成人禁片在线观看| 国产成人三级在线观看视频| 午夜欧美理论2019理论| 91视频首页| 午夜限制老子影院888| 91青青在线视频| 午夜性刺激在线观看免费| 最新亚洲人成无码网站欣赏网| 欧美一区中文字幕| 精品少妇人妻无码久久| 亚洲美女久久| 国产地址二永久伊甸园| 亚洲无码免费黄色网址| 少妇精品久久久一区二区三区| a级毛片网| 老色鬼久久亚洲AV综合| 久久久久久国产精品mv| 亚洲a级在线观看| 久久青草精品一区二区三区 | 欧美日韩精品一区二区视频| 亚洲中文字幕无码爆乳| 成人a免费α片在线视频网站| 久久一色本道亚洲| 欧美高清视频一区二区三区| 中文成人无码国产亚洲| 色噜噜综合网| 无码精油按摩潮喷在线播放 |