params

package
v1.0.5 Latest Latest
Warning

This package is not in the latest version of its module.

Go to latest
Published: Jun 24, 2022 License: Apache-2.0 Imports: 13 Imported by: 0

Documentation

Index

Constants

View Source
const (
	// input types
	MimeTypeAAC  MimeType = "audio/aac"
	MimeTypeOpus MimeType = "audio/opus"
	MimeTypeRaw  MimeType = "audio/x-raw"
	MimeTypeH264 MimeType = "video/h264"
	MimeTypeVP8  MimeType = "video/vp8"

	// video profiles
	ProfileBaseline Profile = "baseline"
	ProfileMain     Profile = "main"
	ProfileHigh     Profile = "high"

	// egress types
	EgressTypeStream        EgressType = "stream"
	EgressTypeWebsocket     EgressType = "websocket"
	EgressTypeFile          EgressType = "file"
	EgressTypeSegmentedFile EgressType = "segments"

	// output types
	OutputTypeRaw  OutputType = "audio/x-raw"
	OutputTypeOGG  OutputType = "audio/ogg"
	OutputTypeIVF  OutputType = "video/x-ivf"
	OutputTypeMP4  OutputType = "video/mp4"
	OutputTypeTS   OutputType = "video/mp2t"
	OutputTypeWebM OutputType = "video/webm"
	OutputTypeRTMP OutputType = "rtmp"
	OutputTypeHLS  OutputType = "application/x-mpegurl"

	// file extensions
	FileExtensionRaw  = ".raw"
	FileExtensionOGG  = ".ogg"
	FileExtensionIVF  = ".ivf"
	FileExtensionMP4  = ".mp4"
	FileExtensionTS   = ".ts"
	FileExtensionWebM = ".webm"
	FileExtensionM3U8 = ".m3u8"
)

Variables

Functions

func ValidateRequest added in v1.0.5

func ValidateRequest(ctx context.Context, conf *config.Config, request *livekit.StartEgressRequest) (*livekit.EgressInfo, error)

Types

type AudioParams

type AudioParams struct {
	AudioEnabled   bool
	AudioCodec     MimeType
	AudioBitrate   int32
	AudioFrequency int32
}

type EgressType

type EgressType string

type FileExtension

type FileExtension string

type FileParams

type FileParams struct {
	FileInfo *livekit.FileInfo
	Filename string
	Filepath string
}

type MimeType

type MimeType string

type OutputType

type OutputType string

type Params

type Params struct {
	Logger   logger.Logger
	Info     *livekit.EgressInfo
	GstReady chan struct{}

	SourceParams
	AudioParams
	VideoParams

	EgressType
	OutputType

	MutedChan chan bool
	StreamParams
	FileParams
	SegmentedFileParams

	FileUpload interface{}
	// contains filtered or unexported fields
}

func GetPipelineParams

func GetPipelineParams(ctx context.Context, conf *config.Config, request *livekit.StartEgressRequest) (*Params, error)

func (*Params) GetSegmentOutputType added in v1.0.4

func (p *Params) GetSegmentOutputType() OutputType

func (*Params) UpdateOutputTypeFromCodecs

func (p *Params) UpdateOutputTypeFromCodecs(fileIdentifier string) error

used for sdk input source

func (*Params) VerifyUrl

func (p *Params) VerifyUrl(url string) error

type Profile

type Profile string

type SegmentedFileParams added in v1.0.4

type SegmentedFileParams struct {
	SegmentsInfo     *livekit.SegmentsInfo
	LocalFilePrefix  string
	TargetDirectory  string
	PlaylistFilename string
	SegmentDuration  int
}

func (*SegmentedFileParams) GetTargetPathForFilename added in v1.0.4

func (p *SegmentedFileParams) GetTargetPathForFilename(filename string) string

type SourceParams

type SourceParams struct {
	// source
	RoomName     string
	Token        string
	LKUrl        string
	TemplateBase string
	IsWebSource  bool

	// web source
	Display        string
	Layout         string
	CustomBase     string
	CustomInputURL string

	// sdk source
	TrackID      string
	AudioTrackID string
	VideoTrackID string
}

type StreamParams

type StreamParams struct {
	WebsocketUrl string
	StreamUrls   []string
	StreamInfo   map[string]*livekit.StreamInfo
}

type VideoParams

type VideoParams struct {
	VideoEnabled bool
	VideoCodec   MimeType
	VideoProfile Profile
	Width        int32
	Height       int32
	Depth        int32
	Framerate    int32
	VideoBitrate int32
}

Jump to

Keyboard shortcuts

? : This menu
/ : Search site
f or F : Jump to
y or Y : Canonical URL