mirror of
https://github.com/ossrs/srs.git
synced 2025-02-15 04:42:04 +00:00
Merge branch '4.0release' into merge/develop
This commit is contained in:
commit
73f8d64215
8 changed files with 25 additions and 16 deletions
21
README.md
21
README.md
|
@ -182,6 +182,7 @@ The ports used by SRS:
|
|||
|
||||
## V4 changes
|
||||
|
||||
* v4.0, 2021-05-09, Refine tid for sdk and demos. 4.0.106
|
||||
* v4.0, 2021-05-08, Refine shared fast timer. 4.0.105
|
||||
* v4.0, 2021-05-08, Refine global or thread-local variables initialize. 4.0.104
|
||||
* v4.0, 2021-05-07, RTC: Support circuit breaker. 4.0.103
|
||||
|
@ -1136,13 +1137,21 @@ The data for playing HTTP FLV was benchmarked by [SB][srs-bench]:
|
|||
|
||||
The RTC benchmark data, by [srs-bench](https://github.com/ossrs/srs-bench/tree/feature/rtc#usage):
|
||||
|
||||
| Update | SFU | Clients | Type | CPU | Memory | Threads | VM |
|
||||
| ---------- | ------------- | -------- | ------------- | --------- | -------- | ------- | ---- |
|
||||
| 2021-05-10 | SRS/v4.0.105 | 2000 | players | ~94% x1 | 462MB | 1 | G7 2CPU |
|
||||
| 2021-05-10 | SRS/v4.0.105 | 1000 | players | ~90% x1 | 180MB | 1 | G5 2CPU |
|
||||
| 2021-03-31 | SRS/v4.0.87 | 800 | players | ~94% x1 | 444MB | 1 | G5 2CPU |
|
||||
| 2021-05-10 | Janus/v0.11.1 | 700 | players | ~93% x2 | 430MB | 24 | G5 2CPU |
|
||||
| 2021-05-10 | SRS/v4.0.105 | 1700 | publishers | ~92% x1 | 334MB | 1 | G7 2CPU |
|
||||
| 2021-05-10 | SRS/v4.0.105 | 950 | publishers | ~92% x1 | 132MB | 1 | G5 2CPU |
|
||||
| 2021-03-31 | SRS/v4.0.87 | 550 | publishers | ~86% x1 | 1.3GB | 1 | G5 2CPU |
|
||||
| 2021-05-10 | Janus/v0.11.1 | 350 | publishers | ~93% x2 | 405MB | 23 | G5 2CPU |
|
||||
|
||||
| Update | SRS | Clients | Type | CPU | Memory | Threads |
|
||||
| ------------- | --------- | ------------- | ------------- | --------- | -------- | ------- |
|
||||
| 2021-03-31 | 4.0.87 | 550 | publishers | ~86% | 1.3GB | 1 |
|
||||
| 2021-03-31 | 4.0.87 | 800 | players | ~94% | 444MB | 1 |
|
||||
|
||||
> Note: CentOS7, 500Kbps, 4CPU, 2.5 GHz Intel Xeon Platinum 8163/8269CY.
|
||||
> Note: CentOS7, 600Kbps, [ECS/G5-2.5GHZ(SkyLake)/G7-2.7GHZ(IceLake)](https://help.aliyun.com/document_detail/25378.html),
|
||||
> [SRS/v4.0.87](https://github.com/ossrs/srs/commit/d6c16a7e236e03eba754c763e865464ec82d4516),
|
||||
> [SRS/v4.0.105](https://github.com/ossrs/srs/commit/2ad24b2313e88a85801deaea370204f225555939),
|
||||
> [Janus/v0.11.1](https://github.com/meetecho/janus-gateway/releases/tag/v0.11.1).
|
||||
|
||||
<a name="latency-benchmark"></a>
|
||||
**Latency benchmark**
|
||||
|
|
|
@ -15,7 +15,7 @@
|
|||
点击进入<a class="srs_demo" href="room.html?autostart=true">SRS多人通话演示</a>
|
||||
</p>
|
||||
<script>
|
||||
let roomName = Number(new Date().getTime() + parseInt(String(Math.random() * 10000000000))).toString(16).substr(3);
|
||||
let roomName = Number(parseInt(new Date().getTime()*Math.random()*100)).toString(16).substr(0, 7);
|
||||
let elems = document.getElementsByClassName('srs_demo');
|
||||
for (var i = 0; i < elems.length; i++) {
|
||||
let elem = elems.item(i);
|
||||
|
|
|
@ -144,7 +144,7 @@ function SrsRtcPublisherAsync() {
|
|||
|
||||
return {
|
||||
apiUrl: apiUrl, streamUrl: streamUrl, schema: schema, urlObject: urlObject, port: port,
|
||||
tid: Number(new Date().getTime() + parseInt(String(Math.random() * 10000000000))).toString(16)
|
||||
tid: Number(parseInt(new Date().getTime()*Math.random()*100)).toString(16).substr(0, 7)
|
||||
};
|
||||
},
|
||||
parse: function (url) {
|
||||
|
@ -361,7 +361,7 @@ function SrsRtcPlayerAsync() {
|
|||
|
||||
return {
|
||||
apiUrl: apiUrl, streamUrl: streamUrl, schema: schema, urlObject: urlObject, port: port,
|
||||
tid: Number(new Date().getTime() + parseInt(String(Math.random() * 10000000000))).toString(16)
|
||||
tid: Number(parseInt(new Date().getTime()*Math.random()*100)).toString(16).substr(0, 7)
|
||||
};
|
||||
},
|
||||
parse: function (url) {
|
||||
|
|
|
@ -59,7 +59,7 @@ function SrsRtcSignalingAsync() {
|
|||
// The message is a json object.
|
||||
self.send = async function (message) {
|
||||
return new Promise(function (resolve, reject) {
|
||||
var r = {tid: Number(new Date().getTime() + parseInt(String(Math.random() * 10000000000))).toString(16), msg: message};
|
||||
var r = {tid: Number(parseInt(new Date().getTime()*Math.random()*100)).toString(16).substr(0, 7), msg: message};
|
||||
self._internals.msgs[r.tid] = {resolve: resolve, reject: reject};
|
||||
self.ws.send(JSON.stringify(r));
|
||||
});
|
||||
|
@ -108,7 +108,7 @@ function SrsRtcSignalingParse(location) {
|
|||
room = room? room.split('&')[0] : null;
|
||||
|
||||
let display = location.href.split('display=')[1];
|
||||
display = display? display.split('&')[0] : Number(new Date().getTime() + parseInt(String(Math.random() * 10000000000))).toString(16).substr(3);
|
||||
display = display? display.split('&')[0] : Number(parseInt(new Date().getTime()*Math.random()*100)).toString(16).toString(16).substr(0, 7);
|
||||
|
||||
let autostart = location.href.split('autostart=')[1];
|
||||
autostart = autostart && autostart.split('&')[0] === 'true';
|
||||
|
|
|
@ -144,7 +144,7 @@ function SrsRtcPublisherAsync() {
|
|||
|
||||
return {
|
||||
apiUrl: apiUrl, streamUrl: streamUrl, schema: schema, urlObject: urlObject, port: port,
|
||||
tid: new Date().getTime().toString(16)
|
||||
tid: Number(parseInt(new Date().getTime()*Math.random()*100)).toString(16).substr(0, 7)
|
||||
};
|
||||
},
|
||||
parse: function (url) {
|
||||
|
@ -361,7 +361,7 @@ function SrsRtcPlayerAsync() {
|
|||
|
||||
return {
|
||||
apiUrl: apiUrl, streamUrl: streamUrl, schema: schema, urlObject: urlObject, port: port,
|
||||
tid: new Date().getTime().toString(16)
|
||||
tid: Number(parseInt(new Date().getTime()*Math.random()*100)).toString(16).substr(0, 7)
|
||||
};
|
||||
},
|
||||
parse: function (url) {
|
||||
|
|
|
@ -335,7 +335,7 @@
|
|||
$("#btn_publish").click(on_user_publish);
|
||||
|
||||
// for publish, we use randome stream name.
|
||||
$("#txt_url").val($("#txt_url").val() + "." + Number(new Date().getTime() + parseInt(String(Math.random() * 10000000000))).toString(16));
|
||||
$("#txt_url").val($("#txt_url").val() + "." + Number(parseInt(new Date().getTime()*Math.random()*100)).toString(16).substr(0, 7));
|
||||
|
||||
// start the publisher.
|
||||
srs_publisher = new SrsPublisher("local_publisher", 430, 185);
|
||||
|
|
|
@ -26,6 +26,6 @@
|
|||
|
||||
#define VERSION_MAJOR 4
|
||||
#define VERSION_MINOR 0
|
||||
#define VERSION_REVISION 105
|
||||
#define VERSION_REVISION 106
|
||||
|
||||
#endif
|
||||
|
|
|
@ -83,7 +83,7 @@ srs_error_t srs_st_init()
|
|||
|
||||
// Switch to the background cid.
|
||||
_srs_context->set_id(cid);
|
||||
srs_trace("st_init success, use %s", st_get_eventsys_name());
|
||||
srs_info("st_init success, use %s", st_get_eventsys_name());
|
||||
|
||||
return srs_success;
|
||||
}
|
||||
|
|
Loading…
Reference in a new issue