RTSPtoWeb是一个开源项目,旨在将RTSP流转换为可在现代web浏览器中消费的格式,如Media Source Extensions (MSE)、WebRtc或HLS。该项目完全使用golang编写,不依赖于ffmpeg或gstreamer,确保了高效的性能和轻量级的部署。
功能特点
- 跨平台兼容性:RTSPtoWeb使用Go语言编写,确保了跨平台的兼容性。
- 高效性能:通过代码优化和多线程处理,提升了项目的整体性能。
- 多格式支持:支持MSE、WebRTC和HLS等多种流媒体格式,满足不同需求。
- 灵活配置:提供丰富的配置选项,用户可以根据需求自定义服务器和流设置。
- 调试支持:内置调试功能,方便开发者进行问题排查和性能优化。
部署:
1、下载代码:
git clone https://github.com/deepch/RTSPtoWeb
2、进入代码路径,执行
GO111MODULE=on go run *.go
3、打开浏览器,输入
http://127.0.0.1:8083
点击edit,进入编辑页面,按要求增加rtsp的地址。
然后切回Streams List,点击All
即可看到播放的流。
也可以手动配置,代码工程里面有一个config.json配置文件,可以参照README里面的说明进行配置,例如:
{
"server": {
"debug": true,
"log_level": "info",
"http_demo": true,
"http_debug": false,
"http_login": "demo",
"http_password": "demo",
"http_port": ":8083",
"ice_servers": ["stun:stun.l.google.com:19302"],
"rtsp_port": ":5541"
},
"streams": {
"demo1": {
"name": "test video stream 1",
"channels": {
"0": {
"name": "ch1",
"url": "rtsp://admin:admin@YOU_CAMERA_IP/uri",
"on_demand": true,
"debug": false,
"audio": true,
"status": 0
},
"1": {
"name": "ch2",
"url": "rtsp://admin:admin@YOU_CAMERA_IP/uri",
"on_demand": true,
"debug": false,
"audio": true,
"status": 0
}
}
},
"demo2": {
"name": "test video stream 2",
"channels": {
"0": {
"name": "ch1",
"url": "rtsp://admin:admin@YOU_CAMERA_IP/uri",
"on_demand": true,
"debug": false,
"status": 0
},
"1": {
"name": "ch2",
"url": "rtsp://admin:admin@YOU_CAMERA_IP/uri",
"on_demand": true,
"debug": false,
"status": 0
}
}
}
},
"channel_defaults": {
"on_demand": true
}
}