Commit Graph

80 Commits

Author SHA1 Message Date
Alessandro Ros
053f2ec282
rename repository and executable (#1641) 2023-04-01 19:52:06 +02:00
Alessandro Ros
2dffccf9c1
update gortsplib, gohlslib (#1637) 2023-04-01 18:39:12 +02:00
Alessandro Ros
5b61983fa6
add option to set max size of outgoing UDP packets (#1588) (#1601) 2023-03-31 11:53:49 +02:00
Alessandro Ros
fb1c16d606
support reading UDP/MPEG-TS streams (#1490)
* support reading UDP/MPEG-TS streams

* support reading H265 and Opus tracks inside UDP/MPEG-TS streams

* improve timestamp precision of Opus packets
2023-03-21 11:12:43 +01:00
aler9
f1455a6e1f fix bug that prevented publishing twice to the same path (#1470) (#1469) 2023-02-14 17:34:02 +01:00
Alessandro Ros
b461f15a4c
rpicamera: support changing parameters without interrupting the stream (#1463) 2023-02-13 12:12:04 +01:00
Alessandro Ros
c778c049ce
switch to gortsplib v2 (#1301)
Fixes #1103

gortsplib/v2 supports multiple formats inside a single track (media). This allows to apply the resizing algorithm to single formats inside medias.

For instance, if a media contains a a proprietary format and an H264 format, and the latter has oversized packets, they can now be resized.
2022-12-13 20:54:17 +01:00
Alessandro Ros
8bee4af86a
api, metrics: add number of bytes received and sent from/to all entities (#1235)
* API: number of bytes received/sent from/to RTSP connections
* API: number of bytes received/sent from/to RTSP sessions
* API: number of bytes received/sent from/to RTMP connections
* API: number of bytes sent to HLS connections
* API: number of bytes received from paths
* metrics of all the above
2022-11-11 11:59:52 +01:00
aler9
83faae8a8e rename interaction functions between paths and readers / publishers
readers and publishers can now interact with paths by using:

readerAdd()
readerStart()
readerStop()

publisherAdd()
publisherStart()
publisherStop()
2022-08-22 09:39:16 +02:00
Alessandro Ros
820ba067f2 support RTMPS (#1089) 2022-08-16 18:44:31 +02:00
aler9
f5a031d72c fix deadlock when sourceOnDemand is true and source exits 2022-08-16 18:44:31 +02:00
Alessandro Ros
8c2b12a314 Add native support for the raspberry pi camera (#1057) 2022-08-16 18:44:31 +02:00
aler9
101ea25448 api: add published track list to /v1/paths/list 2022-08-15 16:56:09 +02:00
aler9
cb8aec8844 print track codecs into logs 2022-08-15 16:29:40 +02:00
aler9
3606472e82 generate RTP packets after H264 remuxing
Previously, RTP packets coming from sources other than RTSP (that
actually are RTMP and HLS) were generated before the H264 remuxing, and
that leaded to invalid streams, expecially when sourceOnDemand is true
and the stream has invalid or dynamic SPS/PPS.
2022-08-14 13:03:04 +02:00
aler9
3f0771bb31 fix variable name 2022-08-14 11:24:05 +02:00
aler9
092a2be3a8 api: add "created" field to RTSP sessions, RTMP connections, HLS muxers 2022-08-05 14:39:07 +02:00
aler9
055e08ac6c remove "on" prefix from most communication functions between components 2022-08-04 21:07:45 +02:00
aler9
7067c02030 api: return static sources in paths/list even if sourceOnDemand is true 2022-08-04 20:28:38 +02:00
aler9
6afbdf1015 add intermediate layer between path and static sources 2022-07-30 21:52:37 +02:00
aler9
8a4743fe9a hls muxer: when hlsAlwaysRemux is on, automatically recreate muxers in
case of errors
2022-07-24 13:06:09 +02:00
aler9
fb5aa7bbf2 fix bug that caused on-demand commands to be closed after 10secs (#1000) 2022-06-24 18:04:45 +02:00
aler9
e45820b2c0 hls server: show real client IPs when behind a proxy (#955) 2022-06-21 13:54:19 +02:00
aler9
9d3fd3bc37 update gortsplib 2022-06-05 01:36:29 +02:00
aler9
c5afa69174 fix regression that caused a source to be closed after 10secs when sourceOnDemand is yes (#949) 2022-05-28 13:54:04 +02:00
aler9
23ac079646 rtsp source: fix regression (#949)
This caused a periodic disconnection when sourceOnDemand is yes
2022-05-20 23:42:19 +02:00
aler9
58e3fa358e split handling of on-demand sources and on-demand publishers 2022-05-03 14:38:45 +02:00
aler9
98b3538289 fix panic that happens when publishing to a path with source = redirect (#933) 2022-05-03 11:45:47 +02:00
aler9
98c6cd4650 RTSP: automatically remux oversized RTP/H264 packets; drop parameter ReadBufferSize 2022-04-09 20:20:14 +02:00
aler9
0605a2f369 update linter 2022-04-07 13:05:07 +02:00
aler9
507afbf73d make logs more clear 2022-02-19 22:15:37 +01:00
aler9
d3bf643f77 save regexp groups in G1, G2 env variables instead of 1, 2 (#642) 2022-01-25 14:42:04 +01:00
aler9
49449eb5ad Add new parameter 'runOnReady' (#752)
This is called when a stream is ready, whether it is published or proxied.
It replaces 'runOnPublsh'.
2022-01-19 22:50:32 +01:00
aler9
8337a90b29 fix freeze when server is shut down and runOnPublish is not empty 2022-01-19 22:19:38 +01:00
aler9
8ac665be87 un-capitalize private fields 2022-01-14 23:42:41 +01:00
aler9
ed635db87e print debug log message in case of non-critical authentication errors 2021-12-22 20:13:00 +01:00
aler9
11760fd79f support external authentication (#504) (#517) 2021-12-22 19:13:56 +01:00
aler9
1617d07ba3 do not wait for external commands to exit during runtime
wait for them during shutdown.
2021-12-21 12:43:45 +01:00
aler9
84735426eb print a message when a custom command exits suddently 2021-12-08 21:23:45 +01:00
aler9
a5723c4808 fix crash 2021-12-08 21:14:03 +01:00
aler9
ebc201bda2 make regexp groups available to custom commands (#642) 2021-12-08 20:50:09 +01:00
aler9
cbd341b864 change log level of path open / close message to Debug 2021-11-15 18:04:05 +01:00
aler9
322ea55534 split API definitions between their corresponding structs 2021-11-05 17:53:24 +01:00
aler9
79e73c5cb4 api: add /v1/hlsmuxers/list endpoint 2021-11-05 17:15:46 +01:00
aler9
f801a9fa39 log the exact reason why a path is closed 2021-11-03 22:41:23 +01:00
aler9
9ab95cc603 use opened / closed instead of created / destroyed in logs 2021-11-03 22:31:02 +01:00
aler9
a867c469fd fix automatic deletion of regexp paths (#664) (#680) 2021-11-03 22:28:50 +01:00
aler9
c9c9c88ac8 update golangci-lint 2021-10-30 13:06:29 +02:00
aler9
af63360079 remove count of readers and publishers from log lines 2021-10-28 17:33:43 +02:00
aler9
ab70f946b0 unexport members of private structs 2021-10-27 21:01:00 +02:00