Commit Graph

173 Commits

Author SHA1 Message Date
Ingo Oppermann
2a3288ffd0 Use abstract filesystem for stores 2023-02-01 16:09:20 +01:00
Ingo Oppermann
49b16f44a8 Add templates for s3 filesystems 2023-01-31 15:54:40 +01:00
Ingo Oppermann
e3d25b1bdd Add check for duplicate filesystem names 2023-01-31 15:53:48 +01:00
Ingo Oppermann
f519acfd71 Add S3 storage support 2023-01-31 14:45:58 +01:00
Ingo Oppermann
c05e16b6a0 Add tests 2023-01-24 21:04:24 +01:00
Ingo Oppermann
8c0f2ebabc Add tests 2023-01-24 16:45:28 +01:00
Ingo Oppermann
a8e86a7111 Add tests 2023-01-24 16:08:11 +01:00
Ingo Oppermann
ad3538d224 Add tests 2023-01-24 13:40:36 +01:00
Ingo Oppermann
59b7978470 Add tests 2023-01-24 11:22:31 +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
e374f83377 Fix config timestamps
created_at represents the time when the configuration has been persisted to disk.
loaded_at represents the time when the configuration has actually been used.

If created_at is larger than loaded_at, then the Core needs a reload in order
to apply the latest configuration.

if created_at is lower than laoded_at, then the Core applied the latest
configuration.

The value of updated_at is irrelevant and shouldn't be used.
2023-01-19 16:13:53 +01:00
Ingo Oppermann
311defb27c Fix /config/reload return type 2023-01-19 11:46:45 +01:00
Ingo Oppermann
f0ff3b89c1 Allow RTMP token as stream key in the path 2023-01-13 11:12:21 +01:00
Ingo Oppermann
ea79b87236 Add format annotation for integer types for swagger documentation 2023-01-11 21:05:40 +01:00
Ingo Oppermann
481cd79e6d Update swagger API documentation 2023-01-10 19:03:26 +01:00
Ingo Oppermann
1bbb7a9c1f Use config locations for import and ffmigrage 2023-01-03 11:45:10 +01:00
Ingo Oppermann
17c9f6ef13 Test different standard location for config file
If no path is given in the environment variable CORE_CONFIGFILE, different
standard locations will be probed:
- os.UserConfigDir() + /datarhei-core/config.js
- os.UserHomeDir() + /.config/datarhei-core/config.js
- ./config/config.js
If the config.js doesn't exist in any of these locations, it will be
assumed at ./config/config.js
2023-01-03 07:55:55 +01:00
Ingo Oppermann
ff6b0d9584 Require go1.19 for tests 2023-01-03 07:05:00 +01:00
Ingo Oppermann
378a3cd9cf Allow to set a soft memory limit for the binary itself
The setting debug.memory_limit_mbytes should not be used in conjuction
with debug.force_gc because the memory limit influences the garbage
collector.
2023-01-02 11:58:54 +01:00
Ingo Oppermann
992b04d180 Allow alternative syntax for auth0 tenants as environment variable 2023-01-02 11:39:58 +01:00
Ingo Oppermann
391681447e Fix MustDir config type to create directory 2023-01-02 10:54:29 +01:00
Ingo Oppermann
59aa6af767 Allow partial process config updates 2023-01-02 07:20:39 +01:00
Ingo Oppermann
c44fb30a84 Fix check for at least one process input and output 2023-01-02 06:57:02 +01:00
Ingo Oppermann
0cd8be130c Remove letsdebug module
This module has a dependency of a modules that requires cgo, that's a no-go.
2022-12-31 17:46:46 +01:00
Ingo Oppermann
65a617c2af Fix modifying DTS in RTMP packets (datarhei/restreamer#487, datarhei/restreamer#367) 2022-12-29 10:43:15 +01:00
Ingo Oppermann
8a1dc59a81 Set a default of 20ms for internal SRT latency 2022-12-27 13:46:02 +01:00
Ingo Oppermann
ee2a188be8 Allow defaults for template parameter 2022-12-27 13:41:07 +01:00
Ingo Oppermann
1a9ef8b7c9 Add Let's Debug auto TLS error diagnostic 2022-12-27 10:26:49 +01:00
Ingo Oppermann
d0262cc887 Add logging for service 2022-12-27 09:47:59 +01:00
Ingo Oppermann
18be75d013 Use new streamid format for {srt} placeholder 2022-11-22 21:25:54 +01:00
Jan Stabenow
cae5f4c973 Fix rpi build (removes armv6) 2022-11-09 15:54:58 +01:00
Jan Stabenow
b26f59fd9e Mod bump v16.11.0 2022-11-09 15:13:11 +01:00
Ingo Oppermann
0d74eeab8e Fix trying to create a backup if there's no DB 2022-11-09 13:20:34 +01:00
Ingo Oppermann
6f36f1aa51 Set new FFmpeg version in process config during migration 2022-11-09 11:35:47 +01:00
Ingo Oppermann
2936bf1e80 Fix build for ffmigrate 2022-11-09 10:46:02 +01:00
Ingo Oppermann
9ad19fbdd6 Fix reading partial config
If the config on the disk doesn't have all fields, then the missing
fields are now populated with their defaults.
2022-11-08 14:44:47 +01:00
Jan Stabenow
3c9f4b10b4 Mod updates changelog 2022-11-08 01:28:28 +01:00
Ingo Oppermann
886dc7d81a Bump version to 16.11.0 2022-11-07 12:26:15 +01:00
Jan Stabenow
490e2a03ff Mod updates image tags 2022-11-04 12:43:12 +01:00
Ingo Oppermann
8b307e4181 Use the SRT default config 2022-11-04 11:56:51 +01:00
Ingo Oppermann
c0d7a7e80a Add ffmigrate tool to run.sh 2022-11-02 22:07:38 +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
4cc82dd333 Update dependencies 2022-10-28 17:24:57 +02:00
Ingo Oppermann
4334105f95 Fix wrong status code (#6) 2022-10-28 11:10:16 +02:00
Ingo Oppermann
35c5c9f077 Add alternative streamid format for SRT
The streamid format that starts with #!: is recommended in the SRT
specs but it usually causes trouble where you're limited in the
use of such characters. Some hardware devices will not accept such
streamids.

The alternative format is simpler and has the form
[resource](,token:[token])?(,mode:[mode])?

token and mode are optional. mode can have the values "publish" or
"request". If mode is not provided, a value of "request" is
assumed.
2022-10-25 14:00:27 +02:00
Ingo Oppermann
07e2898857 Expose more SRT connection statistics 2022-10-24 15:25:14 +02:00
Ingo Oppermann
f746e581ae Add version annotation to API methods 2022-10-13 20:54:52 +02:00
Ingo Oppermann
3da25c0d91 Fix stale detection with progress patch 2022-10-13 12:20:26 +02:00