Documentation
¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
View Source
var Commit = unknown
Commit is the corresponding Git commit
View Source
var Version = unknown
Version is the corresponding release tag
Functions ¶
This section is empty.
Types ¶
type Config ¶
type Config struct { Services ServicesConfig `yaml:"services" json:"services"` Settings SettingsConfig `yaml:"settings" json:"settings"` Storage StorageConfig `yaml:"storage" json:"storage"` }
Config defines the application's settings
type DatabaseConfig ¶
type DatabaseConfig struct { Dialect string `yaml:"-" json:"-" default:"postgres"` Host string `yaml:"host" json:"host" default:"localhost" env:"DB_HOST"` Port string `yaml:"port" json:"port" default:"5432" env:"DB_PORT"` User string `yaml:"user" json:"user" default:"postgres" env:"DB_USER"` Password string `yaml:"password" json:"password" default:"" env:"DB_PASSWORD"` Database string `yaml:"db_name" json:"db_name" default:"gilfoyle" env:"DB_NAME"` }
type EncoderSettings ¶
type EncoderSettings struct {
Renditions []Rendition `json:"renditions" yaml:"renditions"`
}
type FileSystemConfig ¶
type FileSystemConfig struct {
DataPath string `yaml:"data_path" json:"data_path" default:"/data" env:"FS_DATA_PATH"`
}
type RabbitMQConfig ¶
type RabbitMQConfig struct { Host string `yaml:"host" json:"host" default:"localhost" env:"RABBITMQ_HOST"` Port int `yaml:"port" json:"port" default:"5672" env:"RABBITMQ_PORT"` Username string `yaml:"username" json:"username" default:"guest" env:"RABBITMQ_USER"` Password string `yaml:"password" json:"password" default:"guest" env:"RABBITMQ_PASSWORD"` }
type Rendition ¶
type Rendition struct { Name string `yaml:"name" json:"name" default:"default"` Width int `yaml:"width" json:"width" default:"842"` Height int `yaml:"height" json:"height" default:"480"` VideoBitrate int `yaml:"video_bitrate" json:"video_bitrate" default:"1400000"` AudioBitrate int `yaml:"audio_bitrate" json:"audio_bitrate" default:"128000"` VideoMaxBitRate int `yaml:"video_max_bit_rate" json:"video_max_bit_rate" default:"1498000"` BufferSize int `yaml:"buffer_size" json:"buffer_size" default:"2100000"` Framerate int `yaml:"framerate" json:"framerate" default:"0"` AudioRate int `yaml:"audio_rate" json:"audio_rate" default:"48000"` VideoCodec string `yaml:"video_codec" json:"video_codec" default:"h264"` AudioCodec string `yaml:"audio_codec" json:"audio_codec" default:"aac"` TargetBandwidth uint64 `yaml:"target_bandwidth" json:"target_bandwidth" default:"1400000"` }
type S3Config ¶
type S3Config struct { Hostname string `yaml:"hostname" json:"hostname" default:"" env:"S3_HOSTNAME"` Port string `yaml:"port" json:"port" default:"" env:"S3_PORT"` AccessKeyID string `yaml:"access_key_id" json:"access_key_id" env:"S3_ACCESS_KEY_ID"` SecretAccessKey string `yaml:"secret_access_key" json:"secret_access_key" env:"S3_SECRET_ACCESS_KEY"` Region string `yaml:"region" json:"region" env:"S3_REGION"` Bucket string `yaml:"bucket" json:"bucket" env:"S3_BUCKET"` EnableSSL bool `yaml:"enable_ssl" json:"enable_ssl" default:"true" env:"S3_ENABLE_SSL"` UsePathStyle bool `yaml:"use_path_style" json:"use_path_style" default:"false" env:"S3_ENABLE_PATH_STYLE"` }
type ServicesConfig ¶
type ServicesConfig struct { DB DatabaseConfig `yaml:"db" json:"db"` RabbitMQ RabbitMQConfig `yaml:"rabbitmq" json:"rabbitmq"` }
type SettingsConfig ¶
type SettingsConfig struct { ExposeSwaggerUI bool `yaml:"expose_swagger_ui" json:"expose_swagger_ui" default:"true"` MaxFileSize int64 `yaml:"max_file_size" json:"max_file_size" default:"524288000"` Debug bool `yaml:"debug" json:"debug" default:"false" env:"APP_DEBUG"` Worker WorkerSettings `yaml:"worker" json:"worker"` Encoding EncoderSettings `yaml:"encoding" json:"encoding"` }
type StorageConfig ¶
type StorageConfig struct { Driver string `yaml:"driver" json:"driver" default:"fs" env:"STORAGE_DRIVER"` Filesystem FileSystemConfig `yaml:"fs" json:"fs"` S3 S3Config `yaml:"s3" json:"s3"` GCS GCSConfig `yaml:"gcs" json:"gcs"` }
type WorkerSettings ¶
type WorkerSettings struct {
Concurrency uint `yaml:"concurrency" json:"concurrency" default:"10" env:"WORKER_CONCURRENCY"`
}
Click to show internal directories.
Click to hide internal directories.