Commit Graph

274 Commits

Author SHA1 Message Date
Jacob Su
1656391c67
RTC: Support dropping h.264 SEI from NALUs. v5.0.213 v6.0.125 (#4057)
try to fix #4052.

---------

Co-authored-by: winlin <winlinvip@gmail.com>
2024-06-03 16:25:49 +08:00
Winlin
7209b73660
WHIP: Fix bug for converting WHIP to RTMP/HLS. v5.0.208 v6.0.113 (#3920)
1. When converting RTC to RTMP, it is necessary to synchronize the audio
and video timestamps. When the synchronization status changes, whether
it is unsynchronized or synchronized, print logs to facilitate
troubleshooting of such issues.
2. Chrome uses the STAP-A packet, which means a single RTP packet
contains SPS/PPS information. OBS WHIP, on the other hand, sends SPS and
PPS in separate RTP packets. Therefore, SPS and PPS are in two
independent RTP packets, and SRS needs to cache these two packets.

---------

Co-authored-by: john <hondaxiao@tencent.com>
2024-02-06 14:06:34 +08:00
winlin
2a2da2253f Switch to 2013-2024. v6.0.109 2024-01-01 10:51:24 +08:00
john
15601b4b2a
RTC: Support OPUS stereo SDP option. v5.0.203 v6.0.105 (#3910)
In an SDK that supports RTC Opus stereo, the parameter "stereo=1" may
appear. SRS (Spatial Reference System) needs to handle this correctly
and return an answer to enable WebRTC stereo support.



---------

`TRANS_BY_GPT4`
2023-12-14 23:29:22 +08:00
winlin
29eff1a242 Refine LICENSE. 2023-10-23 14:33:19 +08:00
Winlin
6f42ca67cb
Support SRS Stack token for authentication. v6.0.74 (#3794)
When accessing the SRS Stack, you should log in and use a token for each
request, or utilize the HTTP API with a secret Bearer token included in
every request. The SRS Stack HTTP API proxies both /api/v1 and /rtc/v1
to the SRS HTTP API while ensuring secure authentication. Additionally,
there is a console in the SRS Stack that requires the same token to
request the SRS Stack HTTP API, which is then proxied to the SRS HTTP
API.

The SRS Stack runs SRS with the HTTP API listening at 127.0.0.1:1985 on
the local loopback interface, allowing only the SRS Stack to access it
without authentication. All other users must login and access the SRS
Stack through its interface, rather than directly accessing the SRS HTTP
API within the SRS Stack.

---------

Co-authored-by: panda <542638787@qq.com>
2023-09-08 08:22:45 +08:00
chundonglinlin
3fa4f66648
WebRTC: Support config the bitrate of transcoding AAC to Opus. v5.0.167, v6.0.60 (#3515)
---------

Co-authored-by: john <hondaxiao@tencent.com>
2023-07-18 11:09:50 +08:00
Winlin
7f997b39ae
WHIP: Add OBS support, ensuring compatibility with a unique SDP. v5.0.158, v6.0.51 (#3581)
1. Ignore SDP GROUP LS.
2. Support ice in global session info.
3. Support audio codec "OPUS" or "opus".

---------

Co-authored-by: Johnny <hellojinqiang@gmail.com>
2023-06-15 12:11:31 +08:00
Winlin
dcd02fe69c
Support composited bridges for 1:N protocols converting. v6.0.41 (#3392)
Co-authored-by: john <hondaxiao@tencent.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-04-01 21:34:59 +08:00
Haibo Chen
4a5f479a0c
GB: Support H.265 for GB28181 (#3408)
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: stone <bluestn@163.com>
Co-authored-by: Winlin <winlin@vip.126.com>
2023-02-14 14:28:41 +08:00
john
7922057467
RTC: fix rtc publisher pli cid (#3318)
* RTC: fix rtc publisher pli cid
* RTC: log bridge request keyframe
* Update release v6.0.19 v5.0.138

Co-authored-by: Winlin <winlin@vip.126.com>
Co-authored-by: ChenGH <chengh_math@126.com>
2023-01-19 10:49:17 +08:00
winlin
c46ef81ff2 SRS5: Update license date to 2023. v5.0.123
PICK 72f8ed4916
2023-01-01 08:56:20 +08:00
winlin
6875876349 SRS5: MP3: Convert RTMP(MP3) to WebRTC(OPUS). v5.0.118 (#296) (#3340)
PICK 37867533cd
2022-12-26 18:06:38 +08:00
johzzy
6eb10afca2
WebRTC: Fix no audio and video issue for Firefox. (#3079)
* Remove extern SrsPps* duplicate declarations

* fix(rtmp2rtc): fix video payload type for rtmp to rtc bridge (#3041)

* Revert changes not belongs to this PR.

* Fix naming issue, follow SRS style.

* Use srs_assert instead of assert.

* Fix firefox no audio issue.

Co-authored-by: winlin <winlin@vip.126.com>
2022-11-21 22:01:01 +08:00
winlin
c12deded98 GB28181: Fix bug for parsing GB to RTC. 2022-10-07 19:47:34 +08:00
winlin
378bffa34f Micro changes and refines. 2022-09-30 17:57:48 +08:00
winlin
912cd6a59c Merge branch '4.0release' into develop 2022-09-28 17:47:51 +08:00
winlin
8bd8c1146d WebRTC: Eliminate unused debugging log. 2022-09-28 17:46:50 +08:00
winlin
0c6d30861b Merge branch '4.0release' into develop 2022-09-27 14:53:23 +08:00
winlin
386b92e9ab For #3167: WebRTC: Refine sequence jitter algorithm. v4.0.266 2022-09-27 14:53:05 +08:00
hondaxiao
4acb246c57 Fix #3181: SRT & WebRTC: Use SrsRawH264Stream to mux SPS/PPS. 2022-09-22 14:55:55 +08:00
winlin
79358673ef Merge branch '4.0release' into develop 2022-09-03 18:13:11 +08:00
winlin
34196ea7f7 Fix #3167: WebRTC: Play stucked when republish. v4.0.260 2022-09-03 17:14:32 +08:00
winlin
783aea7ac3 Fix #1405: Support guessing IBMF first. v5.0.58 2022-09-01 19:28:51 +08:00
winlin
d117145b95 Update date from 2021 to 2022. 2022-06-20 19:22:25 +08:00
winlin
e09daa2d4b SRT: Change bridges to bridge. 2022-06-14 20:05:09 +08:00
hondaxiao
e13d16439e SRT: support rtmp to srt 2022-06-14 20:02:22 +08:00
winlin
fa78cf3354 Prefix with srs_protocol in protocol directory. 2022-06-09 20:26:58 +08:00
winlin
f1840b87e5 Fix typo, change bridger to bridge. 2022-06-09 19:35:07 +08:00
winlin
d5c86dc5fa Switch LICENSE from MIT to **MIT or MulanPSL-2.0**. v5.0.21 2022-01-13 18:40:22 +08:00
winlin
93aa0eb5ba Squash: Fix bugs 2022-01-13 18:26:28 +08:00
chundonglinlin
7580341a1e
LiveSource/RtcSource: Refine fetch for external exposed interface. (#2873) 2022-01-13 11:43:32 +08:00
winlin
716e578a19 Squash: Fix bugs 2021-12-26 17:30:51 +08:00
chundonglinlin
3188c772b1
RTC: Eliminate duplicate assignment for video packet frame type (#2803)
Co-authored-by: zhangjunqin1 <zhangjunqin@jd.com>
2021-12-21 08:32:17 +08:00
winlin
f05e67e1a6 Squash: Fix bugs 2021-12-13 09:24:16 +08:00
john
7c353b5986 RTC: Fix memory leak when replace rtp packet in cache. (#2771). v4.0.205
* fix memory leak when replace rtp packet in cache.
2021-12-07 09:11:01 +08:00
winlin
8576fa7052 Squash: Merge v4.0.203 2021-12-04 11:21:35 +08:00
john
f3c4023c25
Fix bugs for RTC2RTMP. (#2768)
1. Cache IDR frame's rtp timestamp instead of avsync timestamp.
2. Cache clock rate calculate by sender report.
3. Using srs_rtp_seq_distance instead of direct minus.
4. Add utest of av timestamp sync when duplicated sender report.
2021-12-04 11:15:02 +08:00
johzzy
ff8657e1c5 RTC: Fix crash when pkt->payload() if pkt is nullptr (#2751). v4.0.199 2021-11-25 07:36:12 +08:00
johzzy
a862573220
RTC: Fix crash when pkt->payload() if pkt is nullptr (#2751) 2021-11-25 07:33:41 +08:00
winlin
5f85d405e7 Squash: Merge #2721, #2729 2021-11-13 19:36:43 +08:00
john
469bd8cfe2
RTC: check audio track exist when negotiate (#2729) 2021-11-13 19:09:45 +08:00
john
878833bb95
Rtc2Rtmp: Using rtp timestamp to distinguish different video frame (#2721) 2021-11-09 07:35:00 +08:00
winlin
b874d9c9ba Squash: Merge SRS 4.0, regression test for RTMP. 2021-10-12 08:36:24 +08:00
winlin
71ed6e5dc5 RTC: Refine config, aac to rtmp_to_rtc, bframe to keep_bframe. v4.0.174 2021-10-11 22:14:45 +08:00
winlin
5042117034 Squash: Merge SRS 4.0 2021-10-07 21:10:44 +08:00
ChenGH
7a4de9ffe7
Fix #2415, refine dtls fragment and rtp payload size (#2652) 2021-10-07 21:05:30 +08:00
winlin
7d3ec991e1 Squash: Merge SRS 4.0 2021-09-26 17:12:55 +08:00
winlin
ad4b648ed2 For #2545, Refine code with space lines. 2021-09-26 17:07:59 +08:00
johzzy
ee23e3abed fix some crash in rtc. (#2545) 2021-09-26 17:04:00 +08:00
johzzy
dc778020fc
fix some crash in rtc. (#2545) 2021-09-26 17:01:53 +08:00
winlin
f01c9638f1 Support http callback on_play/stop. 5.0.12 2021-09-23 13:38:04 +08:00
zozobreakzou
46adcfb6c9
[rtc] *Fix Fua package bug(payload size minus one). (#2618)
* This can cause webrtc video PacketBuffer assemble corrupt when (nal size - 1) % 1300 == 0
* issues about webrtc all caused by this bug
2021-09-23 11:10:16 +08:00
winlin
85620a34f5 Squash: Fix rtc to rtmp sync timestamp using sender report. #2470 2021-08-17 07:25:03 +08:00
john
ea8cff6163
RTC: Fix rtc to rtmp sync timestamp using sender report. (#2470)
* fix annotation spell failed

* RTC to RTMP using SenderReport to sync av timestamp

* update pion/webrtc versio from v3.0.4 -> v3.0.13, auto config sender/receiver report

* Add rtc push flv play regression test

* Add unit test of ntp and av sync time

* Take flag CXX to makefile of utest

* Add annotation about rtc unit test

* Fix compiler error in C++98

* Add FFmpeg log callback funciton.
2021-08-17 06:32:35 +08:00
Haibo Chen
529b89a29e Fix #2504 coredump bug: caused by publish stream that codec is h.263 (#2505) 2021-08-04 17:14:41 +08:00
Haibo Chen
06f10b1894
fix coredump bug: caused by publish stream that codec is h.263 (#2505) 2021-08-04 17:06:55 +08:00
Haibo Chen
86c67f7d95 RTC: Support statistic for HTTP-API, HTTP-Callback and Security (#2483) v4.0.144
* commit message for your changes. Lines starting

* Update srs_app_rtc_api.cpp

* add SrsRtcConnPlay and SrsRtcConnPublish, in enum SrsRtmpConnType

* Update srs_rtmp_stack.cpp

* Update srs_app_rtc_conn.cpp

* Update srs_app_rtc_api.cpp

* update utest

* Update srs_utest_app.cpp
2021-07-24 08:08:35 +08:00
Haibo Chen
0efd7b1bbc
RTC: Support statistic for HTTP-API, HTTP-Callback and Security (#2483)
* commit message for your changes. Lines starting

* Update srs_app_rtc_api.cpp

* add SrsRtcConnPlay and SrsRtcConnPublish, in enum SrsRtmpConnType

* Update srs_rtmp_stack.cpp

* Update srs_app_rtc_conn.cpp

* Update srs_app_rtc_api.cpp

* update utest

* Update srs_utest_app.cpp
2021-07-24 08:05:10 +08:00
Winlin
c8a1e0f3da
Refine AUTHORS.txt to AUTHORS.md, etc. 5.0.8 (#2464)
* Refine AUTHORS.txt to AUTHORS.md, etc. 5.0.8

* Update README.md

* Update README.md

* Refine format for AUTHORS.md
2021-07-08 14:30:47 +08:00
Haibo Chen
90b7933dbb For #2403, fix padding packets for RTMP2RTC. 4.0.140.
Calculate the correct payload_size which pure padding data, in the process of rtc2rtmp, make Chrome happy (#2461)

* Calculate the correct payload_size which pure padding data, in the process of rtc2rtmp, make Chrome happy

* make clear for magic number

make clear for magic number

* Update srs_app_rtc_source.cpp
2021-07-08 14:27:51 +08:00
Haibo Chen
7eee9aa598
Calculate the correct payload_size which pure padding data, in the process of rtc2rtmp, make Chrome happy (#2461)
* Calculate the correct payload_size which pure padding data, in the process of rtc2rtmp, make Chrome happy

* make clear for magic number

make clear for magic number

* Update srs_app_rtc_source.cpp
2021-07-08 14:23:53 +08:00
winlin
15901cacee SquashSRS4: Use SPDX-License-Identifier: MIT. 5.0.3 2021-05-31 13:42:20 +08:00
winlin
3cd22b6e6e Use SPDX-License-Identifier: MIT. 4.0.124 2021-05-31 12:59:21 +08:00
winlin
f043a7eb48 SquashSRS4: Allow RTC play before publish. 2021-05-19 21:06:17 +08:00
root
d55af6be44 Fix #2362: Allow WebRTC to play before publishing, for GB28181 as such. 4.0.117 2021-05-19 20:54:22 +08:00
winlin
e3bca883e1 SuqashSRS4: Build SRT native 2021-05-16 16:14:00 +08:00
winlin
dae6dc5395 Rename SrsRtcStream* to SrsRtcSource*. 4.0.113 2021-05-15 12:33:02 +08:00
winlin
2dd58665fa Rename SrsSource* to SrsLiveSource*. 4.0.112 2021-05-15 12:30:13 +08:00
winlin
a1d7fe46c1 SquashSRS4: Rename SrsRtpPacket2 to SrsRtpPacket. 2021-05-15 08:53:54 +08:00
winlin
ddd7a378b1 Rename SrsRtpPacket2 to SrsRtpPacket. 4.0.111 2021-05-15 08:47:09 +08:00
winlin
6a980683f7 SquashSRS4: Remove object cache and stat api 2021-05-14 18:17:42 +08:00
winlin
f7b32252b0 RTC: Remove Object Cache Pool, no effect. 4.0.110 2021-05-14 16:12:11 +08:00
winlin
53e20d4a37 RTC: Eliminate unused stat code 2021-05-14 09:06:12 +08:00
winlin
8895d36746 SquashSRS4: Refine shared fast timer 2021-05-08 17:44:15 +08:00
winlin
2ad24b2313 Refine shared fast timer. 4.0.105 2021-05-08 16:50:26 +08:00
winlin
3256c7c2fa SquashSRS4: Refine the init of global objects 2021-05-08 11:51:54 +08:00
winlin
8b58d18a5a Refine init of global objects 2021-05-08 11:25:48 +08:00
winlin
b1e85664a1 Refine init of global SrsPps 2021-05-08 11:11:13 +08:00
winlin
276bd2223e SquashSRS4: Support circuit breaker 2021-05-08 10:04:44 +08:00
winlin
25f17c32e9 RTC: Refine fast timer 2021-05-07 18:42:36 +08:00
winlin
92fc0af8f4 RTC: Support circuit breaker. 4.0.103 2021-05-07 17:43:05 +08:00
winlin
fd6c653d3c SquashSRS4: Refine performance for FastTimer 2021-05-07 11:25:37 +08:00
winlin
b823dcdfd7 RTC: Refine FastTimer to fixed interval. 4.0.101 2021-05-07 10:20:00 +08:00
winlin
74bb47c13f SquashSRS4: Support RTC2RTMP. 2021-05-01 22:15:57 +08:00
winlin
3d225973ef Bridger: Support RTC2RTMP bridger and shared FastTimer. 4.0.95 2021-05-01 18:16:51 +08:00
winlin
c770e6d7bc Bridger: Start RTMP2RTC bridger in RTMP publisher 2021-05-01 18:16:51 +08:00
winlin
c10232b4e2 Bridger: Refine transcoder to support aac2opus and opus2aac. 4.0.94 2021-05-01 18:16:51 +08:00
winlin
aa07f45545 SquashSRS4: Happy 2021 2021-04-20 19:03:02 +08:00
winlin
cec0191b16 Happy 2021 2021-04-20 19:00:14 +08:00
winlin
fcf72b48f9 SquashSRS4: Fix republish bug 2021-04-04 19:05:44 +08:00
winlin
96003d4a52 RTC: Fix bug for republish stream. 4.0.89 2021-04-04 19:01:42 +08:00
winlin
fa2fec3247 SquashSRS4: Refine payload NALU type parser 2021-04-01 14:48:41 +08:00
winlin
7823d75a38 RTC: Refine payload NALU type parser 2021-04-01 14:46:28 +08:00
winlin
4692e8b8ad SquashSRS4: Support WebRTC re-publish stream. 2021-03-26 14:59:25 +08:00
winlin
d6c16a7e23 RTC: Support WebRTC re-publish stream. 4.0.87 2021-03-24 20:12:31 +08:00
winlin
de65a331f1 SquashSRS4: Fix DTLS config bug, dup Alert bug. 4.0.83 2021-03-08 12:39:25 +08:00
winlin
fc4f539907 Should check bridger status when publish stream. 2021-03-05 16:47:47 +08:00
winlin
98839d3d53 RTC: Fix TWCC enable bug 2021-03-04 14:13:40 +08:00
winlin
f63441413d RTC: Support disable the NACK no-copy, enable copy by default 2021-03-02 19:34:56 +08:00