基于dlib/face recognition人脸识别推拉流实现

ops/2025/2/2 9:42:39/

目录

一.环境搭建

二.推拉流代码

三.人脸检测推拉流


 

一.环境搭建

1.下载RTSP服务器MediaMTX与FFmpeg

FFmpeg是一款功能强大的开源多媒体处理工具,而MediaMTX则是一个轻量级的流媒体服务器。两者结合,可以实现将本地视频或者实时摄像头画面推送到RTSP流,从而实现视频直播、监控等功能。

  • FFmpeg: 负责将本地视频或实时摄像头画面编码成RTSP流所需要的格式,并发送给MediaMTX服务器。
  • MediaMTX: 作为RTSP服务器,接收FFmpeg推送的流,并提供RTSP服务,使得其他设备可以通过RTSP协议访问该流。

应用场景

  • 视频监控: 将摄像头画面实时推送到RTSP服务器,实现远程监控。
  • 视频直播: 将本地视频文件或摄像头画面推送到直播平台。
  • 音视频会议: 将本地音频和视频数据推送到会议服务器。
  • 智能家居: 将智能设备的视频画面推送到手机APP。

可参考FFMEPG推流视频及VLC拉流视频教程_ffmpeg推流-CSDN博客


 

二.推拉流代码

1.将本地视频文件通过 FFmpeg 推流到 RTSP 服务器

在运行此脚本之前,需要先启动 RTSP 服务器(如 mediamtx.exe)。mediamtx.exe 是一个轻量级的 RTSP 服务器,用于接收和转发 RTSP 流。推流结果可打开VLC播放器进行查看。

确保 mediamtx.exe 已正确配置,并且正在监听指定的端口(如 8554)。

#❗推流成功 先启动mediamtx.exe,然后运行此脚本import subprocessdef stream_video_to_rtsp(video_path, rtsp_url):"""使用 FFmpeg 将本地视频文件循环推流到 RTSP 服务器。参数:video_path (str): 本地视频文件的路径。rtsp_url (str): RTSP 推流地址。"""# 构建 FFmpeg 命令ffmpeg_path = r"D:\推拉流\ffmpeg\ffmpeg.exe"command = [ffmpeg_path,"-re",  # 以文件的实际帧率读取文件"-stream_loop", "-1",  # 循环播放视频"-i", video_path,  # 输入视频文件"-c", "copy",  # 使用原始编码"-f", "rtsp",  # 输出格式为 RTSPrtsp_url  # RTSP 推流地址]# 启动 FFmpeg 进程

http://www.ppmy.cn/ops/155000.html

相关文章

基于RFID的门禁系统的设计(论文+源码)

1系统方案设计 通过需求分析,基于RFID的门禁系统总体设计框图。系统采用STM32单片机作为系统主控核心,利用独立按键与RFID识别模块能够实现门禁系统密码与IC卡开门功能。WiFi模块实现系统与手机APP的通信,用户可以通过手机APP进行门禁开关操作…

Memcached数据库简单学习与使用

Memcached 是一款高性能的分布式内存缓存系统,通常用于加速动态Web应用程序,通过减少数据库的负载来提升性能。Memcached的基本原理很简单:它通过将数据存储在内存中,减少数据库的访问频率,从而提高应用程序的响应速度…

FreeRTOS学习 --- 任务调度

开启任务调度器 作用:用于启动任务调度器,任务调度器启动后, FreeRTOS 便会开始进行任务调度 该函数内部实现,如下: 1、创建空闲任务(优先级最低) 2、如果使能软件定时器,则创建定…

Java中对消息序列化和反序列化并且加入到Spring消息容器中

--- 参考项目:苍穹外卖。 在对没有Java中的数据序列化时,比如说时间格式: 时间的格式是这种没有格式化的效果,因为在给前端返回数据时,返回的结果并没有序列化。 所以,需要对返回的数据序列化。 首先需…

MySQL UNION 操作详解

MySQL UNION 操作详解 引言 在数据库操作中,UNION 是一个非常重要的概念,它允许我们在一个查询中合并多个 SELECT 语句的结果集。UNION 操作通常用于将来自不同表的数据合并在一起,或者将同一表中的数据按照不同的条件进行合并。本文将详细介绍 MySQL 中的 UNION 操作,包…

【PyTorch】5.张量索引操作

目录 1. 简单行、列索引 2. 列表索引 3. 范围索引 4. 布尔索引 5. 多维索引 个人主页:Icomi 在深度学习蓬勃发展的当下,PyTorch 是不可或缺的工具。它作为强大的深度学习框架,为构建和训练神经网络提供了高效且灵活的平台。神经网络作为…

python:洛伦兹变换

洛伦兹变换(Lorentz transformations)是相对论中的一个重要概念,特别是在讨论时空的变换时非常重要。在四维时空的背景下,洛伦兹变换描述了在不同惯性参考系之间如何变换时间和空间坐标。在狭义相对论中,洛伦兹变换通常…

FFmpeg rtmp推流直播

文章目录 rtmp协议RTMP协议组成RTMP的握手过程RTMP流的创建RTMP消息格式Chunking(Message 分块) rtmp服务器搭建Nginx服务器配置Nginx服务器 librtmp库编译推流 rtmp协议 RTMP(Real Time Messaging Protocol)是由Adobe公司基于Flash Player播放器对应的…