Go 语言实现的以太坊执行层客户端,可运行全节点或归档节点,并提供 JSON-RPC 接口。
pion/webrtc
纯 Go 实现的 WebRTC API,用于构建实时音视频与数据点对点连接。
- Star
- 16,851
- Fork
- 1,912
- 未关闭 Issue
- 107
- 最近提交
- 9小时前
这是什么?
Pion WebRTC 是一个 Go 语言库,实现了 WebRTC API,让 Go 程序可以建立点对点连接,传输音频、视频和任意数据通道。它支持 PeerConnection API、重新协商、DataChannel,并同时支持 Plan-B 与 Unified Plan 的 SDP,同时包含完整的 ICE Agent,以及基于 UDP、TCP、DTLS 和 TLS 的 STUN 与 TURN。
该库完全使用 Go 编写且不依赖 Cgo,可交叉编译到 Windows、macOS、Linux、FreeBSD、iOS、Android、WebAssembly 等多个平台和架构。媒体方面提供直接的 RTP/RTCP 访问、Opus、PCM、H264、VP8、VP9 的打包器,以及 IVF、Ogg、Matroska 的读写支持,并包含 Simulcast、SVC、NACK、拥塞控制反馈和带宽估计等功能。
项目采用 MIT 许可证,适合需要在服务端或嵌入式设备上使用 WebRTC 的开发者,而不仅限于浏览器场景。
核心功能
- 01完整的 PeerConnection API,支持 DataChannel、重新协商和 Unified Plan
- 02完整的 ICE Agent,支持基于 UDP、TCP、DTLS 和 TLS 的 STUN 与 TURN
- 03纯 Go 实现且不依赖 Cgo,可编译到 Windows、macOS、Linux、iOS、Android 和 WASM
- 04提供直接的 RTP/RTCP 访问,以及 Opus、H264、VP8、VP9 打包器
- 05支持 IVF、Ogg、Matroska 格式的媒体发送与保存
- 06包含 Simulcast、SVC、NACK 和带宽估计功能
适用场景
- 将嵌入式设备上的摄像头画面实时推送到浏览器
- 向多个浏览器客户端实时发送视频文件
- 构建服务端 WebRTC 媒体处理或会议应用
- 通过 WebRTC 数据通道在两台服务器之间安全传输数据
快速上手
- 1
设置环境变量以启用 Go 模块
export GO111MODULE=on - 2
在 Go 项目中导入该库,并指定 /v4 路径
- 3
浏览示例应用,了解常见用法
使用前须知
- 必须使用 Go Modules,且当前版本的导入路径需包含 /v4。
- v4 包含破坏性变更,无法升级的用户需使用标签中的 v3 版本。
- getUserMedia 实现需要 Cgo。
标签
常见问题
- webrtc 是什么?
- 纯 Go 实现的 WebRTC API,用于构建实时音视频与数据点对点连接。 Pion WebRTC 是一个 Go 语言库,实现了 WebRTC API,让 Go 程序可以建立点对点连接,传输音频、视频和任意数据通道。它支持 PeerConnection API、重新协商、DataChannel,并同时支持 Plan-B 与 Unified Plan 的 SDP,同时包含完整的 ICE Agent,以及基于 UDP、TCP、DTLS 和 TLS 的 STUN 与 TURN。
- webrtc 可以免费使用吗?用的什么许可证?
- webrtc 以 MIT 许可证开源。用于商业产品前,请先确认许可证条款。
- webrtc 还在维护吗?
- 活跃维护中。webrtc 最近一次提交是在 2026年10月21日。
- webrtc 适合用来做什么?
- 将嵌入式设备上的摄像头画面实时推送到浏览器 向多个浏览器客户端实时发送视频文件 构建服务端 WebRTC 媒体处理或会议应用 通过 WebRTC 数据通道在两台服务器之间安全传输数据
- webrtc 怎么安装和运行?
- 设置环境变量以启用 Go 模块: export GO111MODULE=on 在 Go 项目中导入该库,并指定 /v4 路径 浏览示例应用,了解常见用法
- 在哪里获取 webrtc?
- 源代码和安装说明在 GitHub 上:https://github.com/pion/webrtc
概要由 AI 根据项目 README 生成;GitHub 数据每日更新。
相关项目
基于 Go 的开源 WebRTC SFU 服务器,用于实时音视频与数据传输,连接人与 AI 智能体。
基于 Django 和 React 构建的自托管视频与媒体内容管理系统,用于搭建视频分享门户。
一个 Go 服务的 Clean Architecture 项目模板,展示如何组织 REST、gRPC 及消息 RPC 等多种传输层的代码。
GoWA 是用 Go 编写的自托管 WhatsApp REST API,支持多账号、Webhook、MCP 和 Chatwoot 集成。
一款易用、开箱即用的终端文本编辑器,单个静态二进制文件即可运行,可视为 nano 的继任者。