SRS配置採集(ingest)

via:https://github.com/simple-rtmp-server/srs/wiki/v1_CN_Ingest python

1、什麼是ingest(採集)

採集(Ingest)指的是將文件(flv,mp4,mkv,avi,rmvb等等),流(RTMP,RTMPT,RTMPS,RTSP,HTTP,HLS等等),設備等的數據,轉封裝爲RTMP流(若編碼不是h264/aac則須要轉碼),推送到SRS。git

採集基本上就是使用FFMPEG做爲編碼器,或者轉封裝器,將外部流主動抓取到SRS。github

2、ingest的配置

在vhost中添加:
shell

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是一個全局惟一標示符,不能重複。ui

轉碼引擎的配置參考:http://my.oschina.net/fengjihu/blog/414556,請注意,在ingest中只支持[port]和[vhost]2個變量,轉碼引擎中的其餘變量在ingest中不能使用。編碼

3、實例

ingest一個流,進行多碼率輸出。url

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只是一個引擎的標識,沒有特殊意義,也不能經過變量來進行引用。spa

相關文章
相關標籤/搜索