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

424 commits

Author SHA1 Message Date
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
771ae0a1a6
API: Support HTTP basic authentication for API. v6.0.4, v5.0.152 (#3458)
Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: john <hondaxiao@tencent.com>
2023-04-01 12:45:29 +08:00
MarkCao
8fde0366fb
Kickoff publisher when stream is idle, which means no players. v6.0.31, v5.0.144 (#3105)
For some use scenario, the publisher is invited when player want to view the stream:

1. Publisher connect to system, but does not publish any stream to SRS yet.
2. Player connect to system and start to request the stream.
3. System notifies publisher to publish stream to SRS.
4. Player play the stream from SRS.

Please notice that `system` means your business system, not SRS.

This is what we called `on-demand-live-streaming`, so when the last player stop to view the stream, what happends?

1. System needs to notify publisher to stop publish.
2. Or, SRS disconnect the publisher when idle(the last player stops playing).

This PR is for the solution 2, so that the cleanup is very simple, your system does not need to notify publisher to stop publish, because SRS has already disconnected the publihser.

---------

Co-authored-by: winlin <winlin@vip.126.com>
Co-authored-by: chundonglinlin <chundonglinlin@163.com>
2023-03-06 09:09:27 +08:00
john
fe086dfc31
SRT: Upgrade libsrt from 1.4.1 to 1.5.1. v6.0.12 (#3362)
Co-authored-by: winlin <winlin@vip.126.com>
2023-01-04 19:56:33 +08:00
winlin
c46ef81ff2 SRS5: Update license date to 2023. v5.0.123
PICK 72f8ed4916
2023-01-01 08:56:20 +08:00
winlin
5d48c9ce1b Refine code to allow search for conflicts. 2022-12-25 16:26:15 +08:00
Winlin
a36cb57949
FLV: Support set default has_av and disable guessing. v5.0.110 (#3311)
* FLV: Support set default has_av and disable guessing. v5.0.110

1. Support config default has_audio and has_video.
2. Support disable guessing has_audio or has_video.

* FLV: Reset to false if start to guess has_av.

* FLV: Add regression test for FLV header av metadata.
2022-12-17 14:51:48 +08:00
Winlin
4551200e95
FLV: Drop packet if header flag is not matched. v5.0.109 (#3306)
1. Ignore audo or video packets if FLV header disable it.
2. Run: Add regression test config and run for IDEA.
3. Test: Refine regression test to allow no audio/video for FLV
4. Config: Whether drop packet if not match header.
2022-12-14 21:07:14 +08:00
john
271afbbf82
DASH: Fix number mode bug to make it run. v5.0.96 (#3240)
* Add utc time utility
* Fix calculate duration in fmp4
* Refine dash code, use segment template timeline
* Shrink m4s file and cleanup
* Support play by dash.js
* Use SegmentTemplate timeline mode with $Number$

Co-authored-by: winlin <winlin@vip.126.com>
2022-11-24 18:09:50 +08:00
stone
ec76512e42
Live: Limit cached max frames by gop_cache_max_frames (#3236)
* add gop_cache_max_frames

* Live: Limit cached max frames by gop_cache_max_frames. v5.0.93

Co-authored-by: wanglei <wanglei@unicloud.com>
Co-authored-by: winlin <winlin@vip.126.com>
2022-11-22 12:31:45 +08:00
winlin
9673bfb92c Config: Support set env_only by SRS_ENV_ONLY. 2022-10-30 21:01:02 +08:00
winlin
9f7a06bc9e Config: Support startting with environment variable only. v5.0.85 2022-10-30 15:18:59 +08:00
john
7d9dc69ae1
SRT: Support encrypt, with utest (#3223)
* SRT: support encrypt, with utest

* SRT: refine set srt option error log
2022-10-28 16:55:35 +08:00
Winlin
2d1ba46e37
Fix #3218: Log: Follow Java/log4j log level specs. v5.0.83 (#3219)
1. Support Java/log4j log level text.
2. Support configuring by `--log-new-level=on` which is enabled by default.
3. Support `--log-new-level=off` to use SRS 4.0 log level for compatibility.
2022-10-26 21:23:03 +08:00
Winlin
5a420ece3b
GB28181: Support GB28181-2016 protocol. v5.0.74 (#3201)
01. Support GB config as StreamCaster.
02. Support disable GB by --gb28181=off.
03. Add utests for SIP examples.
04. Wireshark plugin to decode TCP/9000 as rtp.rfc4571
05. Support MPEGPS program stream codec.
06. Add utest for PS stream codec.
07. Decode MPEGPS packet stream.
08. Carry RTP and PS packet as helper in PS message.
09. Support recover from error mode.
10. Support process by a pack of PS/TS messages.
11. Add statistic for recovered and msgs dropped.
12. Recover from err position fastly.
13. Define state machine for GB session.
14. Bind context to GB session.
15. Re-invite when media disconnected.
16. Update GitHub actions with GB28181.
17. Support parse CANDIDATE by env or pip.
18. Support mux GB28181 to RTMP.
19. Support regression test by srs-bench.
2022-10-06 17:40:58 +08:00
chundonglinlin
9525511032
Exporter: Listen at port 9972 for Prometheus exporter. (#3195) 2022-10-01 07:35:54 +08:00
chundonglinlin
981cab40d3
API: support metrics for prometheus.(#2899) (#3189)
* API: support metrics for prometheus.

* Metrics: optimize metrics statistics info.

* Refine: remove redundant code.

* Refine: fix metrics srs_streams param.

* Metrics: add major param.

* Metrics: refine params and metric comments.

* For #2899: API: Support exporter for Prometheus. v5.0.67

Co-authored-by: winlin <winlin@vip.126.com>
2022-09-27 15:39:26 +08:00
winlin
d4898bec3c APM: Check endpoint port and team. 2022-09-21 20:06:33 +08:00
winlin
3e2f8622f8 APM: Support distributed tracing by Tencent Cloud APM. v5.0.63 2022-09-16 18:54:28 +08:00
winlin
770d959148 WebRTC: Support config, listener and SDP for TCP transport. 2022-09-04 20:13:33 +08:00
winlin
84c96076a9 Merge branch '4.0release' into develop 2022-09-02 10:57:56 +08:00
winlin
4a225c5640 For #307: WebRTC: Support use domain name as CANDIDATE. v4.0.259 2022-09-02 10:52:30 +08:00
winlin
783aea7ac3 Fix #1405: Support guessing IBMF first. v5.0.58 2022-09-01 19:28:51 +08:00
winlin
e027d28c4d HLS: Support disable hls_ts_ctx. 2022-09-01 16:17:47 +08:00
winlin
937605b18c Remove bandwidth check because falsh is disabled. v5.0.52 2022-08-30 10:45:40 +08:00
winlin
457738f6eb Fix #2881: HTTP: Support merging api to server. v5.0.47 2022-08-28 13:11:31 +08:00
ChenHaibo
2c569f568c HLS: Support config hls_ctx to disable HLS streaming. 2022-08-27 19:41:07 +08:00
winlin
95cd0e84eb Log: Support write log to tencentcloud CLS. v5.0.44 2022-08-24 15:51:23 +08:00
winlin
3da0b57121 Merge 4.0release. 2022-08-24 15:27:56 +08:00
winlin
9923c749d4 STAT: Support config server_id and generate one if empty. v4.0.257 2022-08-24 15:06:43 +08:00
winlin
f7280399d4 Merge 4.0release, migrate to new website. 2022-07-31 18:34:18 +08:00
winlin
b2e083b00d Support multiple threads by thread pool. v5.0.32 2022-06-29 20:15:44 +08:00
winlin
e05535267b Disable reload for log config. 2022-06-29 19:29:50 +08:00
winlin
d117145b95 Update date from 2021 to 2022. 2022-06-20 19:22:25 +08:00
hondaxiao
fbc6eebe18 SRT: remove rtmp_to_srt 2022-06-14 20:02:25 +08:00
hondaxiao
43d98d0b1c SRT: remove mix_correct 2022-06-14 20:02:24 +08:00
hondaxiao
a5ac7cfe37 SRT: use srs code style in function defination 2022-06-14 20:02:24 +08:00
hondaxiao
dd8ccfe5d8 SRT: refine int to srs_utime_t in srt timeout config 2022-06-14 20:02:24 +08:00
hondaxiao
e13d16439e SRT: support rtmp to srt 2022-06-14 20:02:22 +08:00
hondaxiao
94fa0ff7bd Refine SRT code, with StateThread adpater 2022-06-14 19:58:42 +08:00
chundonglinlin
03cf93fc2b
Forward: support config full rtmp url forward to other server (#2799)
* Forward: add backend config and demo server for dynamic create forwarder to other server.(#1342)

* Forward: if call forward backend failed, then return directly.

* Forward: add API description and change return value format.

* Forward: add backend conf file and wrapper function for backend service.

* Forward: add backend comment in full.conf and update forward.backend.conf.

* Forward: rename backend param and add comment tips.
2022-02-16 10:49:16 +08:00
mapengfei53
fde44885d9
Support include directive for config file (#2878)
* Support include import configuration

* Remove support for regular rules

* Remove support for regular rules

* Fix configuration file parsing bug

* Added utest tests for include functionality

* Added utest tests for include functionality

* Modify the UTest function

* optimized code

* Config: Refine parse error with state

* Config: Reorder functions

* Config: Rename parsing type to context

* Config: Refine args for include

* Config: Add utests for include

* Config: Refine code, parsing recursively.

* Config: Change the mock from file to buffer

* Config: Mock buffer in config

* Config: Refine code

* Add utests for include

* Added utest for include

Co-authored-by: pengfei.ma <pengfei.ma@ngaa.com.cn>
Co-authored-by: winlin <winlin@vip.126.com>
2022-02-14 15:08: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
4110fb14cb Squash: Fix bugs. v5.0.20 2022-01-11 08:40:37 +08:00
winlin
fbb6d9464c Discover api server and ip as candidates. v4.0.218 2022-01-04 22:31:27 +08:00
winlin
7808bd7ca8 Support config in_docker to fix the detect fail. (#2824). v4.0.216 2022-01-03 16:55:52 +08:00
winlin
cd7e5a131e Squash: SRS 4.0, Stat the oc(origin cluster). 2021-10-13 09:03:47 +08:00
winlin
18a155bf31 API: Stat the oc(origin cluster). 2021-10-13 08:13: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