标签:
via:https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Ingest
采集(Ingest)指的是将文件(flv,mp4,mkv,avi,rmvb等等),流(RTMP,RTMPT,RTMPS,RTSP,HTTP,HLS等等),设备等的数据,转封装为RTMP流(若编码不是h264/aac则需要转码),推送到SRS。
采集基本上就是使用FFMPEG作为编码器,或者转封装器,将外部流主动抓取到SRS。
在vhost中添加:
listen 1935; max_connections 1000; vhost __defaultVhost__ { ingest ingest_id { #ingest_id为ingest的全局唯一编号,不可重复。 enabled on; #是否开启这个ingest。 input { type file; #输入类型,有file(文件),stream(流),device(设备,这个还没有支持) url ./doc/source.200kbps.768x320.flv; #输入源。 } ffmpeg ./objs/ffmpeg/bin/ffmpeg; #指定ffmpeg的路径 engine { #转码引擎 enabled off; #是否开启转码引擎,默认为off,ffmpeg音视频都使用copy。 output rtmp://127.0.0.1:[port]/live?vhost=[vhost]/livestream; #输入地址,[port]和[vhost]是2个变量 } } }
ingest_id是一个全局唯一标示符,不能重复。
转码引擎的配置参考:http://my.oschina.net/fengjihu/blog/414556,请注意,在ingest中只支持[port]和[vhost]2个变量,转码引擎中的其他变量在ingest中不能使用。
ingest一个流,进行多码率输出。
vhost __defaultVhost__ { ingest livestream { enabled on; input { type file; url /usr/local/bms/objs/bbc-japan_1080p.mov; } ffmpeg /usr/local/bms/objs/ffmpeg; engine sd { enabled on; vfilter { v quiet; } vcodec libx264; vbitrate 500; vfps 25; vwidth 720; vheight 576; vthreads 2; vprofile main; vpreset medium; vparams { g 10; } acodec libfdk_aac; abitrate 70; asample_rate 44100; achannels 2; aparams { } output rtmp://127.0.0.1:[port]/live/livestream_sd; } engine ld { enabled on; vfilter { v quiet; } vcodec libx264; vbitrate 500; vfps 25; vwidth 720; vheight 576; vthreads 2; vprofile main; vpreset medium; vparams { g 10; } acodec libfdk_aac; abitrate 70; asample_rate 44100; achannels 2; aparams { } output rtmp://127.0.0.1:[port]/live/livestream_ld; } } }
engine sd {},这里sd只是一个引擎的标识,没有特殊意义,也不能通过变量来进行引用。
标签:
原文地址:http://my.oschina.net/fengjihu/blog/467439