摄像头相关记录

1、视频流获取

RTSP视频流传输协议

ffmpeg视频流处理工具:获取(摄像头,网络,本地),处理 优势:支持多种传输协议, 会根据传输协议调整,更加方便的获取数据,负责搞定复杂的视频源,稳定的抓取图像。 视频2进制流的起始和结束标记分别为FFD8和FFD9

opencv视频流处理工具:方便对图像和视频进行分析(进一步操作)

第一步:下载FFmpeg(Windows版本)

  1. 打开FFmpeg官方下载页:https://ffmpeg.org/download.html
  2. 找到「Windows」板块,点击「Windows builds by BtbN」(这是最常用的Windows编译版本,不用自己编译);
  3. 跳转到GitHub页面后,下载最新的「ffmpeg-master-latest-win64-gpl.zip」(64位系统,zip压缩包,不用安装,解压就能用);
  4. 把下载的压缩包解压到你想存放的目录,比如 D:\Software\ffmpeg(路径里不要有中文/空格 ,避免后续出问题)。
    解压后你会看到目录里有 bin 文件夹,里面包含 ffmpeg.exe(核心程序)、ffplay.exe(测试播放)等文件,这就是FFmpeg的核心文件。

第二步:配置环境变量(让系统能找到ffmpeg命令)

  1. 右键点击「此电脑」→ 选择「属性」→ 点击右侧「高级系统设置」;
  2. 在弹出的「系统属性」窗口中,点击「环境变量」;
  3. 在「系统变量」列表里找到「Path」,双击它;
  4. 点击「新建」,把FFmpeg解压目录下的 bin 路径粘贴进去(比如 D:\Software\ffmpeg\bin);
  5. 点击「确定」保存所有窗口(一定要点到底,所有弹窗都确认)。

第三步:验证FFmpeg是否安装成功

  1. 关闭所有已打开的命令行/终端窗口(环境变量需要重启终端才生效);
  2. 重新打开「命令提示符」(CMD)或「PowerShell」;
  3. 输入命令:ffmpeg -version
    • 如果显示FFmpeg的版本信息(比如ffmpeg version 6.1...),说明安装+配置成功;
    • 如果还是报错,检查路径是否输错(比如少写了\bin),或重启电脑再试。
bash 复制代码
# 替换 用户名/密码 为你摄像头的实际账号密码
ffmpeg -rtsp_transport tcp -i rtsp://admin:123456@ip:554/stream1 -vframes 1 -f image2 test.jpg
ffplay -rtsp_transport tcp rtsp://admin:123456@ip:554/stream1

如果能正常播放画面,说明流完全没问题;如果画面卡顿/黑屏,就是流本身不稳定。

补充:确认摄像头 RTSP 流路径

如果改了密码还是不行,大概率是 RTSP 流路径不对(不同品牌路径格式不同),给你几个常用格式参考:

海康威视:rtsp://admin:密码@ip地址:554/Streaming/Channels/101

大华:rtsp://admin:密码@ip地址:554/cam/realmonitor?channel=1&subtype=0

通用:rtsp://admin:密码@ip地址:554/0 / rtsp://admin:密码@ip地址:554/1/1

python 复制代码
import cv2

# 原地址(无密码):rtsp://ip地址:554/stream1
# 修改后(带密码):rtsp://admin:123456@ip地址.4:554/stream1
cap = cv2.VideoCapture("rtsp://admin:123456@ip地址:554/stream1")

# 测试读取帧
ret, frame = cap.read()
if ret:
    print("成功读取帧!")
    cv2.imwrite("test_code.jpg", frame)
else:
    print("读取帧失败(仍有问题)")
cap.release()

2、docker采用桥接模式可能导致视频传输时网络丢包

将主机的代码目录挂载到Docker容器中

在 Docker 环境下配置挂载点

使用 -v 或 --mount 参数挂载数据卷

如果是类似这种情况,可能存在网络问题导致数据丢包

相关推荐
敏编程4 小时前
一天一个Python库:jsonschema - JSON 数据验证利器
python
前端付豪4 小时前
LangChain记忆:通过Memory记住上次的对话细节
人工智能·python·langchain
databook4 小时前
ManimCE v0.20.1 发布:LaTeX 渲染修复与动画稳定性提升
python·动效
花酒锄作田17 小时前
使用 pkgutil 实现动态插件系统
python
前端付豪21 小时前
LangChain链 写一篇完美推文?用SequencialChain链接不同的组件
人工智能·python·langchain
曲幽21 小时前
FastAPI实战:打造本地文生图接口,ollama+diffusers让AI绘画更听话
python·fastapi·web·cors·diffusers·lcm·ollama·dreamshaper8·txt2img
老赵全栈实战1 天前
Pydantic配置管理最佳实践(一)
python
阿尔的代码屋1 天前
[大模型实战 07] 基于 LlamaIndex ReAct 框架手搓全自动博客监控 Agent
人工智能·python
AI探索者2 天前
LangGraph StateGraph 实战:状态机聊天机器人构建指南
python
AI探索者2 天前
LangGraph 入门:构建带记忆功能的天气查询 Agent
python