Alessandro Ros
e5ab731d14
Improve HLS client ( #1179 )
...
* hls source: support fMP4s video streams
* hls source: start reading live streams from (end of playlist - starting point)
* hls client: wait processing of current fMP4 segment before downloading another one
* hls client: support fmp4 trun boxes with default sample duration, flags and size
* hls client: merge fmp4 init file reader and writer
* hls client: merge fmp4 part reader and writer
* hls client: improve precision of go <-> mp4 time conversion
* hls client: fix esds generation in go-mp4
* hls client: support audio in separate playlist
* hls client: support an arbitrary number of tracks in fmp4 init files
* hls client: support EXT-X-BYTERANGE
* hls client: support fmp4 segments with multiple parts at once
* hls client: support an arbitrary number of mpeg-ts tracks
* hls client: synchronize tracks around a primary track
* update go-mp4
* hls: synchronize track reproduction around a leading one
* hls client: reset stream if playback is too late
* hls client: add limit on DTS-RTC difference
* hls client: support again streams that don't provide codecs in master playlist
2022-10-23 14:04:33 +02:00
aler9
31d9429c18
hls source: refactor client
2022-10-09 12:56:48 +02:00
aler9
5b5db2f833
hls client: fix reading some streams with odd Annex-B format
...
see
b3c70f56f7
2022-10-08 20:22:37 +02:00
aler9
7f7a6e2200
switch to go 1.18 in linter and go.mod
2022-09-17 20:18:07 +02:00
aler9
27fb9fdb7e
update gortsplib
2022-08-27 17:35:45 +02:00
aler9
6793920d36
update gortsplib
2022-08-25 23:20:21 +02:00
aler9
e858c968d9
update gortsplib
2022-08-17 17:14:15 +02:00
aler9
4f023b25e8
update gortsplib
2022-08-15 13:50:46 +02:00
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