香橙派 AIpro快速上手,视频推流应用初步评估

0. 资料获取:

官网链接: 

Orange Pi AIpro Orange Pi官网-香橙派(Orange Pi)开发板,开源硬件,开源软件,开源芯片,电脑键盘

 

 昇腾社区

昇腾社区官网-昇腾万里 让智能无所不及

香橙派论坛社区:

 欢迎您

能看出品牌方为推广花了不少心思。 

 1. 拆箱及硬件外观

看起来“乱糟糟”的测试环境: 

 

2. 建立调试环境

linux的应用开发环境,除了桌面端外, 远程链接才是主流开发模式,把常用连接方式都湿了一遍。 

1)ssh内网直连

出厂镜像已经预装开启了ssh,只要网络能连接就可以正常通过ssh进行接入。 

为了方便,在桌面通过ifconfig查看IP地址, 然后ssh连接:

2)串口调试接入

按手册用microusb线连接上位机,在ubuntu上位机查看串口资源。 

安装串口工具: 

sudo apt-get install screen

配置连接: 

sudo screen /dev/ttyS0 115200

打开权限

sudo chmod 777 /dev/ACM0

建立连接

sudo screen /dev/ttyACM0 115200

 顺利建立连接。

3)frp内网穿透接入,方便远程接入

服务器端指定端口6103, 运行frps服务

orangePi本地解压frp安装包,注意是arm64版本,配置服务端6104映射到本地22端口 ,运行frpc

 

 任意外网端口可以访问orangePi了:

至此, 可以通过外网愉快的访问了。 

安装其他环境备注: 

1)python和opencv库安装成功,vscode安装成功

2)远程桌面temviewer的arm64未能安装成功

3. 推流应用测试

1)摄像头测试

最简便的方法可以用ffplay测试摄像头。 

插入USB摄像头, 查看设备,可以正常识别: 

2)测试FFMPEG/FFPLAY 环境

经测试, 原厂镜像已安装FFMPEG/FFPLAY, 可正常使用(原以为要编译安装),版本为4.4.2,是比较新的版本了,不用自己折腾了。 

 ffmpeg

 ffplay

 直接用ffplay可以正常打开摄像头,获取视频,帧率跑到15帧: 

 3)测试opencv获取图像

python opencv 摄像头测试代码:

import cv2


 
def get_camera_frame():
    cap = cv2.VideoCapture(1)
    
    while True:
        ret, frame = cap.read()
        
        if ret:
            cv2.imshow("Camera Frame", frame)
        
        if cv2.waitKey(1) == 27:
            break
    
    cv2.destroyAllWindows()
    cap.release()

get_camera_frame()

顺利获取摄像头图像:

4)mjpeg-streamer推流测试

拉取代码: 

git clone https://github.com/jacksonliam/mjpg-streamer

安装依赖: 

sudo apt install libjipeg8-dev 

进入目录,编译: 

 

 启动服务: 

 打开网页访问: 

流畅度还可以。  

5)livego推流ffplay拉流测试,测试延时

在本地服务器构建livego服务器,参见另一篇博客: 

livego搭建推流服务器_livego 推流-CSDN博客 

 运行livego服务器后,本地用ffplay拉流播放

延时大约300ms,还有很大的优化空间。

其他应用就根据项目实际开发应用来拓展了,FFMPEG基础库能用,很多推流和远程监控类应用都可以移植或扩展开发。 

opencv能用,就可以拓展基于python的AI应用,还是很方便的。 

后续重点是移植NPU应用,跑通模型。  

最近更新

  1. TCP协议是安全的吗?

    2024-06-06 20:52:07       19 阅读
  2. 阿里云服务器执行yum,一直下载docker-ce-stable失败

    2024-06-06 20:52:07       19 阅读
  3. 【Python教程】压缩PDF文件大小

    2024-06-06 20:52:07       20 阅读
  4. 通过文章id递归查询所有评论(xml)

    2024-06-06 20:52:07       20 阅读

热门阅读

  1. python字典包连接mysql

    2024-06-06 20:52:07       9 阅读
  2. 从list的模拟实现中了解迭代器的设计方式

    2024-06-06 20:52:07       16 阅读
  3. PHP面向对象编程总结

    2024-06-06 20:52:07       8 阅读
  4. 【ES】docker安装ES7.14.0+es-head

    2024-06-06 20:52:07       10 阅读
  5. 22data-脚本 6.18-6.21

    2024-06-06 20:52:07       10 阅读
  6. 分享一款提取抖音小店商家电话的软件使用教程

    2024-06-06 20:52:07       18 阅读
  7. Elasticsearch REST API 初探:索引与搜索文档的奥秘

    2024-06-06 20:52:07       10 阅读
  8. C++ Primer Chapter 7 Classes

    2024-06-06 20:52:07       11 阅读
  9. c++序列化和反序列化简单demo

    2024-06-06 20:52:07       8 阅读
  10. 我的名字叫大数据:第5章 我如何思考?

    2024-06-06 20:52:07       8 阅读
  11. 代码随想三刷数组篇

    2024-06-06 20:52:07       11 阅读