‌RTSPtoWeb, 一个将rtsp转换成webrtc的开源项目

发布于:2025-03-19 ⋅ 阅读:(13) ⋅ 点赞:(0)

RTSPtoWeb是一个开源项目,旨在将RTSP流转换为可在现代web浏览器中消费的格式,如Media Source Extensions (MSE)、WebRtc或HLS。该项目完全使用golang编写,不依赖于ffmpeggstreamer,确保了高效的性能和轻量级的部署‌。

功能特点

  1. 跨平台兼容性‌:RTSPtoWeb使用Go语言编写,确保了跨平台的兼容性。
  2. 高效性能‌:通过代码优化和多线程处理,提升了项目的整体性能。
  3. 多格式支持‌:支持MSE、WebRTC和HLS等多种流媒体格式,满足不同需求。
  4. 灵活配置‌:提供丰富的配置选项,用户可以根据需求自定义服务器和流设置。
  5. 调试支持‌:内置调试功能,方便开发者进行问题排查和性能优化‌。

部署:

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

  }

}