项目简介
go2rtc 是一款先进的摄像头流媒体应用,支持多种协议,包括 RTSP、RTMP、HTTP-FLV、WebRTC、MSE、HLS、MP4、MJPEG 和 HomeKit,基于 FFmpeg,提供零延迟的视频流播放和高效的多路复用。
核心功能
-
零依赖、零配置:go2rtc 为各类操作系统(Windows、macOS、Linux、ARM)提供了轻量级的二进制文件,无需依赖和额外配置,极易上手。

-
低延迟流媒体:能够实时传输视频流,支持 RTSP、RTMP、HTTP、USB 摄像头等多种流媒体来源,确保最低延迟。
-
多源支持:可以从多种不同来源进行流式传输,包括流行的 USB 摄像头和由 FFmpeg 支持的其他来源。
-
音视频双向交流:对于支持的摄像头,go2rtc 提供两路音频流功能,用户可以通过浏览器直接实现双向音频通信,以提升实时性和互动性。
-
快速集成:支持多种流行的智能家居平台,用户也可以选择独立使用这些功能。
-
即用即分享:可以快速将视频流发布到常见的直播服务,如 YouTube、Telegram 等,让用户轻松分享。
使用场景
go2rtc 适用于各种监控与直播场景,包括但不限于:
- 家庭安全监控:用户可以通过 go2rtc 将家庭摄像头的视频流实时传输到手机或者其他设备上,确保家庭安全。
- 在线教育:教师可以利用 go2rtc 进行实时在线直播课程,提高互动性和参与感。
- 物联网(IoT):功能强大的流媒体能力让 go2rtc 成为智能家居和物联网设备管理的重要工具。
安装与设置
快速启动
-
下载二进制文件:
- 根据您的操作系统,下载最新的二进制文件。例如,Windows 用户可以下载
go2rtc_win64.zip。
- 根据您的操作系统,下载最新的二进制文件。例如,Windows 用户可以下载
-
运行应用程序:
- 解压缩并运行
go2rtc,默认情况下,Web 界面会在http://localhost:1984/可用。
- 解压缩并运行
-
可选设置:
- 为您的流媒体添加配置,可以自定义传输、音频和视频编码等更多参数。
Docker 安装
如果您偏好使用 Docker,可以运行以下命令:
bash
docker pull alexxit/go2rtc
docker run -p 1984:1984 -p 8554:8554 -p 8555:8555 alexxit/go2rtc
Home Assistant 集成
go2rtc 可作为 Home Assistant 的附加组件进行安装,提供便捷的流媒体服务与智能家居控制。用户只需在 Home Assistant 的 add-on 商店搜索并安装 go2rtc。
配置信息
主要设置
go2rtc支持多种流源类型,配置方式灵活多样。以下是常见源的配置示例:
yaml
streams:
my_camera: rtsp://username:password@192.168.1.100/live
my_webcam: ffmpeg:device?video=0#video=h264
my_ip_camera: onvif://username:password@192.168.1.101
- RTSP源:直接从支持 RTSP 的摄像头获取流,通过流地址进行配置。
- USB 摄像头:使用 FFmpeg 配置,支持本地 webcam 进行流式传输。
- ONVIF 源:通过 ONVIF 协议获取设备信息和视频源。
音视频处理
go2rtc 支持音频播放及实时流媒体的转换功能。例如,发送音频至某个摄像头,可以用以下 API:
bash
POST http://localhost:1984/api/streams?dst=my_camera&src=ffmpeg:http://example.com/song.mp3#audio=pcma#input=file
该功能结合了 FFmpeg 的强大处理能力,可自行设置音频格式,使其适配不同设备。
安全性说明
使用 go2rtc 时,确保 API 不被未授权访问。可通过配置使用身份验证,限制访问权限:
yaml
api:
username: "admin"
password: "secret"
相似项目
值得注意的是,go2rtc 在流媒体领域的对手并不少,以下是一些同类项目的功能与特点:
-
RTSP Simple Server:提供简单的 RTSP 服务器功能,适合较小、轻便的需求。
-
GStreamer:一个强大的多媒体处理框架,支持多种协议,但配置相对复杂,需要一定的技术基础。
-
FFmpeg:尽管主要是用于音视频格式转码,但结合其他工具可实现流媒体服务。
这些项目各有特点,用户可根据实际需求进行选择。
通过使用 go2rtc,用户不仅能方便地构建复杂的流媒体系统,还能在多种环境中实现低延迟的高质量视频流。这个强大的工具使得视频传输变得更加简单和易于操控。