winlin

merge from @mbeacom

@@ -7,23 +7,20 @@ @@ -7,23 +7,20 @@
7 # for example, 192.168.1.100:1935 10.10.10.100:1935 7 # for example, 192.168.1.100:1935 10.10.10.100:1935
8 # where the ip is optional, default to 0.0.0.0, that is 1935 equals to 0.0.0.0:1935 8 # where the ip is optional, default to 0.0.0.0, that is 1935 equals to 0.0.0.0:1935
9 listen 1935; 9 listen 1935;
10 -# change to this dir as the cwd.  
11 -# ignore if empty or not configed.  
12 -work_dir /usr/local/srs;  
13 # the pid file 10 # the pid file
14 # to ensure only one process can use a pid file 11 # to ensure only one process can use a pid file
15 -# and provides the current running process id, for script, 12 +# and provides the current running process id, for script,
16 # for example, init.d script to manage the server. 13 # for example, init.d script to manage the server.
17 # default: ./objs/srs.pid 14 # default: ./objs/srs.pid
18 pid ./objs/srs.pid; 15 pid ./objs/srs.pid;
19 # the default chunk size is 128, max is 65536, 16 # the default chunk size is 128, max is 65536,
20 # some client does not support chunk size change, 17 # some client does not support chunk size change,
21 -# however, most clients supports it and it can improve 18 +# however, most clients support it and it can improve
22 # performance about 10%. 19 # performance about 10%.
23 # default: 60000 20 # default: 60000
24 chunk_size 60000; 21 chunk_size 60000;
25 # the logs dir. 22 # the logs dir.
26 -# if enabled ffmpeg, each stracoding stream will create a log file. 23 +# if enabled ffmpeg, each transcoding stream will create a log file.
27 # /dev/null to disable the log. 24 # /dev/null to disable the log.
28 # default: ./objs 25 # default: ./objs
29 ff_log_dir ./objs; 26 ff_log_dir ./objs;
@@ -43,8 +40,8 @@ srs_log_file ./objs/srs.log; @@ -43,8 +40,8 @@ srs_log_file ./objs/srs.log;
43 # if exceed the max connections, server will drop the new connection. 40 # if exceed the max connections, server will drop the new connection.
44 # default: 1000 41 # default: 1000
45 max_connections 1000; 42 max_connections 1000;
46 -# whether start as deamon  
47 -# @remark: donot support reload. 43 +# whether start as daemon
  44 +# @remark: do not support reload.
