SSM架构 +Nginx+FFmpeg实现rtsp流转hls流,在前端html上实现视频播放

序言:

本文介绍通过SSM架构 +Nginx+FFmpeg实现rtsp流转hls流,在前端html上实现视频播放功能。此方法可用于网络摄像头RTSP视频流WEB端实时播放。(海康和大华都可以),我使用的是海康

步骤一:安装软件 FFmpeg(windows)

1.下载并解压: FFmpeg文件夹
2.配置环境变量: 在“Path”变量原有变量值内容上加上d:\ffmpeg\bin
3.验证: ffmpeg -version 出现版本号则成功。

步骤二:安装软件 Nginx(windows)

1.下载并解压: nginx文件夹
2.Nginx配置: 修改配置文件:nginx/conf/nginx.conf


 location /hls {
			
			
			root html;
			
			index    index.html index.htm index2.html;
			
			# 允许跨域请求
			add_header Access-Control-Allow-Origin *;
        }
		


在这里插入图片描述

3.验证: 配置完之后,启动nginx服务。http://localhost:80/

在这里插入图片描述

RTSP地址获取流程

例如:rtsp://admin:bfm100866@192.168.1.64:554/streaming/channels/101

一、RTSP地址基本格式

海康摄像头的RTSP地址通常遵循以下基本格式:


rtsp://[username]:[password]@[ip]:[port]/[path]


-username:摄像头的用户名,默认为“admin”。

-password:摄像头的密码,需根据设备实际设置而定。

-ip:摄像头的IP地址。

-port:RTSP端口号,默认为554,若未修改则可不写。

-path:流媒体的访问路径,根据摄像头的型号和配置不同而有所区别。


二、RTSP地址获取步骤

1.登录摄像头管理系统

首先,通过浏览器登录摄像头的Web管理系统,通常使用摄像头的默认IP地址(如192.168.1.64)和默认用户名密码(admin/admin或admin/12345)进行登录。

2.查看网络配置

在摄像头管理系统中,找到网络配置部分,查看并记录摄像头的IP地址、端口号等信息。

3.确定RTSP路径

RTSP路径可能因摄像头型号和固件版本而异,一般有以下几种格式:

-新格式:rtsp://[username]:[password]@[ip]:[port]/streaming/channels/

-例如,取主码流:rtsp://admin:123456@192.168.1.64:554/streaming/channels/101

-参数``中,通道1的主码流为“101”,子码流为“102”。

-老格式:rtsp://[username]:[password]@[ip]:[port]/[videotype]/ch/[streamtype]/av_stream

-例如,主码流取流:rtsp://admin:12345@192.168.0.1:554/h264/ch1/main/av_stream

-参数中,videotype为视频编码类型(如h264、mpeg4),streamtype为码流类型(主码流为main,子码流为sub)。

4.测试RTSP地址

使用支持RTSP的播放器(如VLCMediaPlayer)输入RTSP地址进行测试,确认视频流是否能够正常获取和播放。

VLC安装包链接:VLC安装包https://download.csdn.net/download/qq_39951524/90465347

FFmpeg命令行转流(rtsp 转 hls流)


ffmpeg -fflags +genpts
 -i "rtsp://admin:bfm100866@192.168.1.64:554/streaming/channels/101" 
 -c copy 
 -f hls 
 -hls_time 10 
 -hls_list_size 10 
  D:/nginx/html/hls/test.m3u8

命令解释


-fflags +genpts: 这个选项告诉 FFmpeg 在处理输入文件时生成 PTS。这对于某些编码的视频文件(特别是那些 PTS/DTS 不完全正确或缺失的)非常有用。它可以确保 PTS 被正确生成,这对于 HLS 流的正确播放很重要。

-i "rtsp:sdd.mp4": 指定输入文件,这里是 rtsp视频流。

-c copy: 使用复制流的方式来编码视频和音频,这意味着不对数据进行重新编码,只是简单地复制数据。这可以减少处理时间和提高效率,但前提是输入和输出容器及编解码器必须兼容。

-f hls: 指定输出格式为 HLS-hls_time 2.0: 设置每个 HLS 分片的时长为 2 秒。

-hls_list_size 1: 指定播放列表中最多包含一个分片。这对于事件驱动的直播非常有用,因为你可以在事件发生时快速更新播放列表。

output/: 指定输出目录,所有生成的 HLS 文件和播放列表将被放置在此目录中。


HTML通过html播放

