1. 产品概述

PiscCamera 是一款专为机器视觉工作流设计的Android应用,作为PiscTrace和PiscCode的官方配套数据采集终端。它能够将安卓设备摄像头转换为标准的网络视频流源,通过HTTP协议在局域网内发布实时MJPEG视频流。

1.1 核心特性

  • 设备兼容:支持 Android 6.0 (Marshmallow) 及以上版本设备

  • 双摄像头:支持前后摄像头动态切换

  • 标准协议:基于HTTP协议的MJPEG流媒体

  • 多客户端:支持多个终端同时访问视频流

  • 即插即用:自动网络发现和端口分配

2. 技术规格

2.1 硬件要求

项目 规格要求
操作系统 Android 6.0+
摄像头 前置和/或后置摄像头
网络 Wi-Fi局域网连接
处理器 无特殊要求

2.2 流媒体参数

参数 数值/说明
传输协议 HTTP
视频编码 MJPEG (JPEG帧序列)
帧率 约33fps (30ms间隔)
启动端口 8080 (自动递增查找可用端口)
访问路径 /video
内容类型 multipart/x-mixed-replace

3. 系统架构

3.1 组件架构

text

CameraX → ImageAnalysis → JPEG编码 → HTTP Server → 客户端分发
     ↓          ↓             ↓           ↓
  预览视图   图像采集     格式转换    流媒体服务

3.2 网络架构

text

PiscCamera (Android设备)
        ↓ (HTTP MJPEG流)
   局域网路由器
        ↓ (拉流访问)
PiscTrace/PiscCode/浏览器/FFmpeg

4. 功能详述

4.1 相机控制功能

  • 摄像头切换:支持前后置摄像头实时切换

  • 线性缩放:0-100%数字变焦控制

  • 实时预览:设备本地实时画面预览

  • 双击重置:双击复位缩放比例

4.2 流媒体服务

  • 自动端口检测:从8080端口开始自动寻找可用端口

  • IP地址发现:自动获取设备在局域网中的IP地址

  • 多路并发:支持多个客户端同时连接

  • 帧率控制:精确的帧间隔控制(30ms)

4.3 用户交互

  • 状态指示:推流状态可视化(绿色:活跃,红色:停止)

  • 链接复制:长按链接文本一键复制流地址

  • 权限管理:动态摄像头权限申请和处理

5. 与PiscTrace/PiscCode集成

5.1 集成方式

PiscCamera生成的视频流可直接作为PiscTrace的视频输入源:

  1. 在文件地址中添加网络流

    • 输入PiscCamera显示的完整URL地址

    • 保存配置并启动处理流水线

  2. 支持的处理功能

    • 实时目标检测(YOLO集成)

    • 实例分割和姿态估计

    • 物体轨迹追踪

    • 自定义视觉算法处理

6. 访问方式

6.1 浏览器访问

直接在浏览器地址栏输入PiscCamera显示的URL:

http://[设备IP]:[端口]/video

支持Chrome、Firefox、Safari等主流浏览器。

6.2 FFmpeg访问

bash

ffmpeg -i "http://192.168.1.100:8080/video" -c copy output.mp4

6.3 编程访问

支持任何支持HTTP流媒体的编程语言和框架:

  • Python: OpenCV, requests

  • C++: OpenCV, libcurl

  • Java: JavaCV, OkHttp

  • JavaScript: fetch API, WebRTC

7. 部署流程

  1. 安装应用:在Android设备上安装PiscCamera APK

  2. 网络连接:确保设备与处理终端在同一局域网

  3. 启动服务:点击推流按钮启动HTTP服务器

  4. 获取地址:复制显示的URL地址

  5. 终端配置:在PiscTrace/PiscCode中配置视频流地址

8. 应用场景

8.1 机器视觉开发

  • 快速原型验证:为算法开发提供灵活的视频源

  • 多角度检测:部署多个设备实现立体视觉

  • 移动端方案:利用手机摄像头的便捷性

8.2 工业应用

  • 产线监控:临时或永久部署的质量检测点位

  • 远程诊断:专家通过流媒体远程分析设备状态

  • 过程记录:生产过程的视频记录和分析

8.3 教育与研究

  • 实验数据采集:科研实验的实时视频记录

  • 教学演示:课堂上的实时视觉算法演示

  • 项目开发:学生项目的低成本视觉方案

9. 性能特点

9.1 资源优化

  • 内存效率:使用STRATEGY_KEEP_ONLY_LATEST策略避免内存堆积

  • CPU负载:合理的帧率控制和图像压缩平衡

  • 网络带宽:MJPEG格式在画质和带宽间的良好平衡

9.2 稳定性保障

  • 异常处理:完善的网络异常和相机异常处理机制

  • 资源释放:正确的生命周期管理和资源清理

  • 连接恢复:客户端断开后的自动恢复能力

10. 故障排除

10.1 常见问题

  1. 无法连接

    • 检查设备IP地址是否正确

    • 确认客户端与Android设备在同一网络

    • 验证防火墙设置

  2. 视频卡顿

    • 检查网络带宽和信号强度

    • 降低帧率或分辨率设置

    • 减少并发连接数

  3. 相机无法启动

    • 确认摄像头权限已授权

    • 检查其他应用是否占用摄像头

    • 重启应用或设备

总结

PiscCamera通过标准化的HTTP-MJPEG协议,为PiscTrace和PiscCode提供了灵活、便捷的视频采集解决方案。其开放的协议支持和简单的集成方式,使得开发者可以快速构建基于移动设备的机器视觉应用,极大地扩展了Pisc生态系统的应用场景和灵活性。

对 PiscTrace or PiscCode感兴趣?更多精彩内容请移步官网看看~🔗 PiscTrace

Logo

汇聚全球AI编程工具,助力开发者即刻编程。

更多推荐