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

之前已经更新vlc和m3u8的方案了,这个是最后一个方案,同时,转rtmp的方案也是我在用的

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

2.配置环境变量

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

点击下方的环境变量

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

新建一个变量

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

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

这个链接是nginx官网,用官网的这个nginx需要单独安装rtmp模块,我的一直报错,所以我就找了个第三方nginx,是一个国外大神做的好像,这个版本的nginx不需要单独安装rtmp模块,并且可以像正常nginx用,传送门:https://gitee.com/zyx17860786131/nginx-1.7.11.3-gryphon.git

也可以看我首页,上传的资源

4.拉取下来之后,打开conf文件夹,用编译器编译nginx.conf文件

可以看到rtmp模块,里卖弄有很多server,每一个server就代表开通了一个端口,当转流时,转一个视频的话,那就只需要一个端口,同时转两个视频的话,就需要两个端口,该为自己需要的端口即可,

5.在nginx主文件夹的地址栏里输入cmd并回车,输入start nginx命令

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

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

命令也是试了很久,就这个命令能成功运行,不知道别人的怎么样

ffmpeg -re -rtsp_transport tcp -i “rtsp://admin:avaiden88@cnqcaegcctv.ddns.net:9990/cam/realmonitor?channel=1&subtype=1” -f flv -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 “rtmp://localhost:8888/live/stream”

ffmpeg -re -rtsp_transport tcp -i “rtsp://admin:avaiden88@cnqcaegcctv.ddns.net:9990/cam/realmonitor?channel=1&subtype=1” -f flv -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 “rtmp://localhost:8888/live/stream”

ffmpeg -re -rtsp_transport tcp -i “这里是你的rtsp地址” -f flv -vcodec libx264 -vprofile baseline -acodec aac -ar 44100 -strict -2 -ac 1 -f flv -s 1280x720 -q 10 “这里是你输出的地址,rtmp://+ 自己的ip地址或者localhost + nginx.conf文件rtmp模块设置的端口号/ + live(也是在rtmp模块设置的)/ + 自己想要的路径名字,这个无所谓”

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

点击媒体,点击打开网络串流,输入命令转码的哪个地址,点击播放

等一会画面就会出来啦~

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

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

相关文章

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…

Sql Server中自动序号的方法

第一种:使用identity函数增加临时表的方法 selectid identity(int,1,1),*into#tmp fromtableselect*from#tmp droptable#tmp 在SQL2005中新增了ROW_NUMBER()函数,给我们带来了很多方便,使用方法如下: SELECTid,ROW_NUMBER() OVER(orderbyid)asRowNumber FROMTable有一个方便,as…