1
0
Fork 0
mirror of https://github.com/ossrs/srs.git synced 2025-03-09 15:49:59 +00:00
Commit graph

70 commits

Author SHA1 Message Date
winlin
e15fb07916 Switch to 2013-2024. v5.0.205 2023-12-30 09:29:07 +08:00
john
52b01b14e9 Security: Support IP whitelist for HTTP-FLV, HLS, WebRTC, and SRT. v5.0.202 (#3902)
Security is the built-in IP whitelist feature of SRS, which allows and
denies certain IP and IP range users. Previously, it only supported
RTMP, but this PR now supports HTTP-FLV, HLS, WebRTC, SRT, and other
protocols.

See https://ossrs.io/lts/en-us/docs/v6/doc/security as example.

---------

Co-authored-by: john <hondaxiao@tencent.com>
2023-12-14 21:37:38 +08:00
john
ba33bb8f8b Support set the ice-ufrag and ice-pwd for connectivity check. v5.0.191 (#3837)
Checking the HTTPS API or UDP connectivity for WHIP tests can be
difficult. For example, if the UDP port isn't available but the API is
fine, OBS only says it can't connect to the server. It's hard to see the
HTTPS API response or check if the UDP port is available.

This feature lets you set the ice username and password in SRS. You can
then send a STUN request using nc and see the response, making it easier
to check UDP port connectivity.

1. Use curl to test the WHIP API, including ice-frag and ice-pwd
queries.
2. Use nc to send a STUN binding request to test UDP connectivity.
3. If both the API and UDP are working, you should get a STUN response.

---------

Co-authored-by: john <hondaxiao@tencent.com>
2023-10-17 22:36:10 +08:00
Winlin
389a62ee3a WebRTC: Support WHEP for play. v5.0.182 (#3404)
RFC for WHIP: https://datatracker.ietf.org/doc/draft-ietf-wish-whip/

RFC for WHEP: https://datatracker.ietf.org/doc/draft-murillo-whep/

Please note that SRS 5.0 already had WHIP support. I didn't write a
document about WHIP, because WHIP is not a RFC right now, but there are
clues in
[srs-unity](https://github.com/ossrs/srs-unity#usage-publisher). SRS
WHIP url for publisher:
`http://localhost:1985/rtc/v1/whip/?app=live&stream=livestream`

This PR is for WHEP, the url for player is
`http://localhost:1985/rtc/v1/whep/?app=live&stream=livestream`

PS: There is a great PR for OBS to have WHIP support, see
https://github.com/obsproject/obs-studio/pull/7926 and #3581

PS: WHIP for FFmpeg https://github.com/ossrs/ffmpeg-webrtc/pull/1

See #3170

---------

Co-authored-by: Haibo Chen <495810242@qq.com>
Co-authored-by: john <hondaxiao@tencent.com>
Co-authored-by: ChenGH <chengh_math@126.com>
2023-09-21 18:43:57 +08:00
Winlin
6d679fd0e3 WHIP: Improve WHIP deletion by token verification. v5.0.164, v6.0.58 (#3595)
------

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-07-01 19:10:09 +08:00
Winlin
d1e770c4e5 WHIP: Improve HTTP DELETE for notifying server unpublish event (#3539)
This PR improves the functionality of the HTTP DELETE method used by WHIP to notify the server when the client stops publishing. The URL is parsed from the location header returned by SRS, and the URL is refined with the addition of the action=delete parameter to ensure more accurate identification of the DELETE request.

Furthermore, SRS will disconnect and close the session, enabling the client to publish the stream again quickly and easily. This update eliminates the approximately 30-second waiting period previously required for republishing the stream after an unpublish event.

Overall, this update provides a more effective and efficient method for notifying the server about unpublish events and will enhance the workflow experience for users of the WHIP platform.

-------

Co-authored-by: Haibo Chen <495810242@qq.com>
Co-authored-by: ChenGH <chengh_math@126.com>
2023-05-12 15:25:26 +08:00
john
cd19667a34 RTC: Call on_play before create session, for it might be freed for timeout. v5.0.149, v6.0.37 (#3455)
PICK d8755711c1

Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: ChenGH <chengh_math@126.com>
2023-03-25 11:45:59 +08:00
Winlin
5cc794b22d WHIP: Support DELETE resource for Larix Broadcaster. v5.0.148 v6.0.36 (#3427)
* WHIP: Support DELETE resource.
* Support push by Larix.
* FLV: Disable stash buffer for realtime.
* WHEP: Fix muted issue.

-------

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: panda <542638787@qq.com>
2023-03-23 10:22:00 +08:00
Winlin
dfef94411f Support WHIP and WHEP player. v5.0.147 and v6.0.35 (#3460)
PICK c001acaae9

Co-authored-by: chundonglinlin <chundonglinlin@163.com>
Co-authored-by: panda <542638787@qq.com>
2023-03-21 08:51:42 +08:00
chundonglinlin
be8b1b94a6 API: Support server/pid/service label for exporter and api. (#3385)
* Exporter: Support server/pid/service.(#3378)
* API: Support return server/pid/service.(#3378)
* Use 8-length service id.
* Update release v5.0.135 v6.0.16

PICK 02653ce2aa

Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: Haibo Chen <495810242@qq.com>
2023-01-18 07:28:25 +08:00
winlin
72f8ed4916 Update license date to 2023. v5.0.123 2023-01-01 08:49:13 +08:00
winlin
6d18093e16 Merge branch '4.0release' into develop 2022-09-10 21:25:38 +08:00
winlin
aea2bfbaf9 For #3174: WebRTC: Support Unity to publish or play stream. v4.0.264 2022-09-09 16:34:45 +08:00
winlin
3eb046612b Fix #3170: WebRTC: Support WHIP(WebRTC-HTTP ingestion protocol). v5.0.61 2022-09-06 18:48:46 +08:00
winlin
e47c3c410c Merge branch '4.0release' into develop 2022-09-06 18:47:22 +08:00
winlin
15610ca488 Fix #3170: WebRTC: Support WHIP(WebRTC-HTTP ingestion protocol). v4.0.262 2022-09-06 18:46:47 +08:00
winlin
6a108fab6d Fix #2837: Callback: Support stream_url and stream_id. v5.0.55 2022-08-31 08:00:05 +08:00
winlin
d117145b95 Update date from 2021 to 2022. 2022-06-20 19:22:25 +08:00
winlin
9d3ae5c8ed Merge branch '4.0release' into develop 2022-03-09 08:06:56 +08:00
winlin
e26db694ca RTC: Identify the WebRTC publisher in param for hooks. v4.0.247 2022-03-07 16:34:51 +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
584889754c
RTC: fix play rtc judge for config rtc2rtmp on.(#2863) (#2872) 2022-01-13 17:03:03 +08:00
winlin
4110fb14cb Squash: Fix bugs. v5.0.20 2022-01-11 08:40:37 +08:00
chundonglinlin
750c58beff
RTC: fix play rtc judge for rtmp inactive.(#2863) (#2867) 2022-01-11 08:18:06 +08:00
chundonglinlin
c85daeb12d
RTC: fix play crash or no stream for rtmp2rtc tips.(#2728) (#2863) 2022-01-10 19:14:11 +08:00
winlin
fbb6d9464c Discover api server and ip as candidates. v4.0.218 2022-01-04 22:31:27 +08:00
winlin
8bc2759c7e Refine error log for rtmp2rtc. (#2728). v4.0.215 2021-12-31 11:42:49 +08:00
winlin
523b055c06 Squash: Support RPM. Fix bugs. 2021-11-04 07:37:17 +08:00
john
2d6ec03c5b
RTC: Remove no need code when check sdp. (#2702) 2021-11-03 07:45:37 +08:00
winlin
f0910cf9b7 Squash: For #1758: Fix bug for marshal JSON with SDP. 2021-10-21 09:03:17 +08:00
winlin
31693d4b61 For #1758: Fix bug for marshal JSON with SDP. 2021-10-21 07:36:01 +08:00
Haibo Chen
dffc344747 RTC: For #1657, support http hooks n_play/stop/publish/unpublish (#2509)
* support http hooks for rtc: on_play/stop/publish/unpublish

* Update srs_app_rtc_conn.cpp

* Update srs_app_rtc_conn.cpp
2021-08-10 09:47:48 +08:00
Haibo Chen
345b691895
support http hooks for rtc: on_play/stop/publish/unpublish (#2509)
* support http hooks for rtc: on_play/stop/publish/unpublish

* Update srs_app_rtc_conn.cpp

* Update srs_app_rtc_conn.cpp
2021-08-10 09:41:20 +08:00
Haibo Chen
c048731049 Get original ip instead of proxy ip, for rtc api (#2514) v4.0.150 2021-08-07 23:41:16 +08:00
Haibo Chen
84d04adfff
get original ip instead of proxy ip, for rtc api (#2514) 2021-08-07 23:37:18 +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
8f91a90f28 Squash: Fix padding packets for RTMP2RTC 2021-07-08 14:37:18 +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
winlin
10b9a81061 RTC: Support eip/candidate to set the eip of server 2021-07-08 14:25:38 +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
a9f171144d SquashSRS4: Eliminate dead code 2021-05-24 08:17:59 +08:00
winlin
8e79b90bc3 RTC: Eliminate dead code. 4.0.122 2021-05-24 08:11:42 +08:00
winlin
206d95879f SquashSRS4: Add one to one RTC demo. 2021-05-02 21:46:41 +08:00
winlin
5a611e0c4b Add one to one demo. 4.0.96 2021-05-02 19:35:03 +08:00
winlin
0b62216999 SquashSRS4: Support av1 for Chrome M90 enabled it. 2021-04-30 08:13:38 +08:00
Winlin
e8fe66e3ba
RTC: Support av1 for Chrome M90 enabled it. 4.0.91 (#2324)
* RTC: Support av1 for Chrome M90 enabled it. 4.0.91

* RTC: Show codec for WebRTC publisher
2021-04-30 08:09:01 +08:00
winlin
a9d39f6946 RTC: Refine API params to create connection 2021-04-29 20:30:24 +08:00