62 Commits

Author SHA1 Message Date
Ingo Oppermann
8d2f0b2c16
Fix locking for process map 2025-07-17 16:43:37 +02:00
Ingo Oppermann
15a0f4dbc5
Expose process ID 2025-07-07 12:09:20 +02:00
Ingo Oppermann
f445d0c992
Add tee progress parsing 2025-06-19 16:11:30 +02:00
Ingo Oppermann
d5c03932b5
Validate process config before adding/updating the cluster DB 2025-05-15 11:10:10 +02:00
Ingo Oppermann
19479201b4
Fix correctly assign input and output IDs to progress data 2025-03-17 11:49:59 +01:00
Ingo Oppermann
9557f7e10a
Add IDs for disambiguation to graph elements 2025-03-12 21:08:33 +01:00
Ingo Oppermann
be9e0d4c5d
Allow to override ffmpeg binary 2025-03-03 17:13:39 +01:00
Ingo Oppermann
2dbe5b5685
Add GPU support 2024-10-24 15:08:26 +02:00
Ingo Oppermann
92decc7111
Use global buffer pool where feasible 2024-10-14 10:51:35 +02:00
Ingo Oppermann
b0e932d77a
Add avstream codec parameter 2024-09-05 13:56:22 +02:00
Ingo Oppermann
bc1b2cf76b
Add profile and level to progress IO 2024-09-05 13:44:19 +02:00
Ingo Oppermann
1a51db01ea
Add sample_fmt to API progress 2024-09-05 13:40:04 +02:00
Ingo Oppermann
879819f10f
Retrieve current process from leader, clone metadata, introduce new state 'deploying' 2024-07-22 16:58:57 +02:00
Ingo Oppermann
72883d18d4
Remove bottlenecks in process handling, still some rough edges 2024-07-18 17:16:49 +02:00
Ingo Oppermann
b9796a46f2
Add test for type conversion 2024-07-12 09:00:47 +02:00
Ingo Oppermann
cb9ce6f1dc
Fix nil pointer dereference 2024-07-11 12:33:51 +02:00
Ingo Oppermann
7e90bb87ce
Allow to import report history for a process 2024-07-10 16:46:49 +02:00
Ingo Oppermann
480dbb7f53
Refactor cluster node code 2024-07-09 12:26:02 +02:00
Ingo Oppermann
a9d6b1ec49
Add API endpoints for relocating processes 2024-06-19 15:28:30 +02:00
Ingo Oppermann
18bf51d334
Rename Initialized to Started 2024-04-15 14:46:05 +02:00
Ingo Oppermann
a6375da911
Add initialized field in progress data 2024-04-12 15:18:47 +02:00
Ingo Oppermann
74489775ca
Propagate avstream debug object as interface 2023-12-06 20:23:22 +01:00
Ingo Oppermann
5d39620f6f
Parse out avstream debug infos 2023-12-01 12:08:56 +01:00
Ingo Oppermann
a416beea08
Add stream mapping to process state, adjust addresses and indexes for HLS outputs 2023-09-26 14:52:54 +02:00
Ingo Oppermann
48cc454314
Add expose 'mode' from avstream progress 2023-09-20 20:53:50 +02:00
Ingo Oppermann
8a8ff6d4f4
Add LimitMode and Resources.CPU.IsThrottling to process state 2023-07-17 21:45:19 +02:00
Ingo Oppermann
2b58c11bb1
Fix cluster process update on metadata change 2023-06-28 16:26:36 +02:00
Ingo Oppermann
b35ac9ccc3
Allow proxied range requests, /cluster/process mimic /process 2023-06-21 13:14:27 +02:00
Ingo Oppermann
7e7d1caca7
Add EmergencyLeaderTimeout parameter, ignore throttling nodes, implement NodeRecoverTimeout, introduce processNodeMap in cluster DB 2023-06-07 22:08:07 +02:00
Ingo Oppermann
8829b8fff0
Respect domain in cluster DB, allow metadata in process config for cluster 2023-06-05 21:19:11 +02:00
Ingo Oppermann
d652fd213b
Check for identical configs on process update 2023-06-01 16:43:17 +02:00
Ingo Oppermann
a79cfa0c77
Merge branch 'clusteriam' into vod 2023-06-01 15:16:54 +02:00
Ingo Oppermann
ccac2ffd5d
Various updates
- rebrand group to domain
- move IAM to the API (rest and graph) for enforcing "process:" rules
- add abstraction layer for restream store in order to decouple internal format from format on disk
- move playout handler into restreamHandler
- remove user from restream interface
- add TaskID type that includes the process id and its domain
2023-05-23 15:47:06 +02:00
Ingo Oppermann
ead6e64442
Merge branch 'dev' into iam 2023-05-15 21:17:23 +02:00
Ingo Oppermann
4c3c8d3bd4
Merge branch 'dev' into vod 2023-05-05 12:09:54 +02:00
Ingo Oppermann
ca261a56ee
Add looping_runtime to avstream status 2023-05-05 12:03:48 +02:00
Ingo Oppermann
b723f4e5fd
Propagate number of logical CPUs in resource usage 2023-04-27 10:58:41 +02:00
Ingo Oppermann
b70382c40b
Expose resource usage in process state 2023-04-25 16:20:59 +02:00
Ingo Oppermann
3a1825cf61
Expose resource usage in report history 2023-04-25 15:55:32 +02:00
Ingo Oppermann
c1bbb4065c
Merge branch 'dev' into vod 2023-04-24 12:16:52 +02:00
Ingo Oppermann
317d6eb4d9
Add updated_at field in process infos 2023-04-24 12:05:01 +02:00
Ingo Oppermann
5d9db55032
Merge branch 'dev' into vod 2023-04-13 15:23:09 +02:00
Ingo Oppermann
d807becc8a
Add support for input framerate data from jsonstats patch 2023-04-13 15:22:33 +02:00
Ingo Oppermann
507b4f4b9a
Merge branch 'dev' into vod 2023-04-11 08:29:39 +02:00
Ingo Oppermann
7e9e6fce8d
Add number of keyframes and extradata size to process progress data 2023-04-04 20:44:57 +02:00
Ingo Oppermann
0a3117bbd0
Add log_patterns to process config
log_patterns allow to filter the FFmpeg log messages based on regular
expressions. Each entry of log_patterns is interpreted as regular
expression and matched against every non-progress log line emitted from
FFmpeg. All matching lines are returned in the matches array of the
report.
2023-03-27 15:50:25 +02:00
Ingo Oppermann
d950c45eb0
Add comment 2023-03-21 18:41:07 +01:00
Ingo Oppermann
b63b23527b
Add scheduler and timeout to processes
The scheduler allows to define when a process should run. It can be either
a timestamp in RFC3339 format or a crontab expression. If a scheduler is
given, reconnect and the reconnect delay will only apply to processes that
exited as failed.

The timeout allows to define when a process should be gracefully stopped.
It is measured from the actual start of that process including all reconnects
due to failures. If the process finished regularly, the timeout will be
reset.
2023-03-21 14:51:43 +01:00
Ingo Oppermann
1d298038dd
Add date of when a process exited in report history 2023-03-14 15:10:06 +01:00
Ingo Oppermann
0dedcddece
Add process report API 2023-03-02 11:15:57 +01:00