48 # default: on 45 # default: on
49 daemon on; 46 daemon on;
50 # whether use utc_time to generate the time struct, 47 # whether use utc_time to generate the time struct,
@@ -65,7 +62,7 @@ pithy_print_ms 10000; @@ -65,7 +62,7 @@ pithy_print_ms 10000;
65 # @remark, the ip report to server, is retrieve from system stat, 62 # @remark, the ip report to server, is retrieve from system stat,
66 # which need the config item stats.network. 63 # which need the config item stats.network.
67 heartbeat { 64 heartbeat {
68 - # whether heartbeat is enalbed. 65 + # whether heartbeat is enabled.
69 # default: off 66 # default: off
70 enabled off; 67 enabled off;
71 # the interval seconds for heartbeat, 68 # the interval seconds for heartbeat,
@@ -80,7 +77,7 @@ heartbeat { @@ -80,7 +77,7 @@ heartbeat {
80 # } 77 # }
81 # default: http://127.0.0.1:8085/api/v1/servers 78 # default: http://127.0.0.1:8085/api/v1/servers
82 url http://127.0.0.1:8085/api/v1/servers; 79 url http://127.0.0.1:8085/api/v1/servers;
83 - # the id of devide. 80 + # the id of device.
84 device_id "my-srs-device"; 81 device_id "my-srs-device";
85 # whether report with summaries 82 # whether report with summaries
86 # if on, put /api/v1/summaries to the request data: 83 # if on, put /api/v1/summaries to the request data:
@@ -104,7 +101,7 @@ stats { @@ -104,7 +101,7 @@ stats {
104 # default: 0 101 # default: 0
105 network 0; 102 network 0;
106 # the device name to stat the disk iops. 103 # the device name to stat the disk iops.
107 - # ignore the device of /proc/diskstats if not configed. 104 + # ignore the device of /proc/diskstats if not configured.
108 disk sda sdb xvda xvdb; 105 disk sda sdb xvda xvdb;
109 } 106 }
110 107
@@ -145,15 +142,15 @@ http_api { @@ -145,15 +142,15 @@ http_api {
145 allow_update off; 142 allow_update off;
146 } 143 }
147 } 144 }
148 -# embeded http server in srs. 145 +# embedded http server in srs.
149 # the http streaming config, for HLS/HDS/DASH/HTTPProgressive 146 # the http streaming config, for HLS/HDS/DASH/HTTPProgressive
150 # global config for http streaming, user must config the http section for each vhost. 147 # global config for http streaming, user must config the http section for each vhost.
151 # the embed http server used to substitute nginx in ./objs/nginx, 148 # the embed http server used to substitute nginx in ./objs/nginx,
152 -# for example, srs runing in arm, can provides RTMP and HTTP service, only with srs installed. 149 +# for example, srs running in arm, can provides RTMP and HTTP service, only with srs installed.
153 # user can access the http server pages, generally: 150 # user can access the http server pages, generally:
154 # curl http://192.168.1.170:80/srs.html 151 # curl http://192.168.1.170:80/srs.html
155 # which will show srs version and welcome to srs. 152 # which will show srs version and welcome to srs.
156 -# @remark, the http embeded stream need to config the vhost, for instance, the __defaultVhost__ 153 +# @remark, the http embedded stream need to config the vhost, for instance, the __defaultVhost__
157 # need to open the feature http of vhost. 154 # need to open the feature http of vhost.
158 http_server { 155 http_server {
159 # whether http streaming service is enabled. 156 # whether http streaming service is enabled.
@@ -267,20 +264,20 @@ vhost scope.vhost.srs.com { @@ -267,20 +264,20 @@ vhost scope.vhost.srs.com {
267 # if off, all request access denied. 264 # if off, all request access denied.
268 # default: on 265 # default: on
269 enabled off; 266 enabled off;
270 - 267 +
271 # whether enable min delay mode for vhost. 268 # whether enable min delay mode for vhost.
272 - # for min latence mode: 269 + # for min latency mode:
273 # 1. disable the publish.mr for vhost. 270 # 1. disable the publish.mr for vhost.
274 # 2. use timeout for cond wait for consumer queue. 271 # 2. use timeout for cond wait for consumer queue.
275 # @see https://github.com/ossrs/srs/issues/257 272 # @see https://github.com/ossrs/srs/issues/257
276 # default: off 273 # default: off
277 min_latency off; 274 min_latency off;
278 - 275 +
279 # whether enable the TCP_NODELAY 276 # whether enable the TCP_NODELAY
280 # if on, set the nodelay of fd by setsockopt 277 # if on, set the nodelay of fd by setsockopt
281 # default: off 278 # default: off
282 tcp_nodelay off; 279 tcp_nodelay off;
283 - 280 +
284 # the default chunk size is 128, max is 65536, 281 # the default chunk size is 128, max is 65536,
285 # some client does not support chunk size change, 282 # some client does not support chunk size change,
286 # vhost chunk size will override the global value. 283 # vhost chunk size will override the global value.
@@ -314,7 +311,7 @@ vhost cluster.srs.com { @@ -314,7 +311,7 @@ vhost cluster.srs.com {
314 # @remark user can specifies multiple origin for error backup, by space, 311 # @remark user can specifies multiple origin for error backup, by space,
315 # for example, 192.168.1.100:1935 192.168.1.101:1935 192.168.1.102:1935 312 # for example, 192.168.1.100:1935 192.168.1.101:1935 192.168.1.102:1935
316 origin 127.0.0.1:1935 localhost:1935; 313 origin 127.0.0.1:1935 localhost:1935;
317 - 314 +
318 # for edge, whether open the token traverse mode, 315 # for edge, whether open the token traverse mode,
319 # if token traverse on, all connections of edge will forward to origin to check(auth), 316 # if token traverse on, all connections of edge will forward to origin to check(auth),
320 # it's very important for the edge to do the token auth. 317 # it's very important for the edge to do the token auth.
@@ -322,16 +319,16 @@ vhost cluster.srs.com { @@ -322,16 +319,16 @@ vhost cluster.srs.com {
322 # but if user prefer origin check(auth), the token_traverse if better solution. 319 # but if user prefer origin check(auth), the token_traverse if better solution.
323 # default: off 320 # default: off
324 token_traverse off; 321 token_traverse off;
325 - 322 +
326 # the vhost to transform for edge, 323 # the vhost to transform for edge,
327 # to fetch from the specified vhost at origin, 324 # to fetch from the specified vhost at origin,
328 # if not specified, use the current vhost of edge in origin, the variable [vhost]. 325 # if not specified, use the current vhost of edge in origin, the variable [vhost].
329 # default: [vhost] 326 # default: [vhost]
330 vhost same.edge.srs.com; 327 vhost same.edge.srs.com;
331 - 328 +
332 # when upnode(forward to, edge push to, edge pull from) is srs, 329 # when upnode(forward to, edge push to, edge pull from) is srs,
333 # it's strongly recommend to open the debug_srs_upnode, 330 # it's strongly recommend to open the debug_srs_upnode,
334 - # when connect to upnode, it will take the debug info, 331 + # when connect to upnode, it will take the debug info,
335 # for example, the id, source id, pid. 332 # for example, the id, source id, pid.
336 # please see: https://github.com/ossrs/srs/wiki/v1_CN_SrsLog 333 # please see: https://github.com/ossrs/srs/wiki/v1_CN_SrsLog
337 # default: on 334 # default: on
@@ -397,20 +394,20 @@ vhost play.srs.com { @@ -397,20 +394,20 @@ vhost play.srs.com {
397 # default: on 394 # default: on
398 gop_cache off; 395 gop_cache off;
399 # the max live queue length in seconds. 396 # the max live queue length in seconds.
400 - # if the messages in the queue exceed the max length, 397 + # if the messages in the queue exceed the max length,
401 # drop the old whole gop. 398 # drop the old whole gop.
402 # default: 30 399 # default: 30
403 queue_length 10; 400 queue_length 10;
404 - 401 +
405 # about the stream monotonically increasing: 402 # about the stream monotonically increasing:
406 - # 1. video timestamp is monotonically increasing, 403 + # 1. video timestamp is monotonically increasing,
407 # 2. audio timestamp is monotonically increasing, 404 # 2. audio timestamp is monotonically increasing,
408 # 3. video and audio timestamp is interleaved/mixed monotonically increasing. 405 # 3. video and audio timestamp is interleaved/mixed monotonically increasing.
409 # it's specified by RTMP specification, @see 3. Byte Order, Alignment, and Time Format 406 # it's specified by RTMP specification, @see 3. Byte Order, Alignment, and Time Format
410 # however, some encoder cannot provides this feature, please set this to off to ignore time jitter. 407 # however, some encoder cannot provides this feature, please set this to off to ignore time jitter.
411 # the time jitter algorithm: 408 # the time jitter algorithm:
412 # 1. full, to ensure stream start at zero, and ensure stream monotonically increasing. 409 # 1. full, to ensure stream start at zero, and ensure stream monotonically increasing.
413 - # 2. zero, only ensure sttream start at zero, ignore timestamp jitter. 410 + # 2. zero, only ensure stream start at zero, ignore timestamp jitter.
414 # 3. off, disable the time jitter algorithm, like atc. 411 # 3. off, disable the time jitter algorithm, like atc.
415 # default: full 412 # default: full
416 time_jitter full; 413 time_jitter full;
@@ -427,7 +424,7 @@ vhost play.srs.com { @@ -427,7 +424,7 @@ vhost play.srs.com {
427 # server use atc to delivery stream to edge/client, where stream time from master/slave server 424 # server use atc to delivery stream to edge/client, where stream time from master/slave server
428 # is always the same, client/tools can slice RTMP stream to HLS according to the same time, 425 # is always the same, client/tools can slice RTMP stream to HLS according to the same time,
429 # if the time not the same, the HLS stream cannot slice to support system backup. 426 # if the time not the same, the HLS stream cannot slice to support system backup.
430 - # 427 + #
431 # @see http://www.adobe.com/cn/devnet/adobe-media-server/articles/varnish-sample-for-failover.html 428 # @see http://www.adobe.com/cn/devnet/adobe-media-server/articles/varnish-sample-for-failover.html
432 # @see http://www.baidu.com/#wd=hds%20hls%20atc 429 # @see http://www.baidu.com/#wd=hds%20hls%20atc
433 # 430 #
@@ -439,14 +436,14 @@ vhost play.srs.com { @@ -439,14 +436,14 @@ vhost play.srs.com {
439 # always ignore the onMetaData if atc_auto is off. 436 # always ignore the onMetaData if atc_auto is off.
440 # default: off 437 # default: off
441 atc_auto off; 438 atc_auto off;
442 -  
443 - # set the MW(merged-write) latency in ms. 439 +
  440 + # set the MW(merged-write) latency in ms.
444 # SRS always set mw on, so we just set the latency value. 441 # SRS always set mw on, so we just set the latency value.
445 # the latency of stream >= mw_latency + mr_latency 442 # the latency of stream >= mw_latency + mr_latency
446 # the value recomment is [300, 1800] 443 # the value recomment is [300, 1800]
447 # default: 350 444 # default: 350
448 mw_latency 350; 445 mw_latency 350;
449 - 446 +
450 # the minimal packets send interval in ms, 447 # the minimal packets send interval in ms,
451 # used to control the ndiff of stream by srs_rtmp_dump, 448 # used to control the ndiff of stream by srs_rtmp_dump,
452 # for example, some device can only accept some stream which 449 # for example, some device can only accept some stream which
@@ -487,33 +484,33 @@ vhost atc.srs.com { @@ -487,33 +484,33 @@ vhost atc.srs.com {
487 vhost mrw.srs.com { 484 vhost mrw.srs.com {
488 # @see scope.vhost.srs.com 485 # @see scope.vhost.srs.com
489 min_latency off; 486 min_latency off;
490 - 487 +
491 # @see play.srs.com 488 # @see play.srs.com
492 play { 489 play {
493 mw_latency 350; 490 mw_latency 350;
494 } 491 }
495 - 492 +
496 # @see publish.srs.com 493 # @see publish.srs.com
497 publish { 494 publish {
498 mr on; 495 mr on;
499 - mr_latenct 350; 496 + mr_latency 350;
500 } 497 }
501 } 498 }
502 499
503 -# the vhost for min delay, donot cache any stream. 500 +# the vhost for min delay, do not cache any stream.
504 vhost min.delay.com { 501 vhost min.delay.com {
505 # @see scope.vhost.srs.com 502 # @see scope.vhost.srs.com
506 min_latency on; 503 min_latency on;
507 # @see scope.vhost.srs.com 504 # @see scope.vhost.srs.com
508 tcp_nodelay on; 505 tcp_nodelay on;
509 - 506 +
510 # @see play.srs.com 507 # @see play.srs.com
511 play { 508 play {
512 mw_latency 100; 509 mw_latency 100;
513 gop_cache off; 510 gop_cache off;
514 queue_length 10; 511 queue_length 10;
515 } 512 }
516 - 513 +
517 # @see publish.srs.com 514 # @see publish.srs.com
518 publish { 515 publish {
519 mr off; 516 mr off;
@@ -534,7 +531,7 @@ vhost stream.control.com { @@ -534,7 +531,7 @@ vhost stream.control.com {
534 min_latency on; 531 min_latency on;
535 # @see scope.vhost.srs.com 532 # @see scope.vhost.srs.com
536 tcp_nodelay on; 533 tcp_nodelay on;
537 - 534 +
538 # @see play.srs.com 535 # @see play.srs.com
539 play { 536 play {
540 mw_latency 100; 537 mw_latency 100;
@@ -542,7 +539,7 @@ vhost stream.control.com { @@ -542,7 +539,7 @@ vhost stream.control.com {
542 send_min_interval 10.0; 539 send_min_interval 10.0;
543 reduce_sequence_header on; 540 reduce_sequence_header on;
544 } 541 }
545 - 542 +
546 # @see publish.srs.com 543 # @see publish.srs.com
547 publish { 544 publish {
548 mr off; 545 mr off;
@@ -564,12 +561,12 @@ vhost publish.srs.com { @@ -564,12 +561,12 @@ vhost publish.srs.com {
564 # memory(buffer) = latency * kbps / 8 561 # memory(buffer) = latency * kbps / 8
565 # for example, latency=500ms, kbps=3000kbps, each publish connection will consume 562 # for example, latency=500ms, kbps=3000kbps, each publish connection will consume
566 # memory = 500 * 3000 / 8 = 187500B = 183KB 563 # memory = 500 * 3000 / 8 = 187500B = 183KB
567 - # when there are 2500 publisher, the total memory of SRS atleast: 564 + # when there are 2500 publisher, the total memory of SRS at least:
568 # 183KB * 2500 = 446MB 565 # 183KB * 2500 = 446MB
569 - # the value recomment is [300, 2000] 566 + # the recommended value is [300, 2000]
570 # default: 350 567 # default: 350
571 mr_latency 350; 568 mr_latency 350;
572 - 569 +
573 # the 1st packet timeout in ms for encoder. 570 # the 1st packet timeout in ms for encoder.
574 # default: 20000 571 # default: 20000
575 firstpkt_timeout 20000; 572 firstpkt_timeout 20000;
@@ -584,7 +581,7 @@ vhost publish.srs.com { @@ -584,7 +581,7 @@ vhost publish.srs.com {
584 } 581 }
585 } 582 }
586 583
587 -# the vhost for antisuck. 584 +# the vhost for anti-suck.
588 vhost refer.anti_suck.com { 585 vhost refer.anti_suck.com {
589 # refer hotlink-denial. 586 # refer hotlink-denial.
590 refer { 587 refer {
@@ -597,12 +594,12 @@ vhost refer.anti_suck.com { @@ -597,12 +594,12 @@ vhost refer.anti_suck.com {
597 # default: not specified. 594 # default: not specified.
598 all github.com github.io; 595 all github.com github.io;
599 # refer for publish clients specified. 596 # refer for publish clients specified.
600 - # the common refer is not overrided by this. 597 + # the common refer is not overridden by this.
601 # if not specified this field, allow all. 598 # if not specified this field, allow all.
602 # default: not specified. 599 # default: not specified.
603 publish github.com github.io; 600 publish github.com github.io;
604 # refer for play clients specified. 601 # refer for play clients specified.
605 - # the common refer is not overrided by this. 602 + # the common refer is not overridden by this.
606 # if not specified this field, allow all. 603 # if not specified this field, allow all.
607 # default: not specified. 604 # default: not specified.
608 play github.com github.io; 605 play github.com github.io;
@@ -624,7 +621,7 @@ vhost bandcheck.srs.com { @@ -624,7 +621,7 @@ vhost bandcheck.srs.com {
624 # if invalid key, server disconnect and abort the bandwidth check. 621 # if invalid key, server disconnect and abort the bandwidth check.
625 key "35c9b402c12a7246868752e2878f7e0e"; 622 key "35c9b402c12a7246868752e2878f7e0e";
626 # the interval in seconds for bandwidth check, 623 # the interval in seconds for bandwidth check,
627 - # server donot allow new test request. 624 + # server do not allow new test request.
628 # default: 30 625 # default: 30
629 interval 30; 626 interval 30;
630 # the max available check bandwidth in kbps. 627 # the max available check bandwidth in kbps.
@@ -637,7 +634,7 @@ vhost bandcheck.srs.com { @@ -637,7 +634,7 @@ vhost bandcheck.srs.com {
637 # the security to allow or deny clients. 634 # the security to allow or deny clients.
638 vhost security.srs.com { 635 vhost security.srs.com {
639 # security for host to allow or deny clients. 636 # security for host to allow or deny clients.
640 - # @see https://github.com/ossrs/srs/issues/211 637 + # @see https://github.com/ossrs/srs/issues/211
641 security { 638 security {
642 # whether enable the security for vhost. 639 # whether enable the security for vhost.
643 # default: off 640 # default: off
@@ -670,7 +667,7 @@ vhost http.static.srs.com { @@ -670,7 +667,7 @@ vhost http.static.srs.com {
670 # whether enabled the http static service for vhost. 667 # whether enabled the http static service for vhost.
671 # default: off 668 # default: off
672 enabled on; 669 enabled on;
673 - # the url to mount to, 670 + # the url to mount to,
674 # typical mount to [vhost]/ 671 # typical mount to [vhost]/
675 # the variables: 672 # the variables:
676 # [vhost] current vhost for http server. 673 # [vhost] current vhost for http server.
@@ -710,7 +707,7 @@ vhost http.remux.srs.com { @@ -710,7 +707,7 @@ vhost http.remux.srs.com {
710 # @remark 0 to disable fast cache for http audio stream. 707 # @remark 0 to disable fast cache for http audio stream.
711 # default: 0 708 # default: 0
712 fast_cache 30; 709 fast_cache 30;
713 - # the stream mout for rtmp to remux to live streaming. 710 + # the stream mount for rtmp to remux to live streaming.
714 # typical mount to [vhost]/[app]/[stream].flv 711 # typical mount to [vhost]/[app]/[stream].flv
715 # the variables: 712 # the variables:
716 # [vhost] current vhost for http live stream. 713 # [vhost] current vhost for http live stream.
@@ -748,7 +745,7 @@ vhost http.remux.srs.com { @@ -748,7 +745,7 @@ vhost http.remux.srs.com {
748 # the http hook callback vhost, srs will invoke the hooks for specified events. 745 # the http hook callback vhost, srs will invoke the hooks for specified events.
749 vhost hooks.callback.srs.com { 746 vhost hooks.callback.srs.com {
750 http_hooks { 747 http_hooks {
751 - # whether the http hooks enalbe. 748 + # whether the http hooks enable.
752 # default off. 749 # default off.
753 enabled on; 750 enabled on;
754 # when client connect to vhost/app, call the hook, 751 # when client connect to vhost/app, call the hook,
@@ -760,7 +757,7 @@ vhost hooks.callback.srs.com { @@ -760,7 +757,7 @@ vhost hooks.callback.srs.com {
760 # "tcUrl": "rtmp://video.test.com/live?key=d2fa801d08e3f90ed1e1670e6e52651a", 757 # "tcUrl": "rtmp://video.test.com/live?key=d2fa801d08e3f90ed1e1670e6e52651a",
761 # "pageUrl": "http://www.test.com/live.html" 758 # "pageUrl": "http://www.test.com/live.html"
762 # } 759 # }
763 - # if valid, the hook must return HTTP code 200(Stauts OK) and response 760 + # if valid, the hook must return HTTP code 200(Status OK) and response
764 # an int value specifies the error code(0 corresponding to success): 761 # an int value specifies the error code(0 corresponding to success):
765 # 0 762 # 0
766 # support multiple api hooks, format: 763 # support multiple api hooks, format:
@@ -774,7 +771,7 @@ vhost hooks.callback.srs.com { @@ -774,7 +771,7 @@ vhost hooks.callback.srs.com {
774 # "ip": "192.168.1.10", "vhost": "video.test.com", "app": "live", 771 # "ip": "192.168.1.10", "vhost": "video.test.com", "app": "live",
775 # "send_bytes": 10240, "recv_bytes": 10240 772 # "send_bytes": 10240, "recv_bytes": 10240
776 # } 773 # }
777 - # if valid, the hook must return HTTP code 200(Stauts OK) and response 774 + # if valid, the hook must return HTTP code 200(Status OK) and response
778 # an int value specifies the error code(0 corresponding to success): 775 # an int value specifies the error code(0 corresponding to success):
779 # 0 776 # 0
780 # support multiple api hooks, format: 777 # support multiple api hooks, format:
@@ -788,7 +785,7 @@ vhost hooks.callback.srs.com { @@ -788,7 +785,7 @@ vhost hooks.callback.srs.com {
788 # "ip": "192.168.1.10", "vhost": "video.test.com", "app": "live", 785 # "ip": "192.168.1.10", "vhost": "video.test.com", "app": "live",
789 # "stream": "livestream" 786 # "stream": "livestream"
790 # } 787 # }
791 - # if valid, the hook must return HTTP code 200(Stauts OK) and response 788 + # if valid, the hook must return HTTP code 200(Status OK) and response
792 # an int value specifies the error code(0 corresponding to success): 789 # an int value specifies the error code(0 corresponding to success):
793 # 0 790 # 0
794 # support multiple api hooks, format: 791 # support multiple api hooks, format:
@@ -802,7 +799,7 @@ vhost hooks.callback.srs.com { @@ -802,7 +799,7 @@ vhost hooks.callback.srs.com {
802 # "ip": "192.168.1.10", "vhost": "video.test.com", "app": "live", 799 # "ip": "192.168.1.10", "vhost": "video.test.com", "app": "live",
803 # "stream": "livestream" 800 # "stream": "livestream"
804 # } 801 # }
805 - # if valid, the hook must return HTTP code 200(Stauts OK) and response 802 + # if valid, the hook must return HTTP code 200(Status OK) and response
806 # an int value specifies the error code(0 corresponding to success): 803 # an int value specifies the error code(0 corresponding to success):
807 # 0 804 # 0
808 # support multiple api hooks, format: 805 # support multiple api hooks, format:
@@ -817,7 +814,7 @@ vhost hooks.callback.srs.com { @@ -817,7 +814,7 @@ vhost hooks.callback.srs.com {
817 # "stream": "livestream", 814 # "stream": "livestream",
818 # "pageUrl": "http://www.test.com/live.html" 815 # "pageUrl": "http://www.test.com/live.html"
819 # } 816 # }
820 - # if valid, the hook must return HTTP code 200(Stauts OK) and response 817 + # if valid, the hook must return HTTP code 200(Status OK) and response
821 # an int value specifies the error code(0 corresponding to success): 818 # an int value specifies the error code(0 corresponding to success):
822 # 0 819 # 0
823 # support multiple api hooks, format: 820 # support multiple api hooks, format:
@@ -831,7 +828,7 @@ vhost hooks.callback.srs.com { @@ -831,7 +828,7 @@ vhost hooks.callback.srs.com {
831 # "ip": "192.168.1.10", "vhost": "video.test.com", "app": "live", 828 # "ip": "192.168.1.10", "vhost": "video.test.com", "app": "live",
832 # "stream": "livestream" 829 # "stream": "livestream"
833 # } 830 # }
834 - # if valid, the hook must return HTTP code 200(Stauts OK) and response 831 + # if valid, the hook must return HTTP code 200(Status OK) and response
835 # an int value specifies the error code(0 corresponding to success): 832 # an int value specifies the error code(0 corresponding to success):
836 # 0 833 # 0
837 # support multiple api hooks, format: 834 # support multiple api hooks, format:
@@ -847,7 +844,7 @@ vhost hooks.callback.srs.com { @@ -847,7 +844,7 @@ vhost hooks.callback.srs.com {
847 # "cwd": "/usr/local/srs", 844 # "cwd": "/usr/local/srs",
848 # "file": "./objs/nginx/html/live/livestream.1420254068776.flv" 845 # "file": "./objs/nginx/html/live/livestream.1420254068776.flv"
849 # } 846 # }
850 - # if valid, the hook must return HTTP code 200(Stauts OK) and response 847 + # if valid, the hook must return HTTP code 200(Status OK) and response
851 # an int value specifies the error code(0 corresponding to success): 848 # an int value specifies the error code(0 corresponding to success):
852 # 0 849 # 0
853 on_dvr http://127.0.0.1:8085/api/v1/dvrs http://localhost:8085/api/v1/dvrs; 850 on_dvr http://127.0.0.1:8085/api/v1/dvrs http://localhost:8085/api/v1/dvrs;
@@ -866,7 +863,7 @@ vhost hooks.callback.srs.com { @@ -866,7 +863,7 @@ vhost hooks.callback.srs.com {
866 # "m3u8_url": "live/livestream/live.m3u8", 863 # "m3u8_url": "live/livestream/live.m3u8",
867 # "seq_no": 100 864 # "seq_no": 100
868 # } 865 # }
869 - # if valid, the hook must return HTTP code 200(Stauts OK) and response 866 + # if valid, the hook must return HTTP code 200(Status OK) and response
870 # an int value specifies the error code(0 corresponding to success): 867 # an int value specifies the error code(0 corresponding to success):
871 # 0 868 # 0
872 on_hls http://127.0.0.1:8085/api/v1/hls http://localhost:8085/api/v1/hls; 869 on_hls http://127.0.0.1:8085/api/v1/hls http://localhost:8085/api/v1/hls;
@@ -891,10 +888,10 @@ vhost exec.srs.com { @@ -891,10 +888,10 @@ vhost exec.srs.com {
891 enabled off; 888 enabled off;
892 # when publish stream, exec the process with variables: 889 # when publish stream, exec the process with variables:
893 # [vhost] the input stream vhost. 890 # [vhost] the input stream vhost.
894 - # [port] the intput stream port. 891 + # [port] the input stream port.
895 # [app] the input stream app. 892 # [app] the input stream app.
896 # [stream] the input stream name. 893 # [stream] the input stream name.
897 - # [engine] the tanscode engine name. 894 + # [engine] the transcode engine name.
898 # other variables for exec only: 895 # other variables for exec only:
899 # [url] the rtmp url which trigger the publish. 896 # [url] the rtmp url which trigger the publish.
900 # [tcUrl] the client request tcUrl. 897 # [tcUrl] the client request tcUrl.
@@ -909,7 +906,7 @@ vhost exec.srs.com { @@ -909,7 +906,7 @@ vhost exec.srs.com {
909 vhost with-hls.srs.com { 906 vhost with-hls.srs.com {
910 hls { 907 hls {
911 # whether the hls is enabled. 908 # whether the hls is enabled.
912 - # if off, donot write hls(ts and m3u8) when publish. 909 + # if off, do not write hls(ts and m3u8) when publish.
913 # default: off 910 # default: off
914 enabled on; 911 enabled on;
915 # the hls fragment in seconds, the duration of a piece of ts. 912 # the hls fragment in seconds, the duration of a piece of ts.
@@ -923,14 +920,14 @@ vhost with-hls.srs.com { @@ -923,14 +920,14 @@ vhost with-hls.srs.com {
923 hls_td_ratio 1.5; 920 hls_td_ratio 1.5;
924 # the audio overflow ratio. 921 # the audio overflow ratio.
925 # for pure audio, the duration to reap the segment. 922 # for pure audio, the duration to reap the segment.
926 - # for example, the hls_fragment is 10s, hsl_aof_ratio is 2.0,  
927 - # the segemnt will reap to 20s for pure audio. 923 + # for example, the hls_fragment is 10s, hls_aof_ratio is 2.0,
  924 + # the segment will reap to 20s for pure audio.
928 # default: 2.0 925 # default: 2.0
929 hls_aof_ratio 2.0; 926 hls_aof_ratio 2.0;
930 # the hls window in seconds, the number of ts in m3u8. 927 # the hls window in seconds, the number of ts in m3u8.
931 # default: 60 928 # default: 60
932 hls_window 60; 929 hls_window 60;
933 - # the error strategy. canbe: 930 + # the error strategy. can be:
934 # ignore, disable the hls. 931 # ignore, disable the hls.
935 # disconnect, require encoder republish. 932 # disconnect, require encoder republish.
936 # continue, ignore failed try to continue output hls. 933 # continue, ignore failed try to continue output hls.
@@ -939,14 +936,14 @@ vhost with-hls.srs.com { @@ -939,14 +936,14 @@ vhost with-hls.srs.com {
939 hls_on_error continue; 936 hls_on_error continue;
940 # the hls storage: disk, ram or both. 937 # the hls storage: disk, ram or both.
941 # disk, to write hls m3u8/ts to disk. 938 # disk, to write hls m3u8/ts to disk.
942 - # ram, serve m3u8/ts in memory, which use embeded http server to delivery. 939 + # ram, serve m3u8/ts in memory, which use embedded http server to delivery.
943 # both, disk and ram. 940 # both, disk and ram.
944 # default: disk 941 # default: disk
945 hls_storage disk; 942 hls_storage disk;
946 # the hls output path. 943 # the hls output path.
947 - # the m3u8 file is configed by hls_path/hls_m3u8_file, the default is: 944 + # the m3u8 file is configured by hls_path/hls_m3u8_file, the default is:
948 # ./objs/nginx/html/[app]/[stream].m3u8 945 # ./objs/nginx/html/[app]/[stream].m3u8
949 - # the ts file is configed by hls_path/hls_ts_file, the default is: 946 + # the ts file is configured by hls_path/hls_ts_file, the default is:
950 # ./objs/nginx/html/[app]/[stream]-[seq].ts 947 # ./objs/nginx/html/[app]/[stream]-[seq].ts
951 # @remark the hls_path is compatible with srs v1 config. 948 # @remark the hls_path is compatible with srs v1 config.
952 # default: ./objs/nginx/html 949 # default: ./objs/nginx/html
@@ -956,7 +953,6 @@ vhost with-hls.srs.com { @@ -956,7 +953,6 @@ vhost with-hls.srs.com {
956 # [vhost], the vhost of stream. 953 # [vhost], the vhost of stream.
957 # [app], the app of stream. 954 # [app], the app of stream.
958 # [stream], the stream name of stream. 955 # [stream], the stream name of stream.
959 - # recommend: [vhost]/[app]/[stream].m3u8  
960 # default: [app]/[stream].m3u8 956 # default: [app]/[stream].m3u8
961 hls_m3u8_file [app]/[stream].m3u8; 957 hls_m3u8_file [app]/[stream].m3u8;
962 # the hls ts file name. 958 # the hls ts file name.
@@ -968,24 +964,23 @@ vhost with-hls.srs.com { @@ -968,24 +964,23 @@ vhost with-hls.srs.com {
968 # [01], replace this const to current month. 964 # [01], replace this const to current month.
969 # [02], replace this const to current date. 965 # [02], replace this const to current date.
970 # [15], replace this const to current hour. 966 # [15], replace this const to current hour.
971 - # [04], repleace this const to current minute.  
972 - # [05], repleace this const to current second.  
973 - # [999], repleace this const to current millisecond. 967 + # [04], replace this const to current minute.
  968 + # [05], replace this const to current second.
  969 + # [999], replace this const to current millisecond.
974 # [timestamp],replace this const to current UNIX timestamp in ms. 970 # [timestamp],replace this const to current UNIX timestamp in ms.
975 # [seq], the sequence number of ts. 971 # [seq], the sequence number of ts.
976 # @see https://github.com/ossrs/srs/wiki/v2_CN_DVR#custom-path 972 # @see https://github.com/ossrs/srs/wiki/v2_CN_DVR#custom-path
977 # @see https://github.com/ossrs/srs/wiki/v2_CN_DeliveryHLS#hls-config 973 # @see https://github.com/ossrs/srs/wiki/v2_CN_DeliveryHLS#hls-config
978 - # recommend: [vhost]/[app]/[stream]-[seq].ts  
979 # default: [app]/[stream]-[seq].ts 974 # default: [app]/[stream]-[seq].ts
980 hls_ts_file [app]/[stream]-[seq].ts; 975 hls_ts_file [app]/[stream]-[seq].ts;
981 # whether use floor for the hls_ts_file path generation. 976 # whether use floor for the hls_ts_file path generation.
982 # if on, use floor(timestamp/hls_fragment) as the variable [timestamp], 977 # if on, use floor(timestamp/hls_fragment) as the variable [timestamp],
983 - # and use enahanced algorithm to calc deviation for segment. 978 + # and use enhanced algorithm to calc deviation for segment.
984 # @remark when floor on, recommend the hls_segment>=2*gop. 979 # @remark when floor on, recommend the hls_segment>=2*gop.
985 # default: off 980 # default: off
986 hls_ts_floor off; 981 hls_ts_floor off;
987 # the hls entry prefix, which is base url of ts url. 982 # the hls entry prefix, which is base url of ts url.
988 - # for exmaple, the prefix is: 983 + # for example, the prefix is:
989 # http://your-server/ 984 # http://your-server/
990 # then, the ts path in m3u8 will be like: 985 # then, the ts path in m3u8 will be like:
991 # http://your-server/live/livestream-0.ts 986 # http://your-server/live/livestream-0.ts
@@ -994,7 +989,7 @@ vhost with-hls.srs.com { @@ -994,7 +989,7 @@ vhost with-hls.srs.com {
994 # optional, default to empty string. 989 # optional, default to empty string.
995 hls_entry_prefix http://your-server; 990 hls_entry_prefix http://your-server;
996 # the hls mount for hls_storage ram, 991 # the hls mount for hls_storage ram,
997 - # which use srs embeded http server to delivery HLS, 992 + # which use srs embedded http server to delivery HLS,
998 # where the mount specifies the HTTP url to mount. 993 # where the mount specifies the HTTP url to mount.
999 # @see the mount of http_remux. 994 # @see the mount of http_remux.
1000 # @remark the hls_mount must endswith .m3u8. 995 # @remark the hls_mount must endswith .m3u8.
@@ -1003,7 +998,7 @@ vhost with-hls.srs.com { @@ -1003,7 +998,7 @@ vhost with-hls.srs.com {
1003 # the default audio codec of hls. 998 # the default audio codec of hls.
1004 # when codec changed, write the PAT/PMT table, but maybe ok util next ts. 999 # when codec changed, write the PAT/PMT table, but maybe ok util next ts.
1005 # so user can set the default codec for mp3. 1000 # so user can set the default codec for mp3.
1006 - # the available audio codec: 1001 + # the available audio codec:
1007 # aac, mp3, an 1002 # aac, mp3, an
1008 # default: aac 1003 # default: aac
1009 hls_acodec aac; 1004 hls_acodec aac;
@@ -1039,7 +1034,7 @@ vhost with-hls.srs.com { @@ -1039,7 +1034,7 @@ vhost with-hls.srs.com {
1039 # for the hls http callback, @see http_hooks.on_hls of vhost hooks.callback.srs.com 1034 # for the hls http callback, @see http_hooks.on_hls of vhost hooks.callback.srs.com
1040 # @read https://github.com/ossrs/srs/wiki/v2_CN_DeliveryHLS#http-callback 1035 # @read https://github.com/ossrs/srs/wiki/v2_CN_DeliveryHLS#http-callback
1041 # @read https://github.com/ossrs/srs/wiki/v2_EN_DeliveryHLS#http-callback 1036 # @read https://github.com/ossrs/srs/wiki/v2_EN_DeliveryHLS#http-callback
1042 - 1037 +
1043 # on_hls_notify, never config in here, should config in http_hooks. 1038 # on_hls_notify, never config in here, should config in http_hooks.
1044 # we support the variables to generate the notify url: 1039 # we support the variables to generate the notify url:
1045 # [app], replace with the app. 1040 # [app], replace with the app.
@@ -1054,7 +1049,7 @@ vhost with-hls.srs.com { @@ -1054,7 +1049,7 @@ vhost with-hls.srs.com {
1054 vhost no-hls.srs.com { 1049 vhost no-hls.srs.com {
1055 hls { 1050 hls {
1056 # whether the hls is enabled. 1051 # whether the hls is enabled.
1057 - # if off, donot write hls(ts and m3u8) when publish. 1052 + # if off, do not write hls(ts and m3u8) when publish.
1058 # default: off 1053 # default: off
1059 enabled off; 1054 enabled off;
1060 } 1055 }
@@ -1087,7 +1082,7 @@ vhost dvr.srs.com { @@ -1087,7 +1082,7 @@ vhost dvr.srs.com {
1087 # whether enabled dvr features 1082 # whether enabled dvr features
1088 # default: off 1083 # default: off
1089 enabled on; 1084 enabled on;
1090 - # the filter for dvr to aplly to. 1085 + # the filter for dvr to apply to.
1091 # all, dvr all streams of all apps. 1086 # all, dvr all streams of all apps.
1092 # <app>/<stream>, apply to specified stream of app. 1087 # <app>/<stream>, apply to specified stream of app.
1093 # for example, to dvr the following two streams: 1088 # for example, to dvr the following two streams:
@@ -1109,9 +1104,9 @@ vhost dvr.srs.com { @@ -1109,9 +1104,9 @@ vhost dvr.srs.com {
1109 # [01], replace this const to current month. 1104 # [01], replace this const to current month.
1110 # [02], replace this const to current date. 1105 # [02], replace this const to current date.
1111 # [15], replace this const to current hour. 1106 # [15], replace this const to current hour.
1112 - # [04], repleace this const to current minute.  
1113 - # [05], repleace this const to current second.  
1114 - # [999], repleace this const to current millisecond. 1107 + # [04], replace this const to current minute.
  1108 + # [05], replace this const to current second.
  1109 + # [999], replace this const to current millisecond.
1115 # [timestamp],replace this const to current UNIX timestamp in ms. 1110 # [timestamp],replace this const to current UNIX timestamp in ms.
1116 # @remark we use golang time format "2006-01-02 15:04:05.999" as "[2006]-[01]-[02]_[15].[04].[05]_[999]" 1111 # @remark we use golang time format "2006-01-02 15:04:05.999" as "[2006]-[01]-[02]_[15].[04].[05]_[999]"
1117 # for example, for url rtmp://ossrs.net/live/livestream and time 2015-01-03 10:57:30.776 1112 # for example, for url rtmp://ossrs.net/live/livestream and time 2015-01-03 10:57:30.776
@@ -1136,7 +1131,7 @@ vhost dvr.srs.com { @@ -1136,7 +1131,7 @@ vhost dvr.srs.com {
1136 # segment,session apply it. 1131 # segment,session apply it.
1137 # default: ./objs/nginx/html/[app]/[stream].[timestamp].flv 1132 # default: ./objs/nginx/html/[app]/[stream].[timestamp].flv
1138 dvr_path ./objs/nginx/html/[app]/[stream].[timestamp].flv; 1133 dvr_path ./objs/nginx/html/[app]/[stream].[timestamp].flv;
1139 - # the duration for dvr file, reap if exeed, in seconds. 1134 + # the duration for dvr file, reap if exceed, in seconds.
1140 # segment apply it. 1135 # segment apply it.
1141 # session,append ignore. 1136 # session,append ignore.
1142 # default: 30 1137 # default: 30
@@ -1149,19 +1144,19 @@ vhost dvr.srs.com { @@ -1149,19 +1144,19 @@ vhost dvr.srs.com {
1149 # default: on 1144 # default: on
1150 dvr_wait_keyframe on; 1145 dvr_wait_keyframe on;
1151 # about the stream monotonically increasing: 1146 # about the stream monotonically increasing:
1152 - # 1. video timestamp is monotonically increasing, 1147 + # 1. video timestamp is monotonically increasing,
1153 # 2. audio timestamp is monotonically increasing, 1148 # 2. audio timestamp is monotonically increasing,
1154 # 3. video and audio timestamp is interleaved monotonically increasing. 1149 # 3. video and audio timestamp is interleaved monotonically increasing.
1155 # it's specified by RTMP specification, @see 3. Byte Order, Alignment, and Time Format 1150 # it's specified by RTMP specification, @see 3. Byte Order, Alignment, and Time Format
1156 # however, some encoder cannot provides this feature, please set this to off to ignore time jitter. 1151 # however, some encoder cannot provides this feature, please set this to off to ignore time jitter.
1157 # the time jitter algorithm: 1152 # the time jitter algorithm:
1158 # 1. full, to ensure stream start at zero, and ensure stream monotonically increasing. 1153 # 1. full, to ensure stream start at zero, and ensure stream monotonically increasing.
1159 - # 2. zero, only ensure sttream start at zero, ignore timestamp jitter. 1154 + # 2. zero, only ensure stream start at zero, ignore timestamp jitter.
1160 # 3. off, disable the time jitter algorithm, like atc. 1155 # 3. off, disable the time jitter algorithm, like atc.
1161 # apply for all dvr plan. 1156 # apply for all dvr plan.
1162 # default: full 1157 # default: full
1163 time_jitter full; 1158 time_jitter full;
1164 - 1159 +
1165 # on_dvr, never config in here, should config in http_hooks. 1160 # on_dvr, never config in here, should config in http_hooks.
1166 # for the dvr http callback, @see http_hooks.on_dvr of vhost hooks.callback.srs.com 1161 # for the dvr http callback, @see http_hooks.on_dvr of vhost hooks.callback.srs.com
1167 # @read https://github.com/ossrs/srs/wiki/v2_CN_DVR#http-callback 1162 # @read https://github.com/ossrs/srs/wiki/v2_CN_DVR#http-callback
@@ -1184,15 +1179,15 @@ vhost ingest.srs.com { @@ -1184,15 +1179,15 @@ vhost ingest.srs.com {
1184 input { 1179 input {
1185 # the type of input. 1180 # the type of input.
1186 # can be file/stream/device, that is, 1181 # can be file/stream/device, that is,
1187 - # file: ingest file specifies by url.  
1188 - # stream: ingest stream specifeis by url. 1182 + # file: ingest file specified by url.
  1183 + # stream: ingest stream specified by url.
1189 # device: not support yet. 1184 # device: not support yet.
1190 # default: file 1185 # default: file
1191 type file; 1186 type file;
1192 # the url of file/stream. 1187 # the url of file/stream.
1193 url ./doc/source.200kbps.768x320.flv; 1188 url ./doc/source.200kbps.768x320.flv;
1194 } 1189 }
1195 - # the ffmpeg 1190 + # the ffmpeg
1196 ffmpeg ./objs/ffmpeg/bin/ffmpeg; 1191 ffmpeg ./objs/ffmpeg/bin/ffmpeg;
1197 # the transcode engine, @see all.transcode.srs.com 1192 # the transcode engine, @see all.transcode.srs.com
1198 # @remark, the output is specified following. 1193 # @remark, the output is specified following.
@@ -1209,7 +1204,7 @@ vhost ingest.srs.com { @@ -1209,7 +1204,7 @@ vhost ingest.srs.com {
1209 } 1204 }
1210 } 1205 }
1211 1206
1212 -# the vhost for intest with transcode engine. 1207 +# the vhost for ingest with transcode engine.
1213 vhost transcode.ingest.srs.com { 1208 vhost transcode.ingest.srs.com {
1214 ingest livestream { 1209 ingest livestream {
1215 enabled on; 1210 enabled on;
@@ -1262,7 +1257,7 @@ vhost example.transcode.srs.com { @@ -1262,7 +1257,7 @@ vhost example.transcode.srs.com {
1262 # if off, donot transcode. 1257 # if off, donot transcode.
1263 # default: off. 1258 # default: off.
1264 enabled on; 1259 enabled on;
1265 - # the ffmpeg 1260 + # the ffmpeg
1266 ffmpeg ./objs/ffmpeg/bin/ffmpeg; 1261 ffmpeg ./objs/ffmpeg/bin/ffmpeg;
1267 # the transcode engine for matched stream. 1262 # the transcode engine for matched stream.
1268 # all matched stream will transcoded to the following stream. 1263 # all matched stream will transcoded to the following stream.
@@ -1317,7 +1312,7 @@ vhost example.transcode.srs.com { @@ -1317,7 +1312,7 @@ vhost example.transcode.srs.com {
1317 # high,main,baseline 1312 # high,main,baseline
1318 vprofile main; 1313 vprofile main;
1319 # x264 preset, "ffmpeg -preset" 1314 # x264 preset, "ffmpeg -preset"
1320 - # @see x264 -help, can be: 1315 + # @see x264 -help, can be:
1321 # ultrafast,superfast,veryfast,faster,fast 1316 # ultrafast,superfast,veryfast,faster,fast
1322 # medium,slow,slower,veryslow,placebo 1317 # medium,slow,slower,veryslow,placebo
1323 vpreset medium; 1318 vpreset medium;
@@ -1369,10 +1364,10 @@ vhost example.transcode.srs.com { @@ -1369,10 +1364,10 @@ vhost example.transcode.srs.com {
1369 oformat flv; 1364 oformat flv;
1370 # output stream, "ffmpeg -y", variables: 1365 # output stream, "ffmpeg -y", variables:
1371 # [vhost] the input stream vhost. 1366 # [vhost] the input stream vhost.
1372 - # [port] the intput stream port. 1367 + # [port] the input stream port.
1373 # [app] the input stream app. 1368 # [app] the input stream app.
1374 # [stream] the input stream name. 1369 # [stream] the input stream name.
1375 - # [engine] the tanscode engine name. 1370 + # [engine] the transcode engine name.
1376 output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; 1371 output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
1377 } 1372 }
1378 } 1373 }
@@ -1472,7 +1467,7 @@ vhost logo.transcode.srs.com { @@ -1472,7 +1467,7 @@ vhost logo.transcode.srs.com {
1472 } 1467 }
1473 } 1468 }
1474 # audio transcode only. 1469 # audio transcode only.
1475 -# for example, FMLE publish audio codec in mp3, and donot support HLS output, 1470 +# for example, FMLE publish audio codec in mp3, and do not support HLS output,
1476 # we can transcode the audio to aac and copy video to the new stream with HLS. 1471 # we can transcode the audio to aac and copy video to the new stream with HLS.
1477 vhost audio.transcode.srs.com { 1472 vhost audio.transcode.srs.com {
1478 transcode { 1473 transcode {
@@ -1656,7 +1651,7 @@ vhost all.transcode.srs.com { @@ -1656,7 +1651,7 @@ vhost all.transcode.srs.com {
1656 } 1651 }
1657 } 1652 }
1658 } 1653 }
1659 -# transcode all stream using the empty ffmpeg demo, donothing. 1654 +# transcode all stream using the empty ffmpeg demo, do nothing.
1660 vhost ffempty.transcode.srs.com { 1655 vhost ffempty.transcode.srs.com {
1661 transcode { 1656 transcode {
1662 enabled on; 1657 enabled on;