Blame view

trunk/conf/demo.conf 6.0 KB
winlin authored
1 2 3 4
# the config for srs demo
# @see https://github.com/winlinvip/simple-rtmp-server/wiki/SampleDemo
# @see full.conf for detail config.
5
listen              1935;
6 7
daemon              on;
srs_log_tank        file;
winlin authored
8
srs_log_file        ./objs/srs.demo.log;
9 10
pid                 ./objs/srs.demo.pid;
11 12 13
chunk_size          60000;
max_connections     2000;
winlin authored
14 15 16 17 18 19 20 21 22 23 24
http_api {
    enabled         on;
    listen          1985;
}

http_stream {
    enabled         on;
    listen          8080;
    dir             ./objs/nginx/html;
}
25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114
vhost __defaultVhost__ {
    enabled         on;
    gop_cache       on;
}

vhost bandcheck.srs.com {
    enabled         on;
    chunk_size      65000;
    bandcheck {
        enabled         on;
        key             "35c9b402c12a7246868752e2878f7e0e";
        interval        30;
        limit_kbps      4000;
    }
}

vhost demo.srs.com {
    chunk_size      60000;
    enabled         on;
    gop_cache       on;
    queue_length    30;
    forward         127.0.0.1:19350;
    bandcheck {
        enabled         off;
    }
    hls {
        enabled         on;
        hls_path        ./objs/nginx/html;
        hls_fragment    5;
        hls_window      30;
    }
    http_hooks {
        enabled         on;
        on_connect      http://127.0.0.1:8085/api/v1/clients;
        on_close        http://127.0.0.1:8085/api/v1/clients;
        on_publish      http://127.0.0.1:8085/api/v1/streams;
        on_unpublish    http://127.0.0.1:8085/api/v1/streams;
        on_play         http://127.0.0.1:8085/api/v1/sessions;
        on_stop         http://127.0.0.1:8085/api/v1/sessions;
    }
    transcode {
        enabled         on;
        ffmpeg          ./objs/ffmpeg/bin/ffmpeg;
        engine ld {
            enabled         on;
            vfilter {
                vf                  'drawtext=text=SimpleRtmpServer(SRS):x=10:y=10:fontsize=30:fontcolor=#cccccc:fontfile=./doc/FreeSerifBold.ttf';
            }
            vcodec          libx264;
            vbitrate        300;
            vfps            20;
            vwidth          768;
            vheight         320;
            vthreads        1;
            vprofile        baseline;
            vpreset         superfast;
            vparams {
            }
            acodec          libaacplus;
            abitrate        45;
            asample_rate    44100;
            achannels       2;
            aparams {
            }
            output          rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
        }
        engine sd {
            enabled         on;
            vfilter {
                vf                  'split [main][tmp]; [tmp] crop=iw:ih/2:0:0, vflip [flip]; [main][flip] overlay=0:H/2';
            }
            vcodec          libx264;
            vbitrate        500;
            vfps            20;
            vwidth          768;
            vheight         320;
            vthreads        1;
            vprofile        main;
            vpreset         fast;
            vparams {
            }
            acodec          libaacplus;
            abitrate        40;
            asample_rate    44100;
            achannels       2;
            aparams {
            }
            output          rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine];
        }
    }
115
    ingest {
winlin authored
116
        enabled      on;
117 118 119 120 121 122
        input {
            type    file;
            url     ./doc/source.200kbps.768x320.flv;
        }
        ffmpeg      ./objs/ffmpeg/bin/ffmpeg;
        engine {
winlin authored
123
            enabled          off;
124 125 126
            output          rtmp://127.0.0.1:[port]/live?vhost=[vhost]/livestream;
        }
    }
127 128 129 130 131 132 133 134 135 136 137 138 139 140 141 142 143 144 145 146 147 148 149 150 151 152 153 154 155 156 157 158 159
}

vhost players {
    enabled         on;
    gop_cache       on;
    transcode {
        enabled         on;
        ffmpeg          ./objs/ffmpeg/bin/ffmpeg;
        engine hls {
            enabled         on;
            vfilter {
                vf                  'drawtext=text=SRS(SimpleRtmpServer):x=10:y=10:fontcolor=#cccccc:fontfile=./doc/FreeSerifBold.ttf';
            }
            vcodec          libx264;
            vbitrate        300;
            vfps            20;
            vwidth          768;
            vheight         320;
            vthreads        1;
            vprofile        baseline;
            vpreset         superfast;
            vparams {
                g           100;
            }
            acodec          libaacplus;
            abitrate        30;
            asample_rate    44100;
            achannels       2;
            aparams {
            }
            output          rtmp://127.0.0.1:[port]/[app]?vhost=players_pub/[stream];
        }
    }
160
    ingest {
winlin authored
161
        enabled      on;
162 163 164 165 166 167
        input {
            type    file;
            url     ./doc/source.200kbps.768x320.flv;
        }
        ffmpeg      ./objs/ffmpeg/bin/ffmpeg;
        engine {
winlin authored
168
            enabled          off;
169 170 171
            output          rtmp://127.0.0.1:[port]/live?vhost=[vhost]/demo;
        }
    }
172 173 174 175 176 177 178 179 180 181
}
vhost players_pub {
    hls {
        enabled         on;
        hls_path        ./objs/nginx/html;
        hls_fragment    5;
        hls_window      30;
    }
}
winlin authored
182
vhost players_chat {
183 184 185 186
    gop_cache       off;
    hls {
        enabled         off;
    }
winlin authored
187 188 189 190 191
    transcode {
        enabled         on;
        ffmpeg          ./objs/ffmpeg/bin/ffmpeg;
        engine chat_hls {
            enabled         on;
winlin authored
192 193 194
            vfilter {
            }
            vcodec          libx264;
195
            vbitrate        150;
winlin authored
196
            vfps            15;
197 198
            vwidth          576;
            vheight         240;
winlin authored
199 200
            vthreads        1;
            vprofile        baseline;
201
            vpreset         ultrafast;
winlin authored
202 203 204
            vparams {
                g           30;
            }
winlin authored
205
            acodec          an;
winlin authored
206
            output          rtmp://127.0.0.1:[port]/[app]?vhost=chat_hls/[stream];
winlin authored
207 208 209 210 211 212 213 214
        }
    }
}
vhost chat_hls {
    hls {
        enabled         on;
        hls_path        ./objs/nginx/html;
        hls_fragment    2;
winlin authored
215
        hls_window      10;
winlin authored
216
    }
217
}