演示
1.启动SRS服务
./objs/srs -c conf/http.flv.live.conf
sudo ps -ef | grep srs 测试是否启动
2.推流
ffmpeg -re -i test1.flv -c copy -f flv rtmp://192.168.1.76/live/monitor1?vhost=monitor1
ffmpeg -re -i test2.flv -c copy -f flv rtmp://192.168.1.76/live/monitor2?vhost=monitor2
ffmpeg -re -i test3.flv -c copy -f flv rtmp://192.168.1.76/live/monitor3?vhost=monitor3
3.启动项目服务
http://localhost/flv
一。流媒体服务器
1.nginx-rtmp-win32
1.下载解压到 C:\Windows\System
2.双击 nginx.exe 运行
3.输入localhost:80 就能看到welcome页面,表示成功部署并启动
2.nginx-http-flv-module
linux版 nginx下载 linux版本点击nginx-1.19.1,pgp不知道什么东东
nginx-http-flv-module下载
linux搭建步骤参考
linux搭建步骤参考2
搭建步骤视频参考 含有压测工具 srs-bench
1.下载nginx和nginx-http-flv-module
3.SRS
借鉴下载地址 视频
借鉴推流flv CSDN文档有一整套案例
Viki官方文档 里面也有官方视频
1.下载解压:从码云下比github快 http://gitee.com/winlinvip/srs.oschina.git
2.编译SRS cd trunk文件夹, ./configure && make
3.编写SRS配置文件
4.开启SRS服务 ./objs/srs -c conf/http.flv.live.conf
5.测试是否启动: sudo ps -ef | grep srs 有两条SRS,没有auto那条就是启动的 will后面是pid
6.优雅安全退出正在运行的SRS: sudo kill -SIGQUIT srs_pid
7.推流
ffmpeg推本地流: ffmpeg -re -i test1.flv -c copy -f flv rtmp://192.168.1.76/live/monitor1?vhost=monitor1
ffmpeg -re -itest.flv -c -copy -y rtmp://127.0.0.1/live/livestream?vhost=spart.ossrs.net
8.拉流
vls播放:输入 rtmp://192.168.1.76/live/monitor1
ffplay播放: ffplay rtmp://192.168.1.76/live/monitor1
flvjs播放: http://192.168.1.76:8080/live/monitor1.flv
SRS播放地址:http://www.ossrs.net/srs.release/trunk/research/players/srs_player.html?server=192.168.1.76&vhost=192.168.1.76
一。SRS设置前台启动与后台启动(前台启动就是把console显示在控制台)
在trunk/conf/srs.conf (用哪个配置文件启动就修改哪个conf文件)
后台启动: srs_log_tank file;
srs_log_file ./objs/srs.log
前台启动: daemon off;
srs_log_tank console;
二。应用到不同的用户
1.trunk/conf/my.http.flv.live.conf添加最下面截图
2.根据vhost的配置名进行不同的推流(多个摄像头)
vhost在conf文件里配置
ffmpeg -re -i here.flv -c -copy -y rtmp://127.0.0.1/live/livestream?vhost=spart.ossrs.net
ffmpeg -re -i here.flv -c -copy -y rtmp://127.0.0.1/live/livestream?vhost=tv.ossrs.net
二。拉流——页面播放
1.videojs
1.下载解压
2.创建项目并导入解压出来的lib文件夹里面的文件
3.页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<title>Live Video 7.X</title>
<link href="/lib/video7.3.0/video-js.min.css" rel="stylesheet">
<script src="/lib/video7.3.0/video.min.js"></script>
<script src="/lib/flash/videojs-flash.min.js"></script>
</head>
<body>
<video id="liveVideo" class="video-js" controls autoplay preload="auto" width="1280" height="720" data-setup="{}">
<source src="rtmp://192.168.1.72:1935/live/" type="rtmp/flv">
</video>
</body>
</html>
2.flvjs
1.下载flv.min.js
2.创建项目导入flv.min.js
3.页面
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="UTF-8">
<meta name="viewport" content="width=device-width, initial-scale=1.0">
<meta http-equiv="X-UA-Compatible" content="ie=edge">
<script src="/lib/flv/flv.min.js"></script>
<script src="/lib/flv/flv.js"></script>
<title>Document</title>
</head>
<body>
<video id="videoElement1" controls style="outline: none;" width="30%" height="30%" ></video>
<video id="videoElement2" controls style="outline: none;" width="30%" height="30%" ></video>
<video id="videoElement3" controls style="outline: none;" width="30%" height="30%"></video>
<script>
if (flvjs.isSupported()) {
var videoElement1 = document.getElementById('videoElement1');
var videoElement2 = document.getElementById('videoElement2');
var videoElement3 = document.getElementById('videoElement3');
var url1 = 'http://192.168.1.76:8080/live/monitor1.flv?vhost=monitor1';
var url2 = 'http://192.168.1.76:8080/live/monitor2.flv?vhost=monitor2';
var url3 = 'http://192.168.1.76:8080/live/monitor3.flv?vhost=monitor3';
var flvPlayer1 = flvjs.createPlayer({
type: 'flv',
isLive: true,
url: url1,
hasAudio:true,
hasVideo:true,
enableStashBuffer: true
});
flvPlayer1.attachMediaElement(videoElement1);
flvPlayer1.load();
flvPlayer1.play();
var flvPlayer2 = flvjs.createPlayer({
type: 'flv',
isLive: true,
url: url2,
hasAudio:true,
hasVideo:true,
enableStashBuffer: true
});
flvPlayer2.attachMediaElement(videoElement2);
flvPlayer2.load();
flvPlayer2.play();
var flvPlayer3 = flvjs.createPlayer({
type: 'flv',
isLive: true,
url: url3,
hasAudio:true,
hasVideo:true,
enableStashBuffer: true
});
flvPlayer3.attachMediaElement(videoElement3);
flvPlayer3.load();
flvPlayer3.play();
}
</script>
</body>
</html>
三。海康威视
CSDN参考
获取海康威视摄像头的rtsp流转成flv视频流
//获取摄像头的rtsp视频流并以flv格式推送到服务器
预览:ffmpeg -rtsp_transport tcp -i
“rtsp://admin:lzm12345@192.168.1.214/h264/ch1/main/av_stream”
-vcodec copy -acodec copy -f flv
“rtmp://localhost:1935/live/room”
回放: ffmpeg -rtsp_transport tcp -i
“rtsp://admin:lzm12345@192.168.1.217:554/Streaming/tracks/201?starttime=20200628t000000z&endtime=20200628t000100z”
-vcodec copy -acodec copy -f flv
“rtmp://localhost:1935/live/rooms”
//播放摄像头的rtsp视频流
ffplay rtsp://192.168.0.123/live/av0
易推流——nginx-rtmp-win32-dev——VLC
nginx-http-flv下载地址
视频参考地址
博客参考地址
1.下载 nginx-rtmp-win32-dev 并解压到C盘/system下
2.点击nginx.exe启动流媒体服务器, 访问http://127.0.0.1:8080/可看到页面代表启动成功
3.推流:手机下载易推流,
4.拉流:电脑下载VLC