使用 DH-HlsFlv-PlayerDemoV1.1.3 程序包中的界面
注意:(用video.js打不开hls流视频 )本人找了很久才找到可以播放hls的网页

在这里插入图片描述
在页面中把hls地址输入到里边(http://服务器IP:80/hls/test.m3u8)
在这里插入图片描述
就可以展示出监控视频的界面了

如果想把内容集合到SSM架构中

可以查看下一篇文章:链接:SSM架构 +java后台 实现rtsp流转hls流,在前端html上实现视频播放

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:/a/983841.html

如若内容造成侵权/违法违规/事实不符,请联系我们进行投诉反馈qq邮箱809451989@qq.com,一经查实,立即删除!

相关文章

Hadoop管理页看不到任务的问题

这个yarn分配任务了但是为空 在$HADOOP_HOME/conf/mapred-site.xml 原来的配置文件基础之上添加&#xff1a; <property><name>mapreduce.framework.name</name><value>yarn</value></property> 重启之后就好了

腾讯云TBDS获金融信创实验室全项适配认证 打造国产化大数据平台标杆

点击蓝字⬆ 关注我们 本文共计1605字 预计阅读时长5分钟 近日&#xff0c;腾讯云大数据套件软件TBDS V5.3、数据仓库TCHouse V3.0通过金融信创生态实验室&#xff08;以下简称“实验室”&#xff09;的适配验证。 本测试基于典型金融业务场景&#xff0c;在全信创环境下&#x…

人工智能神经网络基本原理

MP 神经元数学模型 MP 模型是神经网络领域的早期模型&#xff0c;它模仿了神经元的基本结构和工作原理。 人工神经元是一个多输入、单输出的信息处理单元&#xff0c;是对生物神经元的建模。建模方式可以有很多种&#xff0c;不同的建模方式就意味着不同的人工神经元结构。 比…

WSL + 4050 部署 Deepseek-7B 蒸馏模型

操作环境&#xff1a;WSL - Oracle Linux RTX 4050 Laptop edition 渣渣笔记本实在是跑不了更大模型了&#x1f602; 整体架构 WSL 配置显卡加速环境 总体流程 安装教程&#xff1a;https://zhuanlan.zhihu.com/p/681092042 总体流程&#xff1a; 优化 WSL 系统配置&#x…

C++入门——输入输出、缺省参数

C入门——输入输出、缺省参数 一、C标准库——命名空间 std C标准库std是一个命名空间&#xff0c;全称为"standard"&#xff0c;其中包括标准模板库&#xff08;STL&#xff09;&#xff0c;输入输出系统&#xff0c;文件系统库&#xff0c;智能指针与内存管理&am…

简单的二元语言模型bigram实现

内容总结归纳自视频&#xff1a;【珍藏】从头开始用代码构建GPT - 大神Andrej Karpathy 的“神经网络从Zero到Hero 系列”之七_哔哩哔哩_bilibili 项目&#xff1a;https://github.com/karpathy/ng-video-lecture Bigram模型是基于当前Token预测下一个Token的模型。例如&#x…

用Deepseek写一个五子棋微信小程序

在当今快节奏的生活中&#xff0c;休闲小游戏成为了许多人放松心情的好选择。五子棋作为一款经典的策略游戏&#xff0c;不仅规则简单&#xff0c;还能锻炼思维。最近&#xff0c;我借助 DeepSeek 的帮助&#xff0c;开发了一款五子棋微信小程序。在这篇文章中&#xff0c;我将…

【Raspberry Pi 5 测评】无显示器上手指南

【Raspberry Pi 5 测评】无显示器上手指南 一、硬件开箱二、系统安装2.1 安装 Raspberry Pi Imager2.2 安装 Rasberry Pi OS 三、系统登录3.1 ping测试3.2 SSH登录 四、远程桌面4.1 启用VNC服务4.2 使用VNC客户端 五、软件安装5.1 替换软件源5.2 安装常用软件 六、参考链接 摘要…

图像标注与OCR工具分析

图像标注和OCR&#xff08;光学字符识别&#xff09;工具的代码进行详细分析。该工具允许用户在图像上进行矩形标注&#xff0c;使用 OCR 对标注区域进行文本识别&#xff0c;并将结果保存为 Excel 文件。同时&#xff0c;用户可以保存和加载标注&#xff0c;清除标注&#xff…

使用Node.js从零搭建DeepSeek本地部署(Express框架、Ollama)

目录 1.安装Node.js和npm2.初始化项目3.安装Ollama4.下载DeepSeek模型5.创建Node.js服务器6.运行服务器7.Web UI对话-Chrome插件-Page Assist 1.安装Node.js和npm 首先确保我们机器上已经安装了Node.js和npm。如果未安装&#xff0c;可以通过以下链接下载并安装适合我们操作系…

基于粒子群算法的配电网重构

一、配电网重构原理 定义&#xff1a; 配电网重构是指在满足运行约束的前提下&#xff0c;通过改变开关状态优化配电网性能&#xff0c;提高系统的经济效益和运行效率。 拓扑约束&#xff1a; 配电网必须保持径向拓扑&#xff0c;避免环网或孤岛。采用算法控制开关状态的选择&…

下载Hugging Face模型的几种方式

1.网页下载 直接访问Hugging Face模型页面&#xff0c;点击“File and versions”选项卡&#xff0c;选择所需的文件进行下载。 2.使用huggingface-cli 首先&#xff0c;安装huggingface_hub: pip install huggingface_hub 然后&#xff0c;使用以下命令下载模型&#xff1…

【Dubbo+Zookeeper】——SpringBoot+Dubbo+Zookeeper知识整合

&#x1f3bc;个人主页&#xff1a;【Y小夜】 &#x1f60e;作者简介&#xff1a;一位双非学校的大二学生&#xff0c;编程爱好者&#xff0c; 专注于基础和实战分享&#xff0c;欢迎私信咨询&#xff01; &#x1f386;入门专栏&#xff1a;&#x1f387;【MySQL&#xff0…

DeepSeek R1 学习笔记

DeepSeek为了方便大众的使用&#xff0c;同时提供了6个蒸馏版本 DeekSeek使用方式 1.大众方式&#xff1a; 网页版&#xff1a;DeepSeek App版&#xff1a;手机各大应用商店下载安装DeepSeek-AI智能对话助手 2.专业用户 开发者&#xff1a;调用API DeepSeek服务器 网址&a…

《从零构建企业级容器镜像生态:Harbor与Registry双星架构实战手记》

目录 一、企业级镜像中枢&#xff1a;Harbor架构深度解析 1.Harbor介绍 环境准备 2. Harbor战略部署 下载安装Harbor 关键配置文件 报错一 添加本地解析 登录测试Harbor 报错二 登录成功 测试 成功显示 二、轻量化镜像驿站&#xff1a;Registry闪电战部署 简单介…

FPGA之USB通信实战:基于FX2芯片的Slave FIFO回环测试详解

FPGA之Usb数据传输 Usb 通信 你也许会有疑问&#xff0c;明明有这么多通信方式和数据传输&#xff08;SPI、I2C、UART、以太网&#xff09;为什么偏偏使用USB呢? 原因有很多&#xff0c;如下&#xff1a; 1. 高速数据传输能力 高带宽&#xff1a;USB接口提供了较高的数据传…

mysql中in和exists的区别?

大家好&#xff0c;我是锋哥。今天分享关于【mysql中in和exists的区别?】面试题。希望对大家有帮助&#xff1b; mysql中in和exists的区别? 1000道 互联网大厂Java工程师 精选面试题-Java资源分享网 在 MySQL 中&#xff0c;IN 和 EXISTS 都用于进行子查询&#xff0c;但它…

Unity摄像机跟随物体

功能描述 实现摄像机跟随物体&#xff0c;并使物体始终保持在画面中心位置。 实现步骤 创建脚本&#xff1a;在Unity中创建一个新的C#脚本&#xff0c;命名为CameraFollow。 代码如下&#xff1a; using UnityEngine;public class CameraFollow : MonoBehaviour {public Tran…

springcloud sentinel教程

‌QPS&#xff08;Queries Per Second&#xff09;即每秒查询率 TPS&#xff0c;每秒处理的事务数目 PV&#xff08;page view&#xff09;即页面浏览量 UV 访问数&#xff08;Unique Visitor&#xff09;指独立访客访问数 一、初识Sentinel 什么是雪崩问题? 微服务之间相…

【Tools】Windows下Git 2.48安装教程详解

00. 目录 文章目录 00. 目录01. Git简介02. Git参考资料03. Git安装04. Git测试05. 附录 01. Git简介 Git(读音为/gɪt/。)是一个开源的分布式版本控制系统&#xff0c;可以有效、高速的处理从很小到非常大的项目版本管理。 [1] Git 是 Linus Torvalds 为了帮助管理 Linux 内核…