IP Camera
1/4/26About 3 min
IP Camera
使用 Android 手机作为本地摄像头进行监控。
项目概述
基于 BalioFVFX/IP-Camera 项目,将 Android 设备转换为 IP 摄像头。

系统架构

安装和设置
Ubuntu 服务器设置
克隆项目:
git clone https://github.com/BalioFVFX/IP-Camera.git cd IP-Camera安装依赖:
# 安装 Node.js (如果还没有) curl -fsSL https://deb.nodesource.com/setup_18.x | sudo -E bash - sudo apt-get install -y nodejs # 安装项目依赖 npm install启动视频服务器:
# 启动 VideoServer cd VideoServer node server.js默认情况下,视频服务器会启动 3 个服务器:
- WebSocket 服务器(端口 1234)
- MJPEG 服务器(端口 4444)
- 摄像头服务器(端口 4321)
Android 应用设置
下载并安装应用: 从 GitHub Releases 下载 Android APK
配置服务器 IP: 打开应用设置,输入 Ubuntu 服务器的 IP 地址,例如
192.168.0.101:4321开始流媒体: 打开流媒体界面,点击"开始流媒体"按钮
使用方法
启动直播流
您可以观看演示视频或按照以下步骤操作:
- 确保视频服务器正在运行(见上面的 Ubuntu 设置)
- 在 Android 手机上安装应用
- 在应用设置中配置摄像头服务器 IP(例如
192.168.0.101:4321) - 打开流媒体界面,点击"开始流媒体"按钮
- 现在手机将视频数据发送到摄像头服务器
观看视频流
视频流可以通过浏览器、Web 应用或 VLC 媒体播放器观看。
浏览器观看
打开浏览器,访问 MJPEG 服务器的 IP 地址,例如 http://192.168.0.101:4444

VLC 媒体播放器
打开 VLC 媒体播放器,文件 -> 打开网络 -> 网络,输入 MJPEG 服务器 IP 地址,例如 http://192.168.0.101:4444/

Web 应用
- 进入 WebApp 目录,在终端执行
webpack serve - 打开浏览器访问
http://localhost:8080/ - 进入设置,输入 WebSocket 服务器 IP 地址,例如
192.168.0.101:1234 - 访问流媒体页面
http://localhost:8080/stream.html,点击连接按钮

配置 Web 应用服务器(可选)
注意:此部分仅在需要从 Web 应用截图时需要。
- 打开 WebAppServer 项目
- 打开 index.js,编辑连接对象以匹配您的 MySQL 凭据
- 通过执行位于
user.sql中的 SQL 查询来创建所需的表 - 在根目录下执行
node index.js - 您可能需要更新 Web 应用连接的 IP。您可以在 Web 应用的
stream.html文件中编辑此 IP(BACKEND_URL常量变量) - 通过 Web 应用从
http://localhost:8080/register.html创建用户 - 从
http://localhost:8080/stream.html截图 - 在
http://localhost:8080/gallery.html查看截图

技术栈
- Android 应用:Kotlin + Camera2 API
- 视频服务器:Node.js
- Web 应用:JavaScript + WebSocket
- 流媒体格式:MJPEG、WebSocket
应用场景
- 植物生长监控
- 房间安全监控
- 宠物活动监控
- 临时安防摄像头
注意事项
- 所有通信都在本地网络进行,不会暴露到互联网
- 确保 Android 设备和 Ubuntu 服务器在同一 WiFi 网络
- 视频质量和帧率取决于网络条件和设备性能
- 推荐使用稳定的 WiFi 连接以获得最佳体验