摄像头相关记录

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 参数挂载数据卷

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

相关推荐
历程里程碑3 小时前
普通数组----合并区间
java·数据结构·python·算法·leetcode·职场和发展·tornado
weixin_395448913 小时前
mult_yolov5_post_copy.c_cursor_0205
c语言·python·yolo
执风挽^3 小时前
Python基础编程题2
开发语言·python·算法·visual studio code
纤纡.4 小时前
PyTorch 入门精讲:从框架选择到 MNIST 手写数字识别实战
人工智能·pytorch·python
kjkdd4 小时前
6.1 核心组件(Agent)
python·ai·语言模型·langchain·ai编程
小镇敲码人4 小时前
剖析CANN框架中Samples仓库:从示例到实战的AI开发指南
c++·人工智能·python·华为·acl·cann
萧鼎4 小时前
Python 包管理的“超音速”革命:全面上手 uv 工具链
开发语言·python·uv
alvin_20055 小时前
python之OpenGL应用(二)Hello Triangle
python·opengl
铁蛋AI编程实战5 小时前
通义千问 3.5 Turbo GGUF 量化版本地部署教程:4G 显存即可运行,数据永不泄露
java·人工智能·python
jiang_changsheng5 小时前
RTX 2080 Ti魔改22GB显卡的最优解ComfyUI教程
python·comfyui