32 Commits

Author SHA1 Message Date
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