当前位置: 首页 > news >正文

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

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

  }

}

相关文章:

  • 银河麒麟V10SP3Server中离线安装Docker引擎与docker-compose
  • 电池预测 | 第23讲 基于CNN-BiLSTM的锂电池剩余寿命预测,附带PPT视频讲解
  • GB9706.1-2020附件J绝缘路径参考
  • Redis系列:深入理解缓存穿透、缓存击穿、缓存雪崩及其解决方案
  • 如何用AI轻松制作完美PPT,节省时间又提升效率
  • 数据结构——查找
  • 背包问题——多重背包(C语言)
  • [免费]直接整篇翻译pdf工具-支持多种语言
  • Unity导出WebGL
  • 【GPT入门】第23课 langchain serve介绍
  • 【网页】CSS原子化+变量尝试
  • test skills
  • openai 标准化协议 Structured Outputs 具体示例教程
  • Django settings.py 文件全解析
  • 案例:图书管理
  • 如何保证消息不被重复消费?(如何保证消息消费的幂等性)
  • golang-嵌套结构体
  • Unity利用噪声生成动态地形
  • vscode/windsurf/trae无法识别junit的@Test注解解决办法
  • C# WPF编程-启动新窗口
  • 北大深圳研究生院成立科学智能学院:培养交叉复合型人才
  • 发挥全国劳模示范引领作用,加速汽车产业电智化转型
  • 西班牙葡萄牙突发全国大停电,欧洲近年来最严重停电事故何以酿成
  • 上海112位全国劳动模范和先进工作者接受表彰,樊振东榜上有名
  • 吕国范任河南省人民政府副省长
  • 为何未来的福利国家必须绿色且公平