HTTP 协议
支持 http/https 的来源输入流,可以是点播也可以是 http-flv/http-ts/http-fmp4 等类型的直播来源;
http类型来源流,将默认使用循环,以便在播放完毕后自动循环使用,同时将默认使用播放预读机制
-re
,如果来源流使用播放预读会出现输出卡顿等情况,可在URL中添加re=0
参数来禁止,如:http://www.test.com/video/x.mp4?re=0
在多输入源的时候,短的视频点播素材在直接在线获取循环的时候会导致任务不停重启,此时需要将素材进行服务器下载使用,为URL增加
download=1
参数来启用下载使用,如:http://www.test.com/video/x.mp4?download=1
RTMP 协议
支持 rtmp 系列协议的来源输入流,一般此协议都是直播来源,如果来源于 LiveSphere Dream 直播平台,需要为URL添加
dream=1
参数来启用拉取,如:rtmp://192.168.1.20/live/tv_stream?dream=1
RTSP 协议
支持 rtsp 系列协议来源输入流,一般此协议为直播来源,多来自于摄像头设备,支持基于 tcp/udp 的rtsp流;
大部分时候,rtsp协议拉取会自动选择承载协议,当需要选择承载接口的时候,为URL使用
rtsp_transport
参数来定义,可选的值有udp
tcp
http
,如:rtsp://192.168.1.20:554/live/tv_stream?rtsp_transport=tcp
数据量很大的时候,可以为URL使用
reorder_queue_size
参数来设置缓冲区的数据包数量;同时可以为URL使用
timeout
参数,设置 TCP I/O 的连接超时,单位为微秒;UDP 协议
支持 UDP 系列协议,UDP流一般在内网使用,需要三层交换设备环境支持,分为单播和组播方式,如果为组播流需要提前确认服务器上网口的路由表设置是否正确;
当为输入源的时候,udp流默认使用
overrun_nonfatal=1
参数启用接收循环缓冲区;当为输入源的时候,udp流默认使用
fifo_size
参数设置接收缓冲区大小,也可在URL中自定义大小,单位 bytes;当为输出的时候,udp 输出默认使用
buffer_size
参数设置发送缓冲区大小,也可在URL中自定义大小,单位 bytes;当为输出的时候,udp 输出默认使用
pkt_size
参数发送包大小,默认1316
,也可在URL中自定义大小,单位 bytes;当为输出的时候,udp 流发送数据包会根据缓冲区自动执行,可以为URL使用
flush_packets=1
参数,启用强制按照pkt_size
设置大小发送数据包;使用参数的URL如:
udp://238.0.0.1:3000?overrun_nonfatal=1&fifo_size=557755&buffer_size=5000000&pkt_size=1316&flush_packets=1
SRT 协议
支持 SRT 协议,SRT协议为商业开放协议,基于UDP传输,加强了重传及稳定性,在延迟要求低的直播环境中使用;
当为输入源的时候,srt协议可以设置为
mode=listener
作为接收推流来使用,当为此模式的时候,将固定使用服务器开启的端口地址,其他设备推送到指定地址即可;当为输入源的时候,srt协议也可设置为
mode=caller
作为接受者,到指定地址去拉取srt流;当为输出的时候,srt 协议只能作为
mode=caller
进行推送输出;srt协议使用
pkt_size
参数发送包大小,默认1316
,也可在URL中自定义大小,单位 bytes;srt协议其他需要添加的参数,可以在地址中自行设置;
使用参数的URL如:
srt://127.0.0.1:10004?pkt_size=1316&latency=20000&pbkeylen=16&passphrase=1234567887654321&oheadbw=25
支持 http/https 协议的图片输入源地址,系统通过文件的后缀来判断是否为图片,图片后缀为
.jpg
.png
.jpeg
.webp
.gif
图片源将默认使用循环输入方式,且默认启用服务器下载使用方式;