mirror of
https://github.com/pion/webrtc.git
synced 2025-09-26 19:21:12 +08:00
@@ -19,7 +19,7 @@ When possible we leave all decisions to the user. When choice is possible (like
|
||||
If you know how to use WebRTC in your browser, you know how to use Pion WebRTC.
|
||||
We try our best just to duplicate the Javascript API, so your code can look the same everywhere.
|
||||
|
||||
If this is your first time using WebRTC, don't worry! We have multiple [examples](https://github.com/pion/webrtc/tree/master/examples) and [GoDoc](https://pkg.go.dev/github.com/pion/webrtc/v3)
|
||||
If this is your first time using WebRTC, don't worry! We have multiple [examples](https://github.com/pion/webrtc/tree/master/examples) and [GoDoc](https://pkg.go.dev/github.com/pion/webrtc/v4)
|
||||
|
||||
### Bring your own media
|
||||
Pion WebRTC doesn't make any assumptions about where your audio, video or text come from. You can use FFmpeg, GStreamer, MLT or just serve a video file.
|
||||
|
@@ -13,9 +13,9 @@
|
||||
<a href="https://github.com/pion/awesome-pion" alt="Awesome Pion"><img src="https://cdn.rawgit.com/sindresorhus/awesome/d7305f38d29fed78fa85652e3a63e154dd8e8829/media/badge.svg"></a>
|
||||
<br>
|
||||
<img alt="GitHub Workflow Status" src="https://img.shields.io/github/actions/workflow/status/pion/webrtc/test.yaml">
|
||||
<a href="https://pkg.go.dev/github.com/pion/webrtc/v3"><img src="https://pkg.go.dev/badge/github.com/pion/webrtc/v3.svg" alt="Go Reference"></a>
|
||||
<a href="https://pkg.go.dev/github.com/pion/webrtc/v4"><img src="https://pkg.go.dev/badge/github.com/pion/webrtc/v4.svg" alt="Go Reference"></a>
|
||||
<a href="https://codecov.io/gh/pion/webrtc"><img src="https://codecov.io/gh/pion/webrtc/branch/master/graph/badge.svg" alt="Coverage Status"></a>
|
||||
<a href="https://goreportcard.com/report/github.com/pion/webrtc/v3"><img src="https://goreportcard.com/badge/github.com/pion/webrtc/v3" alt="Go Report Card"></a>
|
||||
<a href="https://goreportcard.com/report/github.com/pion/webrtc/v4"><img src="https://goreportcard.com/badge/github.com/pion/webrtc/v4" alt="Go Report Card"></a>
|
||||
<a href="LICENSE"><img src="https://img.shields.io/badge/License-MIT-yellow.svg" alt="License: MIT"></a>
|
||||
</p>
|
||||
<br>
|
||||
@@ -30,7 +30,7 @@
|
||||
|
||||
**[awesome-pion](https://github.com/pion/awesome-pion)** contains projects that have used Pion, and serve as real world examples of usage.
|
||||
|
||||
**[GoDoc](https://pkg.go.dev/github.com/pion/webrtc/v3)** is an auto generated API reference. All our Public APIs are commented.
|
||||
**[GoDoc](https://pkg.go.dev/github.com/pion/webrtc/v4)** is an auto generated API reference. All our Public APIs are commented.
|
||||
|
||||
**[FAQ](https://github.com/pion/webrtc/wiki/FAQ)** has answers to common questions. If you have a question not covered please ask in [Slack](https://pion.ly/slack) we are always looking to expand it.
|
||||
|
||||
@@ -60,7 +60,7 @@ This book is vendor agnostic and will not have any Pion specific information.
|
||||
* Send/Receive audio and video
|
||||
* Renegotiation
|
||||
* Plan-B and Unified Plan
|
||||
* [SettingEngine](https://pkg.go.dev/github.com/pion/webrtc/v3#SettingEngine) for Pion specific extensions
|
||||
* [SettingEngine](https://pkg.go.dev/github.com/pion/webrtc/v4#SettingEngine) for Pion specific extensions
|
||||
|
||||
|
||||
#### Connectivity
|
||||
|
@@ -21,7 +21,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/pion/dtls/v2/pkg/crypto/fingerprint"
|
||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
||||
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||
)
|
||||
|
||||
// Certificate represents a x509Cert used to authenticate WebRTC communications.
|
||||
|
@@ -17,7 +17,7 @@ import (
|
||||
|
||||
"github.com/pion/datachannel"
|
||||
"github.com/pion/logging"
|
||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
||||
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||
)
|
||||
|
||||
const dataChannelBufferSize = math.MaxUint16 // message size limit for Chromium
|
||||
|
@@ -25,9 +25,9 @@ import (
|
||||
"github.com/pion/logging"
|
||||
"github.com/pion/rtcp"
|
||||
"github.com/pion/srtp/v3"
|
||||
"github.com/pion/webrtc/v3/internal/mux"
|
||||
"github.com/pion/webrtc/v3/internal/util"
|
||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
||||
"github.com/pion/webrtc/v4/internal/mux"
|
||||
"github.com/pion/webrtc/v4/internal/util"
|
||||
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||
)
|
||||
|
||||
// DTLSTransport allows an application access to information about the DTLS
|
||||
|
@@ -16,8 +16,8 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
"github.com/sclevine/agouti"
|
||||
)
|
||||
|
||||
|
@@ -40,7 +40,7 @@ We've made it easy to run the browser based examples on your local machine.
|
||||
|
||||
1. Build and run the example server:
|
||||
``` sh
|
||||
GO111MODULE=on go get github.com/pion/webrtc/v3
|
||||
GO111MODULE=on go get github.com/pion/webrtc/v4
|
||||
git clone https://github.com/pion/webrtc.git $GOPATH/src/github.com/pion/webrtc
|
||||
cd $GOPATH/src/github.com/pion/webrtc/examples
|
||||
go run examples.go
|
||||
|
@@ -15,7 +15,7 @@ ffmpeg -i $INPUT_FILE -g 30 -b:v 2.5M -s 1280x720 high.ivf
|
||||
### Download bandwidth-estimation-from-disk
|
||||
|
||||
```
|
||||
go get github.com/pion/webrtc/v3/examples/bandwidth-estimation-from-disk
|
||||
go get github.com/pion/webrtc/v4/examples/bandwidth-estimation-from-disk
|
||||
```
|
||||
|
||||
### Open bandwidth-estimation-from-disk example page
|
||||
|
@@ -17,10 +17,10 @@ import (
|
||||
"github.com/pion/interceptor"
|
||||
"github.com/pion/interceptor/pkg/cc"
|
||||
"github.com/pion/interceptor/pkg/gcc"
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v3/pkg/media/ivfreader"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
"github.com/pion/webrtc/v4/pkg/media/ivfreader"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@@ -7,7 +7,7 @@ This could serve as the building block to building conferencing software, and ot
|
||||
### Download broadcast
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/broadcast
|
||||
go get github.com/pion/webrtc/v4/examples/broadcast
|
||||
```
|
||||
|
||||
### Open broadcast example page
|
||||
|
@@ -14,8 +14,8 @@ import (
|
||||
|
||||
"github.com/pion/interceptor"
|
||||
"github.com/pion/interceptor/pkg/intervalpli"
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
)
|
||||
|
||||
func main() { // nolint:gocognit
|
||||
|
@@ -7,7 +7,7 @@ users to override this and process messages however they want.
|
||||
### Download custom-logger
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/custom-logger
|
||||
go get github.com/pion/webrtc/v4/examples/custom-logger
|
||||
```
|
||||
|
||||
### Run custom-logger
|
||||
|
@@ -12,7 +12,7 @@ import (
|
||||
"os"
|
||||
|
||||
"github.com/pion/logging"
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v4"
|
||||
)
|
||||
|
||||
// Everything below is the Pion WebRTC API! Thanks for using it ❤️.
|
||||
|
@@ -6,7 +6,7 @@ The example mirrors the data-channels example.
|
||||
## Install
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/data-channels-detach
|
||||
go get github.com/pion/webrtc/v4/examples/data-channels-detach
|
||||
```
|
||||
|
||||
## Usage
|
||||
|
@@ -12,9 +12,9 @@ import (
|
||||
"syscall/js"
|
||||
"time"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v4"
|
||||
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
)
|
||||
|
||||
const messageSize = 15
|
||||
|
@@ -10,8 +10,8 @@ import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
)
|
||||
|
||||
const messageSize = 15
|
||||
|
@@ -12,7 +12,7 @@ import (
|
||||
"sync/atomic"
|
||||
"time"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v4"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@@ -5,7 +5,7 @@ data-channels is a Pion WebRTC application that shows how you can send/recv Data
|
||||
### Download data-channels
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/data-channels
|
||||
go get github.com/pion/webrtc/v4/examples/data-channels
|
||||
```
|
||||
|
||||
### Open data-channels example page
|
||||
|
@@ -10,8 +10,8 @@ import (
|
||||
"fmt"
|
||||
"syscall/js"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@@ -9,8 +9,8 @@ import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@@ -10,7 +10,7 @@ import (
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v4"
|
||||
)
|
||||
|
||||
var peerConnection *webrtc.PeerConnection //nolint
|
||||
|
@@ -14,7 +14,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/pion/ice/v3"
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v4"
|
||||
)
|
||||
|
||||
var api *webrtc.API //nolint
|
||||
|
@@ -16,7 +16,7 @@ import (
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v4"
|
||||
)
|
||||
|
||||
var api *webrtc.API //nolint
|
||||
|
@@ -15,7 +15,7 @@ ffmpeg -i $INPUT_FILE -g 30 output.ivf
|
||||
### Download insertable-streams
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/insertable-streams
|
||||
go get github.com/pion/webrtc/v4/examples/insertable-streams
|
||||
```
|
||||
|
||||
### Open insertable-streams example page
|
||||
|
@@ -15,10 +15,10 @@ import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v3/pkg/media/ivfreader"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
"github.com/pion/webrtc/v4/pkg/media/ivfreader"
|
||||
)
|
||||
|
||||
const cipherKey = 0xAA
|
||||
|
@@ -10,7 +10,7 @@ In this example we have defined a simple JSON based signaling protocol.
|
||||
### Download ortc
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/ortc
|
||||
go get github.com/pion/webrtc/v4/examples/ortc
|
||||
```
|
||||
|
||||
### Run first client as offerer
|
||||
|
@@ -12,8 +12,8 @@ import (
|
||||
"fmt"
|
||||
"time"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@@ -8,12 +8,12 @@ The `answer` side acts like a HTTP server and should therefore be ran first.
|
||||
First run `answer`:
|
||||
```sh
|
||||
export GO111MODULE=on
|
||||
go install github.com/pion/webrtc/v3/examples/pion-to-pion/answer
|
||||
go install github.com/pion/webrtc/v4/examples/pion-to-pion/answer
|
||||
answer
|
||||
```
|
||||
Next, run `offer`:
|
||||
```sh
|
||||
go install github.com/pion/webrtc/v3/examples/pion-to-pion/offer
|
||||
go install github.com/pion/webrtc/v4/examples/pion-to-pion/offer
|
||||
offer
|
||||
```
|
||||
|
||||
|
@@ -4,7 +4,7 @@
|
||||
FROM golang:1.21
|
||||
|
||||
ENV GO111MODULE=on
|
||||
RUN go install github.com/pion/webrtc/v3/examples/pion-to-pion/answer@latest
|
||||
RUN go install github.com/pion/webrtc/v4/examples/pion-to-pion/answer@latest
|
||||
|
||||
CMD ["answer"]
|
||||
|
||||
|
@@ -15,8 +15,8 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
)
|
||||
|
||||
func signalCandidate(addr string, c *webrtc.ICECandidate) error {
|
||||
|
@@ -4,6 +4,6 @@
|
||||
FROM golang:1.21
|
||||
|
||||
ENV GO111MODULE=on
|
||||
RUN go install github.com/pion/webrtc/v3/examples/pion-to-pion/offer@latest
|
||||
RUN go install github.com/pion/webrtc/v4/examples/pion-to-pion/offer@latest
|
||||
|
||||
CMD ["offer"]
|
||||
|
@@ -15,8 +15,8 @@ import (
|
||||
"sync"
|
||||
"time"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
)
|
||||
|
||||
func signalCandidate(addr string, c *webrtc.ICECandidate) error {
|
||||
|
@@ -16,9 +16,9 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/pion/randutil"
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v3/pkg/media/ivfreader"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
"github.com/pion/webrtc/v4/pkg/media/ivfreader"
|
||||
)
|
||||
|
||||
var peerConnection *webrtc.PeerConnection //nolint
|
||||
|
@@ -16,7 +16,7 @@ ffmpeg -i $INPUT_FILE -c:a libopus -page_duration 20000 -vn output.ogg
|
||||
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/play-from-disk
|
||||
go get github.com/pion/webrtc/v4/examples/play-from-disk
|
||||
```
|
||||
|
||||
### Open play-from-disk example page
|
||||
|
@@ -15,11 +15,11 @@ import (
|
||||
"os"
|
||||
"time"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v3/pkg/media/ivfreader"
|
||||
"github.com/pion/webrtc/v3/pkg/media/oggreader"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
"github.com/pion/webrtc/v4/pkg/media/ivfreader"
|
||||
"github.com/pion/webrtc/v4/pkg/media/oggreader"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@@ -5,7 +5,7 @@ reflect demonstrates how with one PeerConnection you can send video to Pion and
|
||||
### Download reflect
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/reflect
|
||||
go get github.com/pion/webrtc/v4/examples/reflect
|
||||
```
|
||||
|
||||
### Open reflect example page
|
||||
|
@@ -13,8 +13,8 @@ import (
|
||||
|
||||
"github.com/pion/interceptor"
|
||||
"github.com/pion/interceptor/pkg/intervalpli"
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
)
|
||||
|
||||
// nolint:gocognit
|
||||
|
@@ -12,7 +12,7 @@ also craft messages to influence the media quality.
|
||||
### Download rtcp-processing
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/rtcp-processing
|
||||
go get github.com/pion/webrtc/v4/examples/rtcp-processing
|
||||
```
|
||||
|
||||
### Open rtcp-processing example page
|
||||
|
@@ -10,8 +10,8 @@ package main
|
||||
import (
|
||||
"fmt"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@@ -5,7 +5,7 @@ rtp-forwarder is a simple application that shows how to forward your webcam/micr
|
||||
### Download rtp-forwarder
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/rtp-forwarder
|
||||
go get github.com/pion/webrtc/v4/examples/rtp-forwarder
|
||||
```
|
||||
|
||||
### Open rtp-forwarder example page
|
||||
|
@@ -16,8 +16,8 @@ import (
|
||||
"github.com/pion/interceptor"
|
||||
"github.com/pion/interceptor/pkg/intervalpli"
|
||||
"github.com/pion/rtp"
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
)
|
||||
|
||||
type udpConn struct {
|
||||
|
@@ -7,7 +7,7 @@ With this example we have pre-made GStreamer and ffmpeg pipelines, but you can u
|
||||
### Download rtp-to-webrtc
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/rtp-to-webrtc
|
||||
go get github.com/pion/webrtc/v4/examples/rtp-to-webrtc
|
||||
```
|
||||
|
||||
### Open jsfiddle example page
|
||||
|
@@ -13,8 +13,8 @@ import (
|
||||
"io"
|
||||
"net"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
)
|
||||
|
||||
func main() {
|
||||
|
@@ -11,7 +11,7 @@ You can then send this video back to your browser using [play-from-disk](https:/
|
||||
### Download save-to-disk-av1
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/save-to-disk-av1
|
||||
go get github.com/pion/webrtc/v4/examples/save-to-disk-av1
|
||||
```
|
||||
|
||||
### Open save-to-disk-av1 example page
|
||||
|
@@ -14,10 +14,10 @@ import (
|
||||
|
||||
"github.com/pion/interceptor"
|
||||
"github.com/pion/interceptor/pkg/intervalpli"
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v3/pkg/media/ivfwriter"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
"github.com/pion/webrtc/v4/pkg/media/ivfwriter"
|
||||
)
|
||||
|
||||
func saveToDisk(i media.Writer, track *webrtc.TrackRemote) {
|
||||
|
@@ -11,7 +11,7 @@ You can then send this video back to your browser using [play-from-disk](https:/
|
||||
### Download save-to-disk
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/save-to-disk
|
||||
go get github.com/pion/webrtc/v4/examples/save-to-disk
|
||||
```
|
||||
|
||||
### Open save-to-disk example page
|
||||
|
@@ -14,11 +14,11 @@ import (
|
||||
|
||||
"github.com/pion/interceptor"
|
||||
"github.com/pion/interceptor/pkg/intervalpli"
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v3/pkg/media/ivfwriter"
|
||||
"github.com/pion/webrtc/v3/pkg/media/oggwriter"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
"github.com/pion/webrtc/v4/pkg/media/ivfwriter"
|
||||
"github.com/pion/webrtc/v4/pkg/media/oggwriter"
|
||||
)
|
||||
|
||||
func saveToDisk(i media.Writer, track *webrtc.TrackRemote) {
|
||||
|
@@ -9,7 +9,7 @@ is selected.
|
||||
### Download simulcast
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/simulcast
|
||||
go get github.com/pion/webrtc/v4/examples/simulcast
|
||||
```
|
||||
|
||||
### Open simulcast example page
|
||||
|
@@ -16,8 +16,8 @@ import (
|
||||
|
||||
"github.com/pion/interceptor"
|
||||
"github.com/pion/rtcp"
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
)
|
||||
|
||||
// nolint:gocognit
|
||||
|
@@ -8,7 +8,7 @@ during a session and why.
|
||||
### Download stats
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/stats
|
||||
go get github.com/pion/webrtc/v4/examples/stats
|
||||
```
|
||||
|
||||
### Open stats example page
|
||||
|
@@ -13,8 +13,8 @@ import (
|
||||
|
||||
"github.com/pion/interceptor"
|
||||
"github.com/pion/interceptor/pkg/stats"
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
)
|
||||
|
||||
// nolint:gocognit
|
||||
|
@@ -5,7 +5,7 @@ swap-tracks demonstrates how to swap multiple incoming tracks on a single outgoi
|
||||
### Download swap-tracks
|
||||
```
|
||||
export GO111MODULE=on
|
||||
go get github.com/pion/webrtc/v3/examples/swap-tracks
|
||||
go get github.com/pion/webrtc/v4/examples/swap-tracks
|
||||
```
|
||||
|
||||
### Open swap-tracks example page
|
||||
|
@@ -16,8 +16,8 @@ import (
|
||||
|
||||
"github.com/pion/rtcp"
|
||||
"github.com/pion/rtp"
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v3/examples/internal/signal"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"github.com/pion/webrtc/v4/examples/internal/signal"
|
||||
)
|
||||
|
||||
func main() { // nolint:gocognit
|
||||
|
@@ -10,7 +10,7 @@ import (
|
||||
"net/http"
|
||||
"time"
|
||||
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v4"
|
||||
"golang.org/x/net/websocket"
|
||||
)
|
||||
|
||||
|
@@ -17,7 +17,7 @@ import (
|
||||
|
||||
"github.com/pion/logging"
|
||||
"github.com/pion/transport/v3/vnet"
|
||||
"github.com/pion/webrtc/v3"
|
||||
"github.com/pion/webrtc/v4"
|
||||
)
|
||||
|
||||
/* VNet Configuration
|
||||
|
2
go.mod
2
go.mod
@@ -1,4 +1,4 @@
|
||||
module github.com/pion/webrtc/v3
|
||||
module github.com/pion/webrtc/v4
|
||||
|
||||
go 1.13
|
||||
|
||||
|
@@ -10,7 +10,7 @@ import (
|
||||
"encoding/json"
|
||||
|
||||
"github.com/pion/stun"
|
||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
||||
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||
)
|
||||
|
||||
// ICEServer describes a single STUN and TURN server that can be used by
|
||||
|
@@ -11,7 +11,7 @@ import (
|
||||
"testing"
|
||||
|
||||
"github.com/pion/stun"
|
||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
||||
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -15,7 +15,7 @@ import (
|
||||
|
||||
"github.com/pion/ice/v3"
|
||||
"github.com/pion/logging"
|
||||
"github.com/pion/webrtc/v3/internal/mux"
|
||||
"github.com/pion/webrtc/v4/internal/mux"
|
||||
)
|
||||
|
||||
// ICETransport allows an application access to information about the ICE
|
||||
|
@@ -17,7 +17,7 @@ import (
|
||||
mock_interceptor "github.com/pion/interceptor/pkg/mock"
|
||||
"github.com/pion/rtp"
|
||||
"github.com/pion/transport/v3/test"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -16,7 +16,7 @@ import (
|
||||
"github.com/pion/rtp"
|
||||
"github.com/pion/rtp/codecs"
|
||||
"github.com/pion/sdp/v3"
|
||||
"github.com/pion/webrtc/v3/internal/fmtp"
|
||||
"github.com/pion/webrtc/v4/internal/fmtp"
|
||||
)
|
||||
|
||||
const (
|
||||
|
@@ -12,7 +12,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/pion/transport/v3/test"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -7,7 +7,7 @@
|
||||
package webrtc
|
||||
|
||||
import (
|
||||
"github.com/pion/webrtc/v3/internal/util"
|
||||
"github.com/pion/webrtc/v4/internal/util"
|
||||
)
|
||||
|
||||
type testORTCStack struct {
|
||||
|
@@ -25,8 +25,8 @@ import (
|
||||
"github.com/pion/rtcp"
|
||||
"github.com/pion/sdp/v3"
|
||||
"github.com/pion/srtp/v3"
|
||||
"github.com/pion/webrtc/v3/internal/util"
|
||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
||||
"github.com/pion/webrtc/v4/internal/util"
|
||||
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||
)
|
||||
|
||||
// PeerConnection represents a WebRTC connection that establishes a
|
||||
|
@@ -26,8 +26,8 @@ import (
|
||||
"github.com/pion/rtp"
|
||||
"github.com/pion/transport/v3/test"
|
||||
"github.com/pion/transport/v3/vnet"
|
||||
"github.com/pion/webrtc/v3/internal/util"
|
||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
||||
"github.com/pion/webrtc/v4/internal/util"
|
||||
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -11,7 +11,7 @@ import (
|
||||
"syscall/js"
|
||||
|
||||
"github.com/pion/ice/v3"
|
||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
||||
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||
)
|
||||
|
||||
// PeerConnection represents a WebRTC connection that establishes a
|
||||
|
@@ -25,7 +25,7 @@ import (
|
||||
"github.com/pion/sdp/v3"
|
||||
"github.com/pion/transport/v3/test"
|
||||
"github.com/pion/transport/v3/vnet"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
@@ -20,9 +20,9 @@ import (
|
||||
|
||||
"github.com/pion/rtp"
|
||||
"github.com/pion/transport/v3/test"
|
||||
"github.com/pion/webrtc/v3/internal/util"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
||||
"github.com/pion/webrtc/v4/internal/util"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||
"github.com/stretchr/testify/assert"
|
||||
"github.com/stretchr/testify/require"
|
||||
)
|
||||
|
@@ -12,7 +12,7 @@ import (
|
||||
|
||||
"github.com/pion/sdp/v3"
|
||||
"github.com/pion/transport/v3/test"
|
||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
||||
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -9,7 +9,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/pion/rtp"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
)
|
||||
|
||||
// SampleBuilder buffers packets until media frames are complete.
|
||||
|
@@ -9,7 +9,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/pion/rtp"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -6,7 +6,7 @@ package webrtc
|
||||
import (
|
||||
"strings"
|
||||
|
||||
"github.com/pion/webrtc/v3/internal/fmtp"
|
||||
"github.com/pion/webrtc/v4/internal/fmtp"
|
||||
)
|
||||
|
||||
// RTPCodecType determines the type of a codec
|
||||
|
@@ -15,7 +15,7 @@ import (
|
||||
"github.com/pion/interceptor"
|
||||
"github.com/pion/rtcp"
|
||||
"github.com/pion/srtp/v3"
|
||||
"github.com/pion/webrtc/v3/internal/util"
|
||||
"github.com/pion/webrtc/v4/internal/util"
|
||||
)
|
||||
|
||||
// trackStreams maintains a mapping of RTP/RTCP streams to a specific track
|
||||
|
@@ -11,7 +11,7 @@ import (
|
||||
"testing"
|
||||
"time"
|
||||
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -12,7 +12,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/pion/transport/v3/test"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -16,7 +16,7 @@ import (
|
||||
"github.com/pion/randutil"
|
||||
"github.com/pion/rtcp"
|
||||
"github.com/pion/rtp"
|
||||
"github.com/pion/webrtc/v3/internal/util"
|
||||
"github.com/pion/webrtc/v4/internal/util"
|
||||
)
|
||||
|
||||
type trackEncoding struct {
|
||||
|
@@ -15,7 +15,7 @@ import (
|
||||
"time"
|
||||
|
||||
"github.com/pion/transport/v3/test"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -16,7 +16,7 @@ import (
|
||||
"github.com/pion/datachannel"
|
||||
"github.com/pion/logging"
|
||||
"github.com/pion/sctp"
|
||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
||||
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||
)
|
||||
|
||||
const sctpMaxChannels = uint16(65535)
|
||||
|
@@ -7,7 +7,7 @@ import (
|
||||
"fmt"
|
||||
"sync/atomic"
|
||||
|
||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
||||
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||
)
|
||||
|
||||
type stateChangeOp int
|
||||
|
@@ -6,7 +6,7 @@ package webrtc
|
||||
import (
|
||||
"testing"
|
||||
|
||||
"github.com/pion/webrtc/v3/pkg/rtcerr"
|
||||
"github.com/pion/webrtc/v4/pkg/rtcerr"
|
||||
"github.com/stretchr/testify/assert"
|
||||
)
|
||||
|
||||
|
@@ -11,8 +11,8 @@ import (
|
||||
"sync"
|
||||
|
||||
"github.com/pion/rtp"
|
||||
"github.com/pion/webrtc/v3/internal/util"
|
||||
"github.com/pion/webrtc/v3/pkg/media"
|
||||
"github.com/pion/webrtc/v4/internal/util"
|
||||
"github.com/pion/webrtc/v4/pkg/media"
|
||||
)
|
||||
|
||||
// trackBinding is a single bind for a Track
|
||||
|
Reference in New Issue
Block a user