70 Commits

Author SHA1 Message Date
Ingo Oppermann
0c497f4ea5
Merge branch 'dev' into vod 2023-04-26 10:08:18 +02:00
Ingo Oppermann
e45f80ed42
Fix tests 2023-04-26 09:50:09 +02:00
Ingo Oppermann
a2dab2682f
Fix not propagating process limits 2023-04-26 09:49:28 +02:00
Ingo Oppermann
2f9a997a8d
Add test for process limits 2023-04-25 21:59:22 +02:00
Ingo Oppermann
9b17ab2b29
Add global limits in config, fix not using process limits 2023-04-25 21:49:55 +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
3e7e5d5c9c
Merge branch 'dev' into vod 2023-04-24 16:14:32 +02:00
Ingo Oppermann
061542645c
Fix test 2023-04-24 12:28:42 +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
6ddd58a124
Preserve process log history when updating a process 2023-04-24 11:59:09 +02:00
Ingo Oppermann
2b1459c5e8
Fix test 2023-04-17 15:24:39 +02:00
Ingo Oppermann
78686c81f4
Fix keeping matches in the report history 2023-04-17 15:03:25 +02:00
Ingo Oppermann
76abf5474f
Fix compilation error 2023-04-13 15:43:59 +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
b96672e308
Forward keyframe and extradata_bytes counter to API 2023-04-11 08:59:24 +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
31a60598ee
Fix test 2023-04-03 10:57:43 +02:00
Ingo Oppermann
75332ade0a
Merge branch 'dev' into vod 2023-04-03 10:25:06 +02:00
Ingo Oppermann
4e7b84dd96
Fix tests 2023-03-28 14:31:43 +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
99c571d623
Add event filter support 2023-03-23 14:50:59 +01: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
ecfbbe3857
Allow to list files by ranges of size and/or lastmod
The listing options are implemented by the query parameters size_min,
size_max, lastmod_start, and lastmod_end, or by the new ListOptions
type. size_min and size_max expect a number of bytes, lastmod_start
and lastmod_end expect a unix timestamp. All values are inclusive.
2023-03-17 15:15:20 +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
e434716fb2
Fix tests 2023-03-03 18:53:09 +01:00
Ingo Oppermann
81473e6adb
Fix placeholder parameter parsing 2023-03-03 17:26:59 +01:00
Ingo Oppermann
175cfc2324
Fix using prefix syntax for filesystem operations 2023-03-03 16:18:46 +01:00
Ingo Oppermann
eb3f396793
Remove debug printf, add tests 2023-03-02 21:04:37 +01:00
Ingo Oppermann
0dedcddece
Add process report API 2023-03-02 11:15:57 +01:00
Ingo Oppermann
cceb39192a
Fix receiving proper current command args, simplifying retrieval of last log line 2023-03-01 20:13:49 +01:00
Ingo Oppermann
3151670829
Add descriptions to functions 2023-03-01 15:48:52 +01:00
Ingo Oppermann
86b3c053f1
Add exit state and last progress data to process report history 2023-03-01 15:28:28 +01:00
Ingo Oppermann
3cad139952
Create directories for output files to be written on disk 2023-03-01 11:08:20 +01:00
Ingo Oppermann
be718eac0a
Add support for date placeholder in process config
Because it doesn't make sense to replace the date placeholder at
process creation, it has to be replaced at every start of the process.

On process creation only the static placeholders (such as process ID)
are replaced. Dynamic placeholders (so far only "date") are not
replaced. On process start, a callback has been introduced that gives
the chance to change the command line. This is the point where
the restreamer replaces the date placeholders.
2023-02-28 17:46:08 +01:00
Ingo Oppermann
2a3288ffd0
Use abstract filesystem for stores 2023-02-01 16:09:20 +01:00
Ingo Oppermann
f519acfd71
Add S3 storage support 2023-01-31 14:45:58 +01:00
Ingo Oppermann
b2cd8f7133
Allow probe with individual timeout 2023-01-23 17:09:55 +01:00
Ingo Oppermann
505fbff03f
Add tests 2023-01-23 11:42:17 +01:00
Ingo Oppermann
0147651de6
Extend placeholders
1. Allow variables in placeholders for parameter values, e.g.
   {rtmp,name=$processid}. The variable starts with a $ letter.
   The recognized variables are provided with the Replace func.

2. The template func recieves the process config and the name of
   the section where this placeholder is located, i.e. "global",
   "input", or "output".
2023-01-20 13:38:33 +01:00
Ingo Oppermann
ee2a188be8
Allow defaults for template parameter 2022-12-27 13:41:07 +01:00
Ingo Oppermann
dfc81ac38f
Add ffmpeg migration tool, annotate process config with ffmpeg version constraint 2022-11-02 22:02:39 +01:00
Ingo Oppermann
54dd24a5c0
Fix API metadata endpoint responses 2022-09-29 10:44:21 +02:00
Ingo Oppermann
f1d71c202b
Fix HLS streaming and cleanup on diskfs 2022-09-08 15:00:09 +02:00
Ingo Oppermann
f1141d1ad9
Fix assigning cleanup rules for diskfs 2022-08-26 08:17:17 +03:00
Ingo Oppermann
45fa1c4498
Fix intersection of search results 2022-08-19 12:37:53 +03:00