【流媒体服务】本地视频推流、转码、拉流、直播综合应用(五):【1】VLC+FFMPEG+Nginx实现RTSP到RTMP网页直播

前言

前几章节已完成推流拉流转码直播相关的基础工作准备,本章节整体演示综合直播应用,延迟5秒钟左右…

一、前几章节回顾

二、操作步骤

1、准备本地视频

准备本地视频用于推流: 暗战2.mp4

2、VLC:获取RTSP视频流

3、FFMPEG:转码推流服务准备

4、Nginx:网站服务准备

5、FFMPEG推流:rtsp转rtmp

  • cmd 执行命令:ffmpeg -i “rtsp://:8554/rtsp001” -vcodec libx264 -acodec aac -f flv rtmp://localhost:1935/live/movie
  • 看到如下界面表示成功:
  • 在这里插入图片描述
  • cmd 打开另外要给窗口:ffplay.exe rtmp://localhost:1935/live/movie
  • 看到如下窗口表示成功:在这里插入图片描述

6、FFMPEG推流:rtsp转hls

  • cmd执行如下命令:ffmpeg -i “rtsp://:8554/rtsp001” -vcodec libx264 -acodec aac -f flv rtmp://localhost:1935/hls/movie
  • 看到如下窗口表示成功:
  • 在这里插入图片描述
  • cmd 打开新窗口:ffplay.exe http://localhost:81/hls/movie.m3u8
  • 看到如下窗口表示成功:
  • 在这里插入图片描述
  • 此时Nginx网站根目录下会多出很多视频流文件:
  • 在这里插入图片描述
  • 出现的问题:hls实时数据流播放一会儿就卡死了,需要结束掉重新启动 ffplay.exe http://localhost:81/hls/movie.m3u8

三、网页播放视频流

1、准备测试网页:test.html

<html>
<head>
<link href="https://cdn.bootcss.com/dplayer/1.25.0/DPlayer.min.css" rel="stylesheet">
<script src="https://cdn.jsdelivr.net/npm/hls.js@latest"></script>
<script src="https://cdn.bootcss.com/dplayer/1.25.0/DPlayer.min.js"></script>
</head>
<body>


<div id="dplayer"></div>
<script>
    const dp = new DPlayer({
    container: document.getElementById('dplayer'),
    video: {
        url: 'http://localhost:81/hls/movie.m3u8', /*注意这个为实时视频数据流*/
        type: 'customHls',
        customType: {
            customHls: function(video, player) {
                const hls = new Hls();
                hls.loadSource(video.src);
                hls.attachMedia(video);
            },
        },
    },
});
</script>

</body>
</html>

2、各种浏览器打开test.html测试页面:

在这里插入图片描述

四、总结

整体延迟5秒钟左右,赶紧还不错!

  • 1
    点赞
  • 15
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值