681 Commits

Author SHA1 Message Date
Ingo Oppermann
e001f663b3
Rename RestreamHandler to ProcessHandler 2024-03-14 11:21:07 +01:00
Ingo Oppermann
a77edb8b78
Add concurrency benchmark for memfs 2024-03-14 11:19:16 +01:00
Ingo Oppermann
0e5c5f52c5
Add lock for accessing files map 2024-03-14 11:18:45 +01:00
Ingo Oppermann
709fb4ba85
Fix warning about unused param 2024-03-14 11:17:50 +01:00
Ingo Oppermann
f6bba7c571
Fix placeholder parsing 2024-03-14 11:15:10 +01:00
Ingo Oppermann
d716ff37cb
Fix potential panic when using random number generator concurrently 2024-03-13 16:34:33 +01:00
Ingo Oppermann
727c358921
Add filesystem access via cluster node 2024-03-13 15:11:20 +01:00
Ingo Oppermann
5ba18569e9
Use referrer host for remote 2024-03-11 14:47:09 +01:00
Ingo Oppermann
ebcde477eb
Update migration tool for ffmpeg version 6 2024-03-01 12:40:02 +01:00
Ingo Oppermann
4f4fb64279
Add migrating to ffmpeg 6 2024-03-01 12:21:50 +01:00
Ingo Oppermann
aaec24b898
Fix accessing RTMP stream without token or streamkey for anonymous users 2024-02-29 14:30:24 +01:00
Ingo Oppermann
2514feec23
Allow SRT v4 handshake clients 2024-02-12 14:42:49 +01:00
Ingo Oppermann
4410804a3b
URL decode streamid if encoded 2024-02-12 14:34:25 +01:00
Ingo Oppermann
ab66c37ded
Fix emitting log message if a non-existing resource should be played 2024-02-12 14:33:14 +01:00
Ingo Oppermann
cf5192977b
Fix extracting domain from path 2024-02-12 10:52:03 +01:00
Ingo Oppermann
de1818a6b0
Fix missing process data if process has been deleted meanwhile 2024-02-08 12:11:59 +01:00
Ingo Oppermann
88605a1f1e
Put child processes in their own session
The core can be gracefully shutdown by sending a SIGINT to its process.
However, this signal is also propagated to all child processes, i.e. the
forked ffmpeg processes. They will also be stopped and might reconnect.
This is not wanted. The core has to stop these processes.

The child process will now get their own session ID with setsid() before
replacing themselves with ffmpeg. This way they will not receive a SIGINT
that was meant only for the parent.
2023-12-12 21:29:12 +01:00
Ingo Oppermann
3af049785c
Reorder shutdown sequence 2023-12-12 21:26:59 +01:00
Ingo Oppermann
a330ea6e7f
Stop all processes in parallel for fast shutdown 2023-12-12 20:59:01 +01:00
Ingo Oppermann
74489775ca
Propagate avstream debug object as interface 2023-12-06 20:23:22 +01:00
Ingo Oppermann
910794d831
Ignore range request on m3u8 rewrite
If a m3u8 is requested with a range request and gets rewritten, e.g.
adding the sessionid, the announced content-range may not correspond
to the content-length. In this cases the range request is ignored
and the full m3u8 will be returned.
2023-12-06 14:30:42 +01:00
Ingo Oppermann
b43fd64dce
Fix test 2023-12-04 16:54:38 +01:00
Ingo Oppermann
68cb1b1bda
Allow negative persist interval in order to avoid collecting and storing session history 2023-12-04 16:18:07 +01:00
Ingo Oppermann
5d39620f6f
Parse out avstream debug infos 2023-12-01 12:08:56 +01:00
Ingo Oppermann
92f2f34688
Create only available fields in token 2023-11-29 10:32:47 +01:00
Ingo Oppermann
2c47ab77d2
Add missing implementation for GET /api/v3/cluster/fs/{storage} 2023-11-27 12:51:14 +01:00
Ingo Oppermann
a817cd37b4
Fix panic when reloading IAM policies 2023-11-27 12:03:27 +01:00
Ingo Oppermann
a651f6d58a
Bump version to 16.18.1 2023-11-20 20:59:21 +01:00
Ingo Oppermann
0457d16391
Fix return proper error message instead of empty m3u8 2023-11-16 11:39:00 +01:00
Ingo Oppermann
728e4c6ab4
Use unnamed return value 2023-11-16 11:37:03 +01:00
Ingo Oppermann
3d17c3f71a
Expose caller in events 2023-11-16 11:32:55 +01:00
Ingo Oppermann
8d63cafda0
Ignore self if in list of peers 2023-11-15 10:11:07 +01:00
Ingo Oppermann
0863d8b6ff
Bump version to 16.18.0 2023-11-13 16:48:43 +01:00
Ingo Oppermann
85204b1788
Fix session log loss if session closes before latest log file split 2023-11-02 20:23:25 +01:00
Ingo Oppermann
5b81e6e23f
Add metrics collector for HTTP status codes 2023-09-29 17:18:59 +02:00
Ingo Oppermann
40495e5ef0
Bump version to 16.17.0 2023-09-26 15:05:16 +02: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
ab7c9e448b
Add parser for ffmpeg and HLS stream mapping 2023-09-26 11:40:48 +02:00
Ingo Oppermann
d2016fff70
Add extra session info for SRT 2023-09-21 16:06:27 +02:00
Ingo Oppermann
8653ceeba9
Add extra session info for RTMP 2023-09-21 15:50:35 +02:00
Ingo Oppermann
c7979efb07
Cancel SRT/RTMP session immediately on disconnect 2023-09-21 15:09:19 +02:00
Ingo Oppermann
477243a38e
Fix clean shutdown with docker kill
By using "docker kill" to stop the core it will bluntly stop the core. A
graceful shutdown will be be performed because it sends SIGKILL which
cannot be trapped.

The "docker kill --signal SIGINT" command should be used instead, but
this requires that the core is root process in the image. The run.sh
shell script process has to be replaced by the core process, otherwise
the SIGINT will not reach the core.
2023-09-21 14:01:28 +02:00
Ingo Oppermann
63714dec87
Add test for slow storage 2023-09-21 14:00:22 +02:00
Ingo Oppermann
24be6a4bc5
Fix erroring out on defect session history file
Instead of throwing an error and refusing to register a collector
the defect history file is renamed and the session history is
started from scratch.
2023-09-21 10:31:05 +02:00
Ingo Oppermann
9ece518525
Update core client 2023-09-21 00:18:40 +02:00
Ingo Oppermann
48cc454314
Add expose 'mode' from avstream progress 2023-09-20 20:53:50 +02:00
Ingo Oppermann
20f7a5cefa
Fix config value test 2023-09-20 20:30:27 +02:00
Ingo Oppermann
2167895bb5
Add storage.memory.backup.dir and storage.memory.backup.patterns
It is now possible to create a backup of the contents of memfs before
the core is shutdown. Provide the path where to write the files and
a list of glob patterns for files to be written to disk. Use the
pattern "**" for all files. During start of the core the backuped
files will be written back to memfs.
2023-09-20 17:57:51 +02:00
Ingo Oppermann
a7cd4f4e50
Convert old resource format to types and resource 2023-09-18 21:12:04 +02:00
Ingo Oppermann
ad2a50df6f
Separate resource type and resource for IAM policies 2023-09-18 17:11:09 +02:00