Commit Graph

60 Commits

Author SHA1 Message Date
Alessandro Ros
6107dea9a0 add RTSP-over-WebSocket (#891) (#898) 2025-09-17 21:30:11 +02:00
Alessandro Ros
ec81d388d1 switch to v5 (#890)
* switch from v4 to v5

* remove deprecated entities

* remove "2" suffix from entities

* rename TransportProtocol into Protocol
2025-09-16 11:46:52 +02:00
Alessandro Ros
ead4471b5c support RTSP-over-HTTP (#433) (#768) (#887) 2025-09-15 19:00:50 +02:00
Alessandro Ros
0e674daa7b client: remove automatic SNI support (#888)
SNI support should be enabled by properly filling TLSConfig.
2025-09-15 15:54:37 +02:00
Alessandro Ros
1021950db8 update linter settings (#840) 2025-07-26 16:28:03 +02:00
Alessandro Ros
9c1011567a client: add Start2; deprecate Start (#801) 2025-07-05 13:02:45 +02:00
Alessandro Ros
616fa7ea89 support encrypted streams with SRTP and MIKEY (#520) (#809) 2025-07-05 12:48:13 +02:00
Alessandro Ros
885a9975ef rename auth.Validate into auth.Verify (#698) 2025-02-14 11:34:55 +01:00
Kevin Wang
21e06b0f68 Support relative Content-Base paths (#636) 2024-10-23 22:22:41 +02:00
Alessandro Ros
3f62e11795 simplify usage of auth.Validate (#557) 2024-05-03 22:42:50 +02:00
Alessandro Ros
363b48e632 update golangci-lint (#554) 2024-04-28 18:20:25 +02:00
Alessandro Ros
01b3bfc6ab move url.URL into base.URL (#459) 2023-11-07 16:51:45 +01:00
Alessandro Ros
7632ae5615 client: support receiving responses with spaces in CSeq (#437) (#446) 2023-10-22 13:58:12 +02:00
Alessandro Ros
ed4bbe3986 client: support server-sent requests (#93) (#378) 2023-08-24 16:07:09 +02:00
aler9
cdbecb1f5d allow setting additional properties of streams through description.Stream 2023-08-22 16:46:18 +02:00
aler9
ca87733ded remove suffix from new functions 2023-08-16 13:26:17 +02:00
aler9
80106144e6 bump to v4 2023-08-16 13:26:17 +02:00
aler9
8ef42a27e9 restore API compatibility 2023-07-31 10:07:25 +02:00
aler9
8b8b52e689 return an error in case the random number generator fails 2023-07-30 22:40:34 +02:00
Alessandro Ros
37dc292ee5 client: support URLs with IPv6 and no port (#313) (#316) 2023-06-17 11:45:05 +02:00
Alessandro Ros
7c67221494 auth: add Validate() and deprecate Validator{} (#272) 2023-05-07 19:34:20 +02:00
Alessandro Ros
1694d9086d use normalized trackID in place of mediaUUID (#226)
This is needed to support clients like the Grandstream GXV3500.

Fixes #190
2023-04-07 12:38:10 +02:00
Alessandro Ros
04f5a4041c change owner (#217) 2023-03-31 12:34:07 +02:00
Alessandro Ros
1ad059a80b server: use absolute RTSP URL as control attribute (#210)
this is necessary in order to make GStreamer's rtspsrc to send query parameters correctly in SETUP requests.
2023-03-24 10:54:14 +01:00
aler9
e3f21fc59f client: send TEARDOWN even when PLAY or RECORD have not been sent yet 2023-01-19 10:31:28 +01:00
Alessandro Ros
ae9dac0ad3 use random UUIDs as media IDs (#163)
* remove Medias.Clone(), Media.Clone(), Format.Clone()

* server: use random UUIDs as media IDs

* client: use random UUIDs as media IDs
2022-12-22 20:32:28 +01:00
aler9
46cbb885b7 improve coverage 2022-12-11 23:40:01 +01:00
Alessandro Ros
a1396206b5 convert Tracks into Medias and Formats (#155)
* split tracks from medias

* move tracks into dedicated package

* move media into dedicated package

* edit Medias.Marshal() in order to return SDP

* add medias.Find() and simplify examples

* improve coverage

* fix rebase errors

* replace TrackIDs with MediaIDs

* implement media-specific and track-specific callbacks for reading RTCP and RTP packets

* rename publish into record, read into play

* add v2 tag

* rename tracks into formats
2022-12-11 22:03:22 +01:00
Alessandro Ros
51b8063325 rtph264: return error in decoder if packetization-mode is 2 (#153) 2022-11-14 21:23:13 +01:00
aler9
d9d6227906 client: simplify usage of Setup() 2022-11-01 09:58:08 +01:00
aler9
27f8015ac6 simplify usage of Conn 2022-08-15 00:10:21 +02:00
aler9
06bed24dd9 add intermediate layer between net.Conn and client / server 2022-08-14 23:43:01 +02:00
aler9
f3b0fc69b4 rename Read / Write into Unmarshal / Marshal when needed
Read() / Write() are used to read / write from streams, while
Unmarshal() / Marshal() are used to decode / encode from / to bytes.
2022-06-27 17:27:16 +02:00
aler9
9f4fea8a01 change track initialization method 2022-06-23 13:13:36 +02:00
aler9
2fa3148a27 move URL into dedicated folder 2022-06-05 01:27:19 +02:00
aler9
c1b10a80be allow writing primitives to static buffers 2022-05-11 15:26:44 +02:00
aler9
edeef85e9e accept io.Writer in Write() methods 2022-05-08 14:33:29 +02:00
aler9
bfe4e8cdaa automatically remux oversized RTP/H264 packets; drop parameter ReadBufferSize 2022-04-09 20:16:14 +02:00
aler9
bc9be686d9 client: call Options() automatically 2022-02-19 22:51:54 +01:00
aler9
ad69a8957b support h264 tracks with extradata in sprop-parameter-sets 2022-01-30 15:51:49 +01:00
aler9
6d5bf0c1bb new track system 2022-01-30 15:51:49 +01:00
aler9
f3096ec102 improve write performance by
* buffering packets before sending them
* removing mutexes
2021-12-08 17:46:56 +01:00
aler9
a1de5ffdf9 add client TLS publish tests 2021-12-08 17:23:03 +01:00
aler9
9c3ee269f2 client: do not use InsecureSkipVerify by default 2021-12-03 23:11:49 +01:00
aler9
73f1c632c5 client: set ServerName when using TLS (https://github.com/aler9/rtsp-simple-server/issues/708) 2021-12-03 22:56:35 +01:00
aler9
1a62baecad add client close test 2021-11-18 10:06:36 +01:00
aler9
1411cb33f5 server: support reading with VLC and multicast 2021-11-15 17:40:17 +01:00
aler9
e13b4289ec client: simplify API, add StartReadingWait 2021-11-12 18:01:27 +01:00
aler9
d04381d787 client: allow calling Close() during a request 2021-11-12 18:01:27 +01:00
aler9
d1d766658b client: merge Client and ClientConn 2021-11-12 18:01:27 +01:00