“
1
概述
本Demo是基于Hi3518開發(fā)板,使用開源OpenHarmony開發(fā)的RTSP協(xié)議流媒體應(yīng)用。達到將Hi3518開發(fā)板中攝像頭獲取的數(shù)據(jù)通過RTSP協(xié)議傳輸?shù)?a target="_blank">手機并顯示 。
rtsp實現(xiàn)可參考文檔:RTSPServer
1.1 應(yīng)用運行效果圖
1.2 設(shè)備與手機間交互示意圖
如上圖所示,手機播放3518攝像頭采集的視頻數(shù)據(jù)。
“
2
快速上手
2.1 硬件開發(fā)環(huán)境準備
1. 預(yù)裝windows系統(tǒng)的PC機
2. Hi3518EV300 IoT Camera開發(fā)板
3. USB轉(zhuǎn)串口線、網(wǎng)線(Windows工作臺通過USB轉(zhuǎn)串口線、網(wǎng)線與開發(fā)板連接)
4. 開發(fā)板介紹參照文檔:Hi3518開發(fā)板介紹
5. 淘寶店Hi3518EV300開發(fā)板購買地址:HarmonyOS HiSpark Aries IPC 攝像頭(Hi3518E)開發(fā)板套件
2.2 下載源碼準備
1. 注冊碼云gitee賬號。
2. 注冊碼云SSH公鑰,請參考碼云幫助中心的公鑰管理:https://gitee.com/help/articles/4181
3. 安裝下載工具
sudo apt-get install git-lfs
sudo apt-get install curl
sudo update-alternatives --install /usr/bin/python python /usr/bin/python3.8 1
4. 安裝git客戶端并配置用戶信息。
git config --global user.name "yourname"
git config --global user.email "your-email-address"
git config --global credential.helper store
5. 安裝碼云repo工具,可以執(zhí)行如下命令。
curl https://gitee.com/oschina/repo/raw/fork_flow/repo-py3 > /usr/local/bin/repo
chmod a+x /usr/local/bin/repo
pip install -i https://pypi.tuna.tsinghua.edu.cn/simple requests
下載OpenHarmony源碼
#特別注意:請下載OpenHarmony 1.0.1 版本,后續(xù)會更新支持OpenHarmony其他版本
repo init -u git@gitee.com:openharmony/manifest.git -b OpenHarmony_1.0.1_release --no-repo-verify
repo sync -c
repo forall -c 'git lfs pull'
下載smart_door_viewer_3518代碼
具體倉庫地址: knowLEDge_demo_smart_home
通過git命令下載(方便后期代碼上傳管理,建議先將倉庫fork到自己賬號目錄,然后再下載):
git clone git@gitee.com:xxxxxxx/knowledge_demo_smart_home.git
其中xxxxxxx為fork后相關(guān)賬號名字。
代碼拷貝
1.在OpenHarmony的vendor目錄下新建一個team_x的目錄:
mkdir vendor/team_x
2.將下載的智能油煙機代碼的代碼拷貝到新建的team_x下面:
cp -RF ../knowledge_demo_smart_home/dev/team_x/smart_door_viewer_3518/ vendor/team_x/
3.將下面文件替換到openHarmony1.0.1源碼下的文件
代碼目錄結(jié)構(gòu)
├── smart_door_viewer_3518
│ ├── BUILD.gn // 編譯腳本
│ ├── include
│ │ ├── camera_sample.h // 攝像頭定義頭文件
│ │ ├── rtp.h // rtp協(xié)議傳輸頭文件
│ │ ├── rtsp_log.h // 打印調(diào)試頭文件
│ │ └── rtsp_server.h // rtsp_server頭文件
│ └── src
│ ├── camera_sample.cpp // 攝像頭實現(xiàn)
│ ├── main.cpp // 主函數(shù)
│ ├── rtp.cpp // rtp協(xié)議實現(xiàn)
│ └── rtsp_server.cpp // rtsp協(xié)議實現(xiàn)
├── foundation
│ └── multimedia
│ └── media_lite
│ ├── frameworks
│ │ └── recorder_lite
│ │ ├── recorder.cpp //增加獲取h.265數(shù)據(jù)存放至環(huán)形緩沖區(qū)接口實現(xiàn)
│ │ ├── recorder_impl.cpp //增加向應(yīng)用層提供環(huán)形緩沖區(qū)接口實現(xiàn)
│ │ └── recorder_impl.h //增加向應(yīng)用層提供環(huán)形緩沖區(qū)接口定義
│ └── interfaces
│ └── kits
│ └── recorder_lite
│ └── recorder.h //增加獲取h.265數(shù)據(jù)存放至環(huán)形緩沖區(qū)接口定義
2.3 Linux編譯服務(wù)器開發(fā)環(huán)境準備
開發(fā)基礎(chǔ)環(huán)境由windows 工作臺和Linux 編譯服務(wù)器組成。windows 工作臺通過samba 服務(wù)或ssh 方式訪問Linux編譯服務(wù)器。其中windows 工作臺用來燒錄和代碼編輯,Linux編譯服務(wù)器用來編譯OpenHarmony代碼,為了簡化步驟,Linux編譯服務(wù)器推薦安裝Ubuntu20.04。
參考官方文檔搭建開發(fā)Linux編譯環(huán)境。
1. 系統(tǒng)基礎(chǔ)環(huán)境搭建
2. Hi3518搭建環(huán)境
編譯
源碼和環(huán)境準備完后,接下來就是編譯,編譯涉及的指令有2條,hb set和hb build -f
hb set -- 設(shè)置工程目錄和選擇對應(yīng)的目標,通過鍵盤的上下鍵來選擇。
hb build -f -- 開始全量編譯。(hb build 為增量編譯)
編譯完后會生成對應(yīng)整個系統(tǒng)固件(u-boot-hi3518ev300.bin,OHOS_Image.bin, rootfs_vfat.img, userfs_vfat.img)
以下表格為所有生成的固件及對應(yīng)的位置:
2.4 固件燒錄燒錄工具選擇
固件編譯完后,是需要燒錄到單板的。這里我們用的是HiTool工具燒錄的。(HiTool工具下載地址:HiHope官網(wǎng))
燒錄步驟
打開HiTool工具,如下圖:
燒寫步驟按照圖中標注即可。點擊擦除后再拔出USB口再接入。
擦除成功如下所示。
然后按如下圖選擇,再點擊燒寫。
燒錄成功后,會彈出如下提示,單板也會自行啟動。
單板在啟動的時候需要設(shè)置bootargs,否則不能正常啟動。單板第一次啟動會停在hisilicon界面:
輸入以下啟動參數(shù):
setenv bootcmd "sf probe 0;sf read 0x40000000 0x100000 0x600000;go 0x40000000";
setenv bootargs "console=ttyAMA0,115200n8 root=flash fstype=jffs2 rw rootaddr=7M rootsize=8M";
save;
reset
......
-
開發(fā)板
+關(guān)注
關(guān)注
25文章
4896瀏覽量
97058 -
OpenHarmony
+關(guān)注
關(guān)注
25文章
3635瀏覽量
16061
發(fā)布評論請先 登錄
相關(guān)推薦
評論