worker

package
v0.1.0 Latest Latest
Warning

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

Go to latest
Published: Jan 18, 2021 License: GPL-3.0 Imports: 18 Imported by: 0

Documentation

Index

Constants

View Source
const (
	VideoTranscodingQueue        string = "VideoTranscoding"
	MediaProcessingCallbackQueue string = "MediaProcessingCallbackQueue"
)

Variables

This section is empty.

Functions

func MediaProcessingCallbackProducer

func MediaProcessingCallbackProducer(ch Channel, data MediaProcessingCallbackParams) error

func VideoTranscodingProducer

func VideoTranscodingProducer(ch Channel, data VideoTranscodingParams) error

Types

type Channel

type Channel interface {
	Publish(exchange, key string, mandatory, immediate bool, msg amqp.Publishing) error
	QueueDeclare(name string, durable, autoDelete, exclusive, noWait bool, args amqp.Table) (amqp.Queue, error)
	Consume(queue, consumer string, autoAck, exclusive, noLocal, noWait bool, args amqp.Table) (<-chan amqp.Delivery, error)
}

type MediaProcessingCallbackParams

type MediaProcessingCallbackParams struct {
	MediaUUID       uuid.UUID `json:"media_uuid"`
	MediaFilesCount int       `json:"media_files_count"`
}

type Options

type Options struct {
	Host        string
	Port        int
	Username    string
	Password    string
	Concurrency uint
	Logger      logging.ILogger
	Storage     storage.Storage
	Database    *ent.Client
	Transcoder  transcoding.ITranscoder
}

type Queue

type Queue struct {
	Name       string
	Durable    bool
	AutoDelete bool
	Exclusive  bool
	NoWait     bool
	Args       amqp.Table
	Handler    func(*Worker, <-chan amqp.Delivery)
}

type VideoTranscodingParams

type VideoTranscodingParams struct {
	OriginalFile       transcoding.OriginalFile `json:"original_file"`
	MediaUUID          uuid.UUID                `json:"media_uuid"`
	RenditionName      string                   `json:"preset_name"`
	VideoWidth         int                      `json:"video_width"`
	VideoHeight        int                      `json:"video_height"`
	AudioCodec         string                   `json:"audio_codec"`
	AudioRate          int                      `json:"audio_rate"`
	VideoCodec         string                   `json:"video_codec"`
	Crf                uint32                   `json:"crf"`
	KeyframeInterval   int                      `json:"keyframe_interval"`
	HlsSegmentDuration int                      `json:"hls_segment_duration"`
	HlsPlaylistType    string                   `json:"hls_playlist_type"`
	VideoBitRate       int                      `json:"video_bit_rate"`
	VideoMaxBitRate    int                      `json:"video_max_bit_rate"`
	BufferSize         int                      `json:"buffer_size"`
	AudioBitrate       int                      `json:"audio_bitrate"`
	FrameRate          int                      `json:"frame_rate"`
	TargetBandwidth    uint64                   `json:"target_bandwidth"`
}

type Worker

type Worker struct {
	Queues map[string]amqp.Queue
	Client *amqp.Connection
	// contains filtered or unexported fields
}

func New

func New(opts Options) (*Worker, error)

func (*Worker) Close

func (w *Worker) Close() error

func (*Worker) Consume

func (w *Worker) Consume() error

func (*Worker) Init

func (w *Worker) Init() error

Jump to

Keyboard shortcuts

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