RTSP协议视频流页面即时加载方法
1. 准备RTSP流
在没有摄像头的条件下,可以使用的RTSP视频流经常很难找到,所以本文采用FFMPEG手动推流的方式产生RTSP流。FFMPEG工具可以翻看
Windows环境下视频文件转成RTSP视频流和RTMP流这篇文章。
在进行推流前先准备好RTSP的服务器,可以采用EasyDarwin服务器。下载 链接 提取码:zh0w 具体使用方法也可以在上面提到的那篇文章中找到。
使用FFMPEG推流的命令如下:
C:/FFMPEG/ffmpeg_x86_4.2.2/bin/ffmpeg.exe -re -i "orange.mp4" -vcodec copy -codec copy -f rtsp rtsp://127.0.0.1:554/stream
在EasyDarwin的界面可以看到推流的信息
2. 使用RTSPtoWeb进行拉流
RTSPtoWeb下载地址链接:https://pan.baidu.com/s/1QGjeQR26gC6K7Ntvw0iI9Q
提取码:jbxa
这个工程需要有go的环境,随意需要先安装go,配置环境变量,不会的可以自行百度。
这个工程需要使用git命令进行运行,所以还需要安装git。
RTSPtoWeb配置如下:
可以根据自己的环境删减
{
"server": {
"debug": true,
"http_debug": false,
"http_demo": true,
"http_dir": "web",
"http_login": "demo",
"http_password": "demo",
"http_port": ":8083",
"log_level": "debug",
"rtsp_port": ":5541",
"defaults": {
"audio": true
}
},
"streams": {
"YDVideo": { ##名称自己填写
"name": "移动摄像头",
"channels": {
"YD1": {
"name": "ch1", ##名称自己填写
"url": "rtsp://192.168.0.12:554/stream", ##自己推的rtsp流
"on_demand": false,
"debug": false,
"audio": true,
"status": 0
},
"YD2": {
"name": "ch2",
"url": "rtsp://admin:1234.com@192.168.0.182:554/Streaming/Channels/101", ##摄像头标准RTSP流地址
"on_demand": false,
"debug": false,
"audio": true,
"status": 0
}
}
}
}
}
启动工程
如下图所示,进入RTSPtoWeb工程里面,通过git bash启动
首先设置GO环境的国内依赖地址
命令如下:
go env -w GOPROXY=https://goproxy.cn,direct
启动工程
GO111MODULE=on go run *.go
在前面步骤没有错误的情况下,因该就可以看到如下界面:
选择WebRTC,出现一下界面
这时候在EasyDarwin上就可以看到拉流的记录
前端就可以根据RTSPtoWeb工程中的方法及API教程 https://gitee.com/erroot/RTSPtoWeb?_from=gitee_search,进行页面加载实现。