客户端播放协议的选择
GT-Streaming
目前支持三种客户端协议:
FLV
。支持HTTP(HTTP-FLV)和WebSocket(WS-FLV)两种传输协议。在Micro-GNSS
API中,选择异步打开媒体会返回WS-FLV播放地址,同步打开会返回HTTP-FLV播放地址。HLS
。支持fMP4、mpeg2ts两种分段格式。默认为fMP4分段格式,开销更少,且支持H265。mpeg2ts分段格式对于旧的播放器友好,但不支持H265。只当播放器不支持fMP4格式时才使用mpeg2ts段格式。RTSP
。RTSP使用TCP传输协议,RTP, RTCP使用UDP传输协议。
在GT-Streaming
的具体实现中,这三种客户端协议有以下应用上的区别:
客户端协议 | 使用的浏览器客户端库 | 优点 | 缺点 |
---|---|---|---|
FLV | mpegts.js | 更高的性能,更低的延时。可广泛应用在支持 Media Source Extension的现代浏览器上,包括iPad OS上的Safari浏览器。 | iPhone上的Safari浏览器不支持。 |
HLS | hls.js | 此协议由Apple公司提出,几乎被所有的浏览器所支持。 | 延时较高,服务端开销较大。 |
RTSP | 可用于UDP、多播等场景,被许多终端设备和播放器支持。 | 一般浏览器不支持此协议。 |
因此,在浏览器应用中,选择客户端协议时,优先采用FLV
,当浏览器不支持时,再考虑 HLS
。如果是安卓应用或桌面应用,可考虑RTSP
协议。