当前位置: 首页 > 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

  }

}

http://www.dtcms.com/a/74870.html

相关文章:

  • 银河麒麟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编程-启动新窗口
  • 新版AndroidStudio / IDEA上传项目到Gitee
  • 时间语义与窗口操作:Flink 流式计算的核心逻辑
  • Excel VBA实现智能合并重复元器件数据(型号去重+数量累加)
  • golang函数与方法的区别
  • 【组件安装】Ubuntu 22.04.5 desktop 安装 Anyware Agent
  • springboot441-基于SpringBoot的校园自助交易系统(源码+数据库+纯前后端分离+部署讲解等)
  • c++ 类和对象 —— 中 【复习笔记】
  • UE5中 Character、PlayerController、PlayerState、GameMode和GameState核心类之间的联动和分工·
  • 【从零开始学习计算机科学】软件工程(一)软件工程中的过程模型
  • 分布式 IO 模块:助力实现智慧仓储