音频编码参数设置
点开“编码和媒体流”,然后选择“音频编码引擎设置”,就会进入到音频编码器设置界面。音频编码通道是强制开启的,音频编码模式有AAC、G.711两种模式可以选择,音频采样率可以根据实际需要选择,声道有立体声和单声道两种方式,编码码率在16 K-256 K范围内可调节,默认是64Kbps。
注意:修改音频的重采样策略或采样率后,需要执行“快速复位”或者“设备重启”以使其正常生效!
视频编码参数设置
视频编码参数是可以调节的,打开“编码和媒体流”,点击“编码和流参数设置”会进入下面这个界面。我们一般要设置的就是“H.264主码流”那一栏的参数。
注意:是设置H.264主码流设置,不是Motion JPEG流里面的设置。
点击“设置”按钮后,会进入主码流编码参数设置的界面,如下图:
“缩放”有9个选项可供选择,默认的设置是默认大小,即进来的视频是什么大小,编码后出去的也是一样的大小。
“色彩”有两个选项,灰度和彩色,灰度是黑白的颜色,彩色则是保留原有的色彩,默认设置是彩色。
“档次(Profile)”支持三个档次,High profile,main profile,baseline,三个档次,这个要根据平台支持的编码档次来设定,High profile是压缩效率最高的即同等码率下,画质是最好的,baseline是支持最广的,默认设置是high profile,具体要根据实际平台支持的来设定。
“码率控制方式”有两种,CBR-恒定码率模式和VBR-动态码率模式,根据字面意思理解CBR是稳定不变的码率,VBR是根据实际内容不断变化码率,一般网络传输用CBR保证传输质量,文件存储用VBR,保证视频文件质量,默认设置是CBR-恒定码率模式。
“编码码率”支持64K-40M之间调节,可以选择我们设定的选项,也可以自定义码率大小,码率越高,编码后的视频质量就越好,具体设置还是要根据自己的实际网络情况来设定,不能高于自己网络的上行带宽。
“动态码率调整”可以选择“关闭”或“根据网络带宽自动调节码率”,默认是关闭的。
“编码帧率”有全帧率和当原始视频帧率>=50时自动减半以及自定义三种选项,全帧率意思是进来的视频是多少帧,那么编码后也会是多少帧;当原视频帧率>=50时自动减半意思是当进来的视频是1920*1080P50的话,那么编码后出去的视频的帧率则是25帧,这样会很好的节省对网络带宽的消耗;自定义则是自己手动指定视频编码后的帧率,原则上不能高于视频原有的帧率。
“动态帧率”可以选择“关闭”或“当码率较低时,自动降低帧率”,默认是关闭的。
“GOP大小(帧间隔)”有5个选项以及支持自定义调节,这个根据实际情况调整,默认是60,这个值也可以满足绝大部分需求。
“编码参考帧”有单一参考帧和多参考帧两个选项,理论上使用多参考帧可以提高编码质量,但是有些编码器和播放器可能不支持多参考帧。
子码流参数设置参考主码流相关配置。
注意:NDI设备的子码流必须一直处于开启状态,否则会导致NDI流没有音频。
流媒体服务
N系列编码器目前支持如下几种流服务:NDI流、RTMP推送、HLS服务、TS-UDP推送、SRT推送(暂不支持RTSP拉流),编码器的一个码流最多可以同时运行8个推送服务,比如说可以同时推流到8个不同的直播平台,编码器一共有二个码流(主码流和子码流),最高可以同时推送到16个不同的直播云平台(需带宽支持)。一般情况下使用主码流就可以了,子码流主要是应用在安防监控领域,实现与NVR的对接使用。
Motion JPEG流
编码器有一个Motion JPEG流,这个流默认会持续运行,且不可停止,在没有视频信号接入时,是一个蓝色的图片,可对应上方的“视频、音频信号源状态”中“视频信号锁定”的无信号(输出蓝屏);如果有视频信号接入,Motion JPEG流会显示当前视频信号的实时内容,“视频信号锁定”会显示已锁定,并在下面“视频格式”中,显示当前视频信号的格式。
注意:Motion JPEG流是一个图片预览,3S刷新一次,或者鼠标点击一次就刷新一次,所以在网页上看到“卡”是正常的。
RTMP推送(直播推流)
使用RTMP推送,首先一定要确定好支持RTMP服务的平台, 一定要平台能提供RTMP推流地址,不然编码器是无法进行推流的(比如现在一些手机直播APP,一般是无法提供RTMP推流地址的)。
注意:RTMP推流的原理是必须从编码器推流到平台,电脑/解码器再从平台拉取rtmp流进行播放,不能编码器直接推rtmp流给电脑/解码器进行播放。
- 推流到斗鱼直播平台
首先在斗鱼平台注册一个账号, 并进行身份认证,然后在“个人中心”>“主播相关”>“直播设置”后,会进入直播房间设置的界面,点击“进入直播房间”,在直播房间里面,打开“直播开关”后,就会有个推流码的选项,可看下图红框位置,点开后,就会弹出推流地址,注意:出来的有两个串流码,要合起来才是一个完整的RTMP推流地址,格式是rtmp地址/直播码,rtmp地址后面一定要加个“/”再加上直播码,中间不能有空格。斗鱼平台的直播码是不断变化的,所以下一次推流就要重新填写一次推流地址。
在斗鱼平台上设置完毕,接下来就要在编码器端做设置。将编码器网络连接好,并登陆到编码器的网页管理界面,在H.264主码流中,有添加一个流服务选项,添加一个RTMP推送就可以得到一个RTMP推送选项,点击RTMP推送右边的设置按钮,就会进入到填写RTMP推流地址的界面,把斗鱼平台上的推流地址填入到编码器的“推送点”里面,并开启RTMP推送服务,然后保存就可以了。如果推流不成功的话,请检查编码器网络。
注意:如果平台要求采用RTMPS方式推流,编码器也是支持的。在RTMP推送参数设置里面,“推送点”填入rtmps格式的URL,“使用老的RTMP推流版本”选择为“是”,这样就可以支持RTMPS推送方式。
- 推流到目睹直播
首先在目睹直播平台注册一个账号并登陆,会进入以下界面,新建一个直播频道;
打开新建的直播频道,会进入以下界面,选择专业设备直播,就会得到一个直播推流地址,将这个推流地址填入到编码器的RTMP推送点内即可。
注意:一般的直播平台只提供推流地址,您可以通过编码器将视频流推送至直播平台,通过平台网站或手机扫描二维码在线观看。如果您需要再将直播平台的视频流拉至本地,需要平台能够提供拉流地址,只有一些特定的平台才能支持,比如奥点云等。
TS-UDP推送(单播和组播)
要使用TS-UDP推送,首先要添加一个TS-UDP推送,与添加RTMP推送是一样的,选择“添加一个流服务”,里面有TS-UDP推送的选项,添加好以后点击右边的设置按钮,就可以进入TS-UDP推送的设置界面。
TS-UDP推送方式又可以分单播和组播。如果使用单播的话,“推送目标地址”为接收TS流的设备的IP地址,“目标端口”为任意一个端口,最好不要与其他服务的端口冲突,“组播TTL”则不需要修改;如果推送方式为组播的话,“推送目标地址”则要填写一个正确的组播地址(224.x.x.x ~ 239.x.x.x),“目标端口”为任意一个端口,最好不要与其他服务的端口冲突。其他参数,如果没有特殊要求,建议采用默认即可。
设置完成后,在TS-UDP推送那里会生成一个URL地址,这个地址可以用VLC等解码播放器解码播放的。如果是组播的话,一定把windows的防火墙关闭,网络需要配置网关。
注意:当配置组播推流方式得到的URL为udp://225.6.6.6:1234,如果使用VLC Player播放,需要在URL插入一个@符号才能正常播放,即udp://@225.6.6.6:1234。
HLS服务
要使用编码器的HLS服务,首先也必须要“添加一个流服务”,添加好后,可以点击“HLS服务”右边一栏的设置按钮进入设置界面。HLS服务的参数比较简单,如果没有特殊要求,那么都不用设置,直接开启服务就可以了。
开启服务后,就能得到一个HLS服务器的发布点,用这个流地址,可以用VLC等播放器解码观看。
SRT-TS推送
- 在编码器页面依次打开“编码和流媒体”-“编码器和流参数设置”-“H.264 主码流”-“添加一个流服务”,在弹出框选择“SRT-TS推送”,点击“确定”后添加一个SRT流服务。
- 点击“SRT-TS推送”右侧图标,进入到SRT参数设置页面。
- 正确填写推送目标地址和端口,保存设置后,编码器开始推送SRT流。
SRT各推流参数含义如下(可根据实际网络情况对应设置,一般情况下可选择默认配置):
开启推送服务:可选是和否,也可以在生成推送发布点之后设置“启动”或“停止”;
握手模式:可选Caller、Listener、Rendezvous三种模式;
地址:设置接收端的IP地址;
端口:设置接收端对应的监听端口;
传输延时:基于当前网络链路的性能来设置的,在SRT源设备和SRT目标设备两端都可以设置Latency的大小,最终将取两个值中较大的一个为SRT传输延时;
加密方式:支持AES-128、AES-192、AES-256三种加密模式;
密钥:加密密钥,根据加密方式填写10-32位字母或者数字组合;
带宽开销:根据网络链路质量设置的百分比值。用这个百分比值乘以编码器编码的视音频总码率,可以得到Bandwidth Overhead允许的开销最大占用带宽大小,这个值与视音频码率的总和是当前SRT传输带宽的阈值,也是SRT流可以使用的最大带宽。如从“开销”的角度理解,它就是在传输所需的媒体内容(可以理解为载荷payload)外,额外要占用的“无效”带宽,但它与我们常见的协议开销、TCP首部开销、UDP首部开销有所区别,这里的带宽开销并不是固定的20~60字节TCP首部开销或8字节UDP首部开销,而是根据网络情况实时变化的,网络链路条件越差,正常传输所需的开销就越多。设置范围是5%~100%,默认大小为25%。
载荷大小:发送数据包大小,接收方需匹配同样大小为最优。默认大小为1316为编解码最优数据包大小。
网络最高丢包率(%) | RTT Multiplier | BW Overhead | 最小SRT 延时(在RTT≤20ms时) |
---|---|---|---|
≤1 | 3 | 33 | 60 |
≤3 | 4 | 25 | 80 |
≤7 | 5 | 20 | 100 |
≤10 | 6 | 17 | 120 |
注:表格中为不同丢包情况下,设置延时参考值。当RTT>20ms则需要适当增大延时。
- 保存配置后,就会增加一个SRT-TS推送的发布点,编码器即开始往接收端发起握手连接。