aler9
355c400cc8
fix reading mpegts-muxed streams with ffmpeg ( #222 )
2021-03-04 20:58:32 +01:00
aler9
b06d95eac4
fix removal of RTMP clients
2021-03-02 11:51:17 +01:00
aler9
a9385547ea
add parameter readBufferCount to support non-compliant servers or publishers ( #211 )
2021-02-18 23:26:45 +01:00
aler9
2f156b59f8
drop existing publisher when a new publisher connects ( #187 )
2021-02-15 19:02:33 +01:00
aler9
22ab4d489e
support relative fallback paths ( #201 )
2021-02-09 22:33:50 +01:00
aler9
86c718ae04
forbid usage of sourceOnDemand when source is not 'record'
2021-02-09 22:13:16 +01:00
aler9
a047fdc404
split configuration into sections
2021-02-03 09:55:11 +01:00
aler9
59e754feb1
support runOnConnect and runOnDemand with RTMP clients
2021-01-31 23:37:20 +01:00
aler9
2025fa163d
implement RTMP authentication
2021-01-31 23:11:14 +01:00
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
aler9
5db5b44471
fix generation of rtcp receiver reports
2020-11-21 15:15:28 +01:00
aler9
4f7daacdda
cleanup
2020-11-21 13:35:33 +01:00
aler9
a9dee11496
support automatic protocol selection when proxying rtsp
2020-11-21 13:34:27 +01:00
aler9
eaf115f604
drastically improve performance when reading streams with TCP
2020-11-21 11:57:38 +01:00
aler9
8e1c9a7468
add PAUSE to supported methods in OPTIONS
2020-11-19 19:20:27 +01:00
aler9
d33ab5bec6
drastically improve performance when reading streams with UDP
2020-11-19 14:02:31 +01:00
aler9
ac74c7ed95
fix freeze when proxying streams with tcp
2020-11-19 12:25:06 +01:00
aler9
fef639c94a
fix freeze when using a rtsp source
2020-11-16 09:10:46 +01:00
aler9
f63647ab1e
update gortsplib
2020-11-16 00:17:28 +01:00
aler9
cbab55af4c
update gortsplib
2020-11-15 17:56:54 +01:00
aler9
584d2c9494
allow repeated PAUSE requests ( #107 )
2020-11-11 23:10:25 +01:00
aler9
8ff33f88ab
increase rtmp analyze timeout
2020-11-11 11:07:40 +01:00
aler9
7dc72f4490
fix compilation on windows
2020-11-11 10:56:18 +01:00
aler9
db4fc43f1b
fix crash when receiving tcp streams
2020-11-09 22:42:41 +01:00
aler9
2c9e07376c
fix execution of external commands with quotes on Windows ( #113 )
2020-11-08 23:12:43 +01:00
aler9
7a3db78de4
fix creation and deletion of paths during hot reloading
2020-11-08 22:07:25 +01:00
aler9
ac032c4b54
support PAUSE method ( #107 )
2020-11-07 22:47:10 +01:00
aler9
58fe1cfe77
add docs
2020-11-05 12:37:16 +01:00
aler9
0777204b38
support proxying streams with control paths that start with '?'
2020-11-03 12:08:28 +01:00
aler9
5facab1a48
move subpackages into internal/
2020-11-01 22:56:56 +01:00