Documentation ¶
Index ¶
- Constants
- Variables
- func ValidateRequest(ctx context.Context, conf *config.Config, request *livekit.StartEgressRequest) (*livekit.EgressInfo, error)
- type AudioParams
- type EgressType
- type FileExtension
- type FileParams
- type MimeType
- type OutputType
- type Params
- type Profile
- type SegmentedFileParams
- type SourceParams
- type StreamParams
- type VideoParams
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 ¶
View Source
var ( DefaultAudioCodecs = map[OutputType]MimeType{ OutputTypeRaw: MimeTypeRaw, OutputTypeOGG: MimeTypeOpus, OutputTypeMP4: MimeTypeAAC, OutputTypeTS: MimeTypeAAC, OutputTypeWebM: MimeTypeOpus, OutputTypeRTMP: MimeTypeAAC, OutputTypeHLS: MimeTypeAAC, } DefaultVideoCodecs = map[OutputType]MimeType{ OutputTypeIVF: MimeTypeVP8, OutputTypeMP4: MimeTypeH264, OutputTypeTS: MimeTypeH264, OutputTypeWebM: MimeTypeVP8, OutputTypeRTMP: MimeTypeH264, OutputTypeHLS: MimeTypeH264, } FileExtensions = map[OutputType]FileExtension{ OutputTypeRaw: FileExtensionRaw, OutputTypeOGG: FileExtensionOGG, OutputTypeIVF: FileExtensionIVF, OutputTypeMP4: FileExtensionMP4, OutputTypeTS: FileExtensionTS, OutputTypeWebM: FileExtensionWebM, OutputTypeHLS: FileExtensionM3U8, } )
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 EgressType ¶
type EgressType string
type FileExtension ¶
type FileExtension string
type FileParams ¶
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 (*Params) GetSegmentOutputType ¶ added in v1.0.4
func (p *Params) GetSegmentOutputType() OutputType
func (*Params) UpdateOutputTypeFromCodecs ¶
used for sdk input source
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 StreamParams ¶
type StreamParams struct { WebsocketUrl string StreamUrls []string StreamInfo map[string]*livekit.StreamInfo }
Click to show internal directories.
Click to hide internal directories.