# webrtc-rtsp-gateway **Repository Path**: gitmy/webrtc-rtsp-gateway ## Basic Information - **Project Name**: webrtc-rtsp-gateway - **Description**: 该项目集成了 webrtc-streamer 作为 WebRTC 网关,并结合自定义的 Node.js 信令服务,用于在 Web 端与 WebRTC-streamer 之间建立 P2P 连接,实现音视频的传输。webrtc-streamer 将 RTSP 视频流转换为 WebRTC 支持的格式,允许 Web 端进行播放。 - **Primary Language**: Unknown - **License**: MIT - **Default Branch**: master - **Homepage**: None - **GVP Project**: No ## Statistics - **Stars**: 0 - **Forks**: 2 - **Created**: 2025-10-09 - **Last Updated**: 2025-10-09 ## Categories & Tags **Categories**: Uncategorized **Tags**: None ## README # WebRTC RTSP Gateway ## 项目概述 本项目集成了 `webrtc-streamer` 作为 WebRTC 网关,并结合自定义的 Node.js 信令服务器,用于在 Web 客户端和 `webrtc-streamer` 之间建立 P2P 连接,实现音视频传输。`webrtc-streamer` 将 RTSP 视频流转换为 WebRTC 支持的格式,允许在 Web 客户端进行播放。 此外,项目新增了一个名为 `streamer-proxy-nodejs` 的代理程序,旨在确保当 `webrtc-streamer` 部署在内网中时,仍能与公网信令服务器进行通信。该代理程序通过 `axios` 请求 `webrtc-streamer` 的嵌入式 HTTP 服务器,并将请求转发给公网信令服务器。 ### 目标 本项目旨在解决位于不同私有网络中的设备如何建立 P2P 连接的问题。通过 `webrtc-streamer` 传输音视频,使得视频流可以无缝地传输到 Web 客户端。新增的 `streamer-proxy-nodejs` 程序确保了在不修改开源 C++ 项目的情况下,`webrtc-streamer` 仍能与公网信令服务器通信。 ## 项目结构 - **webrtc-streamer**: 将 RTSP 流转换为 WebRTC 支持的格式。详细的使用方法请参考官方文档: [webrtc-streamer](https://github.com/mpromonet/webrtc-streamer) - **signalling-nodejs**: 自定义的 Node.js 信令服务器,帮助 Web 客户端与 `webrtc-streamer` 之间建立 P2P 连接。 - **streamer-proxy-nodejs**: 一个 Node.js 代理程序,通过 `axios` 请求 `webrtc-streamer`,并将请求转发给公网信令服务器,促进二者通信。 - **webrtc-client**: 一个简单的基于网页的前端,作为 WebRTC 客户端,用于视频播放。 ## 安装与使用 ### 1. 准备工作 确保你的环境中已经安装了 Node.js 和 npm。如果尚未安装,请参照 Node.js 官方网站的指引进行安装。 ### 2. 运行 Signalling-Node.js 进入 `signalling-nodejs` 目录并安装依赖: ```bash npm install ``` 开发模式运行: ```bash npm run dev ``` 生产环境运行: ```bash npm run serve ``` ### 3. 启动 WebRTC-Streamer 按照官方文档启动 `webrtc-streamer`,详细教程请查看 [webrtc-streamer](https://github.com/mpromonet/webrtc-streamer)。 ### 4. 运行 Streamer-Proxy-Nodejs 进入 `streamer-proxy-nodejs` 目录并安装依赖: ```bash npm install ``` 开发模式运行: ```bash npm run dev ``` 生产环境运行: ```bash npm run serve ``` ### 5. 运行 Web 前端 在项目的 `webrtc-client` 文件夹中,有一个简单的 HTML 文件。通过浏览器打开该文件,即可使用 WebRTC 客户端进行视频播放。