Media-over-QUIC is a streaming protocol built upon cutting edge protocols (QUIC, HTTP3) and browser APIs (WebTransport, WebCodecs). It's slightly faster than WebRTC, has an advanced data recovery mechanism (placed at the frame level and not at the packet level), it supports additional codecs (FLAC) and is less complicated to route.
35 lines
873 B
Go
35 lines
873 B
Go
package auth
|
|
|
|
import (
|
|
"net"
|
|
|
|
"github.com/bluenviron/mediamtx/internal/conf"
|
|
"github.com/google/uuid"
|
|
)
|
|
|
|
// Protocol is a protocol.
|
|
type Protocol string
|
|
|
|
// protocols.
|
|
const (
|
|
ProtocolRTSP Protocol = "rtsp"
|
|
ProtocolRTMP Protocol = "rtmp"
|
|
ProtocolHLS Protocol = "hls"
|
|
ProtocolWebRTC Protocol = "webrtc"
|
|
ProtocolSRT Protocol = "srt"
|
|
ProtocolMoQ Protocol = "moq"
|
|
)
|
|
|
|
// Request is an authentication request.
|
|
type Request struct {
|
|
Action conf.AuthAction
|
|
Path string // only for ActionPublish, ActionRead, ActionPlayback
|
|
Query string
|
|
Protocol Protocol // only for ActionPublish, ActionRead
|
|
ID *uuid.UUID // only for ActionPublish, ActionRead
|
|
UserAgent string
|
|
Credentials *Credentials
|
|
IP net.IP
|
|
CustomVerifyFunc func(expectedUser string, expectedPass string) bool
|
|
}
|