42 Commits

Author SHA1 Message Date
Ingo Oppermann bfe53a2461 Fix placeholder parsing 2024-03-14 12:03:04 +01:00
Ingo Oppermann ccd9a5fbc1 Fix maintaining the metadata on process config update (datarhei/restreamer#698) 2024-03-08 16:33:25 +01:00
Ingo Oppermann 8c3b570ecc Fix log transfer 2023-05-15 21:31:58 +02:00
Ingo Oppermann ca261a56ee Add looping_runtime to avstream status 2023-05-05 12:03:48 +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 061542645c Fix test 2023-04-24 12:28:42 +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 d807becc8a Add support for input framerate data from jsonstats patch 2023-04-13 15:22:33 +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 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
Ingo Oppermann 0febae3242 Return number of purged files 2022-08-18 12:00:37 +03:00
Ingo Oppermann 6802830c62 Don't use deprecated functions from io/ioutil 2022-08-18 10:27:33 +03:00
Ingo Oppermann 50deaef4d3 Wait for process to exit when stopping
If a process has some cleanup with purge-on-delete defined, the purge
has to wait until the process actually exited. Otherwise it may happen
that the process got the signal, files are purged, but the process is
still writing some files in order to exit cleanly. This would lead to
some artefacts left on the filesystem.
2022-08-17 15:13:17 +03:00
Ingo Oppermann 3e7b1751d5 Add process id and reference glob pattern matching
For the API endpoint /v3/process two new query parameter are introduced
in order to list only processes that match a pattern for the id and the
reference: idpattern and refpattern. The pattern is a glob pattern. If
patterns for both are given, the results will be intersected. If you use
other query parameters such as id or reference, they will be applied
after the result of the pattern matching.
2022-08-17 07:55:44 +03:00
Ingo Oppermann 4a1131b7c8 Fix segfault on stopping an invalid process 2022-07-08 19:48:09 +02:00
Ingo Oppermann fe420ebe28 Return empty state and report if process is invalid 2022-07-08 10:07:56 +02:00
Ingo Oppermann 337e0040c2 Fix input and output validation with tee outputs 2022-07-07 15:45:24 +02:00
Ingo Oppermann 971b8337fe Add new placeholders and parameters for placeholder 2022-07-06 19:51:47 +02:00
Jan Stabenow 5bed312e0b Fix tee_muxer input 2022-07-06 10:18:09 +02:00
Ingo Oppermann ae8f5f00a6 Fix backslash escaping in placeholder value escaping 2022-07-05 10:45:57 +02:00
Ingo Oppermann 5900b725e6 Fix linter warning 2022-07-04 20:23:36 +02:00
Ingo Oppermann a2898061b0 Add optional escape character to process placeholder
If a value for a placeholder needs escaping, add the character to
escape with an "^" to the name of the placeholder, e.g. {memfs^:}.
This will escape all occurences of ":" in the value for {memfs}
with a "\".
2022-07-04 20:20:15 +02:00
Ingo Oppermann dfcecf737a Fix validating a tee muxer address with only one output 2022-07-01 16:35:47 +02:00
Ingo Oppermann 07e72cb25c Fix wrong return status for process update 2022-07-01 16:25:52 +02:00
Ingo Oppermann 1931782638 Fix output address validation for tee outputs 2022-06-30 21:07:53 +02:00
Ingo Oppermann 1cf1b7772f Add UpdateProcess function
If PUT /process/:id is called in order to replace an existing
process config with an invalid process config, the existing
process was deleted and an 409 was returned. A subsequent GET on
the previous process would then return a 404, which is not
what you expect. The previous process needs to stay in place.
2022-06-30 19:54:25 +02:00
Ingo Oppermann 814e205ab5 Fix tests such that ffmpeg binary is not required 2022-06-24 19:47:12 +02:00
Jan Stabenow eb1cc37456 Add GoSRT & improvements (repo-merge)
Commits (Ingo Oppermann):
- Add experimental SRT connection stats and logs
- Hide /config/reload endpoint in reade-only mode
- Add SRT server
- Create v16 in go.mod
- Fix data races, tests, lint, and update dependencies
- Add trailing slash for routed directories (datarhei/restreamer#340)
- Allow relative URLs in content in static routes

Co-Authored-By: Ingo Oppermann <57445+ioppermann@users.noreply.github.com>
2022-06-23 22:13:58 +02:00
Jan Stabenow 9746248c10 Add v16.8.0 2022-06-03 17:21:52 +02:00
Jan Stabenow 9c0b535199 Add v16.7.2 2022-05-13 19:26:45 +02:00