3个版本
0.1.35 | 2023年9月3日 |
---|---|
0.1.34 | 2023年9月2日 |
0.1.33 | 2023年9月2日 |
#342 in 视频
24KB
392 行
RTSP和RTP协议的实现。目前每个协议的实现都非常简单,且具有非常窄的焦点。
以下命令仅实现了基本功能
- 选项
- 描述
- 设置
- 播放
- 拆除
此库最好与它的ONVIF发现姐妹库一起使用: https://github.com/gsuyemoto/onvif-cam-rs.
非常早期的开发,并且API更改可能会破坏。此库只测试过与亚马逊的单个IP摄像头一起使用 — 一款支持ONVIF的Topodome固定IP摄像头。
目前,此库仅支持使用[OpenH264 crate for Rust]进行软件解码H264: https://crates.io/crates/openh264。我一直在努力实现Libva以进行H264的硬件加速解码。甚至不确定它将支持哪些H264配置文件,除了基线配置文件,因为只测试了该配置文件。
请参阅使用示例。该示例使用我的[ONVIF库]: https://github.com/gsuyemoto/onvif-cam-rs 和 [Andrey Germanov的YoloV8代码使用ONNX]: https://github.com/AndreyGermanov/yolov8_onnx_rust 连接到IP摄像头。显然,我的示例是他的代码的非常简单的使用,因此任何性能问题肯定是由于我在IP摄像头中随意尝试的方式造成的。只是想看看是否能让它工作。即使帧率很低,YoloV8,一个最先进的目标识别算法在家庭IP摄像头上的运行也相当酷...
示例仅在Ubuntu 22机器上测试过。运行示例需要SDL2可用
sudo apt-get install libsdl2-dev
同样,酷的YoloV8示例归功于Andrey。我对他的代码进行了调整,以解析OpenH264将YUV转换为RGBA后的RGBA图像,并将其更新为使用最新的ORT crate。由于Andrey的许可,该示例是GPL 3.0。
依赖项
~10–16MB
~219K SLoC