Alessandro Ros
22b120ef22
update list of supported codecs inside error messages ( #2058 ) ( #2073 )
2023-07-19 00:14:50 +02:00
Volodymyr Borodin
47317ea8e5
api: add path to RTMP connections, RTSP sessions, WebRTC sessions ( #1962 ) ( #2022 )
...
* api: add path to rtmp response
* add 'path' to RTSP and WebRTC sessions too
* add tests
---------
Co-authored-by: aler9 <46489434+aler9@users.noreply.github.com >
2023-07-05 21:20:26 +02:00
Alessandro Ros
f79c4783c7
rename environment variable RTSP_PATH into MTX_PATH ( #1967 )
2023-06-21 16:08:37 +02:00
Alessandro Ros
681a00347d
support reading MP4A-LATM-encoded AAC with RTMP and HLS ( #1694 ) ( #1898 )
2023-06-02 00:38:27 +02:00
Alessandro Ros
210603d7c4
update documentation ( #1885 )
2023-05-31 18:16:39 +02:00
Alessandro Ros
89ebc83993
update golangci-lint ( #1870 )
2023-05-28 17:18:16 +02:00
Alessandro Ros
128f2d3e20
print error that caused an external command to exit ( #1869 )
2023-05-27 19:28:07 +02:00
Alessandro Ros
b93eed64bc
api: add /get endpoints ( #1577 ) ( #1823 )
...
this allows to get entities by ID or name after /list endpoints were
changed in v0.23.0.
2023-05-18 15:07:47 +02:00
Alessandro Ros
39c072edd6
change repository owner ( #1801 )
2023-05-16 16:14:20 +02:00
Alessandro Ros
1688e5d2e5
support publishing with WebRTC ( #1659 ) ( #1786 )
2023-05-14 14:18:03 +02:00
Alessandro Ros
6ea299fc56
api: fix type of RTMPS readers ( #1784 )
...
it was wrongly set to RTMP.
2023-05-10 11:39:40 +02:00
Alessandro Ros
d8678cef90
unify authentication mechanisms ( #1775 )
2023-05-08 17:04:14 +02:00
Alessandro Ros
e8124e2f56
support publishing H265 and AV1 tracks with Enhanced RTMP ( #1393 ) ( #1446 ) ( #1621 ) ( #1756 )
2023-05-04 20:37:25 +02:00
Alessandro Ros
225220ddd5
print warning in case no key frames are being received ( #1763 )
2023-05-04 20:16:41 +02:00
Alessandro Ros
22fe65509b
cleanup ( #1754 )
2023-05-02 13:05:19 +02:00
Alessandro Ros
2d17dff3b5
support publishing, reading and proxying MPEG-2 audio (MP3) tracks with RTMP ( #1102 ) ( #1736 )
2023-04-25 18:13:51 +02:00
Alessandro Ros
053f2ec282
rename repository and executable ( #1641 )
2023-04-01 19:52:06 +02:00
Alessandro Ros
2dffccf9c1
update gortsplib, gohlslib ( #1637 )
2023-04-01 18:39:12 +02:00
Alessandro Ros
e8bdad8a1e
rename Data into Unit ( #1556 )
2023-03-10 12:44:59 +01:00
Alessandro Ros
2cffea6d51
rtmp: fix crash when receiving unexpected video packets ( #1459 ) ( #1504 )
2023-02-23 11:22:28 +01:00
Alessandro Ros
b461f15a4c
rpicamera: support changing parameters without interrupting the stream ( #1463 )
2023-02-13 12:12:04 +01:00
Alessandro Ros
b02d3b83c7
Send additional fields to the external authentication URL ( #1408 )
...
* send 'protocol' to the external authentication URL
* send session ID to the external authentication URL
2023-01-22 19:48:33 +01:00
aler9
2de0941e5c
update gortsplib
2023-01-08 13:36:27 +01:00
aler9
e3fff72b7c
move format processors into dedicated folder
2023-01-05 12:54:00 +01:00
Alessandro Ros
5de600ffaa
support reading H265 tracks with HLS ( #1342 )
...
* support reading H265 tracks with HLS
* update README
2022-12-29 20:46:31 +01:00
aler9
fbf8e82db5
update gortsplib
2022-12-28 20:32:03 +01:00
aler9
455b8beff7
simplify code
2022-12-27 18:01:58 +01:00
Alessandro Ros
ad52b3fab7
Support publishing with RTMP and H265 (for OBS Studio) ( #1333 )
...
* support publishing with RTMP and H265 (for OBS Studio)
* rtmp source: block H265 tracks
2022-12-27 13:55:30 +01:00
Alessandro Ros
5efe97abf1
Support reading with WebRTC ( #1242 )
2022-12-16 00:50:47 +01:00
Alessandro Ros
c778c049ce
switch to gortsplib v2 ( #1301 )
...
Fixes #1103
gortsplib/v2 supports multiple formats inside a single track (media). This allows to apply the resizing algorithm to single formats inside medias.
For instance, if a media contains a a proprietary format and an H264 format, and the latter has oversized packets, they can now be resized.
2022-12-13 20:54:17 +01:00
Alessandro Ros
e605727c78
produce same absolute time in RTSP and HLS ( #1249 )
...
* add a NTP timestamp to each data unit
* use that NTP timestamp in all protocols
2022-11-28 09:00:05 +01:00
aler9
282d155a4f
update gortsplib
2022-11-15 23:47:12 +01:00
Alessandro Ros
423bb61daa
use UUIDs as IDs in all entities ( #1234 )
2022-11-09 19:31:52 +01:00
Alessandro Ros
0943b269ab
Decode streams once and only when needed ( #1218 )
...
* split data into specialized structs
* move MPEG4-audio decoding into streamTrack
* restore video/audio synchronization in HLS muxer and RTMP server
* log decode errors
* move H264 decoding and re-encoding here from gortsplib
* add tests
* update gortsplib
2022-11-02 20:52:12 +01:00
aler9
fad3474805
rtmp server: print only tracks that are effectively being read
2022-10-19 17:03:04 +02:00
aler9
afcb874657
add missing tests
2022-08-23 13:47:48 +02:00
aler9
44f29c9ba3
api: mark RTMPS connections as rtmpsConns instead of rtmpConns ( #1099 )
2022-08-23 13:28:18 +02:00
aler9
bbfea63539
rtmp: read or write tracks only after interacting with the path
2022-08-22 12:24:38 +02:00
aler9
86c5fa9ba4
cleanup interaction with external auth
2022-08-22 11:24:21 +02:00
aler9
83faae8a8e
rename interaction functions between paths and readers / publishers
...
readers and publishers can now interact with paths by using:
readerAdd()
readerStart()
readerStop()
publisherAdd()
publisherStart()
publisherStop()
2022-08-22 09:39:16 +02:00
aler9
85ce12199a
rtmp source: allow outgoing acknowledges
2022-08-16 18:44:31 +02:00
aler9
e255d004e3
rtmp server: change value of MessageStreamID of outgoing messages
2022-08-16 18:44:31 +02:00
Alessandro Ros
820ba067f2
support RTMPS ( #1089 )
2022-08-16 18:44:31 +02:00
aler9
51e0bbd975
rtmp server: stop inserting a AV_SEQHDR message before every IDR
...
AV_SEQHDR contains SPS and PPS.
It is useless to resend it after initialization since SPS/PPS are
automatically added before every IDR.
2022-08-16 18:44:31 +02:00
aler9
176f2f0729
rtmp: invert flag of InitializeServer() and InitializeClient()
2022-08-16 18:44:31 +02:00
aler9
cb8aec8844
print track codecs into logs
2022-08-15 16:29:40 +02:00
aler9
3606472e82
generate RTP packets after H264 remuxing
...
Previously, RTP packets coming from sources other than RTSP (that
actually are RTMP and HLS) were generated before the H264 remuxing, and
that leaded to invalid streams, expecially when sourceOnDemand is true
and the stream has invalid or dynamic SPS/PPS.
2022-08-14 13:03:04 +02:00
aler9
5ba46e6c8f
update gortsplib
2022-08-14 12:50:04 +02:00
aler9
af7a815f83
update gortsplib
2022-08-05 23:50:45 +02:00
aler9
092a2be3a8
api: add "created" field to RTSP sessions, RTMP connections, HLS muxers
2022-08-05 14:39:07 +02:00