句柄
方法
类型
方法参考
start() -> Result<WebcamStream>
启动 MJPEG 串流。幂等:在已有串流运行时调用它,它会带着 already_running: true 报告那个已有的串流,而不是再启动第二个。
stop() -> Result<bool>
停止串流。
返回: 本来就没有活动串流时返回 false。
status() -> Result<WebcamStatus> 和 url() -> Result<Option<String>>
是否有活动串流以及它在哪里,或者只要那个 URL。
snapshot() -> Result<Vec<u8>>
从运行中的串流抓取一帧 JPEG,并返回它的字节。请先启动串流:没有串流在运行时,Box 会拒绝抓帧。需要 Box 软件 0.47.0 或更高版本。
start_as(source: &str, started_by: Option<&str>) -> Result<WebcamStream>
与 start() 相同,并且 Box 会记录是哪个入口启动了串流,以及是谁启动的。status() 会在 source 和 started_by 中报告它们。
示例
在长时间测试运行期间记录实验台画面
受支持的硬件
说明
- 串流 URL 指向的是客户端访问到的那个 Box 地址。 在一个网络上取得的 URL 未必能在另一个网络上解析,因此不要把它跨环境保存下来。
- 要观看串流,请让一个 MJPEG 消费端(浏览器、VLC、OpenCV)去访问那个 URL。要在测试中保存一帧,请调用
snapshot()。 - 请务必在清理阶段调用
stop()。运行中的串流会一直占用摄像头。在同一个 Net 上再次启动会报告那个正在运行的串流;而使用同一台摄像头的另一个 Net 上的串流,在这一个停止之前会被拒绝。

