Реализация исполнительного уровня Ethereum на Go: запуск полного или архивного узла, доступ через JSON-RPC и инструменты для разработчиков.
pion/webrtc
Реализация WebRTC API на чистом Go для создания одноранговых соединений с передачей аудио, видео и данных в реальном времени.
- Звёзды
- 16,851
- Форки
- 1,912
- Открытые issues
- 107
- Последний коммит
- 9 часов назад
Что это?
Pion WebRTC — библиотека на Go, реализующая WebRTC API. Она позволяет Go-программам устанавливать одноранговые соединения для передачи аудио, видео и произвольных данных по каналам. Библиотека поддерживает API PeerConnection, включая повторное согласование, DataChannels и SDP в режимах Plan-B и Unified Plan, а также полноценный ICE-агент, STUN и TURN поверх UDP, TCP, DTLS и TLS.
Библиотека полностью написана на 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Полноценный API PeerConnection с поддержкой DataChannels, повторного согласования и Unified Plan
- 02Полноценный ICE-агент со STUN и TURN поверх UDP, TCP, DTLS и TLS
- 03Чистый Go без Cgo; сборка для Windows, macOS, Linux, iOS, Android и WASM
- 04Прямой доступ к RTP/RTCP и пакетизаторы Opus, H264, VP8 и VP9
- 05Поддержка IVF, Ogg и Matroska для отправки и сохранения медиа
- 06Simulcast, SVC, NACK и оценка пропускной способности
Сценарии использования
- Передача видео с веб-камеры в браузер с встраиваемого устройства
- Отправка видеофайлов нескольким клиентам браузера в реальном времени
- Создание серверных приложений для обработки медиаданных или видеоконференций на WebRTC
- Защищённая передача данных между двумя серверами по каналам данных WebRTC
Быстрый старт
- 1
Включите Go Modules, задав переменную окружения
export GO111MODULE=on - 2
Импортируйте библиотеку в проект Go, указав путь /v4
- 3
Посмотрите примеры приложений для распространённых сценариев использования
Что важно знать
- Go Modules обязателен, а для текущего релиза путь импорта должен включать /v4.
- Версия 4 содержит несовместимые изменения, поэтому пользователям v3 следует проверить теги предыдущего релиза.
- Для реализации getUserMedia требуется Cgo.
Темы
Частые вопросы
- Что такое webrtc?
- Реализация WebRTC API на чистом Go для создания одноранговых соединений с передачей аудио, видео и данных в реальном времени. Pion WebRTC — библиотека на Go, реализующая WebRTC API. Она позволяет Go-программам устанавливать одноранговые соединения для передачи аудио, видео и произвольных данных по каналам. Библиотека поддерживает API PeerConnection, включая повторное согласование, DataChannels и SDP в режимах Plan-B и Unified Plan, а также полноценный ICE-агент, STUN и TURN поверх UDP, TCP, DTLS и TLS.
- webrtc можно использовать бесплатно? Какая у него лицензия?
- webrtc распространяется с открытым исходным кодом под лицензией MIT. Перед использованием в коммерческих продуктах проверьте условия лицензии.
- webrtc всё ещё поддерживается?
- Активно поддерживается. Последний коммит в webrtc — 21 окт. 2026 г..
- Для чего можно использовать webrtc?
- Передача видео с веб-камеры в браузер с встраиваемого устройства Отправка видеофайлов нескольким клиентам браузера в реальном времени Создание серверных приложений для обработки медиаданных или видеоконференций на WebRTC Защищённая передача данных между двумя серверами по каналам данных WebRTC
- Как установить webrtc?
- Включите Go Modules, задав переменную окружения: export GO111MODULE=on Импортируйте библиотеку в проект Go, указав путь /v4 Посмотрите примеры приложений для распространённых сценариев использования
- Где скачать webrtc?
- Исходный код и инструкции по установке — на GitHub: https://github.com/pion/webrtc
Описание создано ИИ на основе README проекта. Статистика GitHub обновляется ежедневно.
Похожие проекты
Открытый SFU-сервер WebRTC на Go для передачи голоса, видео и данных в реальном времени — основа для связи людей и AI-агентов.
Полнофункциональная self-hosted CMS для видео и медиа на Django и React, предназначенная для запуска видеопорталов.
Шаблон проекта на Clean Architecture для Go-сервисов: примеры организации кода с REST, gRPC, AMQP RPC и NATS RPC.
GoWA — self-hosted REST API для WhatsApp на Go с поддержкой нескольких аккаунтов, вебхуков, MCP и интеграции с Chatwoot.
Современный и простой в использовании текстовый редактор для терминала, который поставляется одним статическим бинарным файлом без зависимостей и позиционируется как преемник nano.