Commit Graph

320 Commits

Author SHA1 Message Date
aler9
5ba46e6c8f update gortsplib 2022-08-14 12:50:04 +02:00
aler9
a35cc53ba2 update gortsplib 2022-08-07 14:05:28 +02:00
aler9
af7a815f83 update gortsplib 2022-08-05 23:50:45 +02:00
aler9
f24700526b update gortsplib 2022-07-24 16:05:03 +02:00
Alessandro Ros
9e6abc6e9f
rtmp: rewrite implementation of rtmp connection (#1047)
* rtmp: improve MsgCommandAMF0

* rtmp: fix MsgSetPeerBandwidth

* rtmp: add message tests

* rtmp: replace implementation with new one

* rtmp: rename handshake functions

* rtmp: avoid calling useless function

* rtmp: use time.Duration for PTSDelta

* rtmp: fix decoding chunks with relevant size

* rtmp: rewrite implementation of rtmp connection

* rtmp: fix tests

* rtmp: improve error message

* rtmp: replace h264 config implementation

* link against github.com/notedit/rtmp

* normalize MessageStreamID

* rtmp: make acknowledge optional

* rtmp: fix decoding of chunk2 + chunk3

* avoid using encoding/binary
2022-07-17 15:17:18 +02:00
aler9
67e8a01d56 rtmp: split net.Conn from rtmp.Conn 2022-07-09 17:25:33 +02:00
aler9
f28540b9f4 update gortsplib 2022-07-05 23:46:32 +02:00
aler9
08ddc9f83d update gortsplib 2022-06-27 17:52:20 +02:00
aler9
31769c5772 update gortsplib 2022-06-24 20:28:38 +02:00
aler9
41b08c9f50 update gortsplib 2022-06-24 17:00:28 +02:00
aler9
ec4c40b222 update gortsplib 2022-06-23 13:54:48 +02:00
aler9
76fb3b8d71 update gortsplib 2022-06-22 23:29:39 +02:00
aler9
5d78c81637 update gortsplib 2022-06-22 20:45:26 +02:00
aler9
3d5a0fa621 update gortsplib 2022-06-22 20:14:58 +02:00
aler9
10d47f8631 update gortsplib 2022-06-21 15:50:15 +02:00
aler9
e45820b2c0 hls server: show real client IPs when behind a proxy (#955) 2022-06-21 13:54:19 +02:00
aler9
039d106efa update gortsplib 2022-06-14 15:34:45 +02:00
aler9
d6bd722a7a update gortsplib 2022-06-11 19:30:41 +02:00
aler9
9d3fd3bc37 update gortsplib 2022-06-05 01:36:29 +02:00
aler9
c8f40f448a fix EOF error during DTS extraction 2022-06-03 12:48:45 +02:00
aler9
9bd8b2cfb6 rtmp server, hls muxer: fix DTS in case of B-frames and remove PTS-DTS offset 2022-06-03 11:31:39 +02:00
aler9
4073013f68 hls muxer: stop normalizing PTS 2022-06-02 22:37:46 +02:00
aler9
acd788d632 update gortsplib 2022-06-02 20:58:48 +02:00
aler9
e7f88bc12f move DTS extractor into gortsplib 2022-06-02 11:55:12 +02:00
aler9
93975552ac hls muxer: improve performance, decrease memory consumption 2022-06-01 10:13:37 +02:00
Alessandro Ros
e115983296
Implement Low-Latency HLS (#938)
* add hlsVariant parameter

* hls: split muxer into variants

* hls: implement fmp4 segments

* hls muxer: implement low latency mode

* hls muxer: support audio with fmp4 mode

* hls muxer: rewrite file router

* hls muxer: implement preload hint

* hls muxer: add various error codes

* hls muxer: use explicit flags

* hls muxer: fix error in aac pts

* hls muxer: fix sudden freezes with video+audio

* hls muxer: skip empty parts

* hls muxer: fix video FPS

* hls muxer: add parameter hlsPartDuration

* hls muxer: refactor fmp4 muxer

* hls muxer: fix CAN-SKIP-UNTIL

* hls muxer: refactor code

* hls muxer: show only parts of last 2 segments

* hls muxer: implementa playlist delta updates

* hls muxer: change playlist content type

* hls muxer: improve video dts precision

* hls muxer: fix video sample flags

* hls muxer: improve iphone audio support

* hls muxer: improve mp4 timestamp precision

* hls muxer: add offset between pts and dts

* hls muxer: close muxer in case of error

* hls muxer: stop logging requests with the info level

* hls muxer: rename entry into sample

* hls muxer: compensate video dts error over time

* hls muxer: change default segment count

* hls muxer: add starting gap

* hls muxer: set default part duration to 200ms

* hls muxer: fix audio-only streams on ios

* hls muxer: add playsinline attribute to video tag of default web page

* hls muxer: keep mpegts as the default hls variant

* hls muxer: implement encryption

* hls muxer: rewrite dts estimation

* hls muxer: improve DTS precision

* hls muxer: use right SPS/PPS for each sample

* hls muxer: adjust part duration dynamically

* add comments

* update readme

* hls muxer: fix memory leak

* hls muxer: decrease ram consumption
2022-05-31 19:17:26 +02:00
aler9
6de8277cb7 support SDPs with TIAS bandwidths (#948) 2022-05-23 21:30:41 +02:00
aler9
2fba878755 rtsp server: fix wrong RTP-Info header (#922)
- fix truncation to seconds of RTP time in RTP-Info
- add a small quantity to rtptime in RTP-Info
- add 1 to last sequence number in RTP-Info
2022-05-16 14:37:05 +02:00
aler9
7ecd52808a rtsp source: support cameras that provide base URL inside control attribute (#683) 2022-05-11 16:54:07 +02:00
aler9
d6a804f592 rtsp server: improve performance when reading with TCP 2022-05-11 16:37:33 +02:00
aler9
f521049e2f rtsp source: restore support for cameras with percent sign in password 2022-05-10 17:33:34 +02:00
aler9
901eae2f6b fix bias error in AAC timestamp 2022-05-10 13:29:32 +02:00
aler9
1ad0df128d rtsp source: fix timeout (https://github.com/aler9/rtsp-simple-server/discussions/897)
that happens when there's a UDP->TCP switch and Content-Base contains
an absolute URL
2022-05-02 19:03:00 +02:00
aler9
6c95ea2837 rtsp source: support AUs wrapped inside ADTS (#855) 2022-04-29 12:33:33 +02:00
aler9
411fb989eb hls client: add limit on NALU size 2022-04-29 12:23:13 +02:00
aler9
35b3541e4f hls client: add limit on AU size 2022-04-29 12:02:11 +02:00
aler9
91ce2dd886 rtsp server: fix reading with multicast when host is macOS (#895) 2022-04-21 13:54:19 +02:00
aler9
c700e309ce rtsp server: fix reading with ffplay and stateless ipv6 2022-04-21 13:16:56 +02:00
aler9
0912042fb1 hls muxer: do not increase version number of MPEG-TS tables unless there's a reason (https://github.com/asticode/go-astits/pull/38) 2022-04-21 09:20:08 +02:00
aler9
9098644802 rtsp source: fix parsing of transport header with dahua rtsp server (https://github.com/aler9/gortsplib/issues/121) 2022-04-21 09:02:44 +02:00
aler9
385e301728 rtsp server/source: support AAC tracks with indexlength=0 2022-04-15 18:44:00 +02:00
aler9
6b86607092 rtsp source: improve support for AAC tracks with custom parameters 2022-04-15 17:01:18 +02:00
aler9
db7ee22789 rtsp source: support AAC tracks with custom sizelength, indexlength and indexdeltalength
(https://github.com/aler9/gortsplib/pull/118)
2022-04-15 13:17:00 +02:00
aler9
2a0dc3b63d rtsp: improve performance; add upper limit on NALU/AU size to prevent RAM exhaustion 2022-04-10 15:34:33 +02:00
aler9
98c6cd4650 RTSP: automatically remux oversized RTP/H264 packets; drop parameter ReadBufferSize 2022-04-09 20:20:14 +02:00
aler9
50d1079f70 RTSP: fix multicast TTL; set default multicast TTL to 16 (#873) 2022-04-09 11:28:40 +02:00
aler9
d929197b21 propagate H264 packets throughout the server 2022-04-08 18:19:53 +02:00
aler9
3fc4ca6465 update gortsplib; downgrade pion/rtp to v1 2022-04-01 12:04:21 +02:00
aler9
f53b316c0d rtsp server: generate RTCP sender reports automatically; stop routing RTCP packets 2022-03-24 15:44:34 +01:00
aler9
a6986e9fa4 update gortsplib 2022-03-24 12:59:22 +01:00