SRS配置采集(ingest)

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

一、什么是ingest(采集)

采集(Ingest)指的是将文件(flv,mp4,mkv,avi,rmvb等等),流(RTMP,RTMPT,RTMPS,RTSP,HTTP,HLS等等),设备等的数据,转封装为RTMP流(若编码不是h264/aac则需要转码),推送到SRS。

采集基本上就是使用FFMPEG作为编码器,或者转封装器,将外部流主动抓取到SRS。

二、ingest的配置

在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只是一个引擎的标识,没有特殊意义,也不能通过变量来进行引用。

时间: 2024-12-19 01:36:49

SRS配置采集(ingest)的相关文章

SRS配置HLS分发

一.HLS简介 HLS(HTTP Live Streaming) 是Appale公司在2009年发布的,可以通过普通的web服务器进行分发的新型流媒体协议. HLS协议文件:http://tools.ietf.org/html/draft-pantos-http-live-streaming-07 HLS提供一个m3u8列表,播放地址像这样:http://IP[port]/[app]/live.m3u8,其实m3u8是一个ts的list,但是在这个list中要需要定义一些关键的参数,这些参数都有

srs配置-基本RTMP配置 && 日志配置

1.RTMP URL rtmp://HOST:PORT/app/stream_name rtmp: 协议头 HOST:注意的IP地址或域名 app: 应用名称 stream_name:流名称 2.SRS中基本RTMP的配置 listen              1935; pid                 ./objs/srs.pid; chunk_size          60000; ff_log_dir          ./objs; srs_log_tank        f

SRS配置HDS流

HDS指Adobe的Http Dynamic Stream,与HLS类似. 如果要让SRS支持HDS输出,那么在编译SRS的时候需要在编译选项中加--with-hds HDS配置: vhost __defaultVhost__ { hds { # HDS开关 # default: off enabled         on; #秒,切片时长 # default: 10 hds_fragment    10; # HDS列表的窗口大小, # default: 60 hds_window    

srs 配置http flv集群

源站配置 vhost __defaultVhost__ {     min_latency     on;     mr {         enabled     off;         #latency     350;     }     mw_latency      100;     enabled         on;     gop_cache       off;     queue_length    10;     http_remux {             ena

IhyerDB modBus采集器配置.

近期查了一下ihyerDB-modbus采集器的相关配置,由于没有相关的modbus设备,于是今天上午根据网上的线索下载了Modbus Slave(modbus从站仿真器).笔记本也没有串口,于是下载了Virtual Serial Port Driver 7.2虚拟串口.一切准备就绪就开始仿真实验了. 1.下载Modbus Slave:http://down1.cr173.com/soft1/ModbusSlave.rar 2.下载Virtual Serial Port Driver 7.2:h

日志易使用系列四:日志采集 Agent 的配置

第二期日志易使用系列中<日志易产品使用系列二:使用日志易 SaaS 版本完成一次 JSON 日志分析>,通过"本地上传"的方式,我们已经能够基于日志易自动解析的 JSON 日志创建分析图表.第三期日志易使用系列中<日志易使用系列三:仪表盘的创建与使用>,通过仪表盘,我们可以将这些图形保存下来,并用于分析展示.然而,实时数据的分析.展示依赖于实时的日志采集,日志易可通过 Agent.Syslog 等方式实现日志的实时采集.根据服务器.设备.或IT系统的不同,日志易

srs(simple Rtmp Server )的一些说明

srs 是国人自己开发的一款视频服务器,采用支持rtmp和hls协议,可以做成容器,让客户端把流推过来来,也可以结合ffmpeg自己主动拉流,详细的说明可以查看srs的wiki: https://github.com/ossrs/srs/wiki/v2_CN_Home srs下载地址:http://ossrs.net/srs.release/releases/index.html srs网页播放器:http://www.ossrs.net/players/srs_player.html?stre

网易邮件采集器(2)

配置采集用户 //检查目录是否存在,如果不存在就创建 try{ File fp = new File(Constants.strFilePath); if(!fp.exists()) { fp.mkdirs();//创建目录 System.out.println("创建目录"+Constants.strFileName+"成功"); } //检查文件是否存在,如果不存在就创建 File fa = new File(Constants.strFilePath, Con

Android音频开发(2):如何采集一帧音频

本文重点关注如何在Android平台上采集一帧音频数据.阅读本文之前,建议先读一下我的上一篇文章<Android音频开发(1):基础知识>,因为音频开发过程中,经常要涉及到这些基础知识,掌握了这些重要的概念后,开发过程中的很多参数和流程就会更加容易理解. Android SDK 提供了两套音频采集的API,分别是:MediaRecorder 和 AudioRecord,前者是一个更加上层一点的API,它可以直接把手机麦克风录入的音频数据进行编码压缩(如AMR.MP3等)并存成文件,而后者则更接