aler9
7fab9e5749
RTMP client: do not print errors in case of fragmented AAC frames
2021-04-05 19:16:40 +02:00
aler9
6077814f11
RTMP: avoid duplicate DTS
2021-04-05 18:47:00 +02:00
aler9
fb0122ba18
RTMP client: speed up video reading by 1 frame
2021-04-05 18:15:51 +02:00
aler9
7387783506
RTMP: filter out SPS, PPS and AU NALUs
2021-04-05 15:01:16 +02:00
aler9
ede82808bb
RTMP client: move writing of track info into WriteMetadata()
2021-04-05 13:35:03 +02:00
aler9
71c333177f
RTMP client: fix timeout when publishing
2021-04-05 13:23:53 +02:00
aler9
28de7aefa2
RTMP client: warn in case of decoding errors
2021-04-04 21:39:54 +02:00
aler9
f208026338
RTSP source: apply TCP timeout correctly ( #335 )
2021-04-04 19:53:58 +02:00
aler9
9287e0fe98
RTSP source: build track URLs by using Content-Base when provided by server, fixing many timeouts
2021-04-03 17:15:26 +02:00
aler9
377bb31c50
RTSP/RTMP source: fix error 'no one is publishing to path' that happens after some seconds, when sourceOnDemand is enabled ( #334 )
2021-04-03 13:40:33 +02:00
aler9
99a07c0d33
rtmp client: speed up acceptance of clients by moving handshake inside client routine
2021-04-03 12:08:07 +02:00
aler9
897322e3a6
rename rtmputils into rtmp
2021-04-03 11:39:19 +02:00
aler9
d850492ca0
tidy up rtmp
2021-04-03 11:35:45 +02:00
aler9
15f0983628
add h264 utilities
2021-04-03 11:02:06 +02:00
aler9
3bf0777ee0
tidy up rtmp
2021-04-03 10:52:59 +02:00
aler9
488b24dfe4
rtmp: fix client removal after an error
2021-04-01 19:31:57 +02:00
aler9
3636f0106a
expose path manager to clients
2021-03-31 21:46:08 +02:00
aler9
69be41d997
support RTP-Info headers with paths instead of URLs ( #250 )
2021-03-30 11:07:43 +02:00
aler9
c40fdbae7c
pprof: change capitalization
2021-03-27 12:23:19 +01:00
aler9
a57f3d04a7
add parameter pprofPort to configure the port of the pprof listener
2021-03-27 12:19:00 +01:00
aler9
fb0e900eb5
try to raise the number of file descriptors that can be opened to remove limits on number of connected clients ( #193 )
2021-03-27 11:00:39 +01:00
aler9
5856ac3de9
clientrtmp: allow inserting path in the Stream key field of OBS
2021-03-26 19:01:48 +01:00
aler9
c10faac9e5
move syslog into logger
2021-03-25 20:30:36 +01:00
aler9
10bf7bad43
support reading AAC frames bigger than 1460 bytes with RTMP ( #206 )
2021-03-24 21:35:23 +01:00
aler9
8b427ba323
support sampling rates different than 48khz when reading with RTMP
2021-03-24 19:47:05 +01:00
aler9
2382337c07
aggregate together NALUs that come from RTMP sources/clients, saving bandwidth
2021-03-24 19:40:58 +01:00
aler9
d338e04df7
readd seqnum to RTP-Info ( #233 )
2021-03-23 21:50:25 +01:00
aler9
83e51e2bf8
set correct rtptime in RTP-Info ( #233 )
2021-03-23 20:37:43 +01:00
aler9
0048a01584
add parameter disablePublisherOverride to disable publisher override ( #230 )
2021-03-22 22:15:22 +01:00
aler9
37c24f9edd
add RTP-Info also in case of RTMP sources ( #233 )
2021-03-22 21:40:42 +01:00
aler9
ce316115fa
update gortsplib
2021-03-21 11:22:49 +01:00
aler9
674a47ca24
add RTP-Info to PLAY responses in case of proxied sources ( #233 )
2021-03-20 22:09:25 +01:00
aler9
a9ff21278c
fix freeze during server shutdown
2021-03-20 18:45:20 +01:00
aler9
c979217e0d
update golangci-lint
2021-03-20 14:14:41 +01:00
aler9
508d30dc07
add RTP-Info to PLAY responses, allowing VLC to compute the elapsed time ( #233 )
2021-03-19 22:52:10 +01:00
aler9
3605b6ed2a
server*: prevent crash that happens in case of socket errors, instead print errors ( #193 )
2021-03-19 21:14:03 +01:00
aler9
201fcd4b34
clientrtmp: perform rtsp->rtmp conversion entirely inside the writer routine
2021-03-16 22:46:38 +01:00
aler9
c8a4221278
update gortsplib
2021-03-16 22:24:24 +01:00
aler9
0a807e8c99
update gortsplib
2021-03-16 14:17:13 +01:00
aler9
b0208ad044
update gortsplib
2021-03-16 11:58:26 +01:00
aler9
6e64b4be22
update gortsplib
2021-03-14 17:27:04 +01:00
Lionel Nicolas
c1862b3228
add ability to configure metrics port
...
Port could be specified by using either metricsPort config file entry or
RTSP_METRICSPORT environment variable.
2021-03-13 21:34:57 +01:00
aler9
0dff484ff5
update gortsplib
2021-03-13 21:29:15 +01:00
aler9
f19e23eaa5
enable rtmp by default; add parameters to disable rtsp and rtmp
2021-03-10 20:43:27 +01:00
aler9
09cbeae60f
fix error "frame length greater than maximum allowed" ( #229 )
2021-03-10 19:55:26 +01:00
aler9
17d0a361c8
print UDP messages only if UDP is active
2021-03-10 19:22:02 +01:00
aler9
186a91800a
Support reading with RTMP ( #218 )
2021-03-10 18:04:27 +01:00
aler9
ba6c27a49e
update gortsplib
2021-03-06 09:54:10 +01:00
aler9
6a61202459
merge serverudpl into serverrtsp
2021-03-06 09:12:05 +01:00
aler9
7cb1a2d6b9
support OBS <= 25
2021-03-05 14:46:48 +01:00
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