Baike.dev
All toolsTrendingOpen sourceNewsSubmit
Log in
< 返回工具列表
G

go2rtc

> 编程语言
开源

Ultimate camera streaming application

13.6K stars0 点赞0 次浏览
访问官网GitHub

工具介绍

Ultimate camera streaming application

Ultimate camera streaming application with support for dozens formats and protocols. - zero-dependency [small app](#go2rtc-binary) for all OS (Windows, macOS, Linux, FreeBSD) - zero-delay for many [supported protocols](#codecs-madness) (lowest possible streaming latency) - [streaming input](#streaming-input) from dozens formats and protocols - [streaming output](#streaming-output) in all popular formats - [streaming ingest](#streaming-ingest) in a number of popular formats - [publish](#publish-stream) any source to popular streaming services (YouTube, Telegram) - on-the-fly transcoding only if necessary via [FFmpeg](internal/ffmpeg/README.md) - [two-way audio](#two-way-audio) support for many formats - [streaming audio](#stream-to-camera) to all cameras with [two-way audio](#two-way-audio) support - mixing tracks from different sources to single stream - [auto-match](www/README.md#javascript-api) client-supported streaming formats and codecs - [streaming stats](#streaming-stats) for all active connections - can be [integrated to any project](#projects-using-go2rtc) or be used as [standalone app](#go2rtc-binary) #### Inspired by - series of streaming projects from [@deepch](https://github.com/deepch) - [webrtc](https://github.com/pion/webrtc) go library and whole [@pion](https://github.com/pion) team - [rtsp-simple-server](https://github.com/aler9/rtsp-simple-server) idea from [@aler9](https://github.com/aler9) - [GStreamer](https://gstreamer.freedesktop.org/) framework pipeline idea - [MediaSoup](https://mediasoup.org/) framework routing idea - HomeKit Accessory Protocol from [@brutella](https://github.com/brutella/hap) - creator of the project's logo [@v_novoseltsev](https://www.instagram.com/v_novoseltsev)
Table of Contents - [Installation](#installation) - [go2rtc: Binary](#go2rtc-binary) - [go2rtc: Docker](#go2rtc-docker) - [go2rtc: Home Assistant add-on](#go2rtc-home-assistant-add-on) - [go2rtc: Home Assistant Integration](#go2rtc-home-assistant-integration) - [go2rtc: Master version](#go2rtc-master-version) - [Configuration](#configuration) - [Features](#features) - [Streaming input](#streaming-input) - [Streaming output](#streaming-output) - [Streaming ingest](#streaming-ingest) - [Two-way audio](#two-way-audio) - [Stream to camera](#stream-to-camera) - [Publish stream](#publish-stream) - [Preload stream](#preload-stream) - [Streaming stats](#streaming-stats) - [Codecs](#codecs) - [Codecs filters](#codecs-filters) - [Codecs madness](#codecs-madness) - [Built-in transcoding](#built-in-transcoding) - [Codecs negotiation](#codecs-negotiation) - [Security](#security) - [Projects using go2rtc](#projects-using-go2rtc) - [Camera experience](#camera-experience) - [Tips](#tips) ## Installation 1. Download [binary](#go2rtc-binary) or use [Docker](#go2rtc-docker) or Home Assistant [add-on](#go2rtc-home-assistant-add-on) or [integration](#go2rtc-home-assistant-integration) 2. Open web interface: `http://localhost:1984/` 3. Add [streams](#streaming-input) to [config](#configuration) **Developers:** integrate [HTTP API](internal/api/README.md) into your smart home platform. ### go2rtc: Binary Download binary for your OS from [latest release](https://github.com/AlexxIT/go2rtc/releases/): | name | description | |-----------------------------------------------------------------------------------------------------------------|-------------------------------------------------------------------------------------------------------------------------------------------| | [go2rtc_win64.zip](https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_win64.zip) | Windows 10+ 64-bit | | [go2rtc_win32.zip](https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_win32.zip) | Windows 10+ 32-bit | | [go2rtc_win_arm64.zip](https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_win_arm64.zip) | Windows ARM 64-bit | | [go2rtc_linux_amd64](https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_amd64) | Linux 64-bit | | [go2rtc_linux_i386](https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_i386) | Linux 32-bit | | [go2rtc_linux_arm64](https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_arm64) | Linux ARM 64-bit (ex. Raspberry 64-bit OS) | | [go2rtc_linux_arm](https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_arm) | Linux ARM 32-bit (ex. Raspberry 32-bit OS) | | [go2rtc_linux_armv6](https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_armv6) | Linux ARMv6 (for old Raspberry 1 and Zero) | | [go2rtc_linux_mipsel](https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_linux_mipsel) | Linux MIPS (ex. [Xiaomi Gateway 3](https://github.com/AlexxIT/XiaomiGateway3), [Wyze cameras](https://github.com/gtxaspec/wz_mini_hacks)) | | [go2rtc_mac_amd64.zip](https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_mac_amd64.zip) | macOS 11+ Intel 64-bit | | [go2rtc_mac_arm64.zip](https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_mac_arm64.zip) | macOS ARM 64-bit | | [go2rtc_freebsd_amd64.zip](https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_freebsd_amd64.zip) | FreeBSD 64-bit | | [go2rtc_freebsd_arm64.zip](https://github.com/AlexxIT/go2rtc/releases/latest/download/go2rtc_freebsd_arm64.zip) | FreeBSD ARM 64-bit | Don't forget to fix the rights `chmod +x go2rtc_xxx_xxx` on Linux and Mac. PS. The application is compiled with the latest versions of the Go language for maximum speed and security. Therefore, the [minimum OS versions](https://go.dev/wiki/MinimumRequirements) depend on the Go language. ### go2rtc: Docker The Docker containers [`alexxit/go2rtc`](https://hub.docker.com/r/alexxit/go2rtc) and [`ghcr.io/alexxit/go2rtc`](https://github.com/AlexxIT/go2rtc/pkgs/container/go2rtc) support multiple architectures including `386`, `amd64`, `arm/v6`, `arm/v7` and `arm64`. These containers offer the same functionality as the Home Assistant [add-on](#go2rtc-home-assistant-add-on) but are designed to operate independently of Home Assistant. It comes preinstalled with [FFmpeg](internal/ffmpeg/README.md) and [Python](internal/echo/README.md). ### go2rtc: Home Assistant add-on 1. Settings > Add-ons > Plus > Repositories > Add ``` https://github.com/AlexxIT/hassio-addons ``` 2. go2rtc > Install > Start ### go2rtc: Home Assistant Integration [WebRTC Camera](https://github.com/AlexxIT/WebRTC) custom component can be used on any Home Assistant [installation](https://www.home-assistant.io/installation/), including [HassWP](https://github.com/AlexxIT/HassWP) on Windows. It can automatically download and use the latest version of go2rtc. Or it can connect to an existing version of go2rtc. Addon installation in this case is optional. ### go2rtc: Master version Latest, but maybe unstable version: - Binary: [latest master build](https://nightly.link/AlexxIT/go2rtc/workflows/build/master) - Docker: `alexxit/go2rtc:master` or `alexxit/go2rtc:master-hardware` versions - Home Assistant add-on: `go2rtc master` or `go2rtc master hardware` versions ## Configuration This is the `go2rtc.yaml` file in [YAML-format](https://en.wikipedia.org/wiki/YAML). The configuration can be changed in the [WebUI](www/README.md) at `http://localhost:1984`. The editor provides syntax highlighting and checking. The simplest config looks like this: ```yaml streams: hall-camera: rtsp://admin:[email protected]/cam/realmonitor?channel=1&subtype=0 ``` - by default go2rtc will search `go2rtc.yaml` in the current work directory - `api` server will start on default **1984 port** (TCP) - `rtsp` server will start on default **8554 port** (TCP) - `webrtc` will use port **8555** (TCP/UDP) for connections More information can be [found here](internal/app/README.md). ## Features A summary table of all modules and features can be found [here](internal/README.md). **Core modules** - [`app`](internal/app/README.md) - Reading [configs](internal/app/README.md) and setting up [logs](internal/app/README.md#log). - [`api`](internal/api/README.md) - Handle [HTTP](internal/api/README.md) and [WebSocket](internal/api/ws/README.md) API. - [`streams`](internal/streams/README.md) - Handle a list of streams. ### Streaming input #### public protocols - [`mpjpeg`](internal/mjpeg/README.md#mjpeg-client) - The legacy but still used [MJPEG](https://en.wikipedia.org/wiki/Motion_JPEG) protocol for real-time media transmission. - [`onvif`](internal/onvif/README.md#onvif-client) - A popular [ONVIF](https://en.wikipedia.org/wiki/ONVIF) protocol for receiving media in RTSP format. - [`rtmp`](internal/rtmp/README.md#rtmp-client) - The legacy but still used [RTMP](https://en.wikipedia.org/wiki/Real-Time_Messaging_Protocol) protocol for real-time media transmission. - [`rtsp`](internal/rtsp/README.md#rtsp-client) - The most common [RTSP](https://en.wikipedia.org/wiki/Real-Time_Streaming_Protocol) protocol for real-time media transmission. - [`webrtc`](internal/webrtc/README.md#webrtc-client) - [WebRTC](https://en.wikipedia.org/wiki/WebRTC) web-compatible protocol for real-time media transmission. - [`yuv4mpegpipe`](internal/http/README.md#tcp) - Raw [YUV](https://en.wikipedia.org/wiki/Y%E2%80%B2UV) frame stream with [YUV4MPEG](https://manned.org/yuv4mpeg) header. #### private protocols - [`bubble`](internal/bubble/README.md) - Some NVR from [dvr163.com](http://help.dvr163.com/) and [eseecloud.com](http://www.eseecloud.com/). - [`doorbird`](internal/doorbird/README.md) - [Doorbird](https://www.doorbird.com/) devices with two-way audio. - [`dvrip`](internal/dvrip/README.md) - DVR-IP NVR, NetSurveillance, Sofia protocol (XMeye SDK). - [`

核心特点

  • •zero-dependency small app for all OS (Windows, macOS, Linux, FreeBSD)
  • •zero-delay for many supported protocols (lowest possible streaming latency)
  • •streaming input from dozens formats and protocols
  • •streaming output in all popular formats
  • •streaming ingest in a number of popular formats
  • •publish any source to popular streaming services (YouTube, Telegram)
  • •on-the-fly transcoding only if necessary via FFmpeg
  • •two-way audio support for many formats
  • •streaming audio to all cameras with two-way audio support
  • •mixing tracks from different sources to single stream

> 标签

Goffmpeggogolanghassio

暂无评论,来聊聊你的看法吧

> 工具信息

发布日期2026年8月1日
最后更新2026年9月9日
分类编程语言
定价开源

> 相关工具

T
TypeScript
JavaScript 的超集,为前端与全栈提供静态类型
P
Python
通用编程语言,广泛用于 Web、数据与 AI
G
Go
Google 推出的简洁高效系统语言
Baike.dev

baike.dev helps you discover great languages, frameworks, databases, DevOps and cloud-native tools.

Quick links

  • Home
  • All tools
  • Trending
  • Open source

About

  • About us
  • Community
  • News

Contribute

Found a great developer tool? Share it with the community.

Submit a tool
© 2026 baike.dev Developer EncyclopediaUpdated daily · Discover great developer tools