浏览器播放rtsp视频流方案(ffmpeg + nginx转m3u8)

1.下载ffmpeg ,传送门:https://ffmpeg.en.softonic.com/

2.配置环境变量

右击我的电脑---->点击属性,打开左侧高级系统设置

点击下方的环境变量

在下方系统变量中找到path变量,选中点击下方编辑,别点成删除!!!我已经删过两次了

新建一个变量

找到这个路径,我是解压到了C盘,在路径栏复制下来,填到新建的环境变量里,点击确定就行

3.安装nginx,传送门:http://nginx.org/en/download.html

解压之后,打开nginx的文件夹,打开conf文件夹,用编译器打开nginx.conf文件,在http模块更改默认端口(保证这个端口不被占用就行)

然后添加以下代码

 # ffmpeg生成hls流的http访问配置location /hls {#若nginx\conf\mime.types中没有配置如下type,请加上,或直接在mime.types加types{application/vnd.apple.mpegurl m3u8;video/mp2t ts;}root html;add_header Cache-Control no-cache;add_header Access-Control-Allow-Origin *;}

4.打开nginx中的html文件,创建hls文件夹

5.在nginx主文件夹中得到地址栏里输入cmd然后回车,打开cmd,输入命令start nginx并回车

这个时候,在浏览器里输入localhost:+nginx,conf文件中http模块设置的默认端口号,我这里是localhost:8080,能打开,就代表nginx启动成功了

6.再打开一个cmd,输入命令:

ffmpeg -rtsp_transport tcp -i "rtsp://admin:avaiden88@cnqcaegcctv.ddns.net:9990/cam/realmonitor?channel=1&subtype=1" -fflags flush_packets -max_delay 1 -an -flags -global_header -hls_time 1 -hls_list_size 3  -vcodec copy -s 216x384 -b 1024k -y  D:/nginx/nginx/html/hls/test.m3u8

ffmpeg -rtsp_transport tcp -i "rtsp://admin:avaiden88@cnqcaegcctv.ddns.net:9990/cam/realmonitor?channel=1&subtype=1" -fflags flush_packets -max_delay 1 -an -flags -global_header -hls_time 1 -hls_list_size 3  -vcodec copy -s 216x384 -b 1024k -y  D:/nginx/nginx/html/hls/test.m3u8

ffmpeg -rtsp_transport tcp -i "这里是你的rtsp地址" -fflags flush_packets -max_delay 1 -an -flags -global_header -hls_time 1 -hls_list_size 3  -vcodec copy -s 216x384 -b 1024k -y  这里是nginx文件夹html文件创建的hls文件的路径 + test.m3u8(输出出来的地址就叫这个名字,这个名字可以随意设置)

然后回车,等一会,如果cmd咋子跑,就代表转码成功,这个时候打开vlc播放器进行测试

输入http://localhost:8080/hls/test.m3u8(这里的localhost可以写成自己的ip地址)

如果能播放,就代表成功了!

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

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

浏览器播放rtsp视频流方案(ffmpeg + nginx转rtmp)

之前已经更新vlc和m3u8的方案了,这个是最后一个方案,同时,转rtmp的方案也是我在用的 1.下载ffmpeg ,传送门:https://ffmpeg.en.softonic.com/ 2.配置环境变量 右击我的电脑---->点击属性,打开左侧高级…

uniapp+typeScript+vue3.0+vite

最近公司需要开发新版小程序,思考了一下,决定还是用最新的技术进行开发,同时也能锻炼到自己,废话不多说,开搞: 一.首先打开uniapp的官网:uni-app官网 //环境安装 //全局安装vue-cli npm instal…

纪中七日游——总结篇 DAY1AB

DAY 1 B 组 T1 游戏 Description Alice和Bob在玩一个游戏,游戏是在一个N*N的矩阵上进行的,每个格子上都有一个正整数。 当轮到Alice/Bob时,他/她可以选择最后一列或最后一行,并将其删除, 但必须保证选择的这一行或这一…

系列十一(实战)、发送 接收带标签的消息(Java操作RocketMQ)

一、发送 & 接收带标签的消息 1.1、概述 消息的种类纷繁复杂,不同的业务场景需要不同的消息,基于此RocketMQ提供了消息过滤功能,通过Tag或者Key进行区分,本章介绍Tag,我们再往一个Topic里面发送消息的时候&#x…

Comments are not permitted in JSON

用vsCode开发uniappvue3.0TypeeScriptvite项目的时候,打开json文件报错Comments are not permitted in JSON。 解决办法如下: 1.点击右下角 2.输入JSON选择第二个JSON with Comments即可

uni-nav-bar设置height自适应高度

今天拿到ui设计的图之后,发现需要用到自定义navbar 给它设置height的时候,一开始用的iphone X的屏幕,像素单位用的rpx,发现切换到别的屏幕就不对了 然后还是用iphone X的屏幕,像素改成固定的88px,发现有一…

css文本超出容器宽度自动换行及超过行数加省略号...

