<acronym id="s8ci2"><small id="s8ci2"></small></acronym>
<rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
<acronym id="s8ci2"></acronym>
<acronym id="s8ci2"><center id="s8ci2"></center></acronym>
0
  • 聊天消息
  • 系統消息
  • 評論與回復
登錄后你可以
  • 下載海量資料
  • 學習在線課程
  • 觀看技術視頻
  • 寫文章/發帖/加入社區
創作中心

完善資料讓更多小伙伴認識你,還能領取20積分哦,立即完善>

3天內不再提示

鴻蒙OpenHarmony【小型系統 實戰應用】(基于Hi3516開發板)

jf_46214456 ? 來源:jf_46214456 ? 作者:jf_46214456 ? 2024-04-28 17:35 ? 次閱讀

運行

系統啟動成功后,取源碼out目錄下的helloworld可執行文件放入系統的bin目錄,通過以下步驟運行“Hello World”。

操作步驟

  1. 在啟動界面進入bin目錄。

    cd bin
    
  2. 進入bin目錄后可以看到helloworld文件,通過以下命令運行helloworld程序。

    ./helloworld
    

    界面打印“Hello World!”,程序運行成功。

    quickstart-pkg-3516-running

下一步學習

鴻蒙開發指導文檔:[qr23.cn/FBD4cY。

[ate 導入OpenHarmony工程]

概述

本文檔將介紹如何基于IoT Camera開發板(Hi3516DV300),利用其攝像頭和屏幕,完成拍照、錄像和視頻預覽功能。

通過本文檔,開發者能夠對OpenHarmony的攝像控制有更深入的了解,可參照本例嘗試完成“智能貓眼”、“智能后視鏡”、“智能帶屏音箱”等設備的開發。

若開發者想先查看示例效果,請進入[應用實例]。如需自定義應用行為,可參考下節“示例開發”對示例代碼進行修改。

應用實例

本示例將運行源碼中的camera示例代碼,通過本示例可以實現使用開發板進行拍照、錄像及預覽等功能。

  • 本示例源碼路徑為“applications/sample/camera/media/camera_sample.cpp”。

  • 在運行本示例前需先完成編譯燒錄、運行鏡像等步驟

    說明: 開發板啟動后默認會加載launcher應用,應用的圖形界面默認顯示在媒體圖層上方,會影響camera_sample的演示結果,因此需要在編譯或是打包時去掉launcher應用。 修改方法 :將“build/lite/components/applications.json”中camera_sample_app組件的targets中"http://applications/sample/camera/launcher:launcher_hap"整行注釋或刪除。

  • 本示例編譯結果路徑為“out/hi3516dv300/ipcamera_hi3516dv300_liteos/dev_tools/bin”,為讓文件能在單板中執行,可將示例文件通過讀卡器復制至TF卡中,或者修改camera_sample的編譯腳本將結果文件復制至rootfs.img中。
    修改源碼路徑“applications/sample/camera/media/BUILD.gn”中第一處的output_dir。

    • 修改前:output_dir = "$root_out_dir/dev_ools"
    • 修改后:output_dir = "$root_out_dir/"

    重新執行源碼倉編譯并燒寫入單板后,可在單板bin目錄下找到camera_sample文件。

須知: 實例運行拍照和錄像功能需要插入TF卡(最大容量支持128GB),系統啟動后自動將TF卡掛載至/sdcard目錄,如果在啟動后插入則需要手動掛載。查看拍照和錄像內容可將TF卡中內容復制到電腦中進行查看,預覽功能無需TF卡。

  • 接下來可通過以下步驟運行示例:
  1. 通過cd命令進入可執行程序的末端路徑,啟動camera_sample,執行命令如下圖。
    圖 1 啟動示例[]()

    運行后的控制命令如串口打印所示,按s鍵停止當前操作(包括錄像和預覽),按q鍵退出示例程序。
  2. 按1進行拍照,拍照的文件格式為jpg,存儲在/sdcard,文件名Capture*
    圖 2 輸入拍照指令后串口打印日志[]()

    若想查看保存文件,可在退出程序后進入文件系統查看,退出后重新進入請回到步驟1。
    圖 3 查看文件圖[]()
  3. 按2進行錄像,錄像的文件格式為mp4,存儲在/sdcard,文件名Record*,按s鍵停止
    圖 4 輸入錄像指令后串口打印日志[]()
  4. 按3進行預覽,預覽圖像直接送至顯示屏,按s鍵停止。
    圖 5 輸入預覽指令后串口打印日志[]()

    預覽效果如下
    圖 6 預覽效果[]()
  5. 按q鍵退出
    圖 7 輸出退出指令后串口打印日志[]()

相機應用開發

基本概念

相機是OpenHarmony多媒體進程提供的服務之一,提供了相機的錄像、預覽、拍照功能,支持多用戶并發取流。

在進行應用的開發前,開發者應了解以下基本概念:

  • 視頻幀
    視頻流指的是將一系列圖片數據按照固定時間間隔排列形成的數據流,每一張圖片數據成為一幀,這樣的一幀稱為視頻幀。
  • 幀速率(FPS,Frames Per Second)
    視頻播放每秒鐘刷新圖片的速度,或是視頻每秒的幀數,幀速率越高,視頻的觀感越流暢。
  • 分辨率
    每一幀的圖片信息都是由像素點組成的,分辨率描述了一張圖片中像素點的個數。例如1920*1080(1080P),是指圖片寬1920像素,高1080像素。

運作機制

  • 多媒體服務進程
    多媒體服務作為系統服務,在系統啟動時由Init進程拉起,并初始化和分配媒體硬件資源(內存/顯示硬件/圖像傳感器/編解碼器等)。初始化過程解析配置文件,確定了多媒體各個服務的能力和資源上限,通常由OEM廠商通過配置文件進行配置。相機服務在多媒體進程初始化時有以下配置項:
    • 內存池:所有媒體服務依賴于內存池中的內存輪轉運行
    • 圖像傳感器:包括了傳感器類型、分辨率、ISP等
    • 圖像處理器:分辨率、碼率、圖像翻轉等
    • 圖像編碼器:編碼格式、碼率、分辨率等
  • 關鍵類的解釋
    應用通過持有下面4個類,配置和使用Camera的功能,包括了Camera類和它的三個異步回調類,三類回調分別對應了不同類型的異步處理場景,詳見下表。
    表1 關鍵類的解釋
    對象用途舉例
    Camera對相機進行靜態配置(通過配置類),觸發相機基本功能拍照/錄像/預覽
    CameraDeviceCallback處理相機硬件狀態變化可用/不可用
    CameraStateCallback處理camera自身狀態變化創建/釋放
    FrameStateCallback處理幀狀態的變化拍照開始和結束/幀率發生變化

HarmonyOS與OpenHarmony鴻蒙文檔籽料:mau123789是v直接拿

搜狗高速瀏覽器截圖20240326151344.png

  • 流的傳遞
    Surface是多媒體傳遞音視頻的基本數據結構,Camera一般作為Surface中數據的生產者,在不同的場景下有特定的消費者。
    相機的預覽和錄像輸出均為視頻流,拍照輸出為圖像幀,二者均通過Surface類進行傳遞。Surface類可以屏蔽進程內/跨進程的場景,進行多媒體信息流的傳遞。
    以錄像為例,用戶首先創建Recorder實例,并從Recorder中獲取對應Surface,再將此Surface傳遞給Camera實例,此時Camera將作為生產者向Surface注入視頻流,而Recorder作為消費者從Surface中取出視頻流進行保存,用戶的行為類似橋接,把二者通過Surface連接起來。
    類似的,用戶也可以自行創建Surface傳遞給Camera實例,并實現消費者邏輯(例如通過網絡傳輸視頻流,或是將拍照的幀數據保存成圖片文件)。
    圖形圖像模塊也通過Surface從Camera獲取流資源,具體步驟詳見[圖形圖像開發指導]
  • 相機運行流程
    1. Camera創建流程
      本進程通過CameraManager創建Camera實例,并從服務端綁定camera設備,創建成功后異步通知developer。類之間的時序圖如下:
      圖1 Camera創建時序圖
      zh-cn_image_0000001200114819
    2. Camera錄像/預覽流程
      開發者首先通過CameraKit創建Camera,然后FrameConfig類對錄像或者預覽幀屬性進行配置。錄像/預覽時序如下:
      圖2 Camera錄像/預覽時序圖
      zh-cn_image_0000001200115193

審核編輯 黃宇

聲明:本文內容及配圖由入駐作者撰寫或者入駐合作網站授權轉載。文章觀點僅代表作者本人,不代表電子發燒友網立場。文章及其配圖僅供工程師學習之用,如有內容侵權或者其他違規問題,請聯系本站處理。 舉報投訴
  • 源碼
    +關注

    關注

    8

    文章

    574

    瀏覽量

    28609
  • 開發板
    +關注

    關注

    25

    文章

    4441

    瀏覽量

    94182
  • 鴻蒙
    +關注

    關注

    55

    文章

    1651

    瀏覽量

    42135
  • HarmonyOS
    +關注

    關注

    79

    文章

    1864

    瀏覽量

    29276
  • OpenHarmony
    +關注

    關注

    23

    文章

    3328

    瀏覽量

    15172
收藏 人收藏

    評論

    相關推薦

    鴻蒙OpenHarmony小型系統 燒錄】(基于Hi3516開發板

    針對Hi3516DV300開發板,除了DevEco Device Tool(操作方法請參考燒錄))外,還可以使用HiTool進行燒錄。
    的頭像 發表于 04-28 15:03 ?587次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>小型</b><b class='flag-5'>系統</b> 燒錄】(基于<b class='flag-5'>Hi3516</b><b class='flag-5'>開發板</b>)

    鴻蒙OpenHarmony小型系統運行案例】 (基于Hi3516開發板

    在完成Hi3516DV300的燒錄后,還需要設置BootLoader引導程序,才能運行OpenHarmony系統。
    的頭像 發表于 04-23 21:00 ?92次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>小型</b><b class='flag-5'>系統</b>運行案例】 (基于<b class='flag-5'>Hi3516</b><b class='flag-5'>開發板</b>)

    鴻蒙OpenHarmony小型系統燒錄】 (基于Hi3516開發板

    燒錄是指將編譯后的程序文件下載到芯片開發板上的動作,為后續的程序調試提供基礎。
    的頭像 發表于 04-23 17:29 ?196次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>小型</b><b class='flag-5'>系統</b>燒錄】 (基于<b class='flag-5'>Hi3516</b><b class='flag-5'>開發板</b>)

    鴻蒙OpenHarmony小型系統編譯】 (基于Hi3516開發板

    DevEco Device Tool支持Hi3516DV300開發板的源碼一鍵編譯功能,提供編譯工具鏈和編譯環境依賴的檢測及一鍵安裝,簡化復雜編譯環境的同時,提升了編譯的效率。
    的頭像 發表于 04-23 15:53 ?118次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>【<b class='flag-5'>小型</b><b class='flag-5'>系統</b>編譯】 (基于<b class='flag-5'>Hi3516</b><b class='flag-5'>開發板</b>)

    OpenHarmony鴻蒙南向開發案例:【智能貓眼(基于3516開發板)】

    基于Hi3516開發板,使用開源OpenHarmony開發的RTSP協議流媒體應用。達到將Hi3516
    的頭像 發表于 04-19 22:01 ?59次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>鴻蒙</b>南向<b class='flag-5'>開發</b>案例:【智能貓眼(基于<b class='flag-5'>3516</b><b class='flag-5'>開發板</b>)】

    鴻蒙OpenHarmony【搭建Ubuntu環境】

    支持在Windows環境下進行編譯,如Hi3861、Hi3516系列開發板。因此,建議使用Ubuntu的編譯環境對源碼進行編譯。
    的頭像 發表于 04-19 16:53 ?823次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>【搭建Ubuntu環境】

    鴻蒙OpenHarmony【搭建Windows環境】

    支持在Windows環境下進行編譯,如Hi3861、Hi3516系列開發板。因此,建議使用Ubuntu的編譯環境對源碼進行編譯。
    的頭像 發表于 04-19 15:42 ?180次閱讀
    <b class='flag-5'>鴻蒙</b><b class='flag-5'>OpenHarmony</b>【搭建Windows環境】

    OpenHarmony南向開發案例:【智能照相機】

    基于Hi3516開發板,使用OpenHarmony3.0-LTS開發的應用。通過獲取攝像頭數據,實現預覽拍照以及路視頻等功能。并且通過后臺AI服務識別喚醒詞來進行語音控制拍照及錄制視頻
    的頭像 發表于 04-18 22:19 ?70次閱讀
    <b class='flag-5'>OpenHarmony</b>南向<b class='flag-5'>開發</b>案例:【智能照相機】

    OpenHarmony南向開發案例:【智能油煙機】

    基于Hi3516開發板,使用開源OpenHarmony開發的應用。
    的頭像 發表于 04-18 15:54 ?649次閱讀
    <b class='flag-5'>OpenHarmony</b>南向<b class='flag-5'>開發</b>案例:【智能油煙機】

    OpenHarmony開發學習:【源碼下載和編譯】

    本文介紹了如何下載鴻蒙系統源碼,如何一次性配置可以編譯三個目標平臺(`Hi3516`,`Hi3518`和`Hi3861`)的編譯環境,以及如
    的頭像 發表于 04-14 09:36 ?422次閱讀
    <b class='flag-5'>OpenHarmony</b><b class='flag-5'>開發</b>學習:【源碼下載和編譯】

    鴻蒙OS南向開發實戰:【智能電子牌】

    本Demo是基于hi3516dv300開發板,使用開源鴻蒙OpenHarmony 開發的應用。通過該應用不僅可以查看時間、日期以及對應的室內
    的頭像 發表于 04-09 15:24 ?496次閱讀
    <b class='flag-5'>鴻蒙</b>OS南向<b class='flag-5'>開發</b><b class='flag-5'>實戰</b>:【智能電子牌】

    盤點那些硬件+項目學習套件:Hi3861鴻蒙開發板及入門常見問題解答

    的一款用于鴻蒙設備開發鴻蒙物聯網開發學習的開發板。主控為華為海思Hi3861LV100芯片,內
    發表于 02-01 16:55

    OpenHarmony開發板匯總

    海思Phoenix 開發板Hi3751V351)標準系統:鴻誠志遠HCPAD-100(RK3568)標準系統:DAYU110(SL8541E)標準
    發表于 10-19 11:27

    標準系統:上海海思Phoenix 開發板Hi3751V351)

    開發板名稱(芯片型號) 上海海思Phoenix 開發板Hi3751V351) 芯片架構 CPU頻率 介紹(字數請控制在200字以內) ● TYPEC--Type-c● 植入鴻蒙
    發表于 10-19 10:59

    【觸覺智能 Purple Pi OH 開發板體驗】一、OpenHarmony鴻蒙系統開發環境配置以及示例代碼

    OpenHarmony 是沒有模擬器的,真正運行調測只能借助開發板(主要采用 HI3516 系列開發板),注意目前是不支持手機平板等真機調測的。(4)簽名方式不同
    發表于 08-31 11:03
    亚洲欧美日韩精品久久_久久精品AⅤ无码中文_日本中文字幕有码在线播放_亚洲视频高清不卡在线观看
    <acronym id="s8ci2"><small id="s8ci2"></small></acronym>
    <rt id="s8ci2"></rt><rt id="s8ci2"><optgroup id="s8ci2"></optgroup></rt>
    <acronym id="s8ci2"></acronym>
    <acronym id="s8ci2"><center id="s8ci2"></center></acronym>