Documentation ¶
Index ¶
Constants ¶
This section is empty.
Variables ¶
This section is empty.
Functions ¶
This section is empty.
Types ¶
type Auth ¶
type Auth struct { JWTEnabled bool `envconfig:"AUTH_JWT_ENABLED" default:"false"` // Indicates if JWT authentication is enabled or not JWTSecret string `envconfig:"AUTH_JWT_SECRET" default:"macilaci"` // Secret of the JWT encryption JWTMethod string `envconfig:"AUTH_JWT_METHOD" default:"secret"` // Can be "secret" or "rsa", defines the decoding method JWTPubKeyPath string `envconfig:"AUTH_JWT_PUB_PATH" default:"./key.pub"` // Path to the public RSA key }
Auth describes information regarding authentication
type Blacklist ¶
type Blacklist struct { BlacklistEnabled bool `envconfig:"BLACKLIST_ENABLED" default:"true"` // How many times a stream has to be wrong before blacklisting BlacklistLimit int `envconfig:"BLACKLIST_LIMIT" default:"25"` // How many times a stream has to be wrong before blacklisting BlacklistTime time.Duration `envconfig:"BLACKLIST_TIME" default:"1h"` // Time period for blacklist to remove lements }
Blacklist describes configuration for the blacklisting functionality
type CORS ¶
type CORS struct { Enabled bool `envconfig:"CORS_ENABLED" default:"false"` // Indicates if cors should be handled as configured or as default AllowedOrigins []string `envconfig:"CORS_ALLOWED_ORIGINS" default:""` // A list of origins a cross-domain request can be executed from. AllowCredentials bool `envconfig:"CORS_ALLOW_CREDENTIALS" default:"false"` // Indicates whether the request can include user credentials like cookies, HTTP authentication or client side SSL certificates. MaxAge int `envconfig:"CORS_MAX_AGE" default:"0"` // Indicates how long (in seconds) the results of a preflight request can be cached. }
CORS is the ptions for cross origin handling
type EndpointSetting ¶
EndpointSetting describes how a given endpoint works in the application
type EndpointYML ¶
type EndpointYML struct { Version string `yaml:"version"` Endpoints struct { Start EndpointSetting `yaml:"start"` Stop EndpointSetting `yaml:"stop"` List EndpointSetting `yaml:"list"` Static EndpointSetting `yaml:"static"` } `yaml:"endpoints"` Listen []ListenSetting `yaml:"listen"` }
EndpointYML describes the yml structure used
type ListenSetting ¶
type Process ¶
type Process struct { CleanupEnabled bool `envconfig:"CLEANUP_ENABLED" default:"true"` // Option to turn of cleanup CleanupTime time.Duration `envconfig:"CLEANUP_TIME" default:"2m0s"` // Time period between process cleaning StoreDir string `envconfig:"STORE_DIR" default:"./videos"` // Directory to store / service video chunks KeepFiles bool `envconfig:"KEEP_FILES" default:"false"` // Option for not deleting files Audio bool `envconfig:"AUDIO_ENABLED" default:"true"` // Option for enabling audio }
Process describes information regarding the transcoding process
type ProcessLogging ¶
type ProcessLogging struct { Enabled bool `envconfig:"PROCESS_LOGGING" default:"false"` // Option to set logging for transcoding processes Directory string `envconfig:"PROCESS_LOGGING_DIR" default:"/var/log/rtsp-stream"` // Directory for the logs MaxSize int `envconfig:"PROCESS_LOGGING_MAX_SIZE" default:"500"` // Maximum size of kept logging files in megabytes MaxBackups int `envconfig:"PROCESS_LOGGING_MAX_BACKUPS" default:"3"` // Maximum number of old log files to retain MaxAge int `envconfig:"PROCESS_LOGGING_MAX_AGE" default:"7"` // Maximum number of days to retain an old log file. Compress bool `envconfig:"PROCESS_LOGGING_COMPRESS" default:"true"` // Indicates if the log rotation should compress the log files }
ProcessLogging describes information about the logging mechanism of the transcoding FFMPEG process
type Specification ¶
type Specification struct { Debug bool `envconfig:"DEBUG" default:"false"` // Indicates if debug log should be enabled or not Port int `envconfig:"PORT" default:"8080"` // Port that the application listens on CORS Blacklist Auth Process ProcessLogging EndpointYML }
Specification describes the application context settings
Click to show internal directories.
Click to hide internal directories.