Commit Graph

70 Commits

Author SHA1 Message Date
aler9
3bcead121d add a RTMP server that allows to publish legacy streams (#132) 2021-01-31 21:42:27 +01:00
aler9
50880bf07b rename client into clientrtsp 2021-01-31 17:06:34 +01:00
aler9
f9a7ad7eca add serverrtmp 2021-01-31 16:58:57 +01:00
aler9
17c22577c9 split sourcertmp and rtmpinfo 2021-01-31 16:44:32 +01:00
aler9
f03ff73ef3 add read timeout to RTMP sources 2021-01-31 16:24:58 +01:00
aler9
da9d6df706 merge serverplain and servertls into serverrtsp 2021-01-31 13:19:44 +01:00
aler9
b30dbc1315 start runOnDemand even with clients that don't send DESCRIBE (#155) 2021-01-31 12:23:54 +01:00
aler9
40f2d5cd09 cleanup 2021-01-30 22:06:02 +01:00
aler9
49ac52ff67 speed up RTMP sources 2021-01-30 21:19:50 +01:00
aler9
2b4d22589c move configuration tests into internal/conf 2021-01-30 17:49:10 +01:00
aler9
cc703fe5c5 support clients that don't specify track ID, like tvheadend (#155) 2021-01-20 22:25:47 +01:00
aler9
6b1643940e support encrypting the configuration file 2021-01-16 15:43:56 +01:00
aler9
903842484e apply listenIP to metrics and pprof too 2021-01-15 18:58:45 +01:00
aler9
9b052f1cdc metrics: avoid sprintf 2021-01-15 18:50:31 +01:00
aler9
3b04ba36c3 add parameter listenIP to listen on a specific IP/interface (#166) 2021-01-15 18:42:53 +01:00
aler9
205284829d confwatcher: add additional tests 2021-01-13 21:57:09 +01:00
aler9
8e97f4ff61 confwatcher: fail if configuration file doesn't exist 2021-01-13 21:57:09 +01:00
Florian Vallée
f5dc53e0f2 improve config file watcher to support k8s configmap reloads
The config file watcher assumed a simple configuration where the
existing configuration file is overwritten by a text editor.

In practice this does not detect some more complex configuration change
scenarios such as :
* The configuration file is behind a symlink and the symlink is updated
* The configuration file is behind a double symlink (k8s configmap
  update)
* The configuration file is not updated but removed the re-created

In order to fix these cases :
* Watch the configuration file parent directory instead of the file
itself, this lets us grab events event if the file was removed and a new
file is used.
* In addition to read/write event matching, watch for any change in
the configuration file path. This handles the symlink case where the
file itself hasn't changed but its location did

v2:
- apply gofmt
2021-01-13 21:57:09 +01:00
aler9
05e835e48c confwatcher: add tests 2021-01-13 20:48:57 +01:00
aler9
97305af272 new parameter readBufferCount 2021-01-10 12:55:53 +01:00
aler9
e5364b1fc6 perform frame readings and writings in separate routines, in order to increase UDP throughput and avoid freezes caused by a single laggy reader (#125) (#162) 2021-01-09 23:04:23 +01:00
aler9
d590805cda move RTCP receivers into gortsplib 2021-01-06 22:31:08 +01:00
aler9
2132226f90 move client state and client tracks into gortsplib 2021-01-06 21:23:45 +01:00
aler9
9fb844331e move UDP support into gortsplib 2021-01-06 12:40:18 +01:00
aler9
818307ff54 forbid usage of publishUser, publishPass, publishIps when source is not 'record' 2020-12-31 21:50:18 +01:00
aler9
3050893d32 support hashed credentials 2020-12-31 19:47:25 +01:00
aler9
ad195a6bd0 use 'strict' instead of 'yes' in the 'encryption' parameter 2020-12-20 12:51:04 +01:00
aler9
939dda01d0 support 'false' and 'true' values of 'encryption' parameter (#160) 2020-12-19 20:04:17 +01:00
aler9
b3e9249158 fix PAUSE with UDP (#157)" 2020-12-16 22:31:32 +01:00
aler9
19fec814fa fix possible freeze 2020-12-16 12:15:36 +01:00
aler9
9887abc51a fix freeze 2020-12-15 21:25:40 +01:00
aler9
5e32a526e5 support proxying rtsps streams 2020-12-14 23:32:24 +01:00
aler9
ccb8b92bfb implement RTSPS (#77) 2020-12-13 23:51:44 +01:00
aler9
d83aa880cc add anti-brute force mechanism 2020-12-13 18:59:46 +01:00
aler9
854f00afdc update gortsplib 2020-12-13 13:58:56 +01:00
aler9
40c2eb3da2 forbid runOnPublish when source is not record (#143) 2020-12-13 00:18:40 +01:00
aler9
f9e6cdcb7b rewrite client to use the new gortsplib ServerConn 2020-12-12 23:37:15 +01:00
aler9
692b236c6c update linter settings 2020-12-08 12:37:31 +01:00
aler9
74b592b211 implement log levels; print requests and responses when log level is "debug" (#116) 2020-12-08 12:21:06 +01:00
aler9
18fe2d057c print a warn message when the configuration file is not found 2020-12-06 22:29:56 +01:00
aler9
cce08c12b6 fix crash when using publishIp or readIp (#142) 2020-12-06 21:16:04 +01:00
aler9
286d837d9e update gortsplib 2020-12-06 18:01:10 +01:00
aler9
19440f2486 switch to golangci-lint 2020-12-05 20:42:59 +01:00
aler9
b883240639 update gortsplib 2020-11-30 15:21:01 +01:00
aler9
20ef0e842c add jitter and delay to rtcp receiver reports 2020-11-29 00:32:30 +01:00
aler9
0f11dd5c71 fix hot reloading of configuration on macOS and with text editors that deletes and recreates the configuration file 2020-11-26 21:44:16 +01:00
aler9
e0845a0af8 remove redundant buffer 2020-11-25 21:29:49 +01:00
aler9
c5a5c03bb2 increase udp kernel read buffer size to minimize packet losses (#124) 2020-11-25 21:14:50 +01:00
aler9
bed42ab2b6 allow calling PLAY twice (#128) 2020-11-24 23:46:36 +01:00
aler9
c929f3d963 make RTMP sources emit RTCP packets 2020-11-22 15:46:16 +01:00