-
Notifications
You must be signed in to change notification settings - Fork 0
/
config.yaml
175 lines (163 loc) · 5.93 KB
/
config.yaml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
156
157
158
159
160
161
162
163
164
165
166
167
168
169
170
171
172
173
174
175
# Copyright (c) 2022-2023 https://rasbora.openseawave.com
#
# This file is part of Rasbora Distributed Video Transcoding
#
# This program is free software: you can redistribute it and/or modify
# it under the terms of the GNU Affero General Public License as published by
# the Free Software Foundation, either version 3 of the License, or
# (at your option) any later version.
#
# This program is distributed in the hope that it will be useful
# but WITHOUT ANY WARRANTY; without even the implied warranty of
# MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE. See the
# GNU Affero General Public License for more details.
#
# You should have received a copy of the GNU Affero General Public License
# along with this program. If not, see <http://www.gnu.org/licenses/>.
# LICENSE
License:
Type: "community"
Key: nil
# Logging configuration
Logger:
# Unique identifier for the logger
UniqueID: "00xl-server-logger1"
# Log levels: success=1, info=2, warn=3, errors=4, debug=5
Level: [ 1, 2, 3, 4, 5 ]
# Available output types [stdout, database, file]
Output: ["stdout", "database", "file"]
# Available components [VideoTranscoding, TaskManagement, CallbackManager, SystemRadar]
Components:
# List of active components
Active: ["VideoTranscoding", "TaskManagement", "CallbackManager", "SystemRadar"]
# VideoTranscoding component configuration
VideoTranscoding:
# Unique identifier for this component
UniqueID: "00xl-server-transcoder1"
# Interval for checking new tasks (unit in seconds)
CheckNewTaskInterval: 5
# Number of retries before marking a task as failed
MakeAsFailedAfterRetry: 3
# Name of the queue associated with this component
Queue: "video_transcoder"
# Shell for executing transcoding commands
Shell: "/bin/sh"
Engine:
# Type of transcoding engine
Type: "ffmpeg"
Ffmpeg:
# Path to the FFmpeg executable
Executable: "/usr/local/bin/ffmpeg"
# Address for progress monitoring
ProgressListener: "localhost:7701"
Handlers:
# List of handlers for different scenarios
- "rasbora:/default.handler"
# Example: if you have a custom handler for GPU-accelerated transcoding
# - "custom:/etc/rasbora/handlers/gpu_nivida_h264_cudia.handler"
# TaskManagement component configuration
TaskManagement:
# Unique identifier for this component
UniqueID: "00xl-server-taskmanager1"
# Active protocol (selected "Restful")
Active: "Restful"
Protocols:
Restful:
# Address for listening to Restful requests
ListenAddress: ":3701"
# CallbackManager component configuration
CallbackManager:
# Unique identifier for this component
UniqueID: "00xl-server-callback1"
# Interval for checking new callbacks (unit in seconds)
CheckNewCallbackInterval: 25
# Number of retries before marking a callback as failed
MakeAsFailedAfterRetry: 3
# Name of the queue associated with this component
Queue: "callback_manager"
# Active protocol (selected "http")
Active: "http"
Http:
# Timeout for sending HTTP requests
SendingTimeout: 15
# SystemRadar component configuration
SystemRadar:
# Unique identifier for this component
UniqueID: "00xl-server-radar1"
# Interval for system scanning
ScanInterval: 60
# Disk to monitor
DiskStat: "/"
# Heartbeat configuration
Heartbeat:
# Unique identifier for the heartbate
UniqueID: "00xl-server-heartbate1"
# Enable or disable heartbeat
Enabled: true
# Interval for sending heartbeats
SendInterval: 60
# Available database types [Redis]
Database:
# Type of database (selected "Redis")
Type: "Redis"
# Redis database configuration
Redis:
Connection:
# Address of the Redis server
Address: "localhost:6379"
# Password for Redis (empty in this case)
Password: ""
# Index of the Redis database
DatabaseIndex: 0
Structure:
Logger: "rasbora:logs"
ControlPanel:
# Redis key for control panel users
Users: "rasbora:cp:users"
Cluster:
# Redis keys for cluster heartbeat and radar
Heartbeat: "rasbora:cluster:heartbeat"
Radar: "rasbora:system:radar"
Queue:
# Redis keys for various queue operations
Waiting: "rasbora:queue:{{name}}:waiting"
Status: "rasbora:queue:{{name}}:status"
Worker: "rasbora:queue:{{name}}:worker"
Retry: "rasbora:queue:{{name}}:retry"
Processing: "rasbora:queue:{{name}}:processing"
Items: "rasbora:queue:{{name}}:items"
Logs: "rasbora:queue:{{name}}:logs"
# Available filesystem types [ObjectStorage, LocalStorage]
Filesystem:
# Type of filesystem (selected "ObjectStorage" as main storage)
Type: "ObjectStorage"
# LocalStorage configuration
LocalStorage:
Folders:
# Rasbora logs file path
LoggerFilePath: "/tmp/rasbora.log"
# Temporary working path in the local storage
TemporaryWorkingPath: "/tmp/rasbora-workspace/"
# Path for transcoding processing logs
TranscoderProcessingLogs: "/tmp/rasbora-output/processing-logs"
# Path for transcoding output video files
TranscoderOutputVideos: "/tmp/rasbora-output/output-video-files"
# ObjectStorage configuration
ObjectStorage:
# Endpoint address for ObjectStorage
Endpoint: "localhost:9000"
# Access key for authentication
AccessKeyID: "rasbora_s3_key"
# Secret access key for authentication
SecretAccessKey: "rasbora_s3_access"
# Session token (empty in this case)
SessionToken: ""
# Indicates whether SSL is used
UseSSL: false
# Type of signature used (only "v2," "v4," "v4Streaming," "noSignature" available)
Signature: "v4"
Buckets:
# Bucket for transcoding processing logs
TranscoderProcessingLogs: "rasbora-transcoder-processing-logs"
# Bucket for transcoding output video files
TranscoderOutputVideos: "rasbora-transcoder-output-video-files"