mirror of
https://github.com/ossrs/srs.git
synced 2025-02-13 03:41:55 +00:00
Merge branch '2.0release' into develop
This commit is contained in:
commit
27a1fee6b9
3 changed files with 42 additions and 7 deletions
|
@ -217,6 +217,7 @@ Supported operating systems and hardware:
|
|||
1. [experiment] Support push MPEG-TS over UDP to SRS, read [bug #250][bug #250].
|
||||
1. [experiment] Support push RTSP to SRS, read [bug #133][bug #133].
|
||||
1. [experiment] Support push flv stream over HTTP POST to SRS, read [wiki]([CN][v2_CN_Streamer2], [EN][v2_EN_Streamer2]).
|
||||
1. [experiment] Support [srs-dolphin][srs-dolphin], the multiple-process SRS.
|
||||
1. [no-plan] Support <500ms latency, FRSC(Fast RTMP-compatible Stream Channel tech).
|
||||
1. [no-plan] Support RTMP 302 redirect [bug #92][bug #92].
|
||||
1. [no-plan] Support multiple processes, for both origin and edge
|
||||
|
@ -270,6 +271,7 @@ Compare SRS with other media server.
|
|||
| Feature | SRS | NGINX | CRTMPD | FMS | WOWZA |
|
||||
| ----------- | ------- | ----- | --------- | -------- | ------ |
|
||||
| Concurrency | 7.5k | 3k | 2k | 2k | 3k |
|
||||
|MultipleProcess| Experiment| Stable | X | X | X |
|
||||
| RTMP Latency| 0.1s | 3s | 3s | 3s | 3s |
|
||||
| HLS Latency | 10s | 30s | X | 30s | 30s |
|
||||
|
||||
|
@ -306,6 +308,7 @@ Compare SRS with other media server.
|
|||
Remark:
|
||||
|
||||
1. Concurrency: The concurrency of single process.
|
||||
1. MultipleProcess: SRS is single process, while [srs-dolphin][srs-dolphin] is a MultipleProcess SRS.
|
||||
1. HLS aonly: The HLS audio only streaming delivery.
|
||||
1. BW check: The bandwidth check.
|
||||
1. Security: To allow or deny stream publish or play.
|
||||
|
@ -343,7 +346,7 @@ Remark:
|
|||
* v3.0, 2015-03-15, fork srs2 and start srs3. 3.0.0
|
||||
|
||||
### SRS 2.0 history
|
||||
|
||||
* v2.0, 2015-05-28, support [srs-dolphin][srs-dolphin], the multiple-process SRS.
|
||||
* v2.0, 2015-05-24, fix [#404](https://github.com/simple-rtmp-server/srs/issues/404) register handler then start http thread. 2.0.167.
|
||||
* v2.0, 2015-05-23, refine the thread, protocol, kbps code. 2.0.166
|
||||
* v2.0, 2015-05-23, fix [#391](https://github.com/simple-rtmp-server/srs/issues/391) copy request for async call.
|
||||
|
@ -675,6 +678,7 @@ Performance benchmark history, on virtual box.
|
|||
|
||||
* See also: [Performance for x86/x64 Test Guide](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Performance)
|
||||
* See also: [Performance for RaspberryPi](https://github.com/simple-rtmp-server/srs/wiki/v1_CN_RaspberryPi)
|
||||
* About multiple-process performance, read [srs-dolphin][srs-dolphin].
|
||||
|
||||
### Play RTMP benchmark
|
||||
|
||||
|
@ -857,6 +861,7 @@ Winlin
|
|||
[srs]: https://github.com/simple-rtmp-server/srs
|
||||
[csdn]: https://code.csdn.net/winlinvip/srs-csdn
|
||||
[oschina]: http://git.oschina.net/winlinvip/srs.oschina
|
||||
[srs-dolphin]: https://github.com/simple-rtmp-server/srs-dolphin
|
||||
[gitlab]: https://gitlab.com/winlinvip/srs-gitlab
|
||||
[v1_CN_Git]: https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Git
|
||||
[v1_EN_Git]: https://github.com/simple-rtmp-server/srs/wiki/v1_EN_Git
|
||||
|
|
|
@ -391,13 +391,17 @@ void SrsConfig::set_config_directive(SrsConfDirective* parent, string dir, strin
|
|||
|
||||
if (!d) {
|
||||
d = new SrsConfDirective();
|
||||
if (!dir.empty()) {
|
||||
d->name = dir;
|
||||
}
|
||||
parent->directives.push_back(d);
|
||||
}
|
||||
|
||||
d->args.clear();
|
||||
if (!value.empty()) {
|
||||
d->args.push_back(value);
|
||||
}
|
||||
}
|
||||
|
||||
void SrsConfig::subscribe(ISrsReloadHandler* handler)
|
||||
{
|
||||
|
@ -1284,16 +1288,29 @@ int SrsConfig::parse_argv(int& i, char** argv)
|
|||
case 'p':
|
||||
dolphin = true;
|
||||
if (*p) {
|
||||
dolphin_port = p;
|
||||
dolphin_rtmp_port = p;
|
||||
continue;
|
||||
}
|
||||
if (argv[++i]) {
|
||||
dolphin_port = argv[i];
|
||||
dolphin_rtmp_port = argv[i];
|
||||
continue;
|
||||
}
|
||||
ret = ERROR_SYSTEM_CONFIG_INVALID;
|
||||
srs_error("option \"-p\" requires params, ret=%d", ret);
|
||||
return ret;
|
||||
case 'x':
|
||||
dolphin = true;
|
||||
if (*p) {
|
||||
dolphin_http_port = p;
|
||||
continue;
|
||||
}
|
||||
if (argv[++i]) {
|
||||
dolphin_http_port = argv[i];
|
||||
continue;
|
||||
}
|
||||
ret = ERROR_SYSTEM_CONFIG_INVALID;
|
||||
srs_error("option \"-x\" requires params, ret=%d", ret);
|
||||
return ret;
|
||||
case 'v':
|
||||
case 'V':
|
||||
show_help = false;
|
||||
|
@ -1338,6 +1355,9 @@ void SrsConfig::print_help(char** argv)
|
|||
" -v, -V : show version and exit(0)\n"
|
||||
" -t : test configuration file, exit(error_code).\n"
|
||||
" -c filename : use configuration file for SRS\n"
|
||||
"For srs-dolphin:\n"
|
||||
" -p rtmp-port : the rtmp port to listen.\n"
|
||||
" -x http-port : the http port to listen.\n"
|
||||
"\n"
|
||||
RTMP_SIG_SRS_WEB"\n"
|
||||
RTMP_SIG_SRS_URL"\n"
|
||||
|
@ -1882,7 +1902,16 @@ int SrsConfig::parse_buffer(SrsConfigBuffer* buffer)
|
|||
// mock by dolphin mode.
|
||||
// for the dolphin will start srs with specified params.
|
||||
if (dolphin) {
|
||||
set_config_directive(root, "listen", dolphin_port);
|
||||
// for RTMP.
|
||||
set_config_directive(root, "listen", dolphin_rtmp_port);
|
||||
|
||||
// for HTTP
|
||||
set_config_directive(root, "http_server", "");
|
||||
SrsConfDirective* http_server = root->get("http_server");
|
||||
set_config_directive(http_server, "enabled", "on");
|
||||
set_config_directive(http_server, "listen", dolphin_http_port);
|
||||
|
||||
// others.
|
||||
set_config_directive(root, "daemon", "off");
|
||||
set_config_directive(root, "srs_log_tank", "console");
|
||||
}
|
||||
|
|
|
@ -271,7 +271,8 @@ private:
|
|||
* @see https://github.com/simple-rtmp-server/srs-dolphin
|
||||
*/
|
||||
bool dolphin;
|
||||
std::string dolphin_port;
|
||||
std::string dolphin_rtmp_port;
|
||||
std::string dolphin_http_port;
|
||||
/**
|
||||
* whether show help and exit.
|
||||
*/
|
||||
|
|
Loading…
Reference in a new issue