Ingo Oppermann
3b11c84545
Remove /v1/about cluster API endpoint
2024-04-09 15:56:40 +02:00
Ingo Oppermann
487529c598
Expose general infos in cluster about, bump cluster API version to 2.0.0
2024-04-08 21:55:07 +02:00
Ingo Oppermann
29848ab9df
Enable cross compilation
2024-04-08 09:37:37 +02:00
Ingo Oppermann
7c3bc983a9
Rename lock for currentSize
2024-03-15 15:28:13 +01:00
Ingo Oppermann
91d07c6013
Replace memfs storage backend with a faster one
2024-03-15 14:48:32 +01:00
Ingo Oppermann
d14b0b9b13
Don't get always a new random string
2024-03-15 11:51:10 +01:00
Ingo Oppermann
76f79333c3
Fix typo in test name
2024-03-14 11:23:24 +01:00
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