# xiaozi-vision-mcp **Repository Path**: lazy-ai/xiaozi-vision-mcp ## Basic Information - **Project Name**: xiaozi-vision-mcp - **Description**: No description available - **Primary Language**: Unknown - **License**: Not specified - **Default Branch**: main - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 0 - **Created**: 2025-07-16 - **Last Updated**: 2025-07-19 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # RTSP 视频流接收器 这个项目提供了一个用于接收和处理 RTSP 视频流的 Python 类。它使用 OpenCV 库来处理视频流,并提供了各种功能,如帧缓冲、重连机制、视频处理和录制等。 ## 功能特点 - 连接到 RTSP 视频流 - 自动重连机制 - 帧缓冲管理 - 视频帧处理(灰度转换、边缘检测、模糊效果等) - 视频录制 - 帧保存 - 实时显示视频信息(分辨率、FPS、帧计数等) - 支持回调函数进行自定义处理 ## 依赖项 - Python 3.6+ - OpenCV (cv2) - NumPy ## 安装 1. 确保已安装 Python 3.6 或更高版本 2. 安装所需的依赖项: ```bash pip install opencv-python numpy ``` ## 使用方法 ### 基本用法 ```python from rtsp_receiver import RTSPReceiver # 创建 RTSP 接收器实例 rtsp_url = "rtsp://username:password@ip_address:port/stream_path" receiver = RTSPReceiver(rtsp_url) # 连接并开始接收 if receiver.connect(): receiver.start() # 获取当前帧 frame = receiver.get_current_frame() # 处理完成后断开连接 receiver.disconnect() ``` ### 使用演示脚本 项目包含一个演示脚本 `demo.py`,展示了如何使用 RTSPReceiver 类的各种功能: ```bash python demo.py --url rtsp://username:password@ip_address:port/stream_path ``` #### 命令行参数 - `--url`: RTSP 流 URL(必需) - `--buffer`: 帧缓冲区大小(默认:10) - `--reconnect`: 重连尝试次数(默认:5) - `--delay`: 重连延迟(秒)(默认:2.0) - `--output`: 输出目录(默认:output) - `--record`: 是否录制视频(默认:否) #### 键盘控制 演示脚本支持以下键盘控制: - `Q`: 退出程序 - `S`: 保存当前帧 - `P`: 暂停/恢复视频流 - `R`: 开始/停止录制 - `1`: 切换到原始视频模式 - `2`: 切换到灰度效果模式 - `3`: 切换到边缘检测模式 - `4`: 切换到模糊效果模式 ## 自定义处理 您可以通过添加回调函数来实现自定义的帧处理: ```python def my_frame_processor(frame): # 在这里添加自定义处理逻辑 processed_frame = do_something(frame) return processed_frame # 添加回调函数 receiver.add_frame_callback(my_frame_processor) ``` ## 注意事项 - 确保提供正确的 RTSP URL,包括用户名、密码(如果需要) - 处理大分辨率视频流时可能需要较高的系统资源 - 网络连接不稳定可能导致视频流中断,但接收器会尝试自动重连 - 录制视频需要足够的磁盘空间 ## 示例 RTSP URL 格式 - 通用格式:`rtsp://username:password@ip_address:port/stream_path` - IP 摄像头:`rtsp://admin:admin123@192.168.1.100:554/stream1` - VLC 媒体播放器:`rtsp://192.168.1.100:8554/mystream` ## 许可证 此项目采用 MIT 许可证。