Commit Graph

270 Commits

Author SHA1 Message Date
aler9
97a9cedb1e client: fix crash that happened in case of invalid TCP frames (#348) 2021-04-24 17:21:28 +02:00
aler9
dee045f961 implement reading with HLS 2021-04-18 23:02:19 +02:00
aler9
258a6b55b1 RTSP source: fix inversion of track data that happened randomly in case of multiple tracks (#353) 2021-04-17 19:49:39 +02:00
aler9
fb0122ba18 RTMP client: speed up video reading by 1 frame 2021-04-05 18:15:51 +02:00
aler9
f208026338 RTSP source: apply TCP timeout correctly (#335) 2021-04-04 19:53:58 +02:00
aler9
90bc09c93c RTSP source: ignore non-standard keys in headers (#336) 2021-04-04 19:53:49 +02:00
aler9
5d57bd8165 speed up tests 2021-04-03 18:02:56 +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
99a07c0d33 rtmp client: speed up acceptance of clients by moving handshake inside client routine 2021-04-03 12:08:07 +02:00
aler9
8acfb5b2b1 support RTP-Infos with spaces (#333) 2021-04-02 18:13:53 +02:00
aler9
69be41d997 support RTP-Info headers with paths instead of URLs (#250) 2021-03-30 11:07:43 +02:00
aler9
64cf3a4181 rtsp client: fix channel of RTCP packets, avoiding client timeouts 2021-03-28 15:21:44 +02:00
aler9
79190f7da8 rtsp client: do not return a timeout error in case UDP packets are being received from a single track 2021-03-28 15:21:36 +02:00
aler9
2ad109a2af remove debug messages 2021-03-27 14:48:32 +01:00
aler9
d40a8bb144 client: switch to TCP if no UDP packets have been received within a timeout (#173) 2021-03-26 23:04:01 +01:00
aler9
87dd87aa49 sourcertsp: do not exit in case UDP packets are being received from a single track, improving UDP robustness 2021-03-26 12:20:48 +01:00
aler9
10bf7bad43 support reading AAC frames bigger than 1460 bytes with RTMP (#206) 2021-03-24 21:35:23 +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
37c24f9edd add RTP-Info also in case of RTMP sources (#233) 2021-03-22 21:40:42 +01:00
aler9
ad63f7d4a6 update gortsplib 2021-03-21 19:58:27 +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
508d30dc07 add RTP-Info to PLAY responses, allowing VLC to compute the elapsed time (#233) 2021-03-19 22:52:10 +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
aler9
0dff484ff5 update gortsplib 2021-03-13 21:29:15 +01:00
aler9
809ea4bcdf rewrite TestRTSPPublisherOverride (#230) 2021-03-10 18:23:30 +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
79acd8593b support some additional hikvision cameras (#227) 2021-03-05 22:19:47 +01:00
aler9
9e5b8eed03 eliminate idle load (#184) 2021-03-05 21:57:25 +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
0484e417ee send status 461 instead of error when multicast is used (#198) 2021-02-03 23:24:52 +01:00
aler9
38ec8d878d increase path and headers maximum length (#192) 2021-01-30 17:51:52 +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
9b20f53119 decrease RAM consumption 2021-01-10 12:36:39 +01:00
aler9
2cbb5ac361 decrease RAM usage by allocating TCP buffers only when needed and with a proper size 2021-01-10 12:23:49 +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
92f83da31c fix RTCP generation when using UDP 2021-01-07 13:17:51 +01:00
aler9
b588f5e9a9 fix crash 2021-01-06 23:40:08 +01:00
aler9
0cf0cd9045 fix crash 2021-01-06 22:49:16 +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
3050893d32 support hashed credentials 2020-12-31 19:47:25 +01:00
aler9
6bc240daf2 fix gstreamer tests 2020-12-17 13:24:24 +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
854f00afdc update gortsplib 2020-12-13 13:58:56 +01:00
aler9
f9e6cdcb7b rewrite client to use the new gortsplib ServerConn 2020-12-12 23:37:15 +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
a6c06d3853 support transport headers with a single port (#136) 2020-12-06 22:06:22 +01:00
aler9
6e352aca7f support SDPs with spaces in origin (#127) 2020-12-06 20:16:03 +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
f315d9c684 fix clock rate computation with standard RTP payload type (#123) 2020-11-29 16:24:38 +01:00
aler9
20ef0e842c add jitter and delay to rtcp receiver reports 2020-11-29 00:32:30 +01:00
aler9
716e2edccc support SDPs with RS bandwidth (#136) 2020-11-28 11:03:52 +01:00
aler9
46265f9d28 increase maximum length of content of RTSP requests/responses to 128k (#136) 2020-11-27 13:57:51 +01:00
aler9
c5a5c03bb2 increase udp kernel read buffer size to minimize packet losses (#124) 2020-11-25 21:14:50 +01:00
aler9
c929f3d963 make RTMP sources emit RTCP packets 2020-11-22 15:46:16 +01:00
aler9
a90ba1b4bf add number of lost packets to rtcp receiver reports 2020-11-21 15:56:13 +01:00
aler9
5db5b44471 fix generation of rtcp receiver reports 2020-11-21 15:15:28 +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
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
00678b7188 support SDPs with empty unicast address in origin (#121) 2020-11-12 11:50:51 +01:00
aler9
ba9d2a33fb support SDPS with MP2T in protocol (#120) 2020-11-11 10:40:21 +01:00
aler9
c0fc07a108 fix timeout when proxying streams from vlc rtsp server (#115) 2020-11-11 10:10:37 +01:00
aler9
3461796e40 fix crash when proxying streams with udp (#115) 2020-11-09 22:31:27 +01:00
aler9
2c9e07376c fix execution of external commands with quotes on Windows (#113) 2020-11-08 23:12:43 +01:00
aler9
b1153bbcb4 update gortsplib 2020-11-08 20:06:03 +01:00
aler9
2304dfc124 support vlc SDPs (#115) 2020-11-08 00:12:06 +01:00
aler9
ac032c4b54 support PAUSE method (#107) 2020-11-07 22:47:10 +01:00
aler9
94c55e6573 use a new, more generic, sdp unmarshaler 2020-11-05 11:18:53 +01:00
aler9
0777204b38 support proxying streams with control paths that start with '?' 2020-11-03 12:08:28 +01:00
aler9
2f5b0160ad support SDPs with global attributes in random positions 2020-11-02 20:05:19 +01:00
aler9
42fa504014 support proxing servers that redirect to other urls 2020-11-01 22:25:50 +01:00
aler9
c6c79783a8 fix error when using vlc, authentication and urls with query parameters 2020-11-01 19:41:33 +01:00
aler9
88538634e4 update gortsplib 2020-11-01 19:11:03 +01:00
aler9
e511eb4ef1 fix error when using vlc, authentication and slashes in paths 2020-10-31 15:43:08 +01:00
aler9
63c833e92e update gortsplib 2020-10-31 12:02:38 +01:00
aler9
f5ec679187 switch to go 1.15 2020-10-28 23:03:44 +01:00
aler9
dfcf80b2df update gortsplib 2020-10-25 12:50:56 +01:00
aler9
de406e1c4f update gortsplib, support unencoded symbols in urls (#100) 2020-10-25 12:13:46 +01:00
aler9
3d98bede4a implement configuration dynamic update / hot reloading (#64) 2020-10-24 19:56:27 +02:00
aler9
80f46921c9 new structure 2020-10-19 22:17:48 +02:00
aler9
113cbe602c fix timeout with some cameras by using the stream path in OPTIONS requests (https://github.com/aler9/gortsplib/issues/8) 2020-10-16 23:02:48 +02:00
aler9
2626867369 update gortsplib 2020-10-10 15:37:31 +02:00
aler9
c3f0d020bd support SDPs without timing and session attributes (#95) 2020-10-08 23:21:59 +02:00
aler9
e99463bd88 update gortsplib 2020-10-06 18:29:05 +02:00
aler9
cbea352bb1 update gortsplib 2020-10-06 13:56:58 +02:00
aler9
a9a5bc1cd7 upgrade go version 2020-10-06 09:23:20 +02:00
aler9
da237dc3c2 sourcertmp: support multichannel audio 2020-10-05 22:04:03 +02:00
aler9
aab9eaa2c7 support RTMP audio 2020-10-05 21:07:34 +02:00
aler9
a374ba748d support RTMP sources (#88) 2020-10-03 21:10:41 +02:00
aler9
bd4fc1ae8c update gortsplib 2020-09-27 15:52:48 +02:00
aler9
1a1b7142ff improve performance 2020-09-20 14:53:06 +02:00
aler9
693aa9118d move buffer handling into gortsplib 2020-09-20 14:17:36 +02:00
aler9
985d1613cd move automatic udp port selection into gortsplib 2020-09-20 11:41:05 +02:00
aler9
b7888fb413 support SONY SNC-WR630 (https://github.com/aler9/rtsp-simple-server/issues/85) 2020-09-19 14:02:24 +02:00
aler9
bb66a03f3d improve performance when publishing to the server or receiving streams in proxy mode 2020-09-18 22:43:39 +02:00
aler9
929850bfc4 update gortsplib 2020-09-13 16:44:15 +02:00
aler9
1065fa010b fix race condition when reading tcp streams 2020-09-06 16:34:18 +02:00
aler9
d71fd25916 update gortsplib 2020-09-06 13:20:22 +02:00
aler9
998c4c56d9 update gortsplib 2020-09-05 22:56:54 +02:00
aler9
8c06c9a414 support query parameteres when publishing or reading (#74) 2020-09-05 20:54:33 +02:00
aler9
79d0f2d053 move sdp code into gortsplib 2020-09-05 14:51:36 +02:00
aler9
3fca02eca3 update gortsplib 2020-09-05 13:19:55 +02:00
aler9
f18c64d11b support live reporter app (#75) 2020-09-05 12:49:33 +02:00
aler9
dd151e9978 open the firewall in case of udp connections 2020-09-02 11:22:42 +02:00
aler9
b59c5066d1 add Accept header to DESCRIBE requests 2020-08-31 15:51:24 +02:00
aler9
980989340b fix possible deadlock when communicating with clients 2020-08-31 15:31:37 +02:00
aler9
476262e02d sort keys of authorization header correctly (#69) 2020-08-29 18:51:01 +02:00
aler9
2056689560 send TEARDOWN to source when its connection closes (#63) 2020-08-29 15:21:56 +02:00
aler9
c12ae602e0 update gortsplib, fix i/o timeout when receiving udp sources (#60) 2020-08-17 18:55:03 +02:00
aler9
7a440030ad update gortsplib 2020-08-15 22:43:57 +02:00
aler9
90aa47d2a3 add metrics exporter (#37) 2020-07-30 17:31:38 +02:00
aler9
df10e8898f update gortsplib 2020-07-28 17:20:03 +02:00
aler9
efa31937c9 remove redundant stream check mechanism in case of tcp publishers 2020-07-28 15:10:33 +02:00
aler9
3a3a8594a8 move source configuration parsing into conf.go 2020-07-20 11:46:17 +02:00
aler9
25f59abfc0 update gortsplib 2020-07-19 22:40:09 +02:00
aler9
da5e001206 update gortsplib 2020-07-19 18:34:18 +02:00
aler9
45c0416fa7 use a custom sdp library to handle non-canonical sdp (#41) 2020-07-19 11:51:28 +02:00
aler9
e42b135f2c support SETUP with mode=record in uppercase (#40) 2020-07-18 13:53:24 +02:00
aler9
ce5e11f6c9 update gortsplib 2020-07-18 13:48:09 +02:00
aler9
0e5cae768c fix Play() with v4lrtspserver and TCP; fix #30 2020-07-13 17:55:04 +02:00
aler9
4df7b492c8 fix i/o timeout of proxied streams 2020-07-13 12:23:30 +02:00
aler9
d6994c4e31 update gortsplib 2020-07-13 09:45:45 +02:00
aler9
603c43b12f update gortsplib 2020-07-12 22:53:22 +02:00
aler9
7dc904a131 change sdp library 2020-07-12 17:24:12 +02:00
aler9
03f020ec33 implement rtcp receiver reports; fix #22 2020-07-12 12:34:35 +02:00
aler9
4c6f929c02 fix authenticating with vlc and login prompt 2020-07-10 11:24:57 +02:00
aler9
0c8745009e fix authentication with vlc (#28) 2020-07-09 22:59:05 +02:00
aler9
d2522f5c10 support receiving requests while receiving interleaved frames (#19) 2020-07-04 18:37:25 +02:00
aler9
331d6291be support auth headers with zero or more spaces between keys (#25) 2020-07-04 18:14:48 +02:00
aler9
0219d24e99 improve performance by using static buffers instead of make() 2020-06-27 16:19:02 +02:00
aler9
8a786b5669 support authenticating with vlc; fix #11 2020-06-14 21:44:49 +02:00
aler9
a535dab477 support zero spaces between header keys and values, support transport headers with implicit unicast; fix #9 2020-06-14 17:46:27 +02:00