css文本超过div的宽度时,让它进行自动换行,并且超过div高度时候,在最后一行加省略号... 废话不多说,上代码 display: -webkit-box;overflow: hidden;text-overflow: ellipsis;word-wrap: break-word;white-space: normal !import…

Dubbo+ZooKeeper搭建的简单示例

一、简介 基于Dubbo ZooKeeper实现的分布式架构,调用接口方法就像调用本地方法一样调用远程服务。 来自Dubbo官网的架构图: 节点角色说明 节点角色说明Provider暴露服务的服务提供方Consumer调用远程服务的服务消费方Registry服务注册与发现的注册中心M…

uni-calendar更改打点颜色实现签到和缺勤不同打点颜色效果

1.公司要实现打卡功能,发现uni-calendar插件不支持不同打点颜色的效果,所以就自己改一下源码 下图是公司ui设计师给的图 2.我们打开调试,可以看到红色打点的样式是.uni-calendar-item__weeks-box-circle 3.我们复制下来这个class名&#xff…

分布式 dynamips+dyangen (更新于07.3.30)

更新内容:很多网友都反映用此文方法行不通,现象为:分布在各计算机上的路由器能起来,但互联的端口是Down的,以至于ping 不通。在此特别感谢 flyxj 网友QQ联系到我才引起我的高度注视使问题得到解决,不会再给…

换了坐骑

公司本来发了个DELL D400。好大好沉啊。(虽然加了配置)所以一直在使用自己的lenovo。今天总算给换了一个别的本本。当然不是新本本啦。不过也不错。毕竟才来还没一年。淘汰给我的那哥们跟我关系不错。他换了新的联想的天逸系列。 也是挺高配的。双核啊。…

C++_练习—继承_构造析构

构造析构 继承与构造析构&#xff1a; 在子类对象构造时&#xff0c;需要调用父类构造函数对其继承得来的成员进行初始化 在子类对象析构时&#xff0c;需要调用父类析构函数对其继承得来的成员进行清理 1 #include <iostream>2 3 using namespace std;4 5 class info1 {…

Vista修改默认字体

装了Vista之后&#xff0c;发现访问很多网站时字体都不好看。根据网上找到的方法&#xff0c;用Windows XP中的宋体替换Vista中的宋体。1.用 Total Commander (或 WinRAR) 进入 Vista 的 Windows\Fonts 文件夹&#xff0c;simsun.ttc 文件重命名。(我在重命名时&#xff0c;遇到…

在 CCR 环境中使用 Exchange 命令行管理程序移动存储组和数据库

作为Exchange管理员或许会遇到需要对Exchange Server存储组和数据库更改存储路径的情况&#xff0c;在常规情况下&#xff0c;更改Exchange Server存储组和数据库的路径一项比较简单的操作&#xff0c;通常在图形界面下经过简单的几步操作即可&#xff0c;路径更改过程数据库会…

C++_练习—多态_证明vptr指针的存在

证明vptr指针的存在 1 // 证明vptr指针的存在2 3 #include <iostream>4 5 using namespace std;6 7 class parent {8 public:9 parent(int a) { 10 this->a a; 11 } 12 13 virtual void pri(void) { 14 cout << "parent &…

NetCore的配置管理(1)

学习NetCore的配置管理&#xff1b; 目录 命令行配置Json文件配置配置文件文本至C#对象实例的映射配置文件热更新总结命令行配置&#xff1a; 打开VS2017,新建NetCore控制台项目&#xff1b; 打开nuget包管理&#xff1b;添加Microsoft.Asp.NetCore.all&#xff0c;或者使用命令…

buffer busy waits

buffer busy waitshttp://metalink.oracle.com/metalink/plsql/ml2_documents.showDocument?p_database_idNOT&p_id34405.1当会话想要访问缓冲存储器中的数据块&#xff0c;而该数据块正在被其它会话使用时产生buffer busywaits事件。其它会话可能正在从数据文件向缓冲区存…

SetupFactory安装制作心得

很多年前&#xff0c;因为仰慕Install Shield的鼎鼎大名&#xff0c;所以很是花了些功夫研究了一番&#xff0c;最后&#xff0c;基本上也可以打出很完善的包了&#xff0c;其中也不乏一些很有难度的事情&#xff0c;比如ODBC的打包等。但它实在太难用了&#xff0c;过上一段时…

Timus 1114. Boxes

Timus 1114. Boxes 要求计算出将两种颜色的球放到盒子中的各种组合的数目。1114. Boxes Time Limit: 0.6 second Memory Limit: 16 MB N boxes are lined up in a sequence (1 ≤ N ≤ 20). You have A red balls and B blue balls (0 ≤ A ≤ 15, 0 ≤ B ≤ 15). The red bal…

Speerio Skinergy 'Image' is ambiguous 错误

使用BeyondCSS皮肤时报错&#xff1a;Could Not Load Skin: /Portals/0/Skins/beyondcss/1column_speerio.ascx Error: E:"Development"DotNetNuke"InstallArea"DotNetNuke_04.08.03_Source"Website"controls"Speerio"Skinergy"s…