Documentation
¶
Index ¶
- Constants
- type AudioConfig
- type AzureConfig
- type BaseConfig
- type CPUCostConfig
- type DebugConfig
- type EncodedOutput
- type FileConfig
- type GCPConfig
- type OutputConfig
- type PipelineConfig
- func (p *PipelineConfig) GetFileConfig() *FileConfig
- func (p *PipelineConfig) GetSegmentConfig() *SegmentConfig
- func (p *PipelineConfig) GetStreamConfig() *StreamConfig
- func (p *PipelineConfig) GetWebsocketConfig() *StreamConfig
- func (p *PipelineConfig) Update(request *rpc.StartEgressRequest) error
- func (p *PipelineConfig) UpdateInfoFromSDK(identifier string, replacements map[string]string) error
- func (p *PipelineConfig) ValidateUrl(rawUrl string, outputType types.OutputType) (string, error)
- type S3Config
- type SDKSourceParams
- type SegmentConfig
- type ServiceConfig
- type SessionLimits
- type SourceConfig
- type StorageConfig
- type StreamConfig
- type UploadConfig
- type VideoConfig
- type WebSourceParams
Constants ¶
View Source
const (
TmpDir = "/home/egress/tmp"
)
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type AudioConfig ¶ added in v1.5.6
type AzureConfig ¶
type BaseConfig ¶ added in v1.5.3
type BaseConfig struct {
NodeID string // do not supply - will be overwritten
// required
Redis *redis.RedisConfig `yaml:"redis"` // redis config
ApiKey string `yaml:"api_key"` // (env LIVEKIT_API_KEY)
ApiSecret string `yaml:"api_secret"` // (env LIVEKIT_API_SECRET)
WsUrl string `yaml:"ws_url"` // (env LIVEKIT_WS_URL)
// optional
Logging logger.Config `yaml:"logging"` // logging config
TemplateBase string `yaml:"template_base"` // custom template base url
BackupStorage string `yaml:"backup_storage"` // backup file location for failed uploads
ClusterID string `yaml:"cluster_id"` // cluster this instance belongs to
StorageConfig `yaml:",inline"` // upload config (S3, Azure, GCP, or AliOSS)
SessionLimits `yaml:"session_limits"` // session duration limits
// dev/debugging
Insecure bool `yaml:"insecure"` // allow chrome to connect to an insecure websocket
Debug DebugConfig `yaml:"debug"` // create dot file on internal error
// deprecated
LogLevel string `yaml:"log_level"` // Use Logging instead
}
type CPUCostConfig ¶ added in v1.0.4
type DebugConfig ¶ added in v1.7.5
type DebugConfig struct {
EnableProfiling bool `yaml:"enable_profiling"` // create dot file and pprof on internal error
StorageConfig `yaml:",inline"` // upload config (S3, Azure, GCP, or AliOSS)
}
type EncodedOutput ¶ added in v1.5.6
type EncodedOutput interface {
GetFile() *livekit.EncodedFileOutput
GetStream() *livekit.StreamOutput
GetSegments() *livekit.SegmentedFileOutput
GetFileOutputs() []*livekit.EncodedFileOutput
GetStreamOutputs() []*livekit.StreamOutput
GetSegmentOutputs() []*livekit.SegmentedFileOutput
}
type FileConfig ¶ added in v1.7.1
type FileConfig struct {
FileInfo *livekit.FileInfo
LocalFilepath string
StorageFilepath string
DisableManifest bool
UploadConfig UploadConfig
// contains filtered or unexported fields
}
func (FileConfig) GetOutputType ¶ added in v1.7.1
func (o FileConfig) GetOutputType() types.OutputType
type OutputConfig ¶ added in v1.5.6
type OutputConfig interface {
GetOutputType() types.OutputType
}
type PipelineConfig ¶ added in v1.5.3
type PipelineConfig struct {
BaseConfig `yaml:",inline"`
HandlerID string `yaml:"handler_id"`
TmpDir string `yaml:"tmp_dir"`
SourceConfig `yaml:"-"`
AudioConfig `yaml:"-"`
VideoConfig `yaml:"-"`
Outputs map[types.EgressType]OutputConfig `yaml:"-"`
OutputCount int
StreamOnly bool
GstReady chan struct{} `yaml:"-"`
Failure chan error `yaml:"-"`
Info *livekit.EgressInfo `yaml:"-"`
}
func GetValidatedPipelineConfig ¶ added in v1.5.3
func GetValidatedPipelineConfig(conf *ServiceConfig, req *rpc.StartEgressRequest) (*PipelineConfig, error)
func NewPipelineConfig ¶ added in v1.5.3
func NewPipelineConfig(confString string, req *rpc.StartEgressRequest) (*PipelineConfig, error)
func (*PipelineConfig) GetFileConfig ¶ added in v1.7.1
func (p *PipelineConfig) GetFileConfig() *FileConfig
func (*PipelineConfig) GetSegmentConfig ¶ added in v1.7.1
func (p *PipelineConfig) GetSegmentConfig() *SegmentConfig
func (*PipelineConfig) GetStreamConfig ¶ added in v1.7.1
func (p *PipelineConfig) GetStreamConfig() *StreamConfig
func (*PipelineConfig) GetWebsocketConfig ¶ added in v1.7.1
func (p *PipelineConfig) GetWebsocketConfig() *StreamConfig
func (*PipelineConfig) Update ¶ added in v1.5.3
func (p *PipelineConfig) Update(request *rpc.StartEgressRequest) error
func (*PipelineConfig) UpdateInfoFromSDK ¶ added in v1.5.6
func (p *PipelineConfig) UpdateInfoFromSDK(identifier string, replacements map[string]string) error
used for sdk input source
func (*PipelineConfig) ValidateUrl ¶ added in v1.5.6
func (p *PipelineConfig) ValidateUrl(rawUrl string, outputType types.OutputType) (string, error)
type S3Config ¶
type S3Config struct {
AccessKey string `yaml:"access_key"` // (env AWS_ACCESS_KEY_ID)
Secret string `yaml:"secret"` // (env AWS_SECRET_ACCESS_KEY)
Region string `yaml:"region"` // (env AWS_DEFAULT_REGION)
Endpoint string `yaml:"endpoint"`
Bucket string `yaml:"bucket"`
ForcePathStyle bool `yaml:"force_path_style"`
}
type SDKSourceParams ¶ added in v1.5.6
type SDKSourceParams struct {
TrackID string
TrackSource string
TrackKind string
AudioTrackID string
VideoTrackID string
ParticipantIdentity string
AudioSrc *app.Source
VideoSrc *app.Source
AudioInCodec types.MimeType
VideoInCodec types.MimeType
AudioCodecParams webrtc.RTPCodecParameters
VideoCodecParams webrtc.RTPCodecParameters
}
type SegmentConfig ¶ added in v1.7.1
type SegmentConfig struct {
SegmentsInfo *livekit.SegmentsInfo
LocalDir string
StorageDir string
PlaylistFilename string
SegmentPrefix string
SegmentSuffix livekit.SegmentedFileSuffix
SegmentDuration int
DisableManifest bool
UploadConfig UploadConfig
// contains filtered or unexported fields
}
func (SegmentConfig) GetOutputType ¶ added in v1.7.1
func (o SegmentConfig) GetOutputType() types.OutputType
type ServiceConfig ¶ added in v1.5.3
type ServiceConfig struct {
BaseConfig `yaml:",inline"`
HealthPort int `yaml:"health_port"` // health check port
TemplatePort int `yaml:"template_port"` // room composite template server port
PrometheusPort int `yaml:"prometheus_port"` // prometheus handler port
DebugHandlerPort int `yaml:"debug_handler_port"` // egress debug handler port
CPUCostConfig `yaml:"cpu_cost"` // CPU costs for the different egress types
}
func NewServiceConfig ¶ added in v1.5.3
func NewServiceConfig(confString string) (*ServiceConfig, error)
type SessionLimits ¶ added in v1.2.0
type SourceConfig ¶ added in v1.5.6
type SourceConfig struct {
SourceType types.SourceType
Latency uint64
WebSourceParams
SDKSourceParams
}
type StorageConfig ¶ added in v1.7.5
type StorageConfig struct {
S3 *S3Config `yaml:"s3"`
Azure *AzureConfig `yaml:"azure"`
GCP *GCPConfig `yaml:"gcp"`
AliOSS *S3Config `yaml:"alioss"`
}
func (StorageConfig) ToUploadConfig ¶ added in v1.7.5
func (c StorageConfig) ToUploadConfig() UploadConfig
type StreamConfig ¶ added in v1.7.1
type StreamConfig struct {
Urls []string
StreamInfo map[string]*livekit.StreamInfo
// contains filtered or unexported fields
}
func (StreamConfig) GetOutputType ¶ added in v1.7.1
func (o StreamConfig) GetOutputType() types.OutputType
type UploadConfig ¶ added in v1.7.5
type UploadConfig interface{}
type VideoConfig ¶ added in v1.5.6
Click to show internal directories.
Click to hide internal directories.