# the config for srs to delivery RTMP # @see https://github.com/ossrs/srs/wiki/v1_CN_SampleRTMP # @see full.conf for detail config. listen 1935; max_connections 1000; daemon off; srs_log_tank console; vhost __defaultVhost__ { transcode { # whether the transcode enabled. # if off, donot transcode. # default: off. enabled on; # the ffmpeg ffmpeg ./objs/ffmpeg/bin/ffmpeg; # the transcode engine for matched stream. # all matched stream will transcoded to the following stream. # the transcode set name(ie. hd) is optional and not used. engine example { # whether the engine is enabled # default: off. enabled on; # input format, can be: # off, do not specifies the format, ffmpeg will guess it. # flv, for flv or RTMP stream. # other format, for example, mp4/aac whatever. # default: flv iformat avi; # ffmpeg filters, follows the main input. vfilter { # the logo input file. i ./doc/ffmpeg-logo.png; # the ffmpeg complex filter. # for filters, @see: http://ffmpeg.org/ffmpeg-filters.html filter_complex 'overlay=10:10'; } # video encoder name. can be: # libx264: use h.264(libx264) video encoder. # copy: donot encoder the video stream, copy it. # vn: disable video output. vcodec libx264; # video bitrate, in kbps # @remark 0 to use source video bitrate. # default: 0 vbitrate 1500; # video framerate. # @remark 0 to use source video fps. # default: 0 vfps 25; # video width, must be even numbers. # @remark 0 to use source video width. # default: 0 vwidth 768; # video height, must be even numbers. # @remark 0 to use source video height. # default: 0 vheight 320; # the max threads for ffmpeg to used. # default: 1 vthreads 12; # x264 profile, @see x264 -help, can be: # high,main,baseline vprofile main; # x264 preset, @see x264 -help, can be: # ultrafast,superfast,veryfast,faster,fast # medium,slow,slower,veryslow,placebo vpreset medium; # other x264 or ffmpeg video params vparams { # ffmpeg options, @see: http://ffmpeg.org/ffmpeg.html t 100; # 264 params, @see: http://ffmpeg.org/ffmpeg-codecs.html#libx264 coder 1; b_strategy 2; bf 3; refs 10; } # audio encoder name. can be: # libfdk_aac: use aac(libfdk_aac) audio encoder. # copy: donot encoder the audio stream, copy it. # an: disable audio output. acodec libfdk_aac; # audio bitrate, in kbps. [16, 72] for libfdk_aac. # @remark 0 to use source audio bitrate. # default: 0 abitrate 70; # audio sample rate. for flv/rtmp, it must be: # 44100,22050,11025,5512 # @remark 0 to use source audio sample rate. # default: 0 asample_rate 44100; # audio channel, 1 for mono, 2 for stereo. # @remark 0 to use source audio channels. # default: 0 achannels 2; # other ffmpeg audio params aparams { # audio params, @see: http://ffmpeg.org/ffmpeg-codecs.html#Audio-Encoders # @remark SRS supported aac profile for HLS is: aac_low, aac_he, aac_he_v2 profile:a aac_low; bsf:a aac_adtstoasc; } # output format, can be: # off, do not specifies the format, ffmpeg will guess it. # flv, for flv or RTMP stream. # other format, for example, mp4/aac whatever. # default: flv oformat flv; # output stream. variables: # [vhost] the input stream vhost. # [port] the intput stream port. # [app] the input stream app. # [stream] the input stream name. # [engine] the tanscode engine name. output rtmp://127.0.0.1:[port]/[app]?vhost=[vhost]/[stream]_[engine]; } } } |
stream{ upstream proxybackend{ server localhost:1935; } server { listen 8888; proxy_pass proxybackend; } } |