1、视频监控
上次博主在 imx6ull 板子上做了韦东山老师的视频监控项目,并且写了两篇文章,如下:
手把手教你视频监控之 MJPG-Streamer 方案
视频监控之 ffmpeg nginx rtmp/httpflv
这次博主买了讯为 RK3399 板子,RK3399 比 imx6ull 强很多,因此博主趁着周末又花几小时操作了一遍,看看视频编解码能力 RK3399 有多强。
推流端
FFmpeg 使用 RTMP 协议向 Nginx 推流。
拉流端(二选一)
1、VLC 播放器使用 RTMP 或 HTTPFLV 协议从 Nginx 拉流。
2、浏览器使用 HTTPFLV 协议从 Nginx 拉流(需要安装flv.js)。
imx6ull 从 USB 摄像头采集数据,编码后放到 nginx 服务器,拉流端再拉流,需要 40 秒,RK3399只需要 8 秒,因此 RK3399 的视频编解码能力是 imx6ull 的五倍!
ffmpeg 从 mp4 文件获取视频流,推送到 nginx 服务器,或者 ffmpeg 访问 /dev/video5 节点,推送到 nginx 服务器。任何一个客户端访问 Nginx 地址来这里拉流,都会创建一个线程,都可以看到视频。
2、图像识别和目标检测
图像分类:http://mpvideo.qpic.cn/0bc3xaabeaaa7eahqli3f5rfbogdck4aaeqa.f10002.mp4?dis_k=36d09ec0c932ff68b380708c86ece82d&dis_t=1649406581&vid=wxv_2287935291804073991&format_id=10002&support_redirect=0&mmversion=false
跟踪目标检测:http://mpvideo.qpic.cn/0bc3ouabeaaaoeahyta3fvrfa5odcj2qaeqa.f10002.mp4?dis_k=2ed5d943ac1fca1586ae79e989994aad&dis_t=1649406581&vid=wxv_2287951457809317901&format_id=10002&support_redirect=0&mmversion=false
这是 TensorFlow 的轻型框架 TensorFlowLite,专门面向嵌入式。这是TensorFlowLite 在Android 系统的 demo app,源码开放,直接下载编译就可以用。
https://tensorflow.google.cn/lite/examples?hl=zh-cn
https://github.com/tensorflow/examples
这里有很多例程,大家在电脑安装 Android Studio,编译出 apk 即可安装到手机或者 Android 开发板,博主是安装到了跑 Android 系统的开发板。