浏览器播放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地址)

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

  • 4
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 8
    评论
你可以通过以下步骤来实现Java与RTSPFFmpeg、HTML和Nginx的结合来实现视频实时播放的监控系统: 1. 首先,你需要使用Java来创建一个监控系统的后端服务。你可以使用Java的网络编程库来监听RTSP并将其解码。可以使用开源的库,例如JRTSP或者Xuggler来处理RTSP,并将其换为可供播放视频。 2. 接下来,你需要使用FFmpeg来处理视频FFmpeg是一个强大的多媒体处理工具,可以用于码、解码、编码等操作。你可以使用FFmpeg来解码RTSP,并将其换为HTML5支持的视频格式,例如HLS(HTTP Live Streaming)或者MPEG-DASH(Dynamic Adaptive Streaming over HTTP)。 3. 在前端方面,你可以使用HTML和JavaScript来创建一个简单的视频播放器。你可以使用HTML5的<video>标签来嵌入视频,并使用JavaScript来控制视频播放、暂停等操作。你可以使用一些开源的视频播放器库,例如video.js或者plyr来简化开发过程。 4. 最后,你可以使用Nginx作为反向代理服务器来提供视频的分发和缓存功能。Nginx可以将视频从后端服务器发给前端浏览器,并且可以缓存视频文件以提高性能和可靠性。你可以配置Nginx来支持HLS或者MPEG-DASH协议,并且可以使用Nginx的HTTP模块来进行性能优化和安全加固。 综上所述,通过将Java、RTSPFFmpeg、HTML和Nginx结合起来,你可以实现一个监控视频的实时播放系统。这个系统可以从RTSP中提取视频数据,经过FFmpeg处理后,通过HTML和JavaScript在浏览器中进行播放,并且可以使用Nginx提供性能优化和缓存支持。
评论 8
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

z a x

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值