Ethereum実行レイヤーのGo実装。フルノードまたはアーカイブノードとして稼働し、JSON-RPC APIや開発者向けツールを提供します。
pion/webrtc
リアルタイムの音声・映像・データによるP2P接続を構築するための、WebRTC APIの純粋なGo実装。
- スター
- 16,851
- フォーク
- 1,912
- 未解決の Issue
- 107
- 最終コミット
- 9 時間前
これは何?
Pion WebRTCは、WebRTC APIを実装したGoライブラリです。Goプログラムから、音声、映像、任意のデータをやり取りするP2P接続を確立できます。PeerConnection APIを網羅しており、再ネゴシエーション、DataChannels、Plan-BとUnified Planの両方のSDPに対応するほか、ICEエージェント、STUN、UDP・TCP・DTLS・TLS経由のTURNも備えています。
ライブラリはCgoを使わず、すべてGoで記述されているため、Windows、macOS、Linux、FreeBSD、iOS、Android、WebAssemblyなど、さまざまなプラットフォーム向けにクロスコンパイルできます。メディア機能として、RTP/RTCPへの直接アクセス、Opus、PCM、H264、VP8、VP9用のpacketizer、IVF、Ogg、Matroskaの読み書きをサポートしています。Simulcast、SVC、NACK、輻輳制御フィードバック、帯域幅推定などの機能も利用できます。
このプロジェクトはMITライセンスで提供されており、ブラウザだけでなく、サーバー側や組み込みデバイスでWebRTCを利用したい開発者向けに設計されています。
主な機能
- 01DataChannels、再ネゴシエーション、Unified Planに対応した完全なPeerConnection API
- 02UDP、TCP、DTLS、TLS経由のSTUNとTURNに対応する完全なICEエージェント
- 03Cgoを使わない純粋なGo実装。Windows、macOS、Linux、iOS、Android、WASM向けにビルド可能
- 04RTP/RTCPへの直接アクセスと、Opus、H264、VP8、VP9用packetizer
- 05メディアの送信と保存に使えるIVF、Ogg、Matroska対応
- 06Simulcast、SVC、NACK、帯域幅推定
ユースケース
- 組み込みデバイスからブラウザへWebカメラ映像をストリーミングする
- 動画ファイルをリアルタイムで複数のブラウザクライアントに送信する
- サーバー側のWebRTCメディア処理や会議アプリケーションを構築する
- WebRTCのデータチャネルを使って2台のサーバー間でデータを安全に転送する
クイックスタート
- 1
環境変数を設定して Go Modules を有効にする
export GO111MODULE=on - 2
インポートパスに /v4 を指定して、Go プロジェクトにライブラリをインポートする
- 3
一般的な用途について、サンプルアプリケーションを確認する
使う前に知っておきたいこと
- Go Modules は必須です。現行リリースでは、インポートパスに /v4 を含める必要があります。
- バージョン 4 には互換性を破る変更が含まれているため、v3 のユーザーは旧リリースのタグを確認してください。
- getUserMedia の実装には Cgo が必要です。
トピック
よくある質問
- webrtc とは?
- リアルタイムの音声・映像・データによるP2P接続を構築するための、WebRTC APIの純粋なGo実装。 Pion WebRTCは、WebRTC APIを実装したGoライブラリです。Goプログラムから、音声、映像、任意のデータをやり取りするP2P接続を確立できます。PeerConnection APIを網羅しており、再ネゴシエーション、DataChannels、Plan-BとUnified Planの両方のSDPに対応するほか、ICEエージェント、STUN、UDP・TCP・DTLS・TLS経由のTURNも備えています。
- webrtc は無料で使えますか?ライセンスは?
- webrtc は MIT ライセンスのオープンソースです。商用製品で使う前にライセンス条件を確認してください。
- webrtc は今もメンテナンスされていますか?
- 活発にメンテナンス中。webrtc の最終コミットは 2026年10月21日 です。
- webrtc は何に使えますか?
- 組み込みデバイスからブラウザへWebカメラ映像をストリーミングする 動画ファイルをリアルタイムで複数のブラウザクライアントに送信する サーバー側のWebRTCメディア処理や会議アプリケーションを構築する WebRTCのデータチャネルを使って2台のサーバー間でデータを安全に転送する
- webrtc のインストール方法は?
- 環境変数を設定して Go Modules を有効にする: export GO111MODULE=on インポートパスに /v4 を指定して、Go プロジェクトにライブラリをインポートする 一般的な用途について、サンプルアプリケーションを確認する
- webrtc はどこで入手できますか?
- ソースコードとインストール手順は GitHub にあります:https://github.com/pion/webrtc
概要はプロジェクトの README をもとに AI が生成しています。GitHub の数値は毎日更新されます。
関連プロジェクト
人とAIエージェントをつなぐ基盤として使える、リアルタイム音声・映像・データ向けのオープンソースGo製WebRTC SFUサーバー。
DjangoとReactで構築された、動画共有ポータル運営向けの高機能なセルフホスト型動画・メディアCMS。
REST、gRPC、AMQP RPC、NATS RPCの各トランスポートにまたがるコード構成を示す、Goサービス向けClean Architectureプロジェクトテンプレート。
GoWAは、複数アカウント、webhook、MCP、Chatwoot連携に対応した、Go製のセルフホスト型WhatsApp REST APIです。
nanoの後継として位置づけられる、依存関係のない単一の静的バイナリで提供される、モダンで使いやすいターミナルテキストエディタ。