||
本文將以Air8101開發板為例:實現MP4視頻錄制,保存到SD卡以及通過HTTP POST上傳到阿里云OSS的功能。
在工業監控、智能垃圾分類、無人售貨機開箱取物等等實際應用中,可根據具體需求對示例源碼進行進一步的修改和優化。
最新開發資料詳見:www.air8101.cn
視頻錄制+SD卡存儲+上傳阿里云
一、相關知識點
SD卡(Secure Digital Card)是一種基于半導體快閃記憶器的新一代記憶設備,被廣泛用于便攜式設備中存儲數據。具有高存儲容量、快速數據傳輸速度、體積小、重量輕、安全性高(支持數據加密)等特點。
SD卡通常使用FAT32文件系統,支持長文件名和大文件存儲,是嵌入式系統中常用的存儲介質。
HTTP POST是一種常用的網絡請求方法,用于向服務器發送數據,適用于文件上傳等場景。
阿里云對象存儲服務(OSS)是一種高可靠、高可用、高性能的云端存儲服務,適用于存儲和管理大量數據。
相關知識點詳細介紹參見:https://docs.openluat.com/air8101/luatos/app/multimedia/video/
二、主要硬件準備Air8101開發板套件;
支持數據傳輸的USB數據線;
Win10及其以上PC電腦。
需要特別注意:因前期B10版本的開發板設計原因,需要把SD_3.3V與SWD_3.3V短接,才能正常供電。
如下圖示:
B11及其之后版本的開發板,沒有上述問題。正常安裝攝像頭、SD卡、屏幕等配件后,使用USB數據線連接電腦即可。
Air8101應用示例持續更新中,當前示例為MP4視頻錄制存儲和上傳功能。
最新源碼及實操教程詳見:
https://docs.openluat.com/air8101/luatos/app/multimedia/video/
主要示例代碼如下所示:
通過Wi-Fi連接到指定網絡。注意:實際使用中,須替換ssid和password為實際的Wi-Fi名稱和密碼。
程序將等待Wi-Fi連接成功,并發布一個net_ready消息表示網絡已就緒。
初始化并掛載SD卡,用于后續存儲視頻文件。
程序將初始化SPI總線并掛載SD卡到/sd目錄;注意檢查掛載結果,確保SD卡已正確掛載。
初始化USB攝像頭并開始錄制視頻,保存到SD卡的/sd/abc.mp4文件;錄制時長為20秒,可根據需要調整sys.wait的參數。
將錄制好的視頻文件保存到SD卡后,通過HTTP POST請求上傳到阿里云OSS。
配置阿里云OSS的上傳參數,包括URL和表單參數;
使用httpplus.request函數執行HTTP POST請求,上傳視頻文件到阿里云OSS;
打印服務器返回的狀態碼、headers和body信息,以便調試和驗證上傳結果。
Air8101視頻錄制及上傳功能并不復雜,但實操過程中還請注意以下幾點:
確保SD卡已正確格式化為FAT32文件系統,且文件名不超過8個字節(如果需要支持長文件名,請參考相關文檔進行配置)。
根據實際情況調整Wi-Fi名稱、密碼、阿里云OSS的URL、AccessKeyId和Signature等參數。
錄制視頻時,請確保SD卡有足夠的剩余空間。
上傳視頻時,請確保網絡連接穩定,以避免上傳失敗。
最新開發資料詳見:www.air8101.cn
今天的內容就分享到這里了~