Alessandro Ros
e1f5d06612
allow changing record parameters without disconnecting readers ( #4663 ) ( #5018 )
2025-09-23 10:31:05 +02:00
Alessandro Ros
e3b8af8933
switch to gortsplib/v5 ( #4978 )
2025-09-16 13:10:34 +02:00
Alessandro Ros
d423a71aaa
update linter settings ( #4790 )
2025-07-26 16:44:32 +02:00
Alessandro Ros
0b901ade3e
remove PathManager.StartPublisher and StopPublisher ( #4766 )
...
simplify path manager usage.
2025-07-21 13:52:55 +02:00
Alessandro Ros
9ddcbf5c97
recorder: limit maximum part size ( #4674 ) ( #4760 )
...
this prevents RAM exhaustion.
2025-07-20 19:16:33 +02:00
Alessandro Ros
1083eea307
make RTP packet size compatible with RTSP/SRTP ( #4692 )
...
when RTSP encryption is enabled, maximum RTP packet size is slightly
decreased to make room for SRTP.
2025-07-05 15:42:58 +02:00
Alessandro Ros
bf9cd328a9
rpi: fix RTP packet size ( #4691 )
...
UDP max payload size was not applied.
2025-07-05 15:31:28 +02:00
Alessandro Ros
defee1eed9
hls: fix toggling hlsAlwaysRemux after server is started ( #4503 )
...
When hlsAlwaysRemux was switched from false to true, through API or hot
reloading, muxers of existing paths were not created. This fixes the
issue.
2025-05-09 22:50:11 +02:00
Alessandro Ros
8ce49727d6
rpi: support exposing a secondary stream from the same camera ( #4426 )
2025-04-14 11:56:08 +02:00
Alessandro Ros
14f1daa02a
move static source handler into dedicated package ( #4427 )
2025-04-13 21:35:12 +02:00
Alessandro Ros
986e270862
count and log all discarded frames, decode errors, lost packets ( #4363 )
...
Discarded frames, decode errors and lost packets were logged
individually, then there was a mechanism that prevented more than 1 log
entry per second from being printed, resulting in inaccurate reports.
Now discarded frames, decode errors and lost packets are accurately
counted, and their count is printed once every second.
2025-03-25 21:59:58 +01:00
Alessandro Ros
b329c4bbe8
replace New* with Initialize() ( #4345 )
2025-03-16 15:34:53 +01:00
Alessandro Ros
371b9585a6
change error message when stream is not found ( #4301 )
...
Switch from 'no one is publishing to path' to 'no stream is available
on path' since the stream might be provided from a static source too.
2025-03-03 18:09:22 +01:00
Alessandro Ros
d822c2a200
rtsp: support using relative URLs in sourceRedirect ( #4260 )
2025-02-18 15:23:07 +01:00
Alessandro Ros
b49acb1e00
accept durations expressed as days (i.e. '1d') ( #4094 )
2025-01-02 12:44:15 +01:00
Alessandro Ros
4c3ac34425
fix memory leak in case of errors during initialization of a reader ( #3831 )
2024-10-05 00:49:44 +02:00
Alessandro Ros
73a300afd0
fix cleaning of recordings in case of multiple recordDeleteAfter values ( #3557 ) ( #3741 )
2024-09-08 20:33:18 +02:00
Alessandro Ros
65d90f7cc6
allow using MTX_QUERY inside source ( #3486 )
...
this allows to pass query parameters to sources, for instance:
source: rtsp://my_host/my_path?$MTX_QUERY
sourceOnDemand: true
2024-06-18 22:10:26 +02:00
Alessandro Ros
3eabe6ac54
expose MTX_SEGMENT_DURATION to runOnRecordSegmentComplete ( #3440 ) ( #2983 ) ( #3456 )
...
* improve tests
* add duration to OnSegmentComplete
* expose MTX_SEGMENT_DURATION to runOnRecordSegmentComplete
* add tests
2024-06-11 18:30:40 +02:00
Alessandro Ros
95f1f79b35
api: fix crash when changing settings of an on-demand source that is idle ( #3246 ) ( #3249 )
2024-04-15 17:44:54 +02:00
Alessandro Ros
1ae3240b91
hls: fix crash when muxer is being recreated, improve performance ( #3017 )
2024-02-13 23:32:15 +01:00
Alessandro Ros
b6eaa6bc18
move test utilities into 'test' ( #3016 )
...
* move test utilities into 'test'
* rename newEmptyTimer into emptyTimer
2024-02-13 18:49:27 +01:00
Alessandro Ros
57c2d5aecb
add playback server ( #2452 ) ( #2906 )
...
* add playback server
* add playback switch
* update readme
2024-01-23 20:52:05 +01:00
Alessandro Ros
514036d41a
treat different RTSP formats as different tracks in logs and API ( #2907 )
2024-01-15 12:08:14 +01:00
Alessandro Ros
7437ee7a09
update golangci-lint ( #2868 )
2024-01-03 21:13:20 +01:00
Alessandro Ros
1341421412
move api, metrics and pprof into dedicated packages ( #2843 )
2023-12-26 13:41:15 +01:00
Alessandro Ros
0c131a2e92
rpi: pass log level to libcamera ( #2617 ) ( #2811 )
2023-12-15 12:10:16 +01:00
Alessandro Ros
d261bfe773
support static sources in paths with regular expressions ( #824 ) ( #2799 )
...
This allows to proxy requests to other servers by using regular
expressions.
2023-12-10 21:23:41 +01:00
Alessandro Ros
11988249df
move servers into internal/servers ( #2792 )
2023-12-08 19:17:17 +01:00
Alessandro Ros
20123fd5b9
record: rename segmentPath into path ( #2777 )
2023-12-02 15:35:21 +01:00
Alessandro Ros
7c8e593b0b
record: normalize decoding and encoding of segment paths ( #2775 )
2023-12-02 15:15:17 +01:00
Alessandro Ros
ce45498769
move hooks into dedicated package ( #2746 )
2023-11-26 22:06:07 +01:00
Alessandro Ros
7a1e155531
update dependencies ( #2687 )
2023-11-13 00:09:42 +01:00
Alessandro Ros
687d8685ef
webrtc: improve connectivity mechanism ( #2686 )
2023-11-12 23:55:28 +01:00
Dr. Ralf S. Engelschall
4bf0d10079
metrics: add paths_bytes_sent, srt_conns, srt_conns_bytes_received, srt_conns_bytes_sent ( #2620 ) ( #2619 ) ( #2629 )
...
* add missing Prometheus exports (#2620 , #2619 ):
paths_bytes_sent, srt_conns, srt_conns_bytes_received, srt_conns_bytes_sent
* protect Stream.BytesSent()
* add tests
---------
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2023-11-08 11:20:16 +01:00
Alessandro Ros
813611057d
add runOnUnDemand hook ( #2645 )
2023-11-04 13:07:51 +01:00
Alessandro Ros
4f876ed207
fix crash when publishing to a path with 'runOnDemand' from outside 'runOnDemand' ( #2636 ) ( #2637 )
2023-11-03 16:54:25 +01:00
Alessandro Ros
43d41c070b
move static sources into dedicated package ( #2616 )
2023-10-31 14:19:04 +01:00
Alessandro Ros
3ebc585539
restart recordings in case of errors ( #2439 ) ( #2571 )
2023-10-26 21:40:44 +02:00
Alessandro Ros
3a5bb06e26
add environment variable MTX_QUERY to some hooks ( #2483 ) ( #2522 )
2023-10-18 11:50:26 +02:00
Alessandro Ros
95ab9375c7
support recording to MPEG-TS ( #2505 )
2023-10-14 22:52:10 +02:00
Alessandro Ros
4ec12a6c8b
add runOnRecordSegmentCreate hook ( #2451 ) ( #2503 )
2023-10-14 16:48:02 +02:00
Alessandro Ros
8a633d2b79
allow setting different recording parameters for each path ( #2410 ) ( #2457 )
2023-10-07 23:48:37 +02:00
Alessandro Ros
9a01ab7fd5
allow changing default path settings; bump API in order to allow so ( #2455 )
2023-10-07 23:32:15 +02:00
Alessandro Ros
eb975027b2
add runOnRecordSegmentComplete and rclone integration ( #2404 ) ( #2428 )
2023-09-29 18:24:10 +02:00
Alessandro Ros
442a48363c
allow to start/stop recording without disconnecting clients ( #2395 ) ( #2434 )
2023-09-28 19:39:56 +02:00
Alessandro Ros
64d9060560
add additional environment variables to custom commands ( #1414 ) ( #2356 )
...
new variables: MTX_CONN_TYPE, MTX_CONN_ID, MTX_SOURCE_TYPE, MTX_SOURCE_ID, MTX_READER_TYPE, MTX_READ_ID
2023-09-16 21:41:49 +02:00
Alessandro Ros
ed77560811
add runOnDisconnect, runOnNotReady, runOnUnread ( #1464 ) ( #2355 )
2023-09-16 19:21:48 +02:00
Alessandro Ros
73ddb21e63
implement native recording ( #1399 ) ( #2255 )
...
* implement native recording (#1399 )
* support saving VP9 tracks
* support saving MPEG-1 audio tracks
* switch segment when codec parameters change
* allow to disable recording on a path basis
* allow disabling recording cleaner
* support recording MPEG-1/2/4 video tracks
* add microseconds to file names
* add tests
2023-09-16 17:27:07 +02:00
Alessandro Ros
f07886db5f
print the reason why a source is started or stopped ( #2322 )
lint / code (push) Has been cancelled
lint / mod-tidy (push) Has been cancelled
lint / apidocs (push) Has been cancelled
test / test64 (push) Has been cancelled
test / test32 (push) Has been cancelled
test / test_highlevel (push) Has been cancelled
2023-09-09 23:37:56 +